1
0
forked from tribes/guix

Compare commits

...

191 Commits

Author SHA1 Message Date
Efraim Flashner d979b1b459 gnu: Register missing patch.
This is a follow-up to f380c63da4.

* gnu/local.mk (dist_patch_DATA): Register hwloc-add-with-opencl.patch.

Change-Id: I4f1850659fc56049e93b1723f599e0713ba42da6
2026-03-16 11:33:41 +02:00
Luca Cirrottola de90188eea gnu: openblas: Correctly pass make flags, switch tests on.
* gnu/packages/maths.scm (openblas)[build-system]: Use gnu-build-system.
[arguments] Fix compiler optimization options.
[phases] Skip configure phase (build from Makefile).

Merges guix/guix!7010

Change-Id: Ifbb46feeb7564e56ab66d598afda9cbcab31b5f6
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-16 10:16:40 +01:00
Cayetano Santos 60b6df6b04 gnu: %opencl-version: Update to 2025.07.22.
* gnu/packages/opencl.scm (opencl-headers)[source]: Update sha256.
(opencl-clhpp)[source]: Update sha256.
(opencl-icd-loader)[source]: Update sha256.
(%opencl-version): Update.

Merges guix/guix!1879

Change-Id: If65cc4b4d5283a4a769a7d7c2d2c528e06bfc36b
2026-03-16 10:16:40 +01:00
Cayetano Santos f422f735b2 gnu: Add opencl-headers-2022.
* gnu/packages/opencl.scm (opencl-headers-2022): New variable.
* gnu/packages/machine-learning.scm (tvm)[inputs]: Add
opencl-headers-2022; delete opencl-headers.

Merges guix/guix!1879

Change-Id: Ib4d73ad530e374669e34b4ea6744eeab8b8ef668
2026-03-16 10:16:40 +01:00
Cayetano Santos a7f560f3b2 gnu: Add %opencl-version.
* gnu/packages/opencl.scm (%opencl-version): New variable.
(opencl-headers)[version]: Use %opencl-version.
(opencl-clhpp)[version]: Use %opencl-version.
(opencl-icd-loader)[version]: Use %opencl-version.

Tie together all opencl related packages.

Merges guix/guix!1879

Change-Id: If86e9a79ef04d758b73bf3cf8711502a43a62256
2026-03-16 10:16:40 +01:00
Cayetano Santos 0b6aa1b1c6 gnu: rocm-cmake: Fix dependency on julia.
At this point, git depends on julia, which is broken, see #6577.

Merges guix/guix!6578

* gnu/packages/rocm.scm (rocm-cmake)[native-inputs]: Remove git; add
git-minimal/pinned.

Change-Id: I32402d3a5015520eb2021d0ac4895709b589f169
2026-03-16 10:16:40 +01:00
Romain GARBAGE 1205f53f8d gnu: Add openmpi-rocm, an Open MPI variant with ROCm support.
* gnu/packages/mpi.scm (openmpi-5): New variable.

Merges guix/guix!6032

Change-Id: I2ff58c0f76d861f4570b4d9dd60aefa747a73345
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-16 10:16:40 +01:00
Romain GARBAGE af3900a316 gnu: openmpi-4: Don't mix quasiquotes with G-exps.
* gnu/packages/mpi.scm (openmpi-4): Don't mix quasiquotes with G-exps.

Merges guix/guix!6032

Change-Id: Ic989184bb25dc3519ea4281cf2c9cac1c18af7a9
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-16 10:16:40 +01:00
Romain GARBAGE fb34cb983a gnu: hwloc-2: Enable ROCm support.
* gnu/packages/mpi.scm (hwloc-2): Enable ROCm support.

Merges guix/guix!6032

Change-Id: I68d57c377bf461dd32a2c7b7793ed85158683199
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
Modified-by: Cayetano Santos <csantosb@inventati.org>
2026-03-16 10:16:40 +01:00
Romain GARBAGE f380c63da4 gnu: hwloc-2: Fix OpenCL linking error for dependents.
* gnu/packages/mpi.scm (hwloc-2)[origin]: Add patch adding a configure
flag for OpenCL.
[native-inputs]: Add dependencies required to generate configure. Remove
opencl-ic-loader...
[inputs]: ...and move it here.
[arguments]: Use new configure flag. Force configure script generation.

Merges guix/guix!6032

Change-Id: Idd31c6b6efbab9c87f83c5af750a0994518be69a
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-16 10:16:40 +01:00
Romain GARBAGE cf5b8dce21 gnu: hwloc: Switch to G-expressions.
This commit updates both hwloc packages to use G-exps at the same time
as one inherits on the other and doing it in 2 steps would lead to a
commit with a broken state.

* gnu/packages/mpi.scm (hwloc-1, hwloc-2): Switch to G-expressions.

Merges guix/guix!6032

Change-Id: Ie59b12bb1fb9d7d800449afdbf8cfb44c08ec3e9
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-16 10:16:39 +01:00
Romain GARBAGE 7739b4dd8f gnu: ucx: Activate ROCm support.
* gnu/packages/fabric-management.scm (ucx): Activate ROCm support.

Merges guix/guix!6032

Change-Id: I011bc0c5f003ddc520557b702b972a3c3f7d3641
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-16 10:16:39 +01:00
Romain GARBAGE db2a92f45a gnu: libfabric: Fix indentation.
* gnu/packages/linux.scm (libfabric): Fix indentation.

Merges guix/guix!6032

Change-Id: I80e48cb96c8c4ac11c467cf6b61187ef999f3be3
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-16 10:16:39 +01:00
Romain GARBAGE 6390a0c6ad gnu: libfabric: Activate ROCm support.
* gnu/packages/linux.scm (libfabric): Activate ROCm support.

Merges guix/guix!6032

Change-Id: I71761df0d4989dbe8ccf410f273486508b3575b5
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-16 10:16:39 +01:00
Cayetano Santos ae909b7183 gnu: Add rocm-validationsuite.
* gnu/packages/rocm-libs.scm (rocm-validationsuite): New variable.

Merges guix/guix!6408

Change-Id: Id59bba55d34efcf401e70277de34f2c16d1f92be
2026-03-16 10:16:39 +01:00
Cayetano Santos 0f4c29ef1d gnu: hwloc-2: Add support for opencl, levelzero and libxml2.
* gnu/packages/mpi.scm (hwloc-2)[native-inputs]: Add opencl-headers and
opencl-icd-loader.
[inputs]: Add level-zero and libxml2.

Change-Id: I1af1921c848d8812848e453edac7701c9b1983d2
2026-03-16 10:16:39 +01:00
Philippe SWARTVAGHER 49c849438a gnu: hwloc-2: Update to 2.13.0.
* gnu/packages/mpi.scm (hwloc-2): Update to 2.13.0.

Merges guix/guix!6359

Change-Id: I020c86425dcbb83613365448356c7bec0e540b93
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
Modified-by: Cayetano Santos <csantosb@inventati.org>
2026-03-16 10:16:39 +01:00
Luca Cirrottola fff3eb95b9 gnu: openblas: Use cmake build system.
* gnu/packages/maths.scm (openblas)[source]: Update url.
[build-system]: Switch to cmake-build-system.
[arguments]<#:test-target>: Delete.
<#:build-type>: Set.
<#:configure-flags>: Add.
<#:phases>: Restore ’configure.

Merges guix/guix!6178

Change-Id: Ieabb85ad797d70b8894e1f95937dc22af9b34210
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
Modified-by: Cayetano Santos <csantosb@inventati.org>
2026-03-16 10:16:39 +01:00
Cayetano Santos 78889d16fa gnu: vulkan-validationlayers: Update to 1.4.335.0.
* gnu/packages/vulkan.scm (vulkan-validationlayers): Update to
1.4.335.0.

Merges guix/guix!6058

Change-Id: I91cb6699c4e2ef278b2fd295be03ac55fad4301c
2026-03-16 10:16:39 +01:00
Cayetano Santos 1f33c9bf11 gnu: Add spirv-tools-static.
* gnu/packages/vulkan.scm (spirv-tools-static): New variable.

Merges guix/guix!6058

Change-Id: I2d7a9a752d94d8059cbb71a3d172c551e92b225c
2026-03-16 10:16:39 +01:00
Cayetano Santos 9b6f14eb0e gnu: vulkan-tools: Update to 1.4.335.
* gnu/packages/vulkan.scm (vulkan-tools): Update to 1.4.335.

Change-Id: Iab08a8a9cd6b1ad708548b19eb7303f6c806e717
2026-03-16 10:16:39 +01:00
Cayetano Santos 6ea151888c gnu: spirv-headers: Update to 1.4.335.0.
* gnu/packages/vulkan.scm (spirv-headers): Update to 1.4.335.0.

Change-Id: I503d737e711404ad61843aacca752ad83e442fb4
2026-03-16 10:16:39 +01:00
Cayetano Santos baa79d6d09 gnu: spirv-tools: Update to 1.4.335.0.
* gnu/packages/vulkan.scm (spirv-tools): Update to 1.4.335.0.

Change-Id: I9be0c58bffca7219d65b0657c0d4c9766222a33f
2026-03-16 10:16:39 +01:00
Cayetano Santos 8556b8ab61 gnu: spirv-cross: Update to 1.4.335.0.
* gnu/packages/vulkan.scm (spirv-cross): Update to 1.4.335.0.

Change-Id: I8fc0218acca39f646581c72eead214a9174c7522
2026-03-16 10:16:39 +01:00
Cayetano Santos 75ed45e456 gnu: glslang: Update to 1.4.335.0.
* gnu/packages/vulkan.scm (glslang): Update to 1.4.335.0.

Change-Id: Id89086d30036aeaea3923a8ae9ebd1184c23bac1
2026-03-16 10:16:39 +01:00
Cayetano Santos c3f1306d64 gnu: vulkan-headers/no-loader: Update to 1.4.335.0.
* gnu/packages/vulkan.scm (vulkan-headers/no-loader): Update to 1.4.335.0.

Change-Id: I43272436696ae3806c00751fab85459e07358280
2026-03-16 10:16:38 +01:00
Cayetano Santos 2e0f0de669 gnu: vulkan-loader: Update to 1.4.335.0.
* gnu/packages/vulkan.scm (vulkan-loader): Update to 1.4.335.0.

Change-Id: Ie295240f6db85adb567e869057519bdc565d94a7
2026-03-16 10:16:38 +01:00
Cayetano Santos 758c9c6431 gnu: vulkan-volk: Update to 1.4.335.0.
* gnu/packages/vulkan.scm (vulkan-volk): Update to 1.4.335.0.

Change-Id: Ia532978dab6f29e8483a88a49bdea552f2410fda
2026-03-16 10:16:38 +01:00
Cayetano Santos bb66172a0b gnu: vulkan-utility-libraries: Update to 1.4.335.0.
* gnu/packages/vulkan.scm (vulkan-utility-libraries): Update to 1.4.335.0.

Change-Id: I1e4a99ccc7d3d823adedb0b7ad5da019c327ed07
2026-03-16 10:16:38 +01:00
Philippe SWARTVAGHER 36a29d4299 gnu: shaderc: Update to 2025.5.
* gnu/packages/vulkan.scm (shaderc): Update to 2025.5.

Closes guix/guix!4607

Change-Id: I406634f66ef8bab883f32cb489dd40285799cc19
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-16 10:16:38 +01:00
Romain GARBAGE 4024e13a98 maths: openblas: Update to 0.3.31.
* gnu/packages/maths.scm (openblas): Update to 0.3.31.

Change-Id: If22b461cf8977c4f33704de37225852d3382c662
2026-03-16 10:16:38 +01:00
Romain GARBAGE 3656139f7e maths: openblas: Enable OpenMP support.
* gnu/packages/maths.scm (openblas): Enable OpenMP support.

Change-Id: I72b8badb6d1d627854717ddcbdceab8302114eaf
2026-03-16 10:16:29 +01:00
Sughosha 9e17346b66 gnu: Add python-catppuccin.
* gnu/packages/python-xyz.scm (python-catppuccin): New variable.

Change-Id: I7c39321f3195deb64d5b6bf5553349d729cc5925
2026-03-16 14:28:11 +05:30
Spencer King eb42e9b76c gnu: sameboy: Update to 1.0.3.
* gnu/packages/emulators.scm (sameboy): Update to 1.0.3.
[inputs]: Add libpng.

Closes: guix/guix#6970
Change-Id: I09eee96e72039ab48cbbe43ca0c5bc5a86ec4378
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2026-03-16 15:37:55 +08:00
Cayetano Santos 8887b63a70 teams: Add Nguyễn Gia Phong to vcs team.
* etc/teams.scm ("Nguyễn Gia Phong"): Add Ashish SHUKLA to cvs team.

Change-Id: Ic30a75ea76ed25ae2029227ca101dae9d8c12036
2026-03-16 08:20:24 +01:00
Nguyễn Gia Phong a3bb442b03 teams: Add Ashish SHUKLA to vcs team.
* etc/teams.scm ("Ashish SHUKLA"): New person in vcs team.

Change-Id: I454b694fe9997717c0ab34fe2980f93276fc1ff2
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-16 08:20:13 +01:00
Nguyễn Gia Phong 7eae2b1f1b teams: Add Thanos Apollo to vcs team.
* etc/teams.scm ("Thanos Apollo"): New person in vcs team.

Change-Id: I7afd97b470a93fb9aad02cf493d3ab3b8df89668
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-16 08:19:45 +01:00
Nguyễn Gia Phong fa67dd643e teams: Add Version control team.
* etc/teams.scm (vcs): New team.
* CODEOWNERS: Regenerate file.

Merges guix/guix!6165

Change-Id: I9f1edb67e52c08ad69199f991fc8fa42a334ddb8
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-16 08:19:28 +01:00
Foster Hangdaan 21dc3404be gnu: claws-mail: Update to 4.4.0.
* gnu/packages/mail.scm (claws-mail): Update to 4.4.0.
[inputs]: Remove dbus-glib since the codebase has migrated to GDBus.

Merges: https://codeberg.org/guix/guix/pulls/7031
Change-Id: Ic11306ff44b8f48b8249c8e8fd1bfd676978ef33
Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
2026-03-16 06:19:16 +01:00
Sughosha 58deaa03b5 gnu: polkit-kde-agent: Add missing input.
Fixes guix/guix#7053.

* gnu/packages/kde-plasma.scm (polkit-kde-agent)[inputs]: Add kirigami.

Change-Id: Ia548b7e045023ec3914047a1163c43f4d4138c12
2026-03-16 07:44:59 +05:30
Sughosha a57edfd158 gnu: kdav: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kdav): Update to 6.23.0.

Change-Id: I1c37aeda834492e600353e52cf976aa095576f37
2026-03-16 07:44:15 +05:30
Sughosha 8bdc83a0a9 gnu: kde-frameworkintegration: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kde-frameworkintegration): Update to 6.23.0.

Change-Id: I0b4ff28116b3bfa04d0204a480f52da452387f8c
2026-03-16 07:44:14 +05:30
Sughosha 4cd7e58dd9 gnu: ktextaddons: Update to 2.0.0.
* gnu/packages/kde-frameworks.scm (ktextaddons): Update to 2.0.0.
[inputs]: Add kiconthemes.

Co-authored-by: Andreas Enge <andreas@enge.fr>
Change-Id: Iff70ae6339a6be743f06834f460f1bd56ac563de
2026-03-16 07:44:14 +05:30
Sughosha fce64471d8 gnu: purpose: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (purpose): Update to 6.23.0.

Change-Id: Ic71e5b045a4a615c53f70f42950bc782c78af5d6
2026-03-16 07:44:14 +05:30
Sughosha cf01229e67 gnu: kxmlgui: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kxmlgui): Update to 6.23.0.

Change-Id: If06ca92b70c2f30a8ef1685dcbc23dcd9103ebfb
2026-03-16 07:44:13 +05:30
Sughosha a079c0873c gnu: kwallet: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kwallet): Update to 6.23.0.

Change-Id: I2312b9c6f8cf6e21901e0a9fb5a96eb766db1310
2026-03-16 07:44:13 +05:30
Sughosha 6517a723f5 gnu: ktexttemplate: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (ktexttemplate): Update to 6.23.0.

Change-Id: I03d5eda2e1cb66cfb7b61681cae0ade0387e90a4
2026-03-16 07:44:13 +05:30
Sughosha f5443df2f3 gnu: ktextwidgets: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (ktextwidgets): Update to 6.23.0.

Change-Id: If2eb1de1eadb004d6819d44b112a0243b6967c98
2026-03-16 07:44:13 +05:30
Sughosha d56724d788 gnu: ktexteditor: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (ktexteditor): Update to 6.23.0.

Change-Id: Id95987cf5dbf8ed1e5b91a4b93d19fd39a20fd64
2026-03-16 07:44:12 +05:30
Sughosha 11e8f8576b gnu: kstatusnotifieritem: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kstatusnotifieritem): Update to 6.23.0.

Change-Id: I4e016984763bbf0bf8fa002db20a763fd92899fe
2026-03-16 07:44:12 +05:30
Sughosha 6cb15b89f5 gnu: kservice: Update to 6.23.1.
* gnu/packages/kde-frameworks.scm (kservice): Update to 6.23.1.

Change-Id: I9524447f6684931fa25ce45a6a13a1a20481ff5b
2026-03-16 07:44:12 +05:30
Sughosha 8891803d94 gnu: krunner: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (krunner): Update to 6.23.0.

Change-Id: I329c408487d226eb11e27586de1ba5e505756efb
2026-03-16 07:44:11 +05:30
Sughosha 8bb962347b gnu: kpeople: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kpeople): Update to 6.23.0.

Change-Id: Ifc754428caafe8b1019f38d95a785996b0a7de6a
2026-03-16 07:44:11 +05:30
Sughosha 6b3c70ed3f gnu: kparts: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kparts): Update to 6.23.0.

Change-Id: Ia698ebeaffa5a1f49b4e6fe0364d0b9295cb4277
2026-03-16 07:44:11 +05:30
Sughosha dd7a2adc5f gnu: knotifyconfig: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (knotifyconfig): Update to 6.23.0.

Change-Id: I2300a3ee131f3d7dd3ee745c475a451a12976262
2026-03-16 07:44:11 +05:30
Sughosha 2e6973a146 gnu: knewstuff: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (knewstuff): Update to 6.23.0.
[build-system]: Switch to qt-build-system.
[inputs]: Remove qtbase; add qtwayland.
[arguments]<#:qtbase>: Set to qtbase.
<phases>: In 'check-setup' phase, do not set QT_QPA_PLATFORM variable.

Change-Id: I0237f7ff9106d86979befbebaa520aee7c1e7219
2026-03-16 07:44:10 +05:30
Sughosha 68f2f89fb1 gnu: kirigami-addons: Update to 1.12.0.
* gnu/packages/kde-frameworks.scm (kirigami-addons): Update to 1.12.0.

Change-Id: I8591f19b6290a49ac2f048de1ad6f90cc1a0c5bf
2026-03-16 07:44:10 +05:30
Sughosha 3da63d5241 gnu: kio: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kio): Update to 6.23.0.
[build-system]: Switch to qt-build-system.
[inputs]: Remove qtbase; add qtwayland.
[arguments]<#:qtbase>: Set to qtbase.
<#:phases>: In 'check phase, do not set QT_QPA_PLATFORM and DBUS_FATAL_WARNINGS
variables.

Change-Id: I15185216d6a09c08be33574dccfb5d96121789e3
2026-03-16 07:44:10 +05:30
Sughosha 937fb5cfff gnu: kiconthemes: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kiconthemes): Update to 6.23.0.
[build-system]: Switch to qt-build-system.
[inputs]: Reorder; remove qtbase; add qtwayland.
[arguments]<#:qtbase>: Set to qtbase.
<#:phases>: In 'check-setup' phase, do not set QT_QPA_PLATFORM variable.

Change-Id: Ib475ffc8a9cd924d0d3ff21cd213f434d5f72558
2026-03-16 07:44:09 +05:30
Sughosha 6eef98e264 gnu: kglobalaccel: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kglobalaccel): Update to 6.23.0.

Change-Id: I2a84b54eca7c0df4b001aedfc5bf61ad85af6628
2026-03-16 07:44:09 +05:30
Sughosha 25cd0d36fd gnu: kdesu: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kdesu): Update to 6.23.0.

Change-Id: I0c8d2c7e25f32e062d14b4850d34f81e7ae541be
2026-03-16 07:44:09 +05:30
Sughosha d6e501952a gnu: kded: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kded): Update to 6.23.0.
[build-system]: Switch to qt-build-system.
[arguments]<#:qtbase>: Set to qtbase.
[inputs]: Remove qtbase; add qtwayland.

Change-Id: I87cde8fda01c6a226144330ef9c655a143864585
2026-03-16 07:44:09 +05:30
Sughosha 1990b69b6f gnu: kdeclarative: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kdeclarative): Update to 6.23.0.

Change-Id: I314dd4033ae376784b3f57c9d78af781d3d6e426
2026-03-16 07:44:08 +05:30
Sughosha cf6b2395c3 gnu: kconfigwidgets: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kconfigwidgets): Update to 6.23.0.

Change-Id: I60320de3615aba32435e2dc94df1312e7a100630
2026-03-16 07:44:08 +05:30
Sughosha c8504a2461 gnu: kcmutils: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kcmutils): Update to 6.23.0.
[build-system]: Switch to qt-build-system.
[inputs]: Reorder; remove qtbase; add qtwayland.
[arguments]<#:phases>: Remove argument.
<#:qtbase>: Set to qtbase.

Change-Id: Ie15e7672288a8bdfdd564e83234f6cb301cd7026
2026-03-16 07:44:08 +05:30
Sughosha 35015cf880 gnu: kbookmarks: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kbookmarks): Update to 6.23.0.

Change-Id: I2e5acaf0651311d45911c59670227cdb3ee97724
2026-03-16 07:44:07 +05:30
Sughosha bcd8acfdd8 gnu: baloo: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (baloo): Update to 6.23.0.

Change-Id: I69cb9c4019a74ed990b42920988554ab675ede26
2026-03-16 07:44:07 +05:30
Sughosha 7021f1f783 gnu: syndication: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (syndication): Update to 6.23.0.

Change-Id: I98bc9c392e91bf8d8b31cac2592cf07d89608c52
2026-03-16 07:44:07 +05:30
Sughosha 4b82187b53 gnu: kunitconversion: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kunitconversion): Update to 6.23.0.

Change-Id: Ib171e74379e19c44e9db0d31781c49a6a0e9d4e0
2026-03-16 07:44:06 +05:30
Sughosha d6bca986c8 gnu: kpty: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kpty): Update to 6.23.0.

Change-Id: I0177b29bed2e4822943943e34a6a4caf93b6f1dd
2026-03-16 07:44:06 +05:30
Sughosha b159265810 gnu: kpackage: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kpackage): Update to 6.23.0.

Change-Id: I7a70712f22e902ac19de303a30618ed08fcf6948
2026-03-16 07:44:06 +05:30
Sughosha deaec02d17 gnu: knotifications: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (knotifications): Update to 6.23.0.

Change-Id: I928426488386cc58c689aa750fb3c48b5f8c3fd1
2026-03-16 07:44:05 +05:30
Sughosha 3c89fa1fa3 gnu: kjobwidgets: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kjobwidgets): Update to 6.23.0.

Change-Id: I38b3fb4926b0c158326cf2bf6179d5f0a07f6c52
2026-03-16 07:44:05 +05:30
Sughosha 6cf55aefb4 gnu: kimageformats: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kimageformats): Update to 6.23.0.

Change-Id: Ifbb3348436feeb56b23e7ce63b87f8f1bdc67acb
2026-03-16 07:44:05 +05:30
Sughosha 130af24203 gnu: kfilemetadata: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kfilemetadata): Update to 6.23.0.

Change-Id: I42c8f057a5f67183f2736eea6ff9a6680c43a88f
2026-03-16 07:44:05 +05:30
Sughosha 50317dddac gnu: kdoctools: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kdoctools): Update to 6.23.0.

Change-Id: I28f07da4c85d2c124cbb8b59b0da6e779c930bfb
2026-03-16 07:44:04 +05:30
Sughosha b7d1f23b61 gnu: kcrash: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kcrash): Update to 6.23.0.
[arguments]<#:phases>: Add 'check-setup' phase.

Change-Id: I6fb50aa612f3b0461671e783fa419cab4917e911
2026-03-16 07:44:04 +05:30
Sughosha e47d90a075 gnu: kcontacts: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kcontacts): Update to 6.23.0.

Change-Id: I37ca9796231275985bab70b31da5454ab639acfa
2026-03-16 07:44:04 +05:30
Sughosha 67aef8de6f gnu: kcompletion: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kcompletion): Update to 6.23.0.

Change-Id: I47c912ec50a50d235f839517fe1cc8e5d19c980f
2026-03-16 07:44:03 +05:30
Sughosha 43b6555751 gnu: kauth: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kauth): Update to 6.23.0.

Change-Id: I53de18672b65167cea6dd1c80d5f0c90bbd3a78c
2026-03-16 07:44:03 +05:30
Sughosha 98afc8df18 gnu: threadweaver: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (threadweaver): Update to 6.23.0.

Change-Id: I90c02d6b2340adfc85ede27ced8aa65a310f0cbf
2026-03-16 07:44:03 +05:30
Sughosha 2e21984b91 gnu: sonnet: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (sonnet): Update to 6.23.0.

Change-Id: I9a71596f5cdc1ef41ff6b1850e004b1bc0330fdd
2026-03-16 07:44:03 +05:30
Sughosha 90214dcba7 gnu: solid: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (solid): Update to 6.23.0.

Change-Id: I94fcbe5c15651174c3856cc1061b3474354825e3
2026-03-16 07:44:02 +05:30
Sughosha 919a6ccb0b gnu: qqc2-desktop-style: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (qqc2-desktop-style): Update to 6.23.0.

Change-Id: I5ad8918c7a3053ca73f483fa8fd43a017c385dcd
2026-03-16 07:44:02 +05:30
Sughosha f3d427b6a7 gnu: pulseaudio-qt: Update to 1.8.1.
* gnu/packages/kde-frameworks.scm (pulseaudio-qt): Update to 1.8.1.

Change-Id: I43d5de0f586a74fe521636558828544c483d073b
2026-03-16 07:44:01 +05:30
Sughosha 9b07deeaae gnu: prison: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (prison): Update to 6.23.0.

Change-Id: I51822f4484f3e0c8adfdf0b021cdbbd6a31565d3
2026-03-16 07:44:01 +05:30
Sughosha 402af4dd3b gnu: networkmanager-qt: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (networkmanager-qt): Update to 6.23.0.

Change-Id: I778256a8effe03ff15826d7d9920cd28c43dcdd9
2026-03-16 07:44:01 +05:30
Sughosha ac5d3e0d83 gnu: modemmanager-qt: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (modemmanager-qt): Update to 6.23.0.

Change-Id: I21a2befeebb2659a6ca711d524b508b1a3285e5b
2026-03-16 07:44:01 +05:30
Sughosha 370b39965b gnu: kwindowsystem: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kwindowsystem): Update to 6.23.0.

Change-Id: Ibcc9e703985411caf7b000ef805b4c800affd4df
2026-03-16 07:44:00 +05:30
Sughosha a97ab314bd gnu: kwidgetsaddons: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kwidgetsaddons): Update to 6.23.0.

Change-Id: I64041a98f47ed63069d1761ecef21d46f3d90791
2026-03-16 07:44:00 +05:30
Sughosha 98aac645f5 gnu: plasma-wayland-protocols: Update to 1.20.0.
* gnu/packages/kde-frameworks.scm (plasma-wayland-protocols): Update to 1.20.0.

Change-Id: I16899ce14ab77ac4203c858bcc804356c442791f
2026-03-16 07:44:00 +05:30
Sughosha 1c4d86c386 gnu: ksyntaxhighlighting: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (ksyntaxhighlighting): Update to 6.23.0.

Change-Id: Ife2930e0865d87bac26bde47874688e03c9b5ae8
2026-03-16 07:44:00 +05:30
Sughosha 3cd537818e gnu: ksvg: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (ksvg): Update to 6.23.0.

Change-Id: I35fa6b8cb4f3b9a8042cd6c2203f28a227bc89b7
2026-03-16 07:43:59 +05:30
Sughosha cab50f0e21 gnu: kplotting: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kplotting): Update to 6.23.0.

Change-Id: I22003c01f597d02d2a9c2b5fc93882ba04925ee3
2026-03-16 07:43:59 +05:30
Sughosha 6c3b757d11 gnu: kitemviews: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kitemviews): Update to 6.23.0.

Change-Id: I8f8ed80e96fe1893a8b8ab84f048f51c0c9d552a
2026-03-16 07:43:59 +05:30
Sughosha 4027828f83 gnu: kitemmodels: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kitemmodels): Update to 6.23.0.

Change-Id: I3fa1e702af57e024c3501eb675b712c13f5bce33
2026-03-16 07:43:58 +05:30
Sughosha ce3fda4b7d gnu: kirigami: Update to 6.23.1.
* gnu/packages/kde-frameworks.scm (kirigami): Update to 6.23.1.

Change-Id: I5c679be20fc4ec3848b9d3cc5404ec0238b057e7
2026-03-16 07:43:58 +05:30
Sughosha cf48ac1285 gnu: kidletime: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kidletime): Update to 6.23.0.

Change-Id: Ifc8f6445b81c59658fded6305fd390fb3dc1669e
2026-03-16 07:43:58 +05:30
Sughosha 68016de92f gnu: ki18n: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (ki18n): Update to 6.23.0.

Change-Id: I65b0adaf0efb7c36f2da1382d88678c4e3171329
2026-03-16 07:43:58 +05:30
Sughosha bc8153344c gnu: kholidays: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kholidays): Update to 6.23.0.

Change-Id: If14913d6ec2e31168aa5be8d9f27e13da490b6db
2026-03-16 07:43:57 +05:30
Sughosha 62737d710b gnu: kguiaddons: Update to 6.23.1.
* gnu/packages/kde-frameworks.scm (kguiaddons): Update to 6.23.1.

Change-Id: Ifa6a15395bf994561e84ac5030f6b9c0b253a918
2026-03-16 07:43:57 +05:30
Sughosha d00dfed008 gnu: kdnssd: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kdnssd): Update to 6.23.0.

Change-Id: Ifab54a07ee156d83b25844ecb11a68ffbd9b2d9a
2026-03-16 07:43:57 +05:30
Sughosha 88009ead99 gnu: kdbusaddons: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kdbusaddons): Update to 6.23.0.

Change-Id: I021ce08ecaf5672fff0c2e2e2446ab9e36d06b06
2026-03-16 07:43:57 +05:30
Sughosha 4a1f144efe gnu: kcoreaddons: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kcoreaddons): Update to 6.23.0.

Change-Id: I3b1eff0deb98062f29f1dab43baa086c2554b690
2026-03-16 07:43:57 +05:30
Sughosha 40fafb239d gnu: kconfig: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kconfig): Update to 6.23.0.

Change-Id: Id07c5a1aaf5e2c4eb0e7450de3e3374d1271030a
2026-03-16 07:43:56 +05:30
Sughosha 2b610cb2e5 gnu: kcolorscheme: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kcolorscheme): Update to 6.23.0.

Change-Id: I399c107f9903b9256a25a94259de5b405a180256
2026-03-16 07:43:56 +05:30
Sughosha 7b050f2731 gnu: kcodecs: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kcodecs): Update to 6.23.0.

Change-Id: I1fd33b28654af7a983b1148f4811fd12ba0c13f0
2026-03-16 07:43:56 +05:30
Sughosha 6e4992fc2c gnu: kcalendarcore: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kcalendarcore): Update to 6.23.0.

Change-Id: If5f68c75160133f2c86957389a15637909e2d5a4
2026-03-16 07:43:56 +05:30
Sughosha 6e8df1ea1a gnu: karchive: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (karchive): Update to 6.23.0.

Change-Id: I4c9d7e0cf648ff52e89fa8a7d268e24a63e8c0d0
2026-03-16 07:43:55 +05:30
Sughosha 3fdbf2a2ce gnu: kapidox: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kapidox): Update to 6.23.0.
[arguments]<#:phases>: Add 'wrap-path'phase.
[inputs]: Add bash-minimal and coreutils.

Change-Id: Icea9bfb512839ccdc2d2600f33bf115df919976a
2026-03-16 07:43:55 +05:30
Sughosha 1ab8f3eb7f gnu: breeze-icons: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (breeze-icons): Update to 6.23.0.

Change-Id: Id21534c6a9b4248a197682d28c56ca3eebf83972
2026-03-16 07:43:55 +05:30
Sughosha 44d7bd0b78 gnu: bluez-qt: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (bluez-qt): Update to 6.23.0.

Change-Id: I98b63153471d7a234ec71fb2bbff424c9aa177c1
2026-03-16 07:43:55 +05:30
Sughosha d2c923efd9 gnu: attica: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (attica): Update to 6.23.0.

Change-Id: Ifb44a9c5ea931c7d088303c7459b4ee7eb738ece
2026-03-16 07:43:54 +05:30
Sughosha 339ca3756b gnu: kquickcharts: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (kquickcharts): Update to 6.23.0.

Change-Id: I61a0c91269a836e66dbc2f00ede6d78a6d71f295
2026-03-16 07:43:54 +05:30
Sughosha aa189d44fd gnu: extra-cmake-modules: Update to 6.23.0.
* gnu/packages/kde-frameworks.scm (extra-cmake-modules): Update to 6.23.0.

Change-Id: I69814dcdcb6c659821ef611cac72e0b343a64985
2026-03-16 07:43:53 +05:30
Cayetano Santos f42c735aeb gnu: emacs-w3m: Update to 20251229-0.ec18c21.
* gnu/packages/emacs-xyz.scm (emacs-w3m): Update to 20251229-0.ec18c21.

Change-Id: I45d6a9381ed4e62385394cfdcbdff411336bc792
Signed-off-by: Ian Eure <ian@retrospec.tv>
2026-03-15 17:12:25 -07:00
Cayetano Santos 4ee924eff7 gnu: emacs-markdown-mode: Update to 2.8.
* gnu/packages/emacs-xyz.scm (emacs-markdown-mode): Update to 2.8.
[arguments]<#:tests?>: Delete.
<#:phases>: Add ’skip-failing-tests.

Change-Id: Ifb214c9292f6c73fb8ef98dba6f7eb1093019194
2026-03-15 21:11:26 +01:00
Cayetano Santos 6b188d65ee gnu: emacs-org-supertag: Update to 5.8.1.
* gnu/packages/emacs-xyz.scm (emacs-org-supertag): Update to 5.8.1.

Change-Id: Ic534c07ac7e4aef093152027e04b01369eb8287e
2026-03-15 21:07:21 +01:00
Noé Lopez 3abf9671be gnu: Add amberol.
* gnu/packages/gnome-circle.scm (amberol): New variable.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Add amberol.

Change-Id: I2ead9a6972482df774febde33cc18b22158fcb61
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-03-15 20:25:48 +02:00
Efraim Flashner ce6dedf800 gnu: pueue: Install shell completions.
* gnu/packages/task-management.scm (pueue)[arguments]: Add a phase to
install the shell completions.
[native-inputs]: When cross-compiling add this package.

Change-Id: I36a61e699ba511bef92718feae65aa865782052e
2026-03-15 19:18:22 +02:00
SilverlightningY 72ac773a3e gnu: Add pueue.
* gnu/packages/task-management.scm (pueue): New variable.
* gnu/packages/rust-crates.scm: Add crates for pueue.

Change-Id: Ie780e190ce30c8c2bd9feed0dd2d45c171f8d1bd
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-03-15 19:18:18 +02:00
John Kehayias 9de0072f0d gnu: hyprland: Update to 0.54.2.
* gnu/packages/wm.scm (hyprland): Update to 0.54.2.

Change-Id: Ife9f150a49978c69c2fed59bd0cc81a416c38861
2026-03-15 12:49:25 -04:00
Artyom V. Poptsov f0ba5b73a5 gnu: yggtray: Update to 0.1.15.
* gnu/packages/networking.scm (yggtray): Update to 0.1.15.

Change-Id: I6415858646f60e8e2f34f0c96cbe50ae40f1cee6
2026-03-15 16:45:17 +03:00
Roman Scherer e320469cf0 gnu: ovmf-aarch64: Pad firmware to 64 MiB for QEMU compatibility.
QEMU's virt machine on AArch64 requires pflash devices to be exactly
64 MiB.  The raw QEMU_EFI.fd produced by EDK2 is only ~2 MiB, causing
GRUB EFI tests to fail with:

  cfi.pflash01 device requires 67108864 bytes, pflash0 block backend
  provides 2097152 bytes

Pad the firmware file to match, as Nix does.

* gnu/packages/firmware.scm (ovmf-aarch64)[arguments]: Pad
ovmf_aarch64.bin to 64 MiB with truncate-file.

Change-Id: I589325294f264b0af69a9a0261c35d9a862e03c5
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-03-15 14:49:06 +02:00
Ashish SHUKLA 8cc2c81735 gnu: got: Update to 0.123.
* gnu/packages/version-control.scm (got): Update to 0.123.

Change-Id: Ib6527f78122ac3c7c807cbbad0ce20173a7207bd
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-03-15 14:49:06 +02:00
Ashish SHUKLA 33d46b43ee gnu: foot: Update to 1.26.1.
* gnu/packages/terminals.scm (foot): Update to 1.26.1.

Change-Id: I389d1056113ce68c0bc6a3675f78f22ea3911ee7
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-03-15 14:49:06 +02:00
Ashish SHUKLA 1166412420 gnu: fossil: Update to 2.28.
* gnu/packages/version-control.scm (fossil): Update to 2.28.
[arguments]<#:phases>: Remove "disable-broken-test" phase.

Change-Id: I49197da22dbd0d9e65cd8dfda1ffa6c7f8340bd9
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-03-15 14:49:06 +02:00
moksh 82983217d0 gnu: Add rust-1.94.
* gnu/packages/rust.scm (rust-1.94): New variable.

Closes: guix/guix#6922
Change-Id: I7839ebae9d86f7855ea6dce7bdec2a023ba245a5
Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
2026-03-15 14:49:06 +02:00
Florian Pelz 0b3b7b05d9 gnu: g-golf-adw-1-examples: Update to 0.8.4.
* gnu/packages/guile-xyz.scm (g-golf-adw-1-examples)
[version, source]: Update.
[native-inputs]: Move glib:bin to ...
[inputs]: ... here, because version 0.8.4 compiles at run-time.
[arguments]<#:phases>{prepare-examples}: Do
not edit Makefile syntax; it got fixed upstream.
Adapt to run-time g-resources compilation.
{build}, {patch-scm-files}: Adapt.

Change-Id: Ifc5d1935d23aa1f73ed457941d1c741876e3b96d
Merges: #7081
2026-03-15 12:32:27 +01:00
Cayetano Santos 462e4f473f gnu: python-cocotbext-axi: Update to 0.1.28.
* gnu/packages/electronics.scm (python-cocotbext-axi): Update to 0.1.28.

Change-Id: I8a2491f15e2643b791e87ae429a740f5c0b10995
2026-03-15 11:37:22 +01:00
Efraim Flashner 45e45e1f79 gnu: rust-crates: Adjust indentation.
* gnu/packages/rust-crates.scm: Standardize the indentation.

Change-Id: Ibfcf69ddd8afebfcb44a79d66495a58168ae2585
2026-03-15 12:08:54 +02:00
Hugo Buddelmeijer 5533b916cb gnu: stiff: Compile with optimizations and debugging symbols.
This is a followup to a2cfd46081.

See <https://codeberg.org/guix/guix/pulls/7035#issuecomment-11634022>.

* gnu/packages/astronomy.scm (stiff): Add default configure flags.
[arguments]<#:configure-flags>: Add `-O2 -g`.

Merges guix/guix!7152

Change-Id: I8f819845793b63e2a9be59ffcd502fb29ea8ef9b
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-15 10:57:16 +01:00
Noé Lopez c2b8e60f06 gnu: bluefish: Fix build.
* gnu/packages/gnome.scm (bluefish)[arguments]: Disable warning errors for
implicit function declarations.

Change-Id: I5adaaf81f2ea2498b8d4a3e564841b3160767844
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-15 07:14:15 +01:00
Noé Lopez 810513e4ef gnu: desktop-file-utils: Update to 0.28.
* gnu/packages/freedesktop.scm (desktop-file-utils):
Update to 0.28.
[build-system]: Switch to meson-build-system.

Change-Id: Id32870f4ed1d01728c44386ff796469f3b27c2bf
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-15 07:14:15 +01:00
James Smith e0c13fc717 gnu: trenchbroom: Update to 2025.4.
* gnu/packages/game-development.scm: (trenchbroom): Update to 2025.4.
[arguments]<#:configure-flags>: Removed “-DFREEIMAGE_INCLUDE_PATH=…”
and “-DFREEIMAGE_LIBRARY=…”.
[inputs]: Replace catch2 with catch2-3.8, qtbase-5 with qtbase,
and qtsvg-5 with qtsvg.

Change-Id: I6e0cb3d2e6f4217c46f0e5287fb558cb22810659
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-15 07:14:13 +01:00
Ian Eure 906d4e7046 gnu: yt-dlp: Update to 2026.03.13.
* gnu/packages/video.scm (yt-dlp): Update to 2026.03.13.

Change-Id: I1de48cae0342b8f43a67046a135cc5ed3060e0dd
2026-03-14 21:17:38 -07:00
Anderson Torres 05bb40bc48 gnu: emacs-alchemist: Use Git, not MELPA.
* gnu/packages/emacs-xyz.scm (emacs-alchemist): Cleanup.
[source]: Use git-fetch.
[propagated-inputs]: Transpose right after arguments.
[arguments]<#:tests?>: Set as #f.
<#:phases>{install-server}: Delete alchemist-server/test before installing alchemist-server.

Change-Id: I1cf0a9906bff58c53cd4031ccb9d3806fcac9a31
Signed-off-by: Ian Eure <ian@retrospec.tv>
2026-03-14 20:51:52 -07:00
Anderson Torres 2d743846a3 gnu: emacs-js-comint: Use Git, not MELPA.
* gnu/packages/emacs-xyz.scm (emacs-js-comint): Use Git, not MELPA.
[source]: Use git repository
[arguments]<#:tests?>: Set as #f.

Change-Id: Id2fb37dbd786be464f48db467d827cf497d5e124
Signed-off-by: Ian Eure <ian@retrospec.tv>
2026-03-14 20:51:45 -07:00
Anderson Torres 7c7e8c2141 gnu: emacs-org-babel-eval-in-repl: Use Git, not MELPA.
* gnu/packages/emacs-xyz.scm (emacs-org-babel-eval-in-repl)[source]: Use git-fetch.

Change-Id: Ie693633f4359410ac1ecd61919cc2d6933fc970f
Signed-off-by: Ian Eure <ian@retrospec.tv>
2026-03-14 20:38:23 -07:00
Ian Eure 670c723676 gnu: librewolf: Update to 148.0.2-2 [security-fixes].
Contains fixes for:

CVE-2026-3845: Heap buffer overflow in the Audio/Video: Playback
               component in Firefox for Android
CVE-2026-3846: Same-origin policy bypass in the CSS Parsing and
               Computation component
CVE-2026-3847: Memory safety bugs fixed in Firefox 148.0.2

* gnu/packages/librewolf.scm (librewolf): Update to 148.0.2-2.

Change-Id: Id3868e10d38f5f111bd00bc140a9dc64f132caa9
2026-03-14 16:38:05 -07:00
Dariqq 3bfe96cc49 gnu: dmd: Fix tests on 32bit systems.
* gnu/packages/dlang.scm (dmd-bootstrap)[#:phases]: In 'patch-tests skip a
test on 32bit systems that tries to execute 64bit executable.

Change-Id: If87b95b63ac145865e7a8dcf2a219d6bd055981f
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-03-14 22:07:05 +01:00
Danny Milosavljevic afa8b9ae47 gnu: Fix module cycle.
Fixes: guix/guix#7159

* gnu/packages/rust-sources.scm (codex, codex-acp): Move to...
* gnu/packages/codex.scm (codex, codex-acp): ...here.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add file.

Change-Id: Ic158d97cb9f97655a72ea58d16adb102dbe4d5ea
2026-03-14 21:51:16 +01:00
Ivan Vilata-i-Balaguer ed9e734518 gnu: quodlibet: Add GObject native input for tests.
This avoids the error "Typelib file for namespace 'xlib', version '2.0'
not found" during the check phase.

* gnu/packages/music.scm (quodlibet)[native-inputs]:
Add gobject-introspection.

Change-Id: Ic54533860946ae4698747fab38a8c22a40f2dbc4
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-03-14 21:41:58 +01:00
Andreas Enge 358794b7d7 gnu: libmedfile: Switch to gexps.
* gnu/packages/engineering.scm (libmedfile)[arguments]: Switch to gexps.

Change-Id: If33051d047bc046a4e62f5fefdcbb7672a62069b
2026-03-14 21:38:53 +01:00
Andreas Enge 9cd60969f7 gnu: libmedfile: Update to 6.0.1.
* gnu/packages/engineering.scm (libmedfile): Update to 6.0.1.
[source]: Update URL.
[inputs]: Remove hdf5-1.10; add hdf5 and zlib.

Change-Id: I90592d780f3e58ca9bcc1de8c018a0369358b9fd
2026-03-14 21:35:25 +01:00
Laura Kirsch d68439a78b gnu: Add jkqtplotter.
* gnu/packages/qt.scm (jkqtplotter): New variable.

Change-Id: I5a7e15242fdc43a30ab52fb2672342230baba5d6
Co-authored-by: Andreas Enge <andreas@enge.fr>
2026-03-14 21:09:22 +01:00
Andreas Enge c2841810b9 gnu: Deprecate miniupnpc-next.
* gnu/packages/upnp.scm (miniupnpc-next): Deprecate package by miniupnpc.

Fixes: guix/guix#6688
Change-Id: I005e4546d33cff78d2065edec377434d04491696
2026-03-14 20:47:27 +01:00
Janneke Nieuwenhuizen be7e3c6c67 gnu: guix: Update to 1.5.0-2.520785e315e.
* gnu/packages/package-management.scm (guix): Update to 1.5.0-2.520785e315e.

Change-Id: I940f277798c345a9b38ba82c1263f253b844f449
Fixes: #6947
2026-03-14 18:56:41 +01:00
Tomas Volf 9232ada7cd gnu: guile-irregex: Update to 0.9.12.
* gnu/packages/guile-xyz.scm (guile-irregex): Update to 0.9.12.

Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-03-14 16:43:50 +01:00
Tomas Volf 98d58347ee gnu: perl-finance-quote: Update to 1.68.
* gnu/packages/web.scm (perl-finance-quote): Update to 1.68.

Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-03-14 16:32:09 +01:00
Tomas Volf d1776bd7ad gnu: conmon: Update to 2.2.1.
With the update we can now enable at least some of the upstream tests.

* gnu/packages/containers.scm (conmon): Update to 2.2.1.
[arguments]{#:tests?}: Do not set.
{#:phases}: Drop set-env, add prepare-tests.
[native-inputs]: Add bats, go-md2man, socat.

Change-Id: If8543c33965d250c6f0e8805e24b246b8ae469f9
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-03-14 16:25:15 +01:00
Tomas Volf c934a69a96 services: apcupsd-event-handlers: Fix G-expressions.
There was one level of parentheses too much, leading to errors when the script
was invoked due to trying to apply e.g., 0 or #t.  So either use begin, or
strip one level, as appropriate.

* gnu/services/power.scm (apcupsd-event-handlers): Fix all G-expressions.

Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-03-14 16:19:45 +01:00
Tomas Volf fe9340179b gnu: buildah: Update to 1.43.0.
* gnu/packages/containers.scm (buildah): Update to 1.43.0.

Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-03-14 16:18:22 +01:00
Leo Nikkilä f4298f390b gnu: audit: Build with aarch64 and arm support.
* gnu/packages/admin.scm (audit)[arguments]<#:configure-flags>: Add
"--with-aarch64" when building for aarch64. Similarly for armhf.

Change-Id: I7577fb74f879cb560e21801cbe9e214ce3419e09
Co-authored-by: Andreas Enge <andreas@enge.fr>
2026-03-14 16:11:05 +01:00
Ludovic Courtès 29f630cb3e doc: Reintroduce mention of ‘bug-reference-mode’.
* doc/contributing.texi (Emacs): Add @unnumberedsubsubsec commands.  Add
“Referencing Bug Reports” section.

Change-Id: I21d7ecc022c00fc4d4cecf2273b1d46d8e770195
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #6614
2026-03-14 16:07:35 +01:00
Ludovic Courtès cb9f187cc1 doc: Document Emacs-Guix for development.
* doc/contributing.texi (Emacs): Document Emacs-Guix.

Change-Id: I921f77425706709e49094ee96b28e29e29ad6878
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-14 16:07:34 +01:00
Ludovic Courtès 8926bfb5d0 doc: Add references to “The Perfect Setup”.
* doc/guix.texi (Defining Packages, Using the Configuration System): Add cross
reference to “The Perfect Setup”.
* doc/guix-cookbook.texi (A Scheme Crash Course): Likewise.

Change-Id: If62960ffc01aadf9143b3816f4702f30b8052b90
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-14 16:07:34 +01:00
Ludovic Courtès 4e78643fa7 doc: Move “Guile Studio” and “Vim and NeoVim” under “The Perfect Setup”.
* doc/contributing.texi (The Perfect Setup): Add introduction.  Move former
body to …
(Emacs): … this.
(Alternative Setups): Remove.
(Guile Studio, Vim and NeoVim): Move under “The Perfect Setup”.  Change
judgmental sentence.

Change-Id: I149d418ac17a2283ad3452213b7425be4a8893f4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-14 16:07:34 +01:00
Ludovic Courtès 5b6b54c95c doc: Remove “Viewing Bugs within Emacs”.
This is a followup to d499253d47 and related
commits.

* doc/contributing.texi (Viewing Bugs within Emacs): Remove.
(Debbugs User Interfaces): Refer to the ‘debbugs-ug’ manual.

Change-Id: Idddff940302efe5689c8b459e0b141acaae74395
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-14 16:07:34 +01:00
Ludovic Courtès c917ece6d9 remote: Print output and error stream in ‘remote-eval’.
Previously, anything written by the remote process to its output and error
ports was lost.  Now it’s properly transferred and displayed.

* guix/remote.scm (trampoline): Direct current output and error ports to a
string output port; return the port’s content in addition to the return value
of ‘primitive-load’.
(%remote-eval): Expect output/error string from ‘read-repl-response’ and
display it line by line.

Fixes: guix/guix#7088
Reported-by: Tomas Volf <~@wolfsden.cz>
Change-Id: I73bc81a08626b3204136b6f1568130f9895d56e3
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #7092
2026-03-14 16:07:34 +01:00
Reza Housseini fd76b64acd gnu: Add python-simple-slurm.
* gnu/packages/parallel.scm (python-simple-slurm): New variable.

Change-Id: I60cbef2eb54d2fd667b866ee977ef34c095f0268
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
Merges: #3890
2026-03-14 16:07:34 +01:00
Anderson Torres 78291f7cc6 gnu: kmscon: Update to 9.3.0.
* gnu/packages/terminals.scm (kmscon): Update to 9.3.0.

Change-Id: I00525f29370ffa45ab568bd4ffb8058bfad037b0
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #5889
2026-03-14 16:07:34 +01:00
Anderson Torres d1522cf229 gnu: libtsm: Update to 4.4.1.
* gnu/packages/terminals.scm (libtsm): Update to 4.4.1.

Change-Id: I456ae284223ae287f6cf6739c7c2ed340ea0fce6
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
2026-03-14 16:07:33 +01:00
Yelninei d981460e43 gnu: texinfo-7: Actually fix cross compiling.
Followup to fdbe8b80a8.

* gnu/packages/texinfo.scm (texinfo-7)[#:configure-flags]: Disable perl
extension when cross-compiling.
[#:phases]: Remove 'build-native-tools phase.

Change-Id: I87a5025b2ce51aeeafc7011e877bc70aa858f6b2
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #7086
2026-03-14 16:07:33 +01:00
Jake Coble a0424a2955 gnu: Add ianny.
* gnu/packages/rust-apps.scm (ianny): New variable.
* gnu/packages/rust-crates.scm: Add crates for ianny.

Merges guix/guix!7094

Change-Id: I5c6e1ac1335cd26f122ebd64d974ac4ffc6b7fbf
Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
2026-03-14 16:05:24 +01:00
Sughosha a863c41caf gnu: plasma: Move bolt, fwupd and packagekit to inputs.
They are only to be used by the plasa-desktop-service-type and does not need to
be in a profile.

* gnu/packages/kde-plasma.scm (plasma)[propagated-inputs]: Move bolt, fwupd and
packagekit to ...
[inputs]: ...here.

Change-Id: I8c624fb19037ef4be0faa8708df857feb802d495
2026-03-14 20:15:21 +05:30
Sughosha 249f30462b services: plasma-desktop: Enable udev configurations.
* gnu/services/desktop.scm (plasma-udev-configurations): New variable.
(plasma-desktop-service-type): Extend udev-service-type with it.

Change-Id: Ifcf08c731b1173c9c811b22744072538e4df7e36
2026-03-14 20:15:20 +05:30
Sughosha 4b58dad42b services: plasma-desktop: Adjust indentation.
* gnu/services/desktop.scm (plasma-polkit-settings): Reindent comments.
(plasma-dbus-service): Ditto.

Change-Id: I67677e34732faf3aa0954f183562a0fc210b5fcd
2026-03-14 20:15:19 +05:30
Ashish SHUKLA a695af2308 gnu: weechat: Update to 4.8.2
* gnu/packages/irc.scm (weechat): Update to 4.8.2.

Change-Id: I1cf8c687e66423be1d5d2b2a2e2294353c55dbbd
2026-03-14 19:55:00 +05:30
Cayetano Santos 18ad7edfef gnu: lepton-eda: Refresh package details.
* gnu/packages/electronics.scm (lepton-eda)[synopsis, home-page]:
Update.

Change-Id: I173d65486a8b16a86267de7134d021e84e41f321
2026-03-14 14:05:44 +01:00
Cayetano Santos cbf6f04a9a gnu: lepton-eda: Move to electronics.
* gnu/packages/engineering.scm (lepton-eda): Move from here ...
* gnu/packages/electronics.scm: ... to here.

Change-Id: I3f84d463073478956267132542398fba1b0d3c36
2026-03-14 14:00:01 +01:00
Cayetano Santos 12053f48d8 gnu: horizon-eda: Refresh package details.
* gnu/packages/electronics.scm (horizon-eda)[synopsis, home-page]:
Update.

Change-Id: Ic515cd0b9c50c9426f1d23932fc7c879d2054930
2026-03-14 13:26:56 +01:00
Cayetano Santos 8f229b8fa5 gnu: horizon-eda: Update to 2.7.2.
* gnu/packages/electronics.scm (horizon-eda): Update to 2.7.2.

Change-Id: I05be75fb1573b4bdfc2e0005d37fbd66c48f4ed7
2026-03-14 13:03:46 +01:00
Cayetano Santos d5d7474992 gnu: horizon-eda: Move to electronics.
* gnu/packages/engineering.scm (horizon-eda): Move from here ...
* gnu/packages/electronics.scm: ... to here.

Change-Id: I8ec6ebcc5bf33dd69a0bb8d6aafcb5ba4031f150
2026-03-14 12:58:49 +01:00
Thomas Kramer e15407fc8e gnu: Add charlib.
* gnu/packages/electronics.scm (charlib): New variable.

Merges guix/guix!5472

Change-Id: I97833d98181546422bd4578845f8d27a14110de3
Modified-by: Cayetano Santos <csantosb@inventati.org>
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-14 12:42:56 +01:00
Anderson Torres a395def329 news: Add 'pt' translation.
* etc/news.scm: Add Portuguese translation for GNOME 48 entry.

Change-Id: I9ac3efe14a3025c0375aceabbf03321cdce31a0a
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2026-03-14 12:29:15 +01:00
Ludovic Courtès 650e69784d doc, gnu: Update URL of several packages formerly at notabug.org.
The URL change for these 5 packages was announced at
<https://lists.gnu.org/archive/html/guile-user/2026-03/msg00000.html>.

* doc/contributing.texi (Requirements): Update URLs.
* gnu/packages/gnupg.scm (guile-gcrypt)[home-page]: Update.
* gnu/packages/guile.scm (guile-sqlite3)[home-page]: Update.
(guile-zlib)[source]: Update URL and hash.
[home-page]: Update.
(guile-lzlib)[home-page]: Update.
(guile-zstd)[home-page]: Update.
* m4/guix.m4 (GUIX_CHECK_GUILE_SQLITE3): Update commit URL.

Merges guix/guix!7069

Change-Id: Ic587d3e2dcd931a44c007d9cdcd0b20e771be33b
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-14 12:14:49 +01:00
Danny Milosavljevic 6f3467de97 gnu: emacs-buttercup: Scope native-comp trampoline workaround to spy-on.
* gnu/packages/patches/emacs-buttercup-1.38-native-comp-spy-on-trampoline-scope.patch: New file.
* gnu/packages/emacs-build.scm (emacs-buttercup)[source]: Add it.
* gnu/local.mk (dist_patch_DATA): Add it.

Fixes: guix/guix#6927
Change-Id: I52d48090e16ce4e56839e151632d266848ec4073
2026-03-14 12:10:14 +01:00
Denis 'GNUtoo' Carikli 9390336775 gnu: vlc: add VNC support.
This enables VLC to view VNC sessions with 'vlc vnc://localhost:5900'.

* gnu/packages/video.scm (vlc)[inputs]: add libvnc.

Change-Id: Ia03fd6e6336cb893c0556f35460e4234a73dda6e
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
2026-03-14 11:49:21 +01:00
Artyom V. Poptsov cd29889ba4 gnu: portablexdr: Fix build.
* gnu/packages/gnome.scm (portablexdr): Fix build.
[native-inputs]: Add bison and flex.
[arguments] <#:phases>: Add patch-rpcgen-parse phase.

Change-Id: I011e403246a8ae8bcbb4805ce8b186f95b830420
2026-03-14 12:01:56 +03:00
Kjartan Oli Agustsson 5b4949858a gnu: emacs-calibre: Update to 1.5.2.
* gnu/packages/emacs-xyz.scm (emacs-calibre): Update to 1.5.2.

Merges guix/guix!7117

Change-Id: I44d146c714841f60ca48d2b639fd35f4505a2222
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-14 08:28:09 +01:00
Danny Milosavljevic 6e1866442e gnu: impass: Support sway.
* gnu/packages/password-utils.scm (impass)[inputs]: Add python-i3ipc.

Change-Id: Iab278b1da7af90923c6ab8acd1a2978f82c9a3a7
2026-03-14 05:21:12 +01:00
Ivan Vilata-i-Balaguer 89480bfd84 gnu: impass: Fix GTK and GObject inputs.
* gnu/packages/password-utils.scm (impass): Fix inputs.
[inputs] Replace gtk+ with gtk; add gobject-introspection.

Change-Id: I41c687e7ae0837afc27c4574e0c3bb176f25986c
2026-03-14 05:12:23 +01:00
Danny Milosavljevic ad9ca26606 gnu: codex, codex-acp: Drop file_lock patches; enable network-proxy.
* gnu/packages/patches/rust-codex-0.98.0-arg0-file-lock.patch,
gnu/packages/patches/rust-codex-0.98.0-core-file-lock.patch,
gnu/packages/patches/rust-codex-0.98.0-execpolicy-file-lock.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Unregister them.
* gnu/packages/rust-sources.scm (rust-codex-0.0.0.785c0c43)[source]<patches>:
Remove file-lock patches.
(rust-codex-0.98.0)[source]<patches>: Likewise.
[arguments]<#:cargo-package-crates>: Add
codex-network-proxy.
* gnu/packages/rust-apps.scm (codex)[source]<patches>: Remove file-lock
patches.
[arguments]<#:cargo-install-paths>: Add network-proxy.
<#:cargo-package-crates>: Add codex-network-proxy.
(codex-acp)[arguments]<#:rust>: Delete.
<#:cargo-test-flags>: Remove override.
* gnu/packages/patches/codex-0.98.0-remove-patch-sections.patch: Stop
excluding network-proxy from workspace members.

Change-Id: Iabc65a4ca2e8cc5801933a74a2b53b9bce404102
2026-03-14 05:01:53 +01:00
Maxim Cournoyer 54225ed9ea gnu: vlc: Use latest ffmpeg.
* gnu/packages/video.scm (vlc) [inputs]: Replace ffmpeg-6 with ffmpeg.

Change-Id: I6ae22d7b19f4e88e92b25fc67bb3806289ccb36f
2026-03-14 12:05:51 +09:00
Simen Endsjø 60ba981d26 gnu: lisp-xyz: Shinmera repositories moved from GitHub to Codeberg.
* gnu/packages/lisp-xyz.scm: Change references from github.com and
github.io to codeberg.org and shinmera.com for Shinmeras repositories.

Change-Id: I636cb58250e0c144f6d11191609c1eb33afc62df
Signed-off-by: jgart <jgart@dismail.de>
2026-03-13 17:50:00 -04:00
Gabriel Wicki f8e3115edc gnu: nicotine+: Fix build.
* gnu/packages/nicotine.scm (nicotine+) [arguments] {check}: Set $HOME
to a writable location.
[inputs] Replace python-pycairo with gobject-introspection.

Merges guix/guix!7115

Change-Id: I302224d423f9ae1fbc630433cc65ec7c598a01cc
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-13 21:17:00 +01:00
Gabriel Wicki 75ea9cb664 etc: snippets: Update python to pyproject build system.
The snippets still refer to the outdated python-build-system which
should not be encouraged to use anymore.

* etc/snippets/yas/scheme-mode/guix-package (build-system): Replace
python-build-system with pyproject-build-system.

Merges guix/guix!7100

Change-Id: Ic7d4b298c922fbea75b0e2ae341fee8a5ab0543c
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-03-13 20:50:13 +01:00
Cayetano Santos 706541d384 gnu: genimage: Move to flashing-tools.
* gnu/packages/genimage.scm: Remove.
* packages/patches/genimage-mke2fs-test.patch: Remove.
* gnu/local.mk (GNU_SYSTEM_MODULES): Unregister module.
(dist_patch_DATA): Unregister patch.
* po/packages/POTFILES.in: Unregister module.
* gnu/packages/flashing-tools.scm (genimage): Add variable.
* gnu/packages/image.scm: Update used module.

Merges guix/guix!7045

Change-Id: Iaeafca2b63bcd92f588894543316b968f45c577c
2026-03-13 19:29:31 +01:00
Cayetano Santos 2f61b27d36 .forgejo: pull_request_template: Fix empty line.
* .forgejo/issue_template/pull_request_template.md: Remove empty line.

Change-Id: I58cbb33aed8cd452800c22289f539e2c1968f908
2026-03-13 19:09:43 +01:00
Cayetano Santos 7d622d4ded .forgejo: pull_request_template: Refer to tests.
* .forgejo/issue_template/pull_request_template.md: Mention tests.

Change-Id: Ia53dda30adf33c26adf90551cc535452698f5b72
2026-03-13 19:05:02 +01:00
77 changed files with 4092 additions and 2600 deletions
+3 -3
View File
@@ -37,13 +37,13 @@ Tick a box by changing it from [ ] to [x].
```
- Package **addition**
- [ ] The packages includes tests when available.
- [ ] Fixed errors reported by `guix lint` (`./pre-inst-env guix lint PACKAGE ...`).
- [ ] Verified cryptographic signature provided by upstream.
- [ ] The packages don't use bundled copies of software.
- [ ] Synopsis and description are written in conformance with [the guidelines](https://guix.gnu.org/manual/devel/en/html_node/Synopses-and-Descriptions.html).
- [ ] Commit messages follow [the "ChangeLog" style](https://www.gnu.org/prep/standards/html_node/Change-Logs.html).
- [ ] The change doesn't break `guix pull` (`guix pull --url=/path/to/your/checkout --profile=/tmp/guix.master --disable-authentication`).
- [ ] Commit messages follow [the "ChangeLog" style](https://www.gnu.org/prep/standards/html_node/Change-Logs.html).
- [ ] The change doesn't break `guix pull` (`guix pull --url=/path/to/your/checkout --profile=/tmp/guix.master --disable-authentication`).
- Successfully cross-compiled to the following target(s) (this is optional):
- [ ] x86_64-linux-gnu
+9
View File
@@ -480,6 +480,15 @@ tests/import/texlive\.scm @guix/tex
etc/news\.scm @guix/translations
po/ @guix/translations
gnu/packages/version-control\.scm @guix/vcs
gnu/services/version-control\.scm @guix/vcs
gnu/tests/version-control\.scm @guix/vcs
guix/build/bzr\.scm @guix/vcs
guix/build/cvs\.scm @guix/vcs
guix/build/git\.scm @guix/vcs
guix/build/hg\.scm @guix/vcs
guix/build/svn\.scm @guix/vcs
gnu/packages/xfce\.scm @guix/xfce
gnu/packages/zig\.scm @guix/zig
+93 -107
View File
@@ -25,7 +25,6 @@ choice.
* Running the Test Suite:: Testing Guix.
* Running Guix Before It Is Installed:: Hacker tricks.
* The Perfect Setup:: The right tools.
* Alternative Setups:: Other possible tools that do the job.
* Source Tree Structure:: Source code guided tour.
* Packaging Guidelines:: Growing the distribution.
* Coding Style:: Hygiene of the contributor.
@@ -67,7 +66,7 @@ GNU Guix depends on the following packages:
@itemize
@item @url{https://gnu.org/software/guile/, GNU Guile}, version 3.0.x,
version 3.0.9 or later;
@item @url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, version
@item @url{https://codeberg.org/guile-gcrypt/guile-gcrypt, Guile-Gcrypt}, version
0.1.0 or later;
@item
@uref{https://gitlab.com/gnutls/guile/, Guile-GnuTLS} (@pxref{Guile
@@ -76,11 +75,11 @@ gnutls-guile, GnuTLS-Guile})@footnote{The Guile bindings to
@uref{https://gnutls.org/, GnuTLS} were distributed as part of GnuTLS
until version 3.7.8 included.};
@item
@uref{https://notabug.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, version 0.1.0
@uref{https://codeberg.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, version 0.1.0
or later;
@item @uref{https://notabug.org/guile-zlib/guile-zlib, Guile-zlib},
@item @uref{https://codeberg.org/guile-compression/guile-zlib, Guile-zlib},
version 0.1.0 or later;
@item @uref{https://notabug.org/guile-lzlib/guile-lzlib, Guile-lzlib};
@item @uref{https://codeberg.org/guile-compression/guile-lzlib, Guile-lzlib};
@item @uref{https://www.nongnu.org/guile-avahi/, Guile-Avahi};
@item
@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, version 0.10.0
@@ -102,7 +101,7 @@ Support for build offloading (@pxref{Daemon Offload Setup}) and
version 0.13.0 or later.
@item
@uref{https://notabug.org/guile-zstd/guile-zstd, Guile-zstd}, for zstd
@uref{https://codeberg.org/guile-compression/guile-zstd, Guile-zstd}, for zstd
compression and decompression in @command{guix publish} and for
substitutes (@pxref{Invoking guix publish}).
@@ -536,14 +535,64 @@ to build again each time you update a package file, run
@node The Perfect Setup
@section The Perfect Setup
The Perfect Setup to hack on Guix is basically the perfect setup used
for Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile Reference
Manual}). First, you need more than an editor, you need
@url{https://www.gnu.org/software/emacs, Emacs}, empowered by the
wonderful @url{https://nongnu.org/geiser/, Geiser}. To set that up, run:
@cindex editor setup, for Scheme
@cindex Scheme code editing
All configuration and development in Guix is done in the Scheme
language. Like all languages of the Lisp family, Scheme has a simple
syntax. The perfect setup is one where the editor you choose makes
working with that syntax seamless and pleasant; for that it must
absolutely support a few things for Scheme:
@itemize
@item
automatic indentation, such that hitting the ``Enter'' key (or
@kbd{RET}) places cursor ``at the right place'' on the next line;
@item
``parentheses matching'', allowing you to jump from a closing
parenthesis to the corresponding opening parenthesis and vice-versa;
@item
syntax highlighting, so that keywords are visually distinguishable.
@end itemize
The following optional features can make your life easier:
@itemize
@item
structural editing of Scheme syntax;
@item
Guile integration so you can easily evaluate code, jump to procedure
definitions, view documentation, and so on.
@end itemize
The following sections look at editor setups that are known to work
well. Do share your setup for these and other editors for inclusion in
this manual! @xref{Submitting Patches}.
@menu
* Emacs:: Best-of-breed editor for Scheme code.
* Guile Studio:: First step in your transition to Emacs.
* Vim and NeoVim:: Classical Unix editors.
@end menu
@node Emacs
@subsection Emacs
@url{https://www.gnu.org/software/emacs, Emacs} is probably the most
widely used editor in the community; it is also the one that,
historically, has always had excellent support for Lisp languages, being
itself a Lisp implementation!
@quotation Note
If you are just getting started with Emacs, @pxref{Guile Studio} for a
smooth way to start your transition.
@end quotation
Just like for Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile
Reference Manual}), Emacs works best when empowered by the wonderful
@url{https://nongnu.org/geiser/, Geiser}. To set that up, run:
@example
guix install emacs guile emacs-geiser emacs-geiser-guile
guix install emacs guile emacs-geiser emacs-geiser-guile emacs-guix
@end example
Geiser allows for interactive and incremental development from within
@@ -562,6 +611,15 @@ facilities to directly operate on the syntax tree, such as raising an
s-expression or wrapping it, swallowing or rejecting the following
s-expression, etc.
Cherry on the cake: the Emacs-Guix package provides a convenient
interface to many commands---e.g., it lets you browse packages, install
or remove packages, and so on---as well as development helpers that
enhance @code{scheme-mode} and Geiser. @xref{Introduction,,,
emacs-guix, Emacs-Guix Reference Manual}, to make sure you don't miss
out!
@unnumberedsubsubsec Taming Boilerplate with Templates
@cindex code snippets
@cindex templates
@cindex reducing boilerplate
@@ -601,6 +659,8 @@ trigger string @code{origin...}, which can be expanded further. The
@code{origin} snippet in turn may insert other trigger strings ending on
@code{...}, which also can be expanded further.
@unnumberedsubsubsec Updating Copyright Lines
@cindex insert or update copyright
@cindex @code{M-x guix-copyright}
@cindex @code{M-x copyright-update}
@@ -629,104 +689,30 @@ copyright-update}. If you want to do it automatically after each buffer
save then add @code{(add-hook 'after-save-hook 'copyright-update)} in
Emacs.
@node Viewing Bugs within Emacs
@subsection Viewing Bugs within Emacs
@unnumberedsubsubsec Referencing Bug Reports
Emacs has a nice minor mode called @code{bug-reference}, which, when
combined with @samp{emacs-debbugs} (the Emacs package), can be used to
open links such as @samp{<https://bugs.gnu.org/58697>} or
@samp{<https://issues.guix.gnu.org/58697>} as bug report buffers. From
there you can easily consult the email thread via the Gnus interface,
reply or modify the bug status, all without leaving the comfort of
Emacs! Below is a sample configuration to add to your @file{~/.emacs}
configuration file:
@cindex bug references, Emacs
Emacs has a nice minor mode called @code{bug-reference}, which can be
used to follow link to issues and pull requests such as @samp{#1234} or
@samp{guix/guix#1234} (@pxref{Bug Reference,,, emacs, The GNU Emacs
Manual}). To set it up, enable it in the relevant modes:
@lisp
;;; Bug references.
(require 'bug-reference)
(add-hook 'prog-mode-hook #'bug-reference-prog-mode)
(add-hook 'gnus-mode-hook #'bug-reference-mode)
(add-hook 'erc-mode-hook #'bug-reference-mode)
(add-hook 'gnus-summary-mode-hook #'bug-reference-mode)
(add-hook 'gnus-article-mode-hook #'bug-reference-mode)
;;; This extends the default expression (the top-most, first expression
;;; provided to 'or') to also match URLs such as
;;; <https://issues.guix.gnu.org/58697> or <https://bugs.gnu.org/58697>.
;;; It is also extended to detect "Fixes: #NNNNN" git trailers.
(setq bug-reference-bug-regexp
(rx (group (or (seq word-boundary
(or (seq (char "Bb") "ug"
(zero-or-one " ")
(zero-or-one "#"))
(seq (char "Pp") "atch"
(zero-or-one " ")
"#")
(seq (char "Ff") "ixes"
(zero-or-one ":")
(zero-or-one " ") "#")
(seq "RFE"
(zero-or-one " ") "#")
(seq "PR "
(one-or-more (char "a-z+-")) "/"))
(group (one-or-more (char "0-9"))
(zero-or-one
(seq "#" (one-or-more
(char "0-9"))))))
(seq (? "<") "https://bugs.gnu.org/"
(group-n 2 (one-or-more (char "0-9")))
(? ">"))
(seq (? "<") "https://issues.guix.gnu.org/"
(? "issue/")
(group-n 2 (one-or-more (char "0-9")))
(? ">"))))))
(setq bug-reference-url-format "https://issues.guix.gnu.org/%s")
(require 'debbugs)
(require 'debbugs-browse)
(add-hook 'bug-reference-mode-hook #'debbugs-browse-mode)
(add-hook 'bug-reference-prog-mode-hook #'debbugs-browse-mode)
;; The following allows Emacs Debbugs user to open the issue directly within
;; Emacs.
(setq debbugs-browse-url-regexp
(rx line-start
"http" (zero-or-one "s") "://"
(or "debbugs" "issues.guix" "bugs")
".gnu.org" (one-or-more "/")
(group (zero-or-one "cgi/bugreport.cgi?bug="))
(group-n 3 (one-or-more digit))
line-end))
;; Change the default when run as 'M-x debbugs-gnu'.
(setq debbugs-gnu-default-packages '("guix" "guix-patches"))
;; Show feature requests.
(setq debbugs-gnu-default-severities
'("serious" "important" "normal" "minor" "wishlist"))
;; Add extra hooks for your mail user agent: Gnus, mu4e, etc.
@end lisp
For more information, refer to @ref{Bug Reference,,, emacs, The GNU
Emacs Manual} and @ref{Minor Mode,,, debbugs-ug, The Debbugs User
Guide}.
@node Alternative Setups
@section Alternative Setups
Alternative setups than Emacs may let you work on Guix with a
similar development experience and they might work better with the
tools you currently use or help you make the transition to Emacs.
The options listed below only provide the alternatives to the Emacs
based setup, which is the most widely used in the Guix community. If
you want to really understand how the perfect setup for Guix development
is supposed to work, we encourage you to read the section before this
regardless of the editor you choose to use.
@menu
* Guile Studio:: First step in your transition to Emacs.
* Vim and NeoVim:: When you are evil to the root.
@end menu
When working from a Git checkout of Guix, setup is automatic:
@code{bug-reference} automatically detects that the project is hosted on
Codeberg@footnote{
@c 'vc-git-repository-url' is used by
@c 'bug-reference-setup-from-vc-alist', which checks for one of these
@c names for the remote.
As of Emacs@tie{}30.2, auto-detection works if and
only if the Git remote is called @code{upstream} or @code{origin}.} and
infers the issue and pull request URL from there.
@node Guile Studio
@subsection Guile Studio
@@ -744,9 +730,9 @@ Guile Studio comes with Geiser preinstalled and prepared for action.
@node Vim and NeoVim
@subsection Vim and NeoVim
Vim (and NeoVim) are also packaged in Guix, just in case you decided
to go for the evil path.
@cindex Vim, for Scheme code editing
Vim (and NeoVim) are also packaged in Guix, in case these popular modal
editors are more to your taste.
@example
guix install vim
@@ -2510,8 +2496,8 @@ For example, to list all open issues on @code{guix-patches}, hit:
For a more convenient (shorter) way to access both the bugs and patches
submissions, you may want to configure the
@code{debbugs-gnu-default-packages} and
@code{debbugs-gnu-default-severities} Emacs variables (@pxref{Viewing
Bugs within Emacs}).
@code{debbugs-gnu-default-severities} Emacs variables (@pxref{Minor
Mode,,, debbugs-ug, The Debbugs User Guide}).
To search for bugs, @samp{@kbd{M-x} debbugs-gnu-guix-search} can be
used.
+3
View File
@@ -523,6 +523,9 @@ info sicp
You'll find more books, tutorials and other resources at
@url{https://schemers.org/}.
@xref{The Perfect Setup,,, guix, GNU Guix Reference Manual}, on how to
set up your editor for Scheme hacking.
@end quotation
+6
View File
@@ -8048,6 +8048,9 @@ Intimidated by the Scheme language or curious about it? The Cookbook
has a short section to get started that recaps some of the things shown
above and explains the fundamentals. @xref{A Scheme Crash Course,,,
guix-cookbook, GNU Guix Cookbook}, for more information.
@xref{The Perfect Setup}, on how to set up your editor for Scheme
hacking.
@end quotation
Once a package definition is in place, the
@@ -18034,6 +18037,9 @@ misplaced parentheses can often be identified by reformatting your file:
guix style -f config.scm
@end example
@xref{The Perfect Setup}, on how to set up your editor for Scheme
hacking.
The Cookbook has a short section to get started with the Scheme
programming language that explains the fundamentals, which you will find
helpful when hacking your configuration. @xref{A Scheme Crash Course,,,
+9
View File
@@ -47,6 +47,7 @@
(title
(en "GNOME 48 is now available")
(fr "GNOME 48 maintenant disponible")
(pt "GNOME 48 já está disponível")
(de "GNOME 48 jetzt verfügbar"))
(body
(en "The GNOME desktop was updated from version 46 to 48, bringing
@@ -65,6 +66,14 @@ dimages (Loupe), et plus:
@itemize
@item @url{https://release.gnome.org/47/, GNOME 47 release notes}
@item @url{https://release.gnome.org/48/, GNOME 48 release notes}
@end itemize")
(pt "GNOME desktop foi atualizado da versão 46 para a 48, trazendo
cores acentuadas, um aplicativo de arquivos (Nautilus) melhorado, um novo
visualizador de imagens (Loupe), e mais:
@itemize
@item @url{https://release.gnome.org/47/, Notas de lançamento do GNOME 47}
@item @url{https://release.gnome.org/48/, Notas de lançamento do GNOME 48}
@end itemize")
(de "Die GNOME-Desktopumgebung wurde von Version 46 auf 48
aktualisiert. Neue Funktionen in dieser Version sind die Möglichkeit, eine
+1 -1
View File
@@ -33,7 +33,7 @@
"node-build-system"
"ocaml-build-system"
"perl-build-system"
"python-build-system"
"pyproject-build-system"
"qt-build-system"
"r-build-system"
"rakudo-build-system"
+25 -1
View File
@@ -1197,6 +1197,20 @@ the \"texlive\" importer."
#:scope (list "etc/news.scm"
(make-regexp* "^po/"))))
(define-team vcs
(team 'vcs
#:name "Version control team"
#:description
"Version control packages, services, and Guix download backends."
#:scope (list "gnu/packages/version-control.scm"
"gnu/services/version-control.scm"
"gnu/tests/version-control.scm"
"guix/build/bzr.scm"
"guix/build/cvs.scm"
"guix/build/git.scm"
"guix/build/hg.scm"
"guix/build/svn.scm")))
(define-team xfce
(team 'xfce
#:name "Xfce team"
@@ -1531,7 +1545,7 @@ the \"texlive\" importer."
(define-member (person "Nguyễn Gia Phong"
"cnx@loang.net"
"cnx")
build-tools python qa-packages sysadmin)
build-tools python qa-packages sysadmin vcs)
(define-member (person "Lilah Tascheter"
"lilah@lunabee.space"
@@ -1603,6 +1617,16 @@ the \"texlive\" importer."
"folaht")
documentation)
(define-member (person "Thanos Apollo"
"public@thanosapollo.org"
"thanosapollo")
vcs)
(define-member (person "Ashish SHUKLA"
"ashish.is@lostca.se"
"group")
vcs)
(define (find-team name)
(or (hash-ref %teams (string->symbol name))
+3 -5
View File
@@ -213,6 +213,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/connman.scm \
%D%/packages/containers.scm \
%D%/packages/convmv.scm \
%D%/packages/codex.scm \
%D%/packages/coq.scm \
%D%/packages/cpio.scm \
%D%/packages/cpp.scm \
@@ -313,7 +314,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gd.scm \
%D%/packages/gdb.scm \
%D%/packages/genealogy.scm \
%D%/packages/genimage.scm \
%D%/packages/geo.scm \
%D%/packages/gettext.scm \
%D%/packages/ghostscript.scm \
@@ -1229,6 +1229,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-treelib-remove-python2-compat.patch \
%D%/packages/patches/elm-offline-package-registry.patch \
%D%/packages/patches/elm-reactor-static-files.patch \
%D%/packages/patches/emacs-buttercup-1.38-native-comp-spy-on-trampoline-scope.patch \
%D%/packages/patches/emacs-deferred-fix-number-of-arguments.patch \
%D%/packages/patches/emacs-disable-jit-compilation.patch \
%D%/packages/patches/emacs-doc-toc-shell-commands.patch \
@@ -1430,7 +1431,6 @@ dist_patch_DATA = \
%D%/packages/patches/gemmi-fix-pegtl-usage.patch \
%D%/packages/patches/gemmi-fix-sajson-types.patch \
%D%/packages/patches/gemrb-remove-ifdef-and-externalize-path-setting-to-cmake.patch \
%D%/packages/patches/genimage-mke2fs-test.patch \
%D%/packages/patches/geoclue-config.patch \
%D%/packages/patches/gettext-libunicode-update.patch \
%D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
@@ -1608,6 +1608,7 @@ dist_patch_DATA = \
%D%/packages/patches/hurd-rumpdisk-no-hd.patch \
%D%/packages/patches/hurd-startup.patch \
%D%/packages/patches/hwloc-1-test-btrfs.patch \
%D%/packages/patches/hwloc-add-with-opencl.patch \
%D%/packages/patches/i3lock-blur-fix-build-on-gcc-10.patch \
%D%/packages/patches/i7z-gcc-10.patch \
%D%/packages/patches/icecat-adjust-mozilla-desktop.patch \
@@ -2378,10 +2379,7 @@ dist_patch_DATA = \
%D%/packages/patches/rust-1.70-fix-rustix-build.patch \
%D%/packages/patches/rust-1.78-unwinding-fix.patch \
%D%/packages/patches/rust-1.81-fix-riscv64-bootstrap.patch \
%D%/packages/patches/rust-codex-0.98.0-arg0-file-lock.patch \
%D%/packages/patches/rust-codex-0.98.0-core-file-lock.patch \
%D%/packages/patches/rust-codex-0.98.0-core-remove-self-dep.patch \
%D%/packages/patches/rust-codex-0.98.0-execpolicy-file-lock.patch \
%D%/packages/patches/rust-codex-0.98.0-test-shebangs.patch \
%D%/packages/patches/rust-codex-0.98.0-test-timeout.patch \
%D%/packages/patches/rust-codex-0.98.0-windows-sandbox-protocol-version.patch \
+9 -2
View File
@@ -3835,8 +3835,15 @@ platform-specific methods.")
"0y5w8pl91xapi49ih1pw7h48lac201cj7fm89hkklmzi9m2715gx"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list "--with-python=no"
"--disable-static")))
(list #:configure-flags
#~(list #$@(cond ((target-aarch64?)
'("--with-aarch64"))
((target-arm32?)
'("--with-arm"))
(else
'()))
"--with-python=no"
"--disable-static")))
(inputs
(list openldap gnutls cyrus-sasl))
(synopsis "User-space component to the Linux auditing system")
+1 -1
View File
@@ -11807,7 +11807,7 @@ objects.")
(build-system gnu-build-system)
(arguments
(list #:configure-flags
#~(list "CFLAGS=-fcommon")))
#~(list "CFLAGS=-O2 -g -fcommon")))
(inputs
(list libtiff zlib libjpeg-turbo))
(home-page "https://www.astromatic.net/software/stiff/")
+411
View File
@@ -0,0 +1,411 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2026 Danny Milosavljevic <dannym@friendly-machines.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; This module is separate from (gnu packages rust-apps) to avoid a
;;; circular module dependency: (gnu packages rust-sources), which
;;; defines rust-codex-0.98.0, transitively loads (gnu packages
;;; rust-apps) through its #:use-module chain. If the codex package
;;; lived in rust-apps.scm, loading rust-sources would trigger loading
;;; rust-apps before rust-codex-0.98.0 is defined, causing an unbound
;;; variable error.
(define-module (gnu packages codex)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cargo)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (gnu packages base)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages llvm)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages rust-sources)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control))
(define-public codex
(package
(name "codex")
(version (package-version rust-codex-0.98.0))
(source
(origin
(inherit (package-source rust-codex-0.98.0))
(patches (search-patches
"codex-0.98.0-remove-patch-sections.patch"
"rust-codex-0.98.0-test-shebangs.patch"
"rust-codex-0.98.0-test-timeout.patch"))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
#:cargo-install-paths '(list "cli" "exec" "exec-server"
"linux-sandbox" "mcp-server" "network-proxy"
"app-server" "tui")
;; schema_fixtures_match_generated (upstream fixture is stale:
;; FileChange::Update in codex-protocol gained old_content,
;; new_content, move_path fields but the committed JSON schema
;; fixture was not regenerated).
#:cargo-test-flags '(list "--workspace"
"--exclude" "codex-app-server-protocol"
"--"
;; These tests exercise sandbox denial and
;; escalation, which requires Landlock to
;; cleanly deny filesystem access. Inside the
;; build container Landlock returns NotEnforced
;; and the sandbox binary panics instead.
;; Disabling Landlock would not help either,
;; since these tests need a working sandbox to
;; have anything to deny and escalate.
"--skip" "sandbox_denied_shell_returns_original_output"
"--skip" "shell_escalated_permissions_rejected_then_ok"
"--skip" "unified_exec_runs_under_sandbox"
;; These tests (in codex-exec) directly call
;; spawn_command_under_linux_sandbox to verify
;; that python and bash work correctly inside
;; the Landlock sandbox. The sandbox binary
;; (codex-exec) panics with LandlockRestrict
;; (exit code 101) before the inner command
;; even starts.
"--skip" "python_getpwuid_works_under_sandbox"
"--skip" "python_multiprocessing_lock_works_under_sandbox"
"--skip" "sandbox_distinguishes_command_and_policy_cwds"
;; These linux-sandbox tests directly invoke
;; the Landlock sandbox via
;; process_exec_tool_call; same root cause.
"--skip" "test_writable_root"
"--skip" "test_timeout"
"--skip" "test_root_read"
"--skip" "test_dev_null_write"
"--skip" "test_no_new_privs_is_enabled"
;; This test iterates many approval scenarios;
;; one of them
;; (danger_full_access_on_request_allows_network)
;; runs a command through the Landlock sandbox
;; binary, which panics with LandlockRestrict
;; inside the build container. Cargo --skip
;; cannot target individual scenarios, so we
;; skip the entire matrix.
"--skip" "approval_matrix_covers_all_modes"
;; This test verifies session-level patch
;; approval caching: approve once, skip
;; future prompts for the same file. When
;; Landlock is unavailable (as in the Guix
;; build container) the sandbox binary panics,
;; triggering the escalation-retry path, which
;; interferes with the approval cache and
;; causes a spurious re-prompt on the second
;; patch.
"--skip" "approving_apply_patch_for_session_skips_future_prompts_for_same_file"
;; These tests expect to interrupt a
;; long-running 'sleep 60' and receive
;; TurnAborted. Default test config is
;; OnRequest + ReadOnly. What happens:
;;
;; 1. ReadOnly wraps the command with
;; codex-linux-sandbox (Landlock-based).
;; 2. Landlock is unavailable in the Guix
;; build container, so the sandbox
;; binary exits instantly (~1 ms).
;; 3. Orchestrator gets SandboxErr::Denied.
;; wants_no_sandbox_approval(OnRequest)
;; returns false (sandboxing.rs:222),
;; so no escalation -- denial returned
;; directly.
;; 4. ToolEmitter::finish sends the error
;; to the mock model as
;; function_call_output.
;; 5. Second mock SSE response fires,
;; turn finishes with TurnComplete.
;; 6. Op::Interrupt arrives 100 ms later,
;; but the turn is already done --
;; TurnAborted is never emitted,
;; test times out.
;;
;; The similar interrupt_long_running_tool_
;; emits_turn_aborted passes because it
;; sends the interrupt with no delay and
;; has only one mock response (so the turn
;; cannot complete first).
"--skip" "interrupt_persists_turn_aborted_marker_in_next_request"
"--skip" "interrupt_tool_records_history_entries"
;; Upstream bug: test hardcodes "0.0.0" in the
;; expected user-agent string but the workspace
;; version is "0.98.0".
"--skip" "get_user_agent_returns_current_codex_user_agent"
;; Same upstream bug: mcp-server tests
;; check the initialize response which
;; includes "version": "0.0.0" but the
;; server returns "0.98.0".
"--skip" "test_codex_tool_passes_base_instructions"
"--skip" "test_shell_command_approval_triggers_elicitation"
"--skip" "test_patch_approval_triggers_elicitation"
;; These codex-exec-server tests need
;; "dotslash", a Meta tool that lazily
;; downloads pre-built binaries from a
;; JSON manifest. The test helper
;; create_transport runs
;; `dotslash -- fetch <path>` to obtain a
;; custom bash binary described in
;; exec-server/tests/suite/bash.
;; dotslash is not available in the build
;; container.
"--skip" "list_tools"
"--skip" "accept_elicitation_for_prompt_rule"
;;; Test isolation bug: each test in
;;; state/src/runtime.rs calls
;;; unique_temp_dir() to get its own
;;; temporary directory (and thus its
;;; own SQLite database). That function
;;; names directories using the current
;;; nanosecond timestamp, so when tests
;;; run in parallel several can receive
;;; the same name and open the same
;;; database. The initial SQLite
;;; migration runs CREATE TABLE threads
;;; (without IF NOT EXISTS), so any init
;;; after the first panics with "table
;;; threads already exists". Any of
;;; these tests
;;; can be the victim.
"--skip" "init_removes_legacy_state_db_files"
"--skip" "upsert_and_get_thread_memory"
"--skip" "get_last_n_thread_memories_for_cwd_matches_exactly"
"--skip" "upsert_thread_memory_errors_for_unknown_thread"
"--skip" "get_last_n_thread_memories_for_cwd_zero_returns_empty"
"--skip" "get_last_n_thread_memories_for_cwd_does_not_prefix_match"
"--skip" "deleting_thread_cascades_thread_memory")
#:cargo-package-crates
''(;;; Tier 0: No internal deps.
"codex-async-utils"
"codex-client"
"codex-execpolicy"
"codex-file-search"
"codex-git"
"codex-keyring-store"
"codex-utils-absolute-path"
"codex-utils-cache"
"codex-utils-cargo-bin"
"codex-utils-home-dir"
"codex-utils-json-to-toml"
"codex-utils-pty"
"codex-utils-readiness"
"codex-utils-string"
"codex-backend-openapi-models"
"codex-process-hardening"
"codex-ansi-escape"
;;; Tier 1: Depends on tier 0.
"codex-utils-image"
"codex-apply-patch"
"codex-protocol"
"codex-windows-sandbox"
"codex-api"
"codex-experimental-api-macros"
"codex-secrets"
"codex-execpolicy-legacy"
"codex-debug-client"
;;; Tier 2.
"codex-app-server-protocol"
"codex-rmcp-client"
"codex-otel"
"codex-state"
"codex-core"
"codex-linux-sandbox"
"codex-feedback"
;;; Tier 3.
"codex-arg0"
"codex-lmstudio"
"codex-login"
"codex-ollama"
"codex-common"
"codex-mcp-server"
"codex-backend-client"
"codex-responses-api-proxy"
;;; Tier 4.
"codex-cloud-requirements"
"codex-exec"
"codex-exec-server"
"codex-stdio-to-uds"
"codex-network-proxy"
"codex-chatgpt"
"codex-cloud-tasks-client"
;;; Tier 5.
"codex-app-server"
"codex-app-server-test-client"
"codex-tui"
;;; Tier 6.
"codex-cloud-tasks"
;; The main executable.
"codex-cli")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir-to-workspace
(lambda _
(chdir "codex-rs")))
(add-after 'chdir-to-workspace 'update-version-in-snapshots
(lambda _
;; Snapshot test files contain hardcoded v0.0.0 version strings.
;; Update them to match the actual package version.
(let ((snap-files (find-files "." "\\.snap$")))
(substitute* snap-files
(("\\(v0\\.0\\.0\\) ") "(v0.98.0)")))))
(add-after 'chdir-to-workspace 'patch-git-deps-to-vendor
(lambda _
;; Replace git dependencies with version references so cargo
;; resolves them from the vendored sources.
(substitute* "Cargo.toml"
(("nucleo = \\{ git = [^}]+\\}")
"nucleo = \"0.5.0\"")
(("runfiles = \\{ git = [^}]+\\}")
"runfiles = \"0.1.0\""))))
(add-after 'chdir-to-workspace 'add-version-to-workspace-deps
(lambda _
;; cargo package requires all dependencies to have versions.
;; cargo package requires all dependencies to have versions.
;; Add version = "0.98.0" to internal path dependencies.
(let ((cargo-files (find-files "." "^Cargo\\.toml$")))
(substitute* cargo-files
;; Handle inline deps: name = { path = "..." }
(("(codex-[a-z0-9-]+) = \\{ path = " all name)
(string-append name " = { version = \"0.98.0\", path = "))
;; Handle inline deps with package: name = { package = "...", path = "..." }
(("(codex-[a-z0-9-]+) = \\{ package = " all name)
(string-append name " = { version = \"0.98.0\", package = "))
;; Handle section deps: [dependencies.X] with path = "..."
(("^(path = \"\\.\\./[^\"]*\")" all path-line)
(string-append path-line "\nversion = \"0.98.0\""))))))
(add-after 'chdir-to-workspace 'patch-hardcoded-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash-bin (string-append
(assoc-ref inputs "bash-minimal") "/bin"))
(coreutils-bin (string-append
(assoc-ref inputs "coreutils") "/bin"))
(git-bin (string-append
(assoc-ref inputs "git-minimal") "/bin"))
(sed-bin (string-append
(assoc-ref inputs "sed") "/bin"))
;; Include .policy files: the execpolicy-legacy
;; crate embeds default.policy via include_str!
;; at compile time, so its paths must also be
;; patched.
(rs-files (find-files "." "\\.(rs|policy)$")))
(substitute* rs-files
(("\"/bin/bash\"")
(string-append "\"" bash-bin "/bash\""))
(("\"/bin/sh\"")
(string-append "\"" bash-bin "/sh\""))
(("\"/usr/bin/bash\"")
(string-append "\"" bash-bin "/bash\""))
(("\"/usr/bin/sh\"")
(string-append "\"" bash-bin "/sh\""))
;;; bash/sh with inline arguments, e.g. "/bin/bash -i".
(("\"/bin/bash ")
(string-append "\"" bash-bin "/bash "))
(("\"/bin/sh ")
(string-append "\"" bash-bin "/sh "))
;; coreutils.
(("\"/bin/(cat|cp|date|echo|head|ls|rm|sleep|true|touch)\"" all cmd)
(string-append "\"" coreutils-bin "/" cmd "\""))
;; coreutils.
(("\"/usr/bin/(cat|cp|head|ls|touch|true)\"" all cmd)
(string-append "\"" coreutils-bin "/" cmd "\""))
;; coreutils with inline arguments
;; like "/bin/echo END-EVENT".
(("\"/bin/(cat|cp|date|echo|head|ls|rm|sleep|true|touch) " all cmd)
(string-append "\"" coreutils-bin "/" cmd " "))
(("\"/usr/bin/git\"")
(string-append "\"" git-bin "/git\""))
(("\"/usr/bin/sed\"")
(string-append "\"" sed-bin "/sed\"")))
;; @SHELL@ placeholder from test-shebangs patch
(substitute*
(list "rmcp-client/src/program_resolver.rs"
"tui/src/external_editor.rs")
(("@SHELL@")
(string-append bash-bin "/sh")))
;; shebang in test-only file
(substitute*
"core/tests/suite/user_notification.rs"
(("#!/bin/bash")
(string-append "#!" bash-bin "/bash"))))))
(add-before 'check 'set-home
(lambda _
(setenv "HOME" "/tmp")
(setenv "USER" "nixbld"))))))
(native-inputs (list clang ;bindgen uses libclang to parse BoringSSL's C headers
cmake-minimal ;BoringSSL is compiled from C source
libunwind ;BoringSSL tests verify stack unwinding in assembly
perl python-minimal ;for tests
pkg-config))
(inputs (cons* bash-minimal coreutils git-minimal sed
openssl sqlite `(,zstd "lib")
(cargo-inputs 'codex)))
(home-page "https://github.com/openai/codex")
(synopsis "AI-assisted coding CLI and TUI")
(description
"Codex is an AI-powered coding assistant that runs in the terminal.
It provides an interactive TUI for conversations with AI models, with
support for shell command execution, file editing, and code generation.
Configure providers via @file{~/.codex/config.toml}.")
(license license:asl2.0)))
(define-public codex-acp
(package
(name "codex-acp")
(version "0.9.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zed-industries/codex-acp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "190sq6s6jfz8dkj1y8305r7x6ln86qqr2j1bnfjci7f1x2wyzmsj"))
(patches (search-patches "codex-acp-0.9.2-remove-patch-sections.patch"
"codex-acp-0.9.2-replace-result-flatten.patch"))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-codex-deps
(lambda _
;; Rewrite git dependencies to use vendored sources from rust-codex
(substitute* "Cargo.toml"
(("git = \"https://github.com/zed-industries/codex\", branch = \"acp\"")
"version = \"0.0.0\"")))))))
(native-inputs (list pkg-config))
(inputs (cons* openssl sqlite `(,zstd "lib") (cargo-inputs 'codex-acp)))
(home-page "https://github.com/zed-industries/codex-acp")
(synopsis "ACP-compatible agent bridging Zed Codex with ACP clients")
(description
"This package provides an Agent Client Protocol (ACP) compatible agent
that bridges the Zed Codex runtime with ACP clients over stdio. It
supports multiple LLM providers through configuration in
@file{~/.codex/config.toml} and integrates with MCP servers for filesystem
operations.")
(license license:asl2.0)))
+32 -19
View File
@@ -5,7 +5,7 @@
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2023 Zongyuan Li <zongyuan.li@c0x0o.me>
;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2024, 2025 Tomas Volf <~@wolfsden.cz>
;;; Copyright © 2024, 2025, 2026 Tomas Volf <~@wolfsden.cz>
;;; Copyright © 2024 Foundation Devices, Inc. <hello@foundation.xyz>
;;; Copyright © 2024 Jean-Pierre De Jesus DIAZ <jean@foundation.xyz>
;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz>
@@ -197,42 +197,55 @@ Container Runtime fully written in C.")
(define-public conmon
(package
(name "conmon")
(version "2.1.13")
(version "2.2.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/containers/conmon")
(commit (string-append "v" version))))
(url "https://github.com/containers/conmon")
(commit (string-append "v" version))))
(sha256
(base32 "0fiixv9h5dycrixs7s3bq81d06p7qs8491mskxj42wqlkdq5diay"))
(base32 "0n9l6030ibhk7pmsq85rarcf9b0kzglxibd1xnb6vzmkz3ywg1il"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list #:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "PREFIX=" #$output))
;; XXX: uses `go get` to download 50 packages, runs a ginkgo test suite
;; then tries to download busybox and use a systemd logging library
;; see also https://github.com/containers/conmon/blob/main/nix/derivation.nix
#:tests? #f
#:test-target "test"
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'set-env
(lambda _
;; when running go, things fail because
;; HOME=/homeless-shelter.
(setenv "HOME" "/tmp"))))))
(add-before 'check 'prepare-tests
(lambda* (#:key inputs #:allow-other-keys)
(setenv "RUNTIME_BINARY"
(search-input-file inputs "sbin/runc"))
;; We need to skip all tests requiring journald.
(for-each
(lambda (test file)
(substitute* file
(((string-append "@test \"" test "\" \\{\n$") all)
(string-append all "skip 'no journald in Guix';"))))
'("log driver as journald should pass"
"log driver as journald with short cid should fail"
"multiple log drivers should pass"
"log management: should work with multiple log drivers")
'("test/01-basic.bats"
"test/01-basic.bats"
"test/01-basic.bats"
"test/06-log-management.bats")))))))
(inputs
(list crun
glib
libseccomp))
(native-inputs
(list git
go
pkg-config))
(list bats
git
go-md2man
pkg-config
socat
runc))
(home-page "https://github.com/containers/conmon")
(synopsis "Monitoring tool for Open Container Initiative (OCI) runtime")
(description
@@ -872,7 +885,7 @@ being rootless and not requiring any daemon to be running.")
(define-public buildah
(package
(name "buildah")
(version "1.42.1")
(version "1.43.0")
(source
(origin
(method git-fetch)
@@ -880,7 +893,7 @@ being rootless and not requiring any daemon to be running.")
(url "https://github.com/containers/buildah")
(commit (string-append "v" version))))
(sha256
(base32 "1agblw09yw4pc81c2nsjy3j83gznn4micyjyrgpqxlmp93w5w5h0"))
(base32 "0pwdd0mxhxy530c2sbsz0rnnb1jyl41rvnqn9ywfgb6lz5f4ja2a"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
+7
View File
@@ -450,6 +450,13 @@ integration tests...\n")
"dmd/compiler/test/fail_compilation/sarif_test.d"
"dmd/compiler/test/fail_compilation/sarifmultiple_test.d"))
;; tries to debug 64bit executable
;; not in executable format: file format not recognized
#$@(if (target-32bit?)
'((delete-file
"dmd/compiler/test/runnable/gdb_slice_debuginfo_64.d"))
'())
;; Locations in stack traces are broken for some reason,
;; causing these tests to fail.
;; XXX: Report upstream.
+247 -3
View File
@@ -14,7 +14,7 @@
;;; Copyright © 2022, 2024, 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2019 Amin Bandali <bandali@gnu.org>
;;; Copyright © 2020, 2021, 2022, 2023, 2024, 2025 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020-2025 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Andrew Miloradovsky <andrew@interpretmath.pw>
;;; Copyright © 2022 Christian Gelinek <cgelinek@radlogic.com.au>
;;; Copyright © 2022 jgart <jgart@dismail.de>
@@ -29,6 +29,7 @@
;;; Copyright © 2025, 2026 Gabriel Wicki <gabriel@erlikon.ch>
;;; Copyright © 2026 Thomas Kramer <thomas@f-si.org>
;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com>
;;; Copyright © 2018, 2021 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -64,6 +65,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
@@ -93,7 +95,9 @@
#:use-module (gnu packages gperf)
#:use-module (gnu packages graph)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages groff)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages image)
#:use-module (gnu packages java)
#:use-module (gnu packages libedit)
@@ -109,6 +113,8 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages networking)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
@@ -348,6 +354,44 @@ supporting gerber, excellon and g-code. It is part of the RiNgDove EDA
suite.")
(license license:gpl2+)))
(define-public charlib
(package
(name "charlib")
(version "2.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stineje/CharLib")
(commit version)))
(sha256
(base32 "0phklm6wcpvwdfx00k0q8qvpvdqf6wjvzirkfji7vc7ils7wz2sl"))
(file-name (git-file-name name version))))
(build-system pyproject-build-system)
(inputs
(list ngspice
pyspice
python-liberty-parser
python-matplotlib
python-numpy
python-ply
python-pyyaml
python-requests
python-schema
python-scipy
python-tqdm))
(native-inputs
(list python-poetry-core
python-pytest
python-setuptools))
(home-page "https://stineje.github.io/CharLib")
(synopsis "CMOS standard-cell characterization")
(description
"@code{Charlib} is an @acronym{EDA, Electronic Design Automation} tool used to
extract timing and power characteristics from CMOS combinational and sequential
standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
(license license:gpl2)))
(define-public ciel
(package
(name "ciel")
@@ -690,6 +734,57 @@ Simulator Trace} files.")
;; Exception against free government use in tcl_np.c and tcl_np.h.
(license (list license:gpl2+ license:expat license:tcl/tk)))))
(define-public horizon-eda
(package
(name "horizon-eda")
(version "2.7.2")
;; TODO: try to unbundle some of the 3rd parties.
;; We have packages for nlohmann-json, range-v3, catch2 and clipper.
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/horizon-eda/horizon")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "16q22yf407820430cva8i2b3dcmwpjdsbx0wlarj8v2mj5ixs932"))))
(build-system meson-build-system)
(arguments
(list
#:tests? #f ; no tests
#:glib-or-gtk? #t))
(native-inputs (list cmake-minimal ;; OpenCASCADE is only found by cmake
`(,glib "bin")
gobject-introspection
pkg-config))
(inputs (list boost
cairomm
cppzmq
curl
glib
glibmm
glm
gsettings-desktop-schemas
gtk+
gtkmm-3
libarchive
libgit2-glib
librsvg
libspnav
libzip
opencascade-occt
podofo
sqlite
`(,util-linux "lib")
zeromq))
(home-page "https://horizon-eda.org/")
(synopsis "@acronym{PCB, Printed Circuit Board} design tool")
(description "Horizon is an @acronym{EDA, Electronic Design Automation}
package supporting an integrated end-to-end workflow for PCB design, including
from parts management and schematic entry to gerber export.")
(license license:gpl3+)))
(define-public iverilog
(package
(name "iverilog")
@@ -962,6 +1057,155 @@ It simulates the netlists of the cells with ngspice and writes the
characterization result in a liberty library file.")
(license license:agpl3+)))
(define-public lepton-eda
(package
(name "lepton-eda")
(version "1.9.18-20220529")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lepton-eda/lepton-eda/")
(commit version)))
(sha256
(base32
"06plrcab3s2rpyf0qv2gzc1yp33627xi8105niasgixckk6glnc2"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list
;; When running "make", the POT files are built with the build time as
;; their "POT-Creation-Date". Later on, "make" notices that .pot
;; files were updated and goes on to run "msgmerge"; as a result, the
;; non-deterministic POT-Creation-Date finds its way into .po files,
;; and then in .gmo files. To avoid that, simply make sure 'msgmerge'
;; never runs. See <https://bugs.debian.org/792687>.
"ac_cv_path_MSGMERGE=true"
(string-append "--with-pcb-datadir="
#$(this-package-input "pcb")
"/share")
(string-append "--with-pcb-lib-path="
#$(this-package-input "pcb")
"/share/pcb/pcblib-newlib:"
#$(this-package-input "pcb")
"/share/pcb/newlib")
"--with-gtk3"
"CFLAGS=-fcommon"
"--enable-guild"
"--enable-contrib")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
(lambda _
;; For logs and auto-compilation
(setenv "HOME" "/tmp")
;; Ensure that readline is found by lepton-shell
(substitute* "script.in"
(("\\(eval-when \\(expand load eval\\)" m)
(string-append "
(add-to-load-path \"" #$(this-package-input "guile-readline")
"/share/guile/site/3.0\")
(set! %load-compiled-path (cons \""
#$(this-package-input "guile-readline")
"/lib/guile/3.0/site-ccache/"
"\" %load-compiled-path))
" m)))))
(add-before 'build 'fix-dynamic-link
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "liblepton/scheme/lepton/ffi/lib.scm"
(("\"liblepton\"")
(string-append "\"" #$output "/lib/liblepton.so" "\""))
(("\"libleptonattrib\"")
(string-append "\"" #$output "/lib/libleptonattrib.so" "\""))
(("\"libleptongui\"")
(string-append "\"" #$output "/lib/libleptongui.so" "\""))
(("\"libglib-2.0\"")
(string-append
"\"" (search-input-file inputs "/lib/libglib-2.0.so") "\""))
(("\"libgobject-2.0\"")
(string-append
"\"" (search-input-file inputs "/lib/libgobject-2.0.so") "\""))
(("\"libgtk-3\"")
(string-append
"\"" (search-input-file inputs "/lib/libgtk-3.so") "\"")))
;; For finding libraries when running tests before installation.
(setenv "LIBLEPTONGUI"
(string-append (getcwd)
"/libleptongui/src/.libs/libleptongui.so"))
(setenv "LIBLEPTON"
(string-append (getcwd)
"/libleptongui/src/.libs/liblepton.so"))
(setenv "LD_LIBRARY_PATH"
(string-append (getcwd)
"/libleptonattrib/src/.libs/:"
(getenv "LIBRARY_PATH")))))
(add-before 'bootstrap 'prepare
(lambda _
;; Some of the scripts there are invoked by autogen.sh.
(for-each patch-shebang
(find-files "build-tools"))
;; Make sure 'msgmerge' can modify the PO files.
(for-each (lambda (po)
(chmod po #o666))
(find-files "." "\\.po$"))
;; This would normally be created by invoking 'git', but it
;; doesn't work here.
(call-with-output-file "version.h"
(lambda (port)
(format port "#define PACKAGE_DATE_VERSION \"~a\"~%"
#$(string-drop version
(+ 1
(string-index version #\-))))
(format port
"#define PACKAGE_DOTTED_VERSION \"~a\"~%"
#$(string-take version
(string-index version #\-)))
(format port
"#define PACKAGE_GIT_COMMIT \"cabbag3\"~%")))))
(add-after 'install 'compile-scheme-files
(lambda _
(unsetenv "LIBLEPTONGUI")
(unsetenv "LIBLEPTON")
(unsetenv "LD_LIBRARY_PATH")
(invoke "make" "precompile"))))))
(native-inputs
(list autoconf
automake
desktop-file-utils
flex
gettext-minimal
groff
gawk
libtool
pkg-config
m4
perl
texinfo))
(inputs
(list glib
gtk+
gtksheet
guile-3.0
guile-readline
pcb
shared-mime-info))
(home-page "https://lepton-eda.github.io/")
(synopsis
"Suite of tools for designing @acronym{PCB, Printed Circuit Boards}")
(description
"Lepton is an @acronym{EDA, Electronic Design Automation} tool set
forked from gEDA/gaf in late 2016. EDA tools are used for electrical circuit
design, schematic capture, simulation, prototyping, and production. Lepton
EDA includes tools for schematic capture, attribute management, bill of
materials (BOM) generation, netlisting into over 20 netlist formats, analog
and digital simulation, and PCB layout, and many other features.")
(license license:gpl2+)))
(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.
@@ -2942,7 +3186,7 @@ testing to @code{cocotb}, removing the need of manipulating Makefiles.")
(define-public python-cocotbext-axi
(package
(name "python-cocotbext-axi")
(version "0.1.26")
(version "0.1.28")
(source
(origin
(method git-fetch)
@@ -2951,7 +3195,7 @@ testing to @code{cocotb}, removing the need of manipulating Makefiles.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0xgfvvpff9r7g7fiswv1m0dklyw6c8v2r3qpd6qq3rzvnvrhsrin"))))
(base32 "0kwdzz0mq134m0kxhwwj0d1nr1cbrzv36844476knna34xi2riyg"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-cocotb python-cocotb-bus))
+3 -1
View File
@@ -72,7 +72,9 @@ as bold, underscore or italic.")
(file-name (git-file-name name version))
(sha256
(base32
"09n8skr5wi8bs7x81d5bi6z89dd8s1zi9a5f4r2qadaz69slncxq"))))
"09n8skr5wi8bs7x81d5bi6z89dd8s1zi9a5f4r2qadaz69slncxq"))
(patches
(search-patches "emacs-buttercup-1.38-native-comp-spy-on-trampoline-scope.patch"))))
(build-system emacs-build-system)
(arguments
(list
+124 -95
View File
@@ -4918,77 +4918,79 @@ or unexpected behavior inside an elisp configuration file (typically
(define-public emacs-w3m
;; Emacs-w3m follows a "rolling release" model.
(package
(name "emacs-w3m")
(version "20220508.2259")
(source (origin
;; "Officially" this is still on cvs.namazu.org, but that repo
;; seems to be unreachable.
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-w3m/emacs-w3m.git")
(commit "bbcebbe20ebfa807a3e4beaadf40ce6f4be213e7")))
(file-name (git-file-name name version))
(sha256
(base32
"0y892n8jaxzyxi1fgyklc7zfh57ibp4yyywmif69dm28hykj6lmz"))))
(build-system gnu-build-system)
(native-inputs (list autoconf texinfo emacs-minimal))
(inputs (list w3m imagemagick))
(arguments
(list
#:modules '((guix build gnu-build-system)
((guix build emacs-build-system) #:prefix emacs:)
(guix build utils)
(guix build emacs-utils))
#:imported-modules `(,@%default-gnu-imported-modules
(guix build emacs-build-system)
(guix build emacs-utils))
#:configure-flags
#~(list (string-append "--with-lispdir=" (emacs:elpa-directory #$output))
(string-append "--with-icondir="
#$output "/share/images/emacs-w3m")
;; Leave .el files uncompressed, otherwise GC can't
;; identify run-time dependencies. See
;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
"--without-compress-install")
#:tests? #f ; no check target
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _
(invoke "autoconf")))
(add-before 'configure 'support-emacs!
(lambda _
;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
;; unsupported.
(substitute* "configure"
(("EMACS_FLAVOR=unsupported") "EMACS_FLAVOR=emacs"))))
(add-before 'build 'patch-exec-paths
(lambda* (#:key inputs #:allow-other-keys)
(make-file-writable "w3m.el")
(emacs-substitute-variables "w3m.el"
("w3m-command" (search-input-file inputs "/bin/w3m"))
("w3m-touch-command" (search-input-file inputs "/bin/touch"))
("w3m-icon-directory"
(string-append #$output "/share/images/emacs-w3m")))
(make-file-writable "w3m-image.el")
(emacs-substitute-variables "w3m-image.el"
("w3m-imagick-convert-program"
(search-input-file inputs "/bin/convert"))
("w3m-imagick-identify-program"
(search-input-file inputs "/bin/identify")))))
(replace 'install
(lambda _
(invoke "make" "install" "install-icons")
(with-directory-excursion (emacs:elpa-directory #$output)
(for-each delete-file '("ChangeLog" "ChangeLog.1"))
(symlink "w3m-load.el" "w3m-autoloads.el")))))))
(home-page "http://emacs-w3m.namazu.org/")
(synopsis "Simple Web browser for Emacs based on w3m")
(description
"Emacs-w3m is an emacs interface for the w3m web browser.")
(license license:gpl2+)))
(let ((commit "ec18c21418bf7c1be159bd3cf7e79a370d4be1f3")
(revision "0"))
(package
(name "emacs-w3m")
(version (git-version "20251229" revision commit)) ;commit date
(source (origin
;; "Officially" this is still on cvs.namazu.org, but that repo
;; seems to be unreachable.
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-w3m/emacs-w3m.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"00rkvr6cpisma5r6g88bq0im7qh9l30fy8r4g4wgs1k53lai7k68"))))
(build-system gnu-build-system)
(native-inputs (list autoconf texinfo emacs-minimal))
(inputs (list w3m imagemagick))
(arguments
(list
#:modules '((guix build gnu-build-system)
((guix build emacs-build-system) #:prefix emacs:)
(guix build utils)
(guix build emacs-utils))
#:imported-modules `(,@%default-gnu-imported-modules
(guix build emacs-build-system)
(guix build emacs-utils))
#:configure-flags
#~(list (string-append "--with-lispdir=" (emacs:elpa-directory #$output))
(string-append "--with-icondir="
#$output "/share/images/emacs-w3m")
;; Leave .el files uncompressed, otherwise GC can't
;; identify run-time dependencies. See
;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
"--without-compress-install")
#:tests? #f ; no check target
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _
(invoke "autoconf")))
(add-before 'configure 'support-emacs!
(lambda _
;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
;; unsupported.
(substitute* "configure"
(("EMACS_FLAVOR=unsupported") "EMACS_FLAVOR=emacs"))))
(add-before 'build 'patch-exec-paths
(lambda* (#:key inputs #:allow-other-keys)
(make-file-writable "w3m.el")
(emacs-substitute-variables "w3m.el"
("w3m-command" (search-input-file inputs "/bin/w3m"))
("w3m-touch-command" (search-input-file inputs "/bin/touch"))
("w3m-icon-directory"
(string-append #$output "/share/images/emacs-w3m")))
(make-file-writable "w3m-image.el")
(emacs-substitute-variables "w3m-image.el"
("w3m-imagick-convert-program"
(search-input-file inputs "/bin/convert"))
("w3m-imagick-identify-program"
(search-input-file inputs "/bin/identify")))))
(replace 'install
(lambda _
(invoke "make" "install" "install-icons")
(with-directory-excursion (emacs:elpa-directory #$output)
(for-each delete-file '("ChangeLog" "ChangeLog.1"))
(symlink "w3m-load.el" "w3m-autoloads.el")))))))
(home-page "http://emacs-w3m.namazu.org/")
(synopsis "Simple Web browser for Emacs based on w3m")
(description
"Emacs-w3m is an emacs interface for the w3m web browser.")
(license license:gpl2+))))
(define-public emacs-wget
(package
@@ -5395,16 +5397,16 @@ installed on your machine and launch it.")
(version "1.8.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://stable.melpa.org/packages/"
"alchemist-" version ".tar"))
(method git-fetch)
(uri (git-reference
(url "https://www.github.com/tonini/alchemist.el")
(commit (string-append "v" version))))
(sha256
(base32 "0ygwf9d739zqc8dcckw0j0bqkipw7cmxbrx3l281x237a3d384yw"))))
(base32 "1cci0sq568ghx6x7my96m0iiwvqz2f4dh6k3gn3mmfyvi7bmrpww"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-elixir-mode emacs-dash emacs-company emacs-pkg-info))
(arguments
(list
#:tests? #f ; TODO Tests are failing; investigate
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-server
@@ -5412,8 +5414,13 @@ installed on your machine and launch it.")
(let ((server (string-append (elpa-directory #$output)
"/alchemist-server")))
(mkdir-p server)
(copy-recursively "alchemist-server" server)
(delete-file-recursively (string-append server "/test"))))))))
(delete-file-recursively "alchemist-server/test")
(copy-recursively "alchemist-server" server)))))))
(propagated-inputs
(list emacs-company
emacs-dash
emacs-elixir-mode
emacs-pkg-info))
(home-page "https://www.github.com/tonini/alchemist.el")
(synopsis "Elixir tooling integration into Emacs")
(description
@@ -14437,7 +14444,7 @@ Features degrade gracefully when viewed from terminal.")
(define-public emacs-org-supertag
(package
(name "emacs-org-supertag")
(version "5.6.3")
(version "5.8.1")
(source
(origin
(method git-fetch)
@@ -14446,7 +14453,7 @@ Features degrade gracefully when viewed from terminal.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ccr3s4mhk28klizbsb7cqhgg2h3092mpg1qvnzpzf53hwlhds2p"))))
(base32 "1hdag8kxn2zxwac0fq14c741k4pwzkwvjh5ybwsqc7220vqzhmhm"))))
(build-system emacs-build-system)
(arguments
(list #:tests? #f ;no tests
@@ -17977,12 +17984,16 @@ strings, and code folding.")
(version "1.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://stable.melpa.org/packages/"
"js-comint-" version ".el"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/redguardtoo/js-comint")
(commit version)))
(sha256
(base32 "1qin0hclm3ly62nl5ddiim64bcd2k74b1yqsqqc61cf9k2q8k287"))))
(base32 "09wfafrklkybfg44skn1lg2hvcj4gfdv908dq87w1r4wv6ibkvka"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f)) ; Tests depend on Eask
(home-page "https://github.com/redguardtoo/js-comint")
(synopsis "Interacting with a JavaScript interpreter")
(description
@@ -18157,7 +18168,7 @@ Emacs buffers.")
(define-public emacs-markdown-mode
(package
(name "emacs-markdown-mode")
(version "2.7")
(version "2.8")
(source
(origin
(method git-fetch)
@@ -18166,10 +18177,26 @@ Emacs buffers.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1w6y18bg0fpvb5xwr827ynzbj0f0nh3dms3n0xq6hg38dcyly46b"))))
(base32 "05xcmp744sm1cp38zal5sqzj463igbsfhjn7vhgpzd97df95h9mp"))))
(build-system emacs-build-system)
(arguments (list #:test-command #~(list "make" "test")
#:tests? #f)) ; XXX: 5 unexpected results
(arguments
(list #:test-command #~(list "make" "test")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'skip-failing-tests
(lambda _
(let ((skip-tests
`("-export/buffer-local-css-path"
"-export/relative-css-path"
"-export/url-css-path"
"/wiki-link-rules"
"/wiki-link-search-under-project")))
(substitute* "tests/markdown-test.el"
(("\\(ert-deftest test-markdown([a-z/-]*) \\(\\)"
all test)
(if (member test skip-tests)
(string-append all "(skip-unless nil)")
all)))))))))
(home-page "https://jblevins.org/projects/markdown-mode/")
(synopsis "Emacs Major mode for Markdown files")
(description
@@ -39134,14 +39161,14 @@ user interfaces for various built-in modes.")
(define-public emacs-calibre
(package
(name "emacs-calibre")
(version "1.5.0")
(version "1.5.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/calibre-" version
".tar"))
(sha256
(base32 "08rcwrydrlc995sdxn5ssm5f6ighxi5yr6i7bx9a1nf7n91mgbgh"))))
(base32 "0iqgd44wca54l5rn8g6c9qak2c1wblbnrx5a0118hkgckimp8c3k"))))
(build-system emacs-build-system)
(arguments
(list
@@ -39426,11 +39453,13 @@ or regions to a REPL from ~a buffers.") language))))
(version "1.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://stable.melpa.org/packages/"
"org-babel-eval-in-repl-" version ".tar"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/diadochos/org-babel-eval-in-repl")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0bdnps6m3kcvsagz8cfm3kf2rvxzl2p252pfggwbdbl43kzvl35h"))
(base32 "1fjifl69qja3ab0g72f1hkfns992qq0v9pw8p4hgvjycx7fpzk0a"))
(modules '((guix build utils)))
(snippet
#~(begin (delete-file "eval-in-repl-matlab.el")))))
+4 -3
View File
@@ -28,6 +28,7 @@
;;; Copyright © 2025 Laura Kirsch <laurakirsch240406@gmail.com>
;;; Copyright © 2026 Nikita Alkhovik <forgoty13@gmail.com>
;;; Copyright © 2026 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2026 Spencer King <spencer.king@wustl.edu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1165,7 +1166,7 @@ The following systems are supported:
(define-public sameboy
(package
(name "sameboy")
(version "1.0.2")
(version "1.0.3")
(source
(origin
(method git-fetch)
@@ -1174,12 +1175,12 @@ The following systems are supported:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0pwnik37c3sgvib5xbadwbq2mjjvgxilhig09rjb3xp5i1d7ykja"))))
(base32 "107k6lfh4y9q73azab0r7pb7hs8fwk46537pfc5liqp38blz6ij5"))))
(build-system gnu-build-system)
(native-inputs
(list rgbds pkg-config))
(inputs
(list sdl2))
(list libpng sdl2))
(arguments
`(#:tests? #f ; There are no tests
#:make-flags `(,(string-append "CC=" ,(cc-for-target))
+12 -213
View File
@@ -358,155 +358,6 @@ tool to forward annotation from your schematic to layout using PCB; some minor
utilities.")
(license license:gpl2+)))
(define-public lepton-eda
(package
(name "lepton-eda")
(version "1.9.18-20220529")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lepton-eda/lepton-eda/")
(commit version)))
(sha256
(base32
"06plrcab3s2rpyf0qv2gzc1yp33627xi8105niasgixckk6glnc2"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list
;; When running "make", the POT files are built with the build time as
;; their "POT-Creation-Date". Later on, "make" notices that .pot
;; files were updated and goes on to run "msgmerge"; as a result, the
;; non-deterministic POT-Creation-Date finds its way into .po files,
;; and then in .gmo files. To avoid that, simply make sure 'msgmerge'
;; never runs. See <https://bugs.debian.org/792687>.
"ac_cv_path_MSGMERGE=true"
(string-append "--with-pcb-datadir="
#$(this-package-input "pcb")
"/share")
(string-append "--with-pcb-lib-path="
#$(this-package-input "pcb")
"/share/pcb/pcblib-newlib:"
#$(this-package-input "pcb")
"/share/pcb/newlib")
"--with-gtk3"
"CFLAGS=-fcommon"
"--enable-guild"
"--enable-contrib")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
(lambda _
;; For logs and auto-compilation
(setenv "HOME" "/tmp")
;; Ensure that readline is found by lepton-shell
(substitute* "script.in"
(("\\(eval-when \\(expand load eval\\)" m)
(string-append "
(add-to-load-path \"" #$(this-package-input "guile-readline")
"/share/guile/site/3.0\")
(set! %load-compiled-path (cons \""
#$(this-package-input "guile-readline")
"/lib/guile/3.0/site-ccache/"
"\" %load-compiled-path))
" m)))))
(add-before 'build 'fix-dynamic-link
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "liblepton/scheme/lepton/ffi/lib.scm"
(("\"liblepton\"")
(string-append "\"" #$output "/lib/liblepton.so" "\""))
(("\"libleptonattrib\"")
(string-append "\"" #$output "/lib/libleptonattrib.so" "\""))
(("\"libleptongui\"")
(string-append "\"" #$output "/lib/libleptongui.so" "\""))
(("\"libglib-2.0\"")
(string-append
"\"" (search-input-file inputs "/lib/libglib-2.0.so") "\""))
(("\"libgobject-2.0\"")
(string-append
"\"" (search-input-file inputs "/lib/libgobject-2.0.so") "\""))
(("\"libgtk-3\"")
(string-append
"\"" (search-input-file inputs "/lib/libgtk-3.so") "\"")))
;; For finding libraries when running tests before installation.
(setenv "LIBLEPTONGUI"
(string-append (getcwd)
"/libleptongui/src/.libs/libleptongui.so"))
(setenv "LIBLEPTON"
(string-append (getcwd)
"/libleptongui/src/.libs/liblepton.so"))
(setenv "LD_LIBRARY_PATH"
(string-append (getcwd)
"/libleptonattrib/src/.libs/:"
(getenv "LIBRARY_PATH")))))
(add-before 'bootstrap 'prepare
(lambda _
;; Some of the scripts there are invoked by autogen.sh.
(for-each patch-shebang
(find-files "build-tools"))
;; Make sure 'msgmerge' can modify the PO files.
(for-each (lambda (po)
(chmod po #o666))
(find-files "." "\\.po$"))
;; This would normally be created by invoking 'git', but it
;; doesn't work here.
(call-with-output-file "version.h"
(lambda (port)
(format port "#define PACKAGE_DATE_VERSION \"~a\"~%"
#$(string-drop version
(+ 1
(string-index version #\-))))
(format port
"#define PACKAGE_DOTTED_VERSION \"~a\"~%"
#$(string-take version
(string-index version #\-)))
(format port
"#define PACKAGE_GIT_COMMIT \"cabbag3\"~%")))))
(add-after 'install 'compile-scheme-files
(lambda _
(unsetenv "LIBLEPTONGUI")
(unsetenv "LIBLEPTON")
(unsetenv "LD_LIBRARY_PATH")
(invoke "make" "precompile"))))))
(native-inputs
(list autoconf
automake
desktop-file-utils
flex
gettext-minimal
groff
gawk
libtool
pkg-config
m4
perl
texinfo))
(inputs
(list glib
gtk+
gtksheet
guile-3.0
guile-readline
pcb
shared-mime-info))
(home-page "https://lepton-eda.github.io/")
(synopsis "GPL Electronic Design Automation")
(description
"Lepton EDA ia an @dfn{electronic design automation} (EDA) tool set
forked from gEDA/gaf in late 2016. EDA tools are used for electrical circuit
design, schematic capture, simulation, prototyping, and production. Lepton
EDA includes tools for schematic capture, attribute management, bill of
materials (BOM) generation, netlisting into over 20 netlist formats, analog
and digital simulation, and printed circuit board (PCB) layout, and many other
features.")
(license license:gpl2+)))
(define-public pcb
(package
(name "pcb")
@@ -1407,57 +1258,6 @@ in the context of per-cpu data. The library offers ABI headers to interface
with the kernel and various utilities such as per-cpu counters.")
(license (list license:lgpl2.1 license:expat)))))
(define-public horizon-eda
(package
(name "horizon-eda")
(version "2.7.0")
;; TODO: try to unbundle some of the 3rd parties.
;; We have packages for nlohmann-json, range-v3, catch2 and clipper.
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/horizon-eda/horizon")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1sq1d2x9wq168cz91l2rd93gnlq5scknb45bi1njqqcw3jjjhsk3"))))
(build-system meson-build-system)
(arguments
(list
#:tests? #f ; no tests
#:glib-or-gtk? #t))
(native-inputs (list cmake-minimal ;; OpenCASCADE is only found by cmake
`(,glib "bin")
gobject-introspection
pkg-config))
(inputs (list boost
cairomm
cppzmq
curl
glib
glibmm
glm
gsettings-desktop-schemas
gtk+
gtkmm-3
libarchive
libgit2-glib
librsvg
libspnav
libzip
opencascade-occt
podofo
sqlite
`(,util-linux "lib")
zeromq))
(home-page "https://horizon-eda.org/")
(synopsis "Electronic Design Automation package")
(description "Horizon EDA is an Electronic Design Automation package
supporting an integrated end-to-end workflow for printed circuit board design
including parts management and schematic entry.")
(license license:gpl3+)))
(define-public linsmith
(package
(name "linsmith")
@@ -3256,28 +3056,27 @@ extension and customization.")
(define-public libmedfile
(package
(name "libmedfile")
(version "4.0.0")
(version "6.0.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://files.salome-platform.org/Salome/other/med-"
"https://files.salome-platform.org/Salome/medfile/med-"
version ".tar.gz"))
(sha256
(base32
"017h9p0x533fm4gn6pwc8kmp72rvqmcn6vznx72nkkl2b05yjx54"))))
"1a0zbdaj3s459s0cdayq4s3k3vbrfg7y32sf7s7qvi2bhz3fvwgq"))))
(build-system cmake-build-system)
(inputs (list hdf5-1.10))
(inputs (list hdf5 zlib))
(arguments
`(#:parallel-tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'install 'remove-test-output
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(delete-file-recursively
(string-append out "/bin/testc"))
#t))))))
(list
#:parallel-tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'remove-test-output
(lambda _
(delete-file-recursively
(string-append #$output "/bin/testc")))))))
(home-page "https://www.salome-platform.org")
(synopsis "Library to read and write MED files")
(description
+5 -2
View File
@@ -36,6 +36,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages rocm)
#:use-module (gnu packages swig)
#:use-module (gnu packages tcl))
@@ -223,14 +224,16 @@ testing InfiniBand networks.")
#$(this-package-input "rdma-core"))
(string-append "--with-rdmacm="
#$(this-package-input "rdma-core")))
#$(this-package-input "rdma-core"))
(string-append "--with-rocm="
#$(this-package-input "rocr-runtime")))
;; Be verbose so that compiler flags are displayed.
#:make-flags #~'("V=1")))
(native-inputs
(list autoconf automake libtool pkg-config))
(inputs
(list numactl rdma-core))
(list numactl rdma-core rocr-runtime))
(synopsis "Optimized communication layer for message passing in HPC")
(description
"Unified Communication X (UCX) provides an optimized communication layer
+8 -4
View File
@@ -1253,11 +1253,15 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.")
#~(modify-phases #$phases
(replace 'install
(lambda _
(let ((fmw (string-append #$output "/share/firmware")))
(let ((fmw (string-append #$output "/share/firmware"))
(build-dir "Build/ArmVirtQemu-AARCH64/RELEASE_GCC/FV"))
(mkdir-p fmw)
(copy-file (string-append "Build/ArmVirtQemu-AARCH64/"
"RELEASE_GCC/FV/QEMU_EFI.fd")
(string-append fmw "/ovmf_aarch64.bin"))))))))))))
;; QEMU's virt machine requires 64 MiB pflash devices on
;; AArch64. Pad the firmware files to match.
(copy-file (string-append build-dir "/QEMU_EFI.fd")
(string-append fmw "/ovmf_aarch64.bin"))
(truncate-file (string-append fmw "/ovmf_aarch64.bin")
(* 64 1024 1024))))))))))))
(define-public ovmf-arm
(let ((base (make-ovmf-firmware "armhf")))
+123 -1
View File
@@ -11,7 +11,7 @@
;;; Copyright © 2021 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
;;; Copyright © 2022 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2018, 2022 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2023 B. Wilson <x@wilsonb.com>
;;; Copyright © 2023 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
@@ -20,6 +20,9 @@
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Ian Eure <ian@retrospec.tv>
;;; Copyright © 2023 Thomas Albers Raviola <thomas@thomaslabs.org>
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -59,8 +62,12 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages bootloaders)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpio)
#:use-module (gnu packages disk)
#:use-module (gnu packages documentation)
#:use-module (gnu packages electronics)
#:use-module (gnu packages elf)
@@ -74,6 +81,7 @@
#:use-module (gnu packages libftdi)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages mtools)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages perl)
@@ -83,7 +91,9 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages swig)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages xml)
#:use-module (srfi srfi-26))
@@ -246,6 +256,118 @@ firmware from it.")
(home-page "https://dfu-util.sourceforge.net/")
(license license:gpl2+)))
(define-public genimage
(let ((commit "00009af6e29cfd46909bc8b4180147dda9f82ba8")
(revision "0"))
(package
(name "genimage")
(version (git-version "18" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pengutronix/genimage")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1mijyq79cb0yj4jm9ln9smpddq1f6r8cnsa568qca0krcv0p3zag"))))
(build-system gnu-build-system)
(arguments
`(#:modules
((ice-9 match)
,@%default-gnu-imported-modules)
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'guixify
(lambda* (#:key inputs #:allow-other-keys)
(map (match-lambda
((input directory regexp)
(substitute* "config.c"
(((format #f "\\.def = \"(~a)\"" regexp) _ command)
(string-append ".def = \"" (assoc-ref inputs input)
"/" directory "/" command "\"")))))
'(("cpio" "bin" "cpio")
("coreutils" "bin" "dd")
("e2fsprogs" "sbin" "debugfs|e2fsck|mke2fs|tune2fs")
("genext2fs" "bin" "genext2fs")
("cdrkit-libre" "bin" "genisoimage")
("mtools" "bin" "mcopy|mmd")
;; mkcramfs is obsolete.
("dosfstools" "sbin" "mkdosfs")
("mtd-utils" "sbin" "mkfs.(jffs2|ubifs)|ubinize")
("f2fs-tools" "sbin" "(mkfs|sload).f2fs")
("squashfs-tools" "bin" "mksquashfs")
("qemu" "bin" "qemu-img")
;; rauc and fiptool are unsupported.
("tar" "bin" "tar")
("u-boot-tools" "bin" "mkimage")))
(substitute* "util.c"
(("\"/bin/sh\"")
(string-append "\"" (assoc-ref inputs "bash") "/bin/sh\"")))))
(add-before 'check 'disable-failing-tests
(lambda _
;; We don't have /etc/passwd so uid 0 is not known as "root".
;; Thus patch it out.
(substitute* '("test/flash.test")
(("test_expect_success \"flash\"")
"test_expect_fail \"flash\""))
(substitute* '("test/hdimage.test")
(("test_expect_success fdisk,sfdisk \"hdimage\"")
"test_expect_fail fdisk,sfdisk \"hdimage\"")
(("test_expect_success hexdump \"hdimage no-partition\"")
"test_expect_fail hexdump \"hdimage no-partition\""))))
(add-before 'check 'fix-failing-tests
(lambda _
;; We don't have /etc/passwd so uid 0 is not known as "root".
;; Thus patch it out.
(substitute* '("test/ext2test.2.dump"
"test/ext3test.2.dump"
"test/ext4test.2.dump"
"test/ext2test-percent.2.dump"
"test/mke2fs.2.dump"
"test/mke2fs.3.dump")
(("root") "unknown"))))
(add-before 'check 'setenv-check
(lambda _
;; Our container doesn't provide access to /etc/mtab
(setenv "EXT2FS_NO_MTAB_OK" "1")
;; Make test reproducible
(setenv "GENIMAGE_MKFJFFS2" "mkfs.jffs2 -U")
(setenv "GENIMAGE_MKE2FS" "mke2fs -E no_copy_xattrs")))
(replace 'check
(lambda _
(invoke "make" "TEST_LOG_COMPILER=" "check"))))))
(native-inputs
(list autoconf
automake
;;; Note: cramfs is obsolete.
dtc ; for the tests
pkg-config
util-linux)) ; for the tests
(inputs
`(("bash" ,bash)
("cdrkit-libre" ,cdrkit-libre)
("cpio" ,cpio)
;; Note: invoked by final executable.
("coreutils" ,coreutils) ; chmod, dd
("dosfstools" ,dosfstools)
("e2fsprogs" ,e2fsprogs)
("f2fs-tools" ,f2fs-tools)
("genext2fs" ,genext2fs)
("libconfuse" ,libconfuse)
("mtd-utils" ,mtd-utils)
("mtools" ,mtools)
("qemu" ,qemu-minimal)
("squashfs-tools" ,squashfs-tools)
("tar" ,tar)
("u-boot-tools" ,u-boot-tools)))
(synopsis "Create Flash images according to specification")
(description "@command{genimage} creates Flash images according to a
specification file.")
(home-page "https://github.com/pengutronix/genimage")
(license license:gpl2))))
(define-public teensy-loader-cli
(package
(name "teensy-loader-cli")
+4 -4
View File
@@ -2604,7 +2604,7 @@ to applications simultaneously competing for fingerprint readers.")
(define-public desktop-file-utils
(package
(name "desktop-file-utils")
(version "0.26")
(version "0.28")
(source (origin
(method url-fetch)
(uri (string-append "https://www.freedesktop.org/software/"
@@ -2612,10 +2612,10 @@ to applications simultaneously competing for fingerprint readers.")
"desktop-file-utils-" version ".tar.xz"))
(sha256
(base32
"02bkfi6fyk4c0gh2avd897882ww5zl7qg7bzzf28qb57kvkvsvdj"))))
(build-system gnu-build-system)
"0w4ai6a3bwrdh86n2pvgv664djlmlds5lfa2hbgc4hnq67id80a4"))))
(build-system meson-build-system)
(native-inputs
(list autoconf automake pkg-config))
(list pkg-config))
(inputs
(list glib))
(home-page "https://www.freedesktop.org/wiki/Software/desktop-file-utils/")
+6 -10
View File
@@ -22,7 +22,7 @@
;;; Copyright © 2020 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
;;; Copyright © 2021 Dmitry Polyakov <polyakov@liltechdude.xyz>
;;; Copyright © 2020-2022, 2024-2025 James Smith <jsubuntuxp@disroot.org>
;;; Copyright © 2020-2022, 2024-2026 James Smith <jsubuntuxp@disroot.org>
;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2021, 2026 Andy Tai <atai@atai.org>
;;; Copyright © 2022 Felix Gruber <felgru@posteo.net>
@@ -953,7 +953,7 @@ clone.")
(define-public trenchbroom
(package
(name "trenchbroom")
(version "2024.2")
(version "2025.4")
(source
(origin
(method git-fetch)
@@ -962,16 +962,12 @@ clone.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "18cb3w7wxc9y2izh0flkkl77sg897dh0g49zq7rbhpvw35j4xgaj"))))
(base32 "0858q0dfr8f3z8aaafgvrx3zbmjlsldjyw6jjic4x4psyw2xfg3h"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags
#~(list "-DCMAKE_BUILD_TYPE=Release" "-G" "Unix Makefiles"
"-DCMAKE_PREFIX_PATH=cmake/packages"
(string-append "-DFREEIMAGE_INCLUDE_PATH="
#$freeimage "/include")
(string-append "-DFREEIMAGE_LIBRARY="
#$freeimage "/lib/libfreeimage.so")
(string-append "-Dfreetype_INCLUDE_DIR="
#$freetype "/include/freetype2")
(string-append "-Dfreetype_LIBRARY="
@@ -1016,7 +1012,7 @@ clone.")
(inputs
(list assimp
bash-minimal
catch2
catch2-3.8
fmt
freeglut
freeimage
@@ -1027,8 +1023,8 @@ clone.")
libxxf86vm
mesa
miniz
qtbase-5
qtsvg-5
qtbase
qtsvg
tinyxml2))
(native-inputs (list git pandoc python p7zip))
(home-page "https://kristianduske.com/trenchbroom/")
-154
View File
@@ -1,154 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;;
;;; 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 genimage)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (guix build utils)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bootloaders)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpio)
#:use-module (gnu packages disk)
#:use-module (gnu packages linux)
#:use-module (gnu packages mtools)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages textutils)
#:use-module (gnu packages virtualization))
(define-public genimage
(let ((commit "00009af6e29cfd46909bc8b4180147dda9f82ba8")
(revision "0"))
(package
(name "genimage")
(version (git-version "18" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pengutronix/genimage")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1mijyq79cb0yj4jm9ln9smpddq1f6r8cnsa568qca0krcv0p3zag"))))
(build-system gnu-build-system)
(arguments
`(#:modules
((ice-9 match)
,@%default-gnu-imported-modules)
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'guixify
(lambda* (#:key inputs #:allow-other-keys)
(map (match-lambda
((input directory regexp)
(substitute* "config.c"
(((format #f "\\.def = \"(~a)\"" regexp) _ command)
(string-append ".def = \"" (assoc-ref inputs input)
"/" directory "/" command "\"")))))
'(("cpio" "bin" "cpio")
("coreutils" "bin" "dd")
("e2fsprogs" "sbin" "debugfs|e2fsck|mke2fs|tune2fs")
("genext2fs" "bin" "genext2fs")
("cdrkit-libre" "bin" "genisoimage")
("mtools" "bin" "mcopy|mmd")
;; mkcramfs is obsolete.
("dosfstools" "sbin" "mkdosfs")
("mtd-utils" "sbin" "mkfs.(jffs2|ubifs)|ubinize")
("f2fs-tools" "sbin" "(mkfs|sload).f2fs")
("squashfs-tools" "bin" "mksquashfs")
("qemu" "bin" "qemu-img")
;; rauc and fiptool are unsupported.
("tar" "bin" "tar")
("u-boot-tools" "bin" "mkimage")))
(substitute* "util.c"
(("\"/bin/sh\"")
(string-append "\"" (assoc-ref inputs "bash") "/bin/sh\"")))))
(add-before 'check 'disable-failing-tests
(lambda _
;; We don't have /etc/passwd so uid 0 is not known as "root".
;; Thus patch it out.
(substitute* '("test/flash.test")
(("test_expect_success \"flash\"")
"test_expect_fail \"flash\""))
(substitute* '("test/hdimage.test")
(("test_expect_success fdisk,sfdisk \"hdimage\"")
"test_expect_fail fdisk,sfdisk \"hdimage\"")
(("test_expect_success hexdump \"hdimage no-partition\"")
"test_expect_fail hexdump \"hdimage no-partition\""))))
(add-before 'check 'fix-failing-tests
(lambda _
;; We don't have /etc/passwd so uid 0 is not known as "root".
;; Thus patch it out.
(substitute* '("test/ext2test.2.dump"
"test/ext3test.2.dump"
"test/ext4test.2.dump"
"test/ext2test-percent.2.dump"
"test/mke2fs.2.dump"
"test/mke2fs.3.dump")
(("root") "unknown"))))
(add-before 'check 'setenv-check
(lambda _
;; Our container doesn't provide access to /etc/mtab
(setenv "EXT2FS_NO_MTAB_OK" "1")
;; Make test reproducible
(setenv "GENIMAGE_MKFJFFS2" "mkfs.jffs2 -U")
(setenv "GENIMAGE_MKE2FS" "mke2fs -E no_copy_xattrs")))
(replace 'check
(lambda _
(invoke "make" "TEST_LOG_COMPILER=" "check"))))))
(native-inputs
(list autoconf
automake
;;; Note: cramfs is obsolete.
dtc ; for the tests
pkg-config
util-linux)) ; for the tests
(inputs
`(("bash" ,bash)
("cdrkit-libre" ,cdrkit-libre)
("cpio" ,cpio)
;; Note: invoked by final executable.
("coreutils" ,coreutils) ; chmod, dd
("dosfstools" ,dosfstools)
("e2fsprogs" ,e2fsprogs)
("f2fs-tools" ,f2fs-tools)
("genext2fs" ,genext2fs)
("libconfuse" ,libconfuse)
("mtd-utils" ,mtd-utils)
("mtools" ,mtools)
("qemu" ,qemu-minimal)
("squashfs-tools" ,squashfs-tools)
("tar" ,tar)
("u-boot-tools" ,u-boot-tools)))
(synopsis "Create Flash images according to specification")
(description "@command{genimage} creates Flash images according to a
specification file.")
(home-page "https://github.com/pengutronix/genimage")
(license license:gpl2))))
+77
View File
@@ -141,6 +141,83 @@
It uses pandoc as back-end for parsing Markdown.")
(license license:gpl3)))
(define-public amberol
(package
(name "amberol")
(version "2025.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.gnome.org/World/amberol.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0ymzpf9lkhibaaah059a0pncy23kk9xiq1w37clqc5hhwzpqwpmw"))))
(build-system meson-build-system)
(arguments
(list
#:glib-or-gtk? #t
#:tests? #f ;no tests
#:imported-modules `(,@%meson-build-system-modules
,@%cargo-build-system-modules)
#:modules `(((guix build cargo-build-system) #:prefix cargo:)
(guix build meson-build-system)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'prepare-for-build
(lambda _
(substitute* "meson.build"
(("gtk_update_icon_cache: true")
"gtk_update_icon_cache: false")
(("update_desktop_database: true")
"update_desktop_database: false"))
(substitute* "meson.build"
(("'Cargo.lock',")
""))
(delete-file "Cargo.lock")))
(add-after 'configure 'prepare-cargo-build-system
(lambda args
(for-each
(lambda (phase)
(format #t "Running cargo phase: ~a~%" phase)
(apply (assoc-ref cargo:%standard-phases phase)
#:vendor-dir "vendor"
#:cargo-target #$(cargo-triplet)
args))
'(unpack-rust-crates
configure
check-for-pregenerated-files
patch-cargo-checksums))))
(add-after 'install 'wrap-program
(lambda _
(wrap-program (string-append #$output "/bin/amberol")
`("GST_PLUGIN_SYSTEM_PATH" ":" suffix
(,(getenv "GST_PLUGIN_SYSTEM_PATH")))))))))
(native-inputs
(cons* bash-minimal
gettext-minimal
`(,glib "bin")
pkg-config
rust
`(,rust "cargo")
(or (and=> (%current-target-system)
(compose list make-rust-sysroot))
'())))
(inputs
(cons* bash-minimal
gstreamer
gst-plugins-bad
gtk
libadwaita
(cargo-inputs 'amberol)))
(home-page "https://apps.gnome.org/Amberol/")
(synopsis "Music player for GNOME")
(description "Amberol is a minimalistic music player for GNOME. It works
with one playlist in which you can add local audio files and directories.")
(license license:gpl3+)))
(define-public blanket
(package
(name "blanket")
+15 -1
View File
@@ -82,7 +82,7 @@
;;; Copyright © 2024 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2025 Noé Lopez <noelopez@free.fr>
;;; Copyright © 2025 Ashvith Shetty <ashvithshetty0010@zohomail.in>
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2025, 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2025 Abra K. <abra_k_332@protonmail.me>
;;; Copyright © 2025 Ben Hansen <git@beha.pw>
;;; Copyright © 2026 Roman Riabenko <roman@riabenko.com>
@@ -1013,6 +1013,16 @@ and straightforward controls.")
(base32
"0b77ipvvi520nv7rr6jb1c3xryhc3m2mywhby7m48kfgag8vvx2w"))))
(build-system gnu-build-system)
(native-inputs (list bison flex))
(arguments
(list #:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-rpcgen-parse
(lambda _
(substitute* "rpcgen_parse.y"
(("#include \"rpcgen_int.h\"")
(string-append
"#include \"rpcgen_int.h\"\n"
"int yylex();\n"))))))))
(synopsis "External Data Representation Library")
(description "PortableXDR is an implementation of External Data
Representation (XDR) Library. It is a standard data serialization format, for
@@ -11311,6 +11321,10 @@ supports both X and Wayland display servers.")
(sha256
(base32 "17ampw9p1fp7s7i43cz9r68v6mm7xmb1sndx1mqmkns35kn8yl8a"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(native-inputs
(list desktop-file-utils intltool pkg-config))
(inputs
+1 -1
View File
@@ -527,7 +527,7 @@ gpgpme starting with version 1.7.")
(package
(name "guile-gcrypt")
(version "0.5.0")
(home-page "https://notabug.org/cwebber/guile-gcrypt")
(home-page "https://codeberg.org/guile-gcrypt/guile-gcrypt")
(source (origin
(method git-fetch)
(uri (git-reference
+13 -17
View File
@@ -3330,13 +3330,12 @@ writing a Guix package.")))
(package
(inherit guile-g-golf)
(name "g-golf-adw-1-examples")
;; XXX: Update version when we have a recent enough libadwaita.
(version "0.8.0")
(version "0.8.4")
(source
(g-golf-source #:version version
#:hash
(content-hash
"14b6pjchra0axqifpm90m7jbxla2sarhd7bfhzqbn7d14b74sv2d")))
"0qwwvqhhjc141dfj881mah1bgvwlgz111qrh0ml7qf4mc2ssjxqf")))
(build-system glib-or-gtk-build-system)
(arguments
(list
@@ -3359,10 +3358,6 @@ writing a Guix package.")))
(chdir "examples/adw-1")
;; Re-use the existing Makefile for its wildcard syntax.
(rename-file "Makefile.am" "Makefile")
(substitute* "Makefile"
;; Fix syntax error.
(("hello-world")
"hello-world \\"))
;; Add a rule to install the examples. We install to the
;; documentation directory where examples are usually located,
;; but we will later create a copy in /bin for `guix shell'.
@@ -3379,7 +3374,6 @@ install:
for f in $(EXTRA_DIST); do \\
cp -r $$f $(examplesdir)/$$f; \\
done
cp demo/g-resources $(examplesdir)/demo/g-resources
" #$output)
(close-port port))))
(delete 'configure)
@@ -3387,10 +3381,7 @@ install:
(lambda _
;; Create files for adwaita-1-demo needed in install phase.
(with-directory-excursion "demo"
(system* "make")
(system* "glib-compile-resources"
"--target" "g-resources"
"g-resources.xml"))))
(invoke "make"))))
(add-before 'install 'patch-scm-files
(lambda* (#:key inputs #:allow-other-keys)
;; `current-filename' calls in examples are broken.
@@ -3404,7 +3395,12 @@ install:
(("^exec guile ")
(string-append
"exec " (search-input-file inputs "/bin/guile")
" ")))))
" "))
((" \\(compile-g-resources")
" (chdir path)(compile-g-resources")
(("glib-compile-resources")
(search-input-file inputs
"/bin/glib-compile-resources")))))
(map (cut string-drop <> 2) ;strip ./ prefix
(find-files "." (lambda (file stat)
;executables or .scm modules
@@ -3458,11 +3454,11 @@ install:
bash-minimal
libadwaita
(librsvg-for-system)
`(,glib "bin") ;for glib-compile-resources
gtk
guile-3.0
guile-g-golf))
(native-inputs (list `(,glib "bin") ;for glib-compile-resources
guile-3.0))
(native-inputs (list guile-3.0))
(propagated-inputs (list))
(synopsis "G-Golf Adw-1 examples")
(description
@@ -4090,7 +4086,7 @@ See http://minikanren.org/ for more on miniKanren generally.")
(define-public guile-irregex
(package
(name "guile-irregex")
(version "0.9.11")
(version "0.9.12")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4098,7 +4094,7 @@ See http://minikanren.org/ for more on miniKanren generally.")
version ".tar.gz"))
(sha256
(base32
"026kzl96pmwbjqdc7kh8rdh8ng813sjvdsik0dag5acza20sjm19"))))
"1rmlmkf2pnly7mqi407vi2k6k19m2h44d4jvzfkrizk892qj61yc"))))
(build-system guile-build-system)
(arguments
(list
+6 -6
View File
@@ -829,7 +829,7 @@ Guile's foreign function interface.")
(package
(name "guile-sqlite3")
(version "0.1.3")
(home-page "https://notabug.org/guile-sqlite3/guile-sqlite3.git")
(home-page "https://codeberg.org/guile-sqlite3/guile-sqlite3.git")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -966,13 +966,13 @@ manipulate repositories of the Git version control system.")
;; in the same method.
(method url-fetch)
(uri
(string-append "https://notabug.org/guile-zlib/guile-zlib/archive/v"
(string-append "https://codeberg.org/guile-compression/guile-zlib/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
;; content nar-sha256: 0rwjlqr1hl2vczs16xsihw8pyj6s70p1yv9ky0sawhm6g30639k9
(base32
"1h9q7rw8bh5mwa8qjik0pqwcr8v9hnk7xnvwcbsg6yfa695wlv3g"))))
"04p9lb3bq5y0k358s8agpksx9x68vzx330cb8jkn4qp3qj7cmnx2"))))
(build-system gnu-build-system)
(native-inputs (list autoconf automake pkg-config guile-3.0))
(inputs (list guile-3.0 zlib))
@@ -981,7 +981,7 @@ manipulate repositories of the Git version control system.")
"This package provides Guile bindings for zlib, a lossless
data-compression library. The bindings are written in pure Scheme by using
Guile's foreign function interface.")
(home-page "https://notabug.org/guile-zlib/guile-zlib")
(home-page "https://codeberg.org/guile-compression/guile-zlib")
(license license:gpl3+)))
(define-public guile2.2-zlib
@@ -991,7 +991,7 @@ Guile's foreign function interface.")
(package
(name "guile-lzlib")
(version "0.3.0")
(home-page "https://notabug.org/guile-lzlib/guile-lzlib")
(home-page "https://codeberg.org/guile-compression/guile-lzlib")
(source
(origin
;; Note: Until "builtin:git-download" can be taken for granted, this
@@ -1027,7 +1027,7 @@ pure Scheme by using Guile's foreign function interface.")
(package
(name "guile-zstd")
(version "0.1.1")
(home-page "https://notabug.org/guile-zstd/guile-zstd")
(home-page "https://codeberg.org/guile-compression/guile-zstd")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page)
+2 -2
View File
@@ -348,7 +348,7 @@ Conferencing} and @acronym{ICB, Internet Citizen's Band}.")
(define-public weechat
(package
(name "weechat")
(version "4.8.1")
(version "4.8.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -357,7 +357,7 @@ Conferencing} and @acronym{ICB, Internet Citizen's Band}.")
(file-name (git-file-name name version))
(sha256
(base32
"0hlhww2pxkvc19lq62fiafwp5mg08m80ahqj1h096gxg5ql07gc2"))))
"06lmbd27fdj7z7v6m096csswp73354516z64apfyz8lr5kh140wq"))))
(build-system cmake-build-system)
(outputs '("out" "doc"))
(native-inputs
File diff suppressed because it is too large Load Diff
+5 -3
View File
@@ -1840,17 +1840,19 @@ for xdg-desktop-portal that is using Qt/KF5.")
(arguments
(list #:builder #~(begin
(mkdir #$output))))
;; These inputs are used by plasma-desktop-service-type.
(inputs (list bolt ;for plasma-thunderbolt
fwupd ;for kinfocenter and discover
packagekit)) ;for discover
(propagated-inputs (list appmenu-gtk-module
aurorae
baloo
bluedevil
bolt ;for plasma-thunderbolt
breeze
breeze-gtk
breeze-icons ;default mouse icon
colord
discover
fwupd
kactivitymanagerd
kdeclarative ;required by sddm breeze theme
kde-cli-tools
@@ -1881,7 +1883,6 @@ for xdg-desktop-portal that is using Qt/KF5.")
milou
ocean-sound-theme
oxygen-sounds
packagekit ;for discover
plasma5support ;required by sddm breeze theme
plasma-browser-integration
plasma-desktop
@@ -3108,6 +3109,7 @@ hardware management, and a high degree of customizability.")
kcrash
kdbusaddons
kiconthemes
kirigami
knotifications
kwidgetsaddons
kwindowsystem
+4 -4
View File
@@ -244,17 +244,17 @@
;; It's used for cache validation and therefore can lead to strange bugs.
;; ex: date '+%Y%m%d%H%M%S'
;; or: (format-time-string "%Y%m%d%H%M%S")
(define %librewolf-build-id "20260228165433")
(define %librewolf-build-id "20260310210845")
(define-public librewolf
(package
(name "librewolf")
(version "148.0-1")
(version "148.0.2-2")
(source
(make-librewolf-source
#:version version
#:firefox-hash "0vybaiiknrzk2zvg46w5sxb0i0m9rmy4msvpxklxpdr3182fb4zc"
#:librewolf-hash "02sraza4xy4cp559nlc51m1vwhi52l58i3zz2h95lwymyvc5hv17"
#:firefox-hash "142f4k4ykcm65kbvj60p472103r4k79v9fdsfljdav2rbr6qxjx6"
#:librewolf-hash "1i0m72i2d0800pxprq18jc040zfzvmg25lw7bi7hgbdh4zvadzdw"
#:l10n firefox-l10n))
(build-system gnu-build-system)
(arguments
+8 -2
View File
@@ -185,6 +185,7 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages regex)
#:use-module (gnu packages rocm)
#:use-module (gnu packages rpc)
#:use-module (gnu packages rrdtool)
#:use-module (gnu packages rsync)
@@ -10511,17 +10512,22 @@ known as Slingshot.")
(cons package extra)
'()))))
(append (list rdma-core libnl)
(if-supported rocr-runtime)
(if-supported psm)
(if-supported psm2)
(if-supported libcxi curl json-c))))
(arguments
(list #:configure-flags
#~(append (if #$(target-64bit?)
(list "--enable-efa")
'())
(list "--enable-efa")
'())
(list #$@(if (this-package-input "libcxi")
#~("--enable-cxi")
#~())
#$@(if (this-package-input "rocr-runtime")
#~((string-append "--with-rocr="
#$(this-package-input "rocr-runtime")))
#~())
"--enable-verbs"))
#:phases
#~(modify-phases %standard-phases
+88 -88
View File
@@ -197,7 +197,7 @@ read/write Bit Map Font (BMF) into text, JSON and XML.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/3b-bmfont/")
(url "https://codeberg.org/shinmera/3b-bmfont/")
(commit commit)))
(file-name (git-file-name "3b-bmfont2" version))
(sha256
@@ -304,7 +304,7 @@ vectors and streams.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/3d-math")
(url "https://codeberg.org/shinmera/3d-math")
(commit commit)))
(file-name (git-file-name "cl-3d-math" version))
(sha256
@@ -315,7 +315,7 @@ vectors and streams.")
(inputs
(list sbcl-documentation-utils
sbcl-type-templates))
(home-page "https://shinmera.github.io/3d-math/")
(home-page "https://shinmera.com/docs/3d-math/")
(synopsis "Linear algebra for 2D and 3D computations")
(description
"The @code{3d-math} library implements types, operators, and algorithms
@@ -511,7 +511,7 @@ alternative 4x4 matrix representation.")
(list sbcl-parachute))
(inputs
(list sbcl-documentation-utils))
(home-page "https://shinmera.github.io/3d-vectors/")
(home-page "https://shinmera.com/docs/3d-vectors/")
(synopsis "Utility library implementing 2D, 3D, and 4D vectors")
(description
"@code{3D-VECTORS} is a library for vector math in 3D space. It contains
@@ -12152,7 +12152,7 @@ options, e.g., by looking up an external key/value store
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/shinmera/clip")
(url "https://codeberg.org/shinmera/clip")
(commit commit)))
(file-name (git-file-name "clip" version))
(sha256
@@ -12160,7 +12160,7 @@ options, e.g., by looking up an external key/value store
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-array-utils sbcl-lquery))
(home-page "https://shinmera.github.io/clip/")
(home-page "https://shinmera.com/docs/clip/")
(synopsis "Common Lisp HTML templating engine")
(description
"Clip is an attempt at a templating library that allows you to write
@@ -14803,7 +14803,7 @@ that have several attributes, and a central data payload. Most notably this
includes the OS filesystem, but can also be used to address other
filesystem-like things like archives, object stores, etc. in the same
manner.")
(home-page "https://codeberg.org/Shinmera/depot")
(home-page "https://shinmera.com/docs/depot/")
(license license:zlib))))
(define-public cl-depot
@@ -16662,7 +16662,7 @@ parser/composer.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/feeder")
(url "https://codeberg.org/shinmera/feeder")
(commit commit)))
(file-name (git-file-name "feeder" version))
(sha256
@@ -16670,7 +16670,7 @@ parser/composer.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-documentation-utils sbcl-local-time sbcl-plump))
(home-page "https://shinmera.github.io/feeder/")
(home-page "https://shinmera.com/docs/feeder/")
(synopsis "RSS, Atom and general feed parsing and generating")
(description
"Feeder is a syndication feed library. It presents a general protocol
@@ -16729,7 +16729,7 @@ given the Common Lisp implementation.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/file-attributes/")
(url "https://codeberg.org/shinmera/file-attributes/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -16737,7 +16737,7 @@ given the Common Lisp implementation.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-cffi sbcl-documentation-utils sbcl-trivial-features))
(home-page "https://shinmera.github.io/file-attributes/")
(home-page "https://shinmera.com/docs/file-attributes/")
(synopsis "Access to common file attributes in Common Lisp")
(description
"This is a small OS portability library to retrieve and set file
@@ -16796,7 +16796,7 @@ avoids many of the pitfalls of pathnames.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/file-notify")
(url "https://codeberg.org/shinmera/file-notify")
(commit commit)))
(file-name (git-file-name "cl-file-notify" version))
(sha256
@@ -16806,7 +16806,7 @@ avoids many of the pitfalls of pathnames.")
(list sbcl-cffi
sbcl-documentation-utils
sbcl-trivial-features))
(home-page "https://github.com/Shinmera/file-notify")
(home-page "https://codeberg.org/shinmera/file-notify")
(synopsis "Get notifications for file accesses and changes")
(description
"File-Notify is a Common Lisp library for getting notifications for file
@@ -16829,7 +16829,7 @@ accesses and changes.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/file-select")
(url "https://codeberg.org/shinmera/file-select")
(commit commit)))
(file-name (git-file-name "file-select" version))
(sha256
@@ -16839,7 +16839,7 @@ accesses and changes.")
(list sbcl-cffi
sbcl-documentation-utils
sbcl-float-features))
(home-page "https://shinmera.github.io/file-select/")
(home-page "https://shinmera.com/docs/file-select/")
(synopsis "Invoke the native file selection dialogs to open or save files")
(description
"This library allows you to open native file dialogs to open and save
@@ -16894,7 +16894,7 @@ fashion.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/filesystem-utils/")
(url "https://codeberg.org/shinmera/filesystem-utils/")
(commit commit)))
(file-name (git-file-name "cl-filesystem-utils" version))
(sha256
@@ -16904,7 +16904,7 @@ fashion.")
(list sbcl-documentation-utils
sbcl-pathname-utils
sbcl-trivial-features))
(home-page "https://shinmera.github.io/filesystem-utils/")
(home-page "https://shinmera.com/docs/filesystem-utils/")
(synopsis "Collection of utilities for filesystem interaction")
(description
"This is an extension library to @code{pathname-utils}, to allow
@@ -17025,7 +17025,7 @@ the @command{flamegraph.pl} script, which is available in the Guix package
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/flare")
(url "https://codeberg.org/shinmera/flare")
(commit commit)))
(file-name (git-file-name "flare" version))
(sha256
@@ -17038,7 +17038,7 @@ the @command{flamegraph.pl} script, which is available in the Guix package
sbcl-for
sbcl-lambda-fiddle
sbcl-trivial-garbage))
(home-page "https://shinmera.github.io/flare/")
(home-page "https://shinmera.com/docs/flare/")
(synopsis "Easy particle systems with fine grained control")
(description
"FLARE is a library designed to allow quick and precise particle effect
@@ -17156,7 +17156,7 @@ a sequence (or chain) of such elements.")
(description
"Portability library for IEEE float features that are not
covered by the Common Lisp standard.")
(home-page "https://github.com/Shinmera/float-features")
(home-page "https://codeberg.org/shinmera/float-features")
(license license:zlib))))
(define-public cl-float-features
@@ -17178,7 +17178,7 @@ covered by the Common Lisp standard.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/flow")
(url "https://codeberg.org/shinmera/flow")
(commit commit)))
(file-name (git-file-name "flow" version))
(sha256
@@ -17190,7 +17190,7 @@ covered by the Common Lisp standard.")
(inputs
(list sbcl-closer-mop
sbcl-documentation-utils))
(home-page "https://shinmera.github.io/flow/")
(home-page "https://shinmera.com/docs/flow/")
(synopsis "Tools for the representation of graphs and flowcharts")
(description
"FLOW is a flowchart graph library. Unlike other graphing libraries,
@@ -17384,7 +17384,7 @@ time, etc.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/font-discovery")
(url "https://codeberg.org/shinmera/font-discovery")
(commit commit)))
(file-name (git-file-name "font-discovery" version))
(sha256
@@ -17392,7 +17392,7 @@ time, etc.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-cffi sbcl-documentation-utils sbcl-trivial-indent))
(home-page "https://shinmera.github.io/font-discovery/")
(home-page "https://shinmera.com/docs/font-discovery/")
(synopsis "Find system font files matching a font spec")
(description
"This is a library to find system font files. It works on systems with
@@ -17416,7 +17416,7 @@ aren't already directly available on the system.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/for")
(url "https://codeberg.org/shinmera/for")
(commit commit)))
(file-name (git-file-name "cl-for" version))
(sha256
@@ -17424,7 +17424,7 @@ aren't already directly available on the system.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-documentation-utils sbcl-form-fiddle sbcl-lambda-fiddle))
(home-page "https://shinmera.github.io/for/")
(home-page "https://shinmera.com/docs/for/")
(synopsis "Extensible iteration macro library")
(description
"For is a library for an extensible iteration macro. It allows you to write
@@ -17452,7 +17452,7 @@ require code-walking and is easier to extend.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/forge/")
(url "https://codeberg.org/shinmera/forge/")
(commit commit)))
(sha256
(base32 "006vi2ihrn28pzrwa8b7axmv98bdaxzx7lacnh9pbacbjg3b7hb0"))
@@ -17494,7 +17494,7 @@ for the specific kind of project you're building to get the full picture.")
(method git-fetch)
(uri
(git-reference
(url "https://github.com/Shinmera/form-fiddle")
(url "https://codeberg.org/shinmera/form-fiddle")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -17507,7 +17507,7 @@ for the specific kind of project you're building to get the full picture.")
(description
"Often times we need to destructure a form definition in a Common Lisp
macro. This library provides a set of simple utilities to help with that.")
(home-page "https://shinmera.github.io/form-fiddle/")
(home-page "https://shinmera.com/docs/form-fiddle/")
(license license:zlib))))
(define-public cl-form-fiddle
@@ -20737,13 +20737,13 @@ performance and simplicity in mind.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/lambda-fiddle")
(url "https://codeberg.org/shinmera/lambda-fiddle")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
(build-system asdf-build-system/sbcl)
(home-page "https://github.com/Shinmera/lambda-fiddle")
(home-page "https://codeberg.org/shinmera/lambda-fiddle")
(synopsis "Collection of utilities to process lambda-lists")
(description "This collection of utilities is useful in contexts where
you want a macro that uses lambda-lists in some fashion but need more precise
@@ -20768,7 +20768,7 @@ processing.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/language-codes")
(url "https://codeberg.org/shinmera/language-codes")
(commit commit)))
(file-name (git-file-name name commit))
(sha256
@@ -20776,7 +20776,7 @@ processing.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-documentation-utils))
(home-page "https://shinmera.github.io/language-codes/")
(home-page "https://shinmera.com/docs/language-codes/")
(synopsis "Map ISO language codes to language names in Common Lisp")
(description
"This is a small library providing the ISO-639 language code to
@@ -20847,7 +20847,7 @@ text.")
(method git-fetch)
(uri
(git-reference
(url "https://github.com/Shinmera/LASS")
(url "https://codeberg.org/shinmera/LASS")
(commit commit)))
(file-name (git-file-name "cl-lass" version))
(sha256
@@ -20861,7 +20861,7 @@ text.")
out in writing CSS quick and easy. LASS was largely inspired by SASS. LASS
supports two modes, one being directly in your lisp code, the other in pure
LASS files.")
(home-page "https://shinmera.github.io/LASS/")
(home-page "https://shinmera.com/docs/LASS/")
(license license:zlib))))
(define-public cl-lass
@@ -22193,7 +22193,7 @@ compression/decompression using bindings to the lzlib C library.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/machine-state")
(url "https://codeberg.org/shinmera/machine-state")
(commit commit)))
(file-name (git-file-name "cl-machine-state" version))
(sha256
@@ -22207,7 +22207,7 @@ compression/decompression using bindings to the lzlib C library.")
(arguments
'(#:tests? #f ; No tests.
#:asd-systems '("machine-state" "machine-state/opengl")))
(home-page "https://shinmera.github.io/machine-state/")
(home-page "https://shinmera.com/docs/machine-state/")
(synopsis "Retrieve machine state information about CPU time, memory usage and more")
(description
"This library implements various functions to access status information
@@ -23412,7 +23412,7 @@ various string metrics in Common Lisp:
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/mmap")
(url "https://codeberg.org/shinmera/mmap")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -23423,7 +23423,7 @@ various string metrics in Common Lisp:
sbcl-trivial-features))
(inputs
(list sbcl-cffi sbcl-documentation-utils))
(home-page "https://shinmera.github.io/mmap/")
(home-page "https://shinmera.com/docs/mmap/")
(synopsis "File memory mapping for Common Lisp")
(description
"This is a utility library providing access to the @emph{mmap} family of
@@ -23485,7 +23485,7 @@ place.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/modularize")
(url "https://codeberg.org/shinmera/modularize")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -23494,7 +23494,7 @@ place.")
(inputs
(list sbcl-documentation-utils
sbcl-trivial-package-local-nicknames))
(home-page "https://shinmera.github.io/modularize/")
(home-page "https://shinmera.com/docs/modularize/")
(synopsis "Common Lisp modularization framework")
(description
"@code{MODULARIZE} is an attempt at providing a common interface to
@@ -23521,7 +23521,7 @@ tie modules together in functionality, hook into each other and so on.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/modularize-hooks")
(url "https://codeberg.org/shinmera/modularize-hooks")
(commit commit)))
(file-name (git-file-name "modularize-hooks" version))
(sha256
@@ -23530,7 +23530,7 @@ tie modules together in functionality, hook into each other and so on.")
(inputs
(list sbcl-closer-mop sbcl-lambda-fiddle sbcl-modularize
sbcl-trivial-arguments))
(home-page "https://shinmera.github.io/modularize-hooks/")
(home-page "https://shinmera.com/docs/modularize-hooks/")
(synopsis "Generic hooks and triggers extension for Modularize")
(description
"This is a simple extension to @code{MODULARIZE} that allows modules to
@@ -23553,7 +23553,7 @@ define and trigger hooks, which other modules can hook on to.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/modularize-interfaces")
(url "https://codeberg.org/shinmera/modularize-interfaces")
(commit commit)))
(file-name (git-file-name "modularize-interfaces" version))
(sha256
@@ -23562,7 +23562,7 @@ define and trigger hooks, which other modules can hook on to.")
(inputs
(list sbcl-lambda-fiddle sbcl-modularize sbcl-trivial-arguments
sbcl-trivial-indent))
(home-page "https://shinmera.github.io/modularize-interfaces/")
(home-page "https://shinmera.com/docs/modularize-interfaces/")
(synopsis "Programmatical interfaces extension for Modularize")
(description
"This is an extension to @code{MODULARIZE} that allows your application
@@ -23846,7 +23846,7 @@ for Common Lisp.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/multilang-documentation")
(url "https://codeberg.org/shinmera/multilang-documentation")
(commit commit)))
(file-name (git-file-name name commit))
(sha256
@@ -23855,7 +23855,7 @@ for Common Lisp.")
(inputs
(list sbcl-documentation-utils sbcl-language-codes
sbcl-system-locale))
(home-page "https://shinmera.github.io/multilang-documentation/")
(home-page "https://shinmera.com/docs/multilang-documentation/")
(synopsis "Add multiple languages support to Common Lisp documentation")
(description
"This library provides a drop-in replacement function for
@@ -25038,7 +25038,7 @@ expressions.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/open-with")
(url "https://codeberg.org/shinmera/open-with")
(commit commit)))
(file-name (git-file-name "cl-open-with" version))
(sha256
@@ -25062,7 +25062,7 @@ expressions.")
"This package provides a small utility library to open a thing (usually
a file or URL) in an appropriate handler (usually an external file manager or
browser).")
(home-page "https://shinmera.github.io/open-with/")
(home-page "https://shinmera.com/docs/open-with/")
(license license:zlib))))
(define-public cl-open-with
@@ -25874,7 +25874,7 @@ variable portably in Common Lisp.")
(list sbcl-parachute))
(inputs
(list sbcl-trivial-features))
(home-page "https://codeberg.org/shinmera/pathname-utils")
(home-page "https://shinmera.com/docs/pathname-utils/")
(synopsis "Collection of utilities to help with pathname operations")
(description
"This package provides a Common Lisp system with a collection of common
@@ -26158,13 +26158,13 @@ for Common Lisp.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/piping/")
(url "https://codeberg.org/shinmera/piping/")
(commit commit)))
(file-name (git-file-name "piping" version))
(sha256
(base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5"))))
(build-system asdf-build-system/sbcl)
(home-page "https://shinmera.github.io/piping/")
(home-page "https://shinmera.com/docs/piping/")
(synopsis "Library to enable simple message pipelines")
(description
"This is a Common Lisp library to enable simple message pipelines.")
@@ -27060,7 +27060,7 @@ pattern-matching-like, but a char-by-char procedural parser.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/promise")
(url "https://codeberg.org/shinmera/promise")
(commit commit)))
(file-name (git-file-name "cl-promise" version))
(sha256
@@ -27070,7 +27070,7 @@ pattern-matching-like, but a char-by-char procedural parser.")
(list sbcl-parachute))
(inputs
(list sbcl-documentation-utils))
(home-page "https://shinmera.github.io/promise/")
(home-page "https://shinmera.com/docs/promise/")
(synopsis "Promise mechanism for asynchronous operations")
(description
"This library implements a basic promise datastructure, which is useful
@@ -27710,7 +27710,7 @@ adaptations.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shirakumo/radiance-contribs")
(url "https://codeberg.org/shirakumo/radiance-contribs")
(commit commit)))
(file-name (git-file-name "radiance-contribs" version))
(sha256
@@ -27789,7 +27789,7 @@ sequence.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/random-state")
(url "https://codeberg.org/shinmera/random-state")
(commit commit)))
(file-name (git-file-name "cl-random-state" version))
(sha256
@@ -27797,7 +27797,7 @@ sequence.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-documentation-utils))
(home-page "https://shinmera.github.io/random-state/")
(home-page "https://shinmera.com/docs/random-state/")
(synopsis "Portable random number generation")
(description
"This library is a collection of @dfn{pseudo random number generators}.
@@ -28659,7 +28659,7 @@ can coexist and interoperate with other extensions to as CLIM and Iterate.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/sdf")
(url "https://codeberg.org/shinmera/sdf")
(commit commit)))
(file-name (git-file-name "sdf" version))
(sha256
@@ -28674,7 +28674,7 @@ can coexist and interoperate with other extensions to as CLIM and Iterate.")
sbcl-pathname-utils))
(arguments
`(#:asd-systems '("sdf" "sdf/bmfont")))
(home-page "https://github.com/Shinmera/sdf")
(home-page "https://codeberg.org/shinmera/sdf")
(synopsis "Signed distance font atlas generator")
(description
"This library generates
@@ -29446,7 +29446,7 @@ using advisors.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/simple-inferiors")
(url "https://codeberg.org/shinmera/simple-inferiors")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -29454,7 +29454,7 @@ using advisors.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-bordeaux-threads sbcl-documentation-utils))
(home-page "https://shinmera.github.io/simple-inferiors/")
(home-page "https://shinmera.com/docs/simple-inferiors/")
(synopsis "Common Lisp library to use inferior processes")
(description
"This is a library to allow easy handling of external processes, and
@@ -29674,7 +29674,7 @@ on top of Hunchentoot.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/simple-tasks")
(url "https://codeberg.org/shinmera/simple-tasks")
(commit commit)))
(file-name (git-file-name "simple-tasks" version))
(sha256
@@ -29682,7 +29682,7 @@ on top of Hunchentoot.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-array-utils sbcl-bordeaux-threads sbcl-dissect))
(home-page "https://shinmera.github.io/simple-tasks/")
(home-page "https://shinmera.com/docs/simple-tasks/")
(synopsis "Simple task scheduling framework")
(description "This is a task scheduling framework for Common Lisp.")
(license license:zlib))))
@@ -30507,7 +30507,7 @@ empty object).")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/staple/")
(url "https://codeberg.org/shinmera/staple/")
(commit commit)))
(sha256
(base32 "0qf0if7py3n4rszg25lcavpsqikfz6k5dvcmh5q67y8x5r12i5m7"))
@@ -31131,13 +31131,13 @@ and camel-case rules.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/system-load")
(url "https://codeberg.org/shinmera/system-load")
(commit commit)))
(file-name (git-file-name "cl-system-load" version))
(sha256
(base32 "08d8kr8j5l2m8p69f47iklxhna394vx9mrys0sgplf5f2bqb7xcv"))))
(build-system asdf-build-system/sbcl)
(home-page "https://github.com/Shinmera/system-load")
(home-page "https://codeberg.org/shinmera/system-load")
(synopsis "Access system's CPU and memory usage from Common Lisp")
(description
"System-Load is a Common Lisp library for accessing the system's CPU and
@@ -31159,7 +31159,7 @@ memory usage.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/system-locale/")
(url "https://codeberg.org/shinmera/system-locale/")
(commit commit)))
(file-name (git-file-name name commit))
(sha256
@@ -31167,7 +31167,7 @@ memory usage.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-documentation-utils))
(home-page "https://shinmera.github.io/system-locale/")
(home-page "https://shinmera.com/docs/system-locale/")
(synopsis "Get the system's locale and language settings in Common Lisp")
(description
"This library retrieves locale information configured on the
@@ -32068,13 +32068,13 @@ a simple-array ensuring that the resulting array is still a simple-array.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/trivial-arguments")
(url "https://codeberg.org/shinmera/trivial-arguments")
(commit commit)))
(file-name (git-file-name "trivial-arguments" version))
(sha256
(base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
(build-system asdf-build-system/sbcl)
(home-page "https://github.com/Shinmera/trivial-arguments")
(home-page "https://codeberg.org/shinmera/trivial-arguments")
(synopsis "Common Lisp library to retrieve a function's lambda-list")
(description
"This is a simple library to retrieve the argument list of a function.")
@@ -32177,7 +32177,7 @@ information.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/trivial-benchmark/")
(url "https://codeberg.org/shinmera/trivial-benchmark/")
(commit commit)))
(file-name (git-file-name "cl-trivial-benchmark" version))
(sha256
@@ -32185,7 +32185,7 @@ information.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-alexandria))
(home-page "https://shinmera.github.io/trivial-benchmark/")
(home-page "https://shinmera.com/docs/trivial-benchmark/")
(synopsis "Easy to use benchmarking system for Common Lisp")
(description
"Trivial-Benchmark runs a block of code many times and outputs some
@@ -32494,13 +32494,13 @@ It provides four readtables. The default one lets you write strings like this:
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/trivial-extensible-sequences")
(url "https://codeberg.org/shinmera/trivial-extensible-sequences")
(commit commit)))
(file-name (git-file-name "cl-trivial-extensible-sequences" version))
(sha256
(base32 "0352psdd8j0phjycr6ldckwspyal4jcf0f2fizi6fwdp7nvadng7"))))
(build-system asdf-build-system/sbcl)
(home-page "https://shinmera.github.io/trivial-extensible-sequences/")
(home-page "https://shinmera.com/docs/trivial-extensible-sequences/")
(synopsis "Portability library for the extensible sequences protocol")
(description
"This package provides a portability layer for the extensible sequences
@@ -32671,7 +32671,7 @@ thin compatibility layer for gray streams.")
(method git-fetch)
(uri
(git-reference
(url "https://github.com/Shinmera/trivial-indent")
(url "https://codeberg.org/shinmera/trivial-indent")
(commit commit)))
(file-name (git-file-name "cl-trivial-indent" version))
(sha256
@@ -32683,7 +32683,7 @@ thin compatibility layer for gray streams.")
"This library allows you to define custom indentation hints for your
macros if the one recognised by SLIME automatically produces unwanted
results.")
(home-page "https://shinmera.github.io/trivial-indent/")
(home-page "https://shinmera.com/docs/trivial-indent/")
(license license:zlib))))
(define-public cl-trivial-indent
@@ -32737,7 +32737,7 @@ implementation specific equivalent.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/trivial-main-thread")
(url "https://codeberg.org/shinmera/trivial-main-thread")
(commit commit)))
(file-name (git-file-name "trivial-main-thread" version))
(sha256
@@ -32745,7 +32745,7 @@ implementation specific equivalent.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-bordeaux-threads sbcl-simple-tasks sbcl-trivial-features))
(home-page "https://shinmera.github.io/trivial-main-thread/")
(home-page "https://shinmera.com/docs/trivial-main-thread/")
(synopsis "Compatibility library to run things in the main thread")
(description
"This package provides a Common Lisp system which wraps the
@@ -33461,7 +33461,7 @@ the elements in compound type specifier, e.g. @code{dimensions} in
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/type-templates")
(url "https://codeberg.org/shinmera/type-templates")
(commit commit)))
(file-name (git-file-name "cl-type-templates" version))
(sha256
@@ -33474,7 +33474,7 @@ the elements in compound type specifier, e.g. @code{dimensions} in
(list sbcl-alexandria
sbcl-documentation-utils
sbcl-form-fiddle))
(home-page "https://shinmera.github.io/type-templates/")
(home-page "https://shinmera.com/docs/type-templates/")
(synopsis "Library for defining and expanding templated functions")
(description
"The Type-Templates library allows you to define types and template
@@ -33535,7 +33535,7 @@ reasoning about types, but without consing.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/uax-14")
(url "https://codeberg.org/shinmera/uax-14")
(commit commit)))
(file-name (git-file-name "uax-14" version))
(sha256
@@ -33547,7 +33547,7 @@ reasoning about types, but without consing.")
(list sbcl-documentation-utils))
(arguments
`(#:asd-systems '("uax-14")))
(home-page "https://shinmera.github.io/uax-14/")
(home-page "https://shinmera.com/docs/uax-14/")
(synopsis "Unicode Standard Annex #14 for standardised line breaking")
(description
"This is an implementation of the Unicode Standards Annex
@@ -33618,7 +33618,7 @@ RFC7564.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/ubiquitous")
(url "https://codeberg.org/shinmera/ubiquitous")
(commit commit)))
(file-name (git-file-name "ubiquitous" version))
(sha256
@@ -33629,7 +33629,7 @@ RFC7564.")
(arguments
'(#:asd-systems '("ubiquitous"
"ubiquitous-concurrent")))
(home-page "https://shinmera.github.io/ubiquitous/")
(home-page "https://shinmera.com/docs/ubiquitous/")
(synopsis "Application configuration mechanism for Common Lisp")
(description
"@code{UBIQUITOUS} is a very easy-to-use library for persistent
@@ -34136,7 +34136,7 @@ algorithms.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/verbose/")
(url "https://codeberg.org/shinmera/verbose/")
(commit commit)))
(file-name (git-file-name "verbose" version))
(sha256
@@ -34145,7 +34145,7 @@ algorithms.")
(inputs
(list sbcl-bordeaux-threads sbcl-dissect sbcl-documentation-utils
sbcl-local-time sbcl-piping))
(home-page "https://shinmera.github.io/verbose/")
(home-page "https://shinmera.com/docs/verbose/")
(synopsis "Logging framework using the piping library")
(description
"This is a Common Lisp library providing logging faciltiy similar to
@@ -35065,7 +35065,7 @@ reading and writing.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/zippy/")
(url "https://codeberg.org/shinmera/zippy/")
(commit commit)))
(sha256
(base32 "16cvyyf2nzd9r3fcy4w6d5wh8n3x833wldmrxmnzd3k2xrkhzfl9"))
@@ -35094,7 +35094,7 @@ can read and write zip files. It features:
@item can compress stream->stream;
@item extensible for other encryption and compression mechanisms.
@end itemize\n")
(home-page "https://shinmera.github.io/zippy/")
(home-page "https://shinmera.com/docs/zippy/")
(license license:zlib))))
(define-public cl-zippy
+1 -1
View File
@@ -4666,7 +4666,7 @@ the tensors contained therein.")
libxml2
llvm-19
opencl-clhpp
opencl-headers
opencl-headers-2022
rang
mesa
mesa-opencl
+2 -3
View File
@@ -1939,7 +1939,7 @@ compresses it.")
(define-public claws-mail
(package
(name "claws-mail")
(version "4.3.1")
(version "4.4.0")
(source
(origin
(method url-fetch)
@@ -1948,7 +1948,7 @@ compresses it.")
version ".tar.xz"))
(sha256
(base32
"19k8yii61n6j80riw6i8nzypygb0kv3b6npw5ljmiav7qw8g5bfq"))))
"0nr5r8lzg44sdawa8hjdadgbnpnh0m0m51j1h1cpmk8gbyfm9q03"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags
@@ -1990,7 +1990,6 @@ compresses it.")
compface
curl
dbus
dbus-glib
enchant
expat
fontconfig
+24 -8
View File
@@ -6078,29 +6078,38 @@ parts of it.")
(define-public openblas
(package
(name "openblas")
(version "0.3.30")
(version "0.3.31")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/xianyi/OpenBLAS")
(url "https://github.com/OpenMathLib/OpenBLAS")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"08crjjs7avnkk7l226pghhz68mw9ak62xcghc9hdpshbflwzd0vy"))))
"1ifbbk4mg4ykm92i9b09wwbcwpyzlfzn8lhds8f3p7cbcga7q530"))))
;; To build the package, we can either rely on a preset Makefile, or
;; generate a new one through a CMake configuration.
;; We choose the first option, so we delete the configure phase and we set
;; the build system to gnu-build-system to build the package through the
;; 'make' command.
(build-system gnu-build-system)
(arguments
(list
;; Set the test target (but tests are indeed already run in the build
;; phase, which calls 'make -C test all').
#:test-target "test"
;; No default baseline is supplied for powerpc-linux.
#:substitutable? (not (target-ppc32?))
#:make-flags
#~(list (string-append "PREFIX=" #$output)
"CFLAGS=-O3" ; optimization flags
"FFLAGS=-O3" ; optimization flags
"SHELL=bash"
"DEBUG=1" ; enable debug symbols
"MAKE_NB_JOBS=0" ;use jobserver for submakes
"NO_STATIC=1" ;avoid a 67 MiB static archive
"DEBUG=1" ; enable debug symbols -g
"MAKE_NB_JOBS=0" ; use jobserver for submakes
"NO_STATIC=1" ; avoid a 67 MiB static archive
;; This is the maximum number of threads OpenBLAS will ever use
;; (that is, if $OPENBLAS_NUM_THREADS is greater than that, then
@@ -6109,6 +6118,13 @@ parts of it.")
;; obviously wrong.
"NUM_THREADS=128"
;; OpenMP support prevents deadlocks when multithreaded Openblas
;; is called from an OpenMP parallel region and takes care of
;; deactivating threads when necessary. See
;; http://www.openmathlib.org/OpenBLAS/docs/faq/#using-openblas-with-openmp
;; for more details.
"USE_OPENMP=1"
;; DYNAMIC_ARCH is only supported on some architectures.
;; DYNAMIC_ARCH combined with TARGET=GENERIC provides a library
;; which uses the optimizations for the detected CPU. This can
@@ -6136,13 +6152,13 @@ parts of it.")
((target-riscv64?)
'("TARGET=RISCV64_GENERIC"))
(else '())))
;; no configure script
#:phases
#~(modify-phases %standard-phases
;; Skip configure phase since we rely on a preset Makefile.
(delete 'configure)
;; Get libgfortran found when building in utest.
(add-before 'build 'set-extralib
(lambda* (#:key inputs #:allow-other-keys)
;; Get libgfortran found when building in utest.
(setenv "FEXTRALIB"
(string-append
"-L"
+139 -88
View File
@@ -38,6 +38,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
@@ -51,6 +52,8 @@
#:use-module (gnu packages libevent)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages linux)
#:use-module (gnu packages oneapi)
#:use-module (gnu packages opencl)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages profiling)
#:use-module (gnu packages python)
@@ -64,9 +67,12 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rocm)
#:use-module (gnu packages rocm-tools)
#:use-module (gnu packages ssh)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xdisorg)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
@@ -105,42 +111,43 @@
(native-inputs
(list pkg-config))
(arguments
`(#:configure-flags '("--localstatedir=/var")
#:phases
(modify-phases %standard-phases
(add-before 'check 'skip-linux-libnuma-test
(lambda _
;; Arrange to skip 'tests/linux-libnuma', which fails on some
;; machines: <https://github.com/open-mpi/hwloc/issues/213>.
(substitute* "tests/linux-libnuma.c"
(("numa_available\\(\\)")
"-1"))))
(add-after 'install 'refine-libnuma
;; Give -L arguments for libraries to avoid propagation
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "lib"))
(numa (assoc-ref inputs "numactl")))
(substitute* (map (lambda (f) (string-append out "/" f))
'("lib/pkgconfig/hwloc.pc" "lib/libhwloc.la"))
(("-lnuma" lib)
(string-append "-L" numa "/lib " lib))))))
(add-after 'install 'avoid-circular-references
(lambda* (#:key outputs #:allow-other-keys)
(let ((lib (assoc-ref outputs "lib")))
;; Suppress the 'prefix=' and 'exec_prefix=' lines so that the
;; "lib" output doesn't refer to "out".
(substitute* (string-append lib "/lib/pkgconfig/hwloc.pc")
(("^.*prefix=.*$")
"")))))
(add-after 'install 'move-man3-pages
(lambda* (#:key outputs #:allow-other-keys)
;; Move section 3 man pages to the "doc" output.
(let ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
(copy-recursively (string-append out "/share/man/man3")
(string-append doc "/share/man/man3"))
(delete-file-recursively
(string-append out "/share/man/man3"))))))))
(list #:configure-flags
#~(list "--localstatedir=/var")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'skip-linux-libnuma-test
(lambda _
;; Arrange to skip 'tests/linux-libnuma', which fails on some
;; machines: <https://github.com/open-mpi/hwloc/issues/213>.
(substitute* "tests/linux-libnuma.c"
(("numa_available\\(\\)")
"-1"))))
(add-after 'install 'refine-libnuma
;; Give -L arguments for libraries to avoid propagation
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "lib"))
(numa (assoc-ref inputs "numactl")))
(substitute* (map (lambda (f) (string-append out "/" f))
'("lib/pkgconfig/hwloc.pc" "lib/libhwloc.la"))
(("-lnuma" lib)
(string-append "-L" numa "/lib " lib))))))
(add-after 'install 'avoid-circular-references
(lambda* (#:key outputs #:allow-other-keys)
(let ((lib (assoc-ref outputs "lib")))
;; Suppress the 'prefix=' and 'exec_prefix=' lines so that the
;; "lib" output doesn't refer to "out".
(substitute* (string-append lib "/lib/pkgconfig/hwloc.pc")
(("^.*prefix=.*$")
"")))))
(add-after 'install 'move-man3-pages
(lambda* (#:key outputs #:allow-other-keys)
;; Move section 3 man pages to the "doc" output.
(let ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
(copy-recursively (string-append out "/share/man/man3")
(string-append doc "/share/man/man3"))
(delete-file-recursively
(string-append out "/share/man/man3"))))))))
(home-page "https://www.open-mpi.org/projects/hwloc/")
(synopsis "Abstraction of hardware architectures")
(description
@@ -160,7 +167,7 @@ bind processes, and much more.")
(define-public hwloc-2
(package
(inherit hwloc-1)
(version "2.12.2")
(version "2.13.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.open-mpi.org/release/hwloc/v"
@@ -168,34 +175,59 @@ bind processes, and much more.")
"/hwloc-" version ".tar.bz2"))
(sha256
(base32
"182v0n2mpnbvdsw0gjnbmaj027k2jxmw7yphi89i9dgb1zbn2gjn"))))
"1aqdznqp7f18yg95vbr5n6ccxxdiywacygvn3wbhzn7bnspkdsaj"))
;; XXX: Remove after updating package from 2.13.0.
(patches (search-patches "hwloc-add-with-opencl.patch"))))
(native-inputs (modify-inputs (package-native-inputs hwloc-1)
(append autoconf)
(append automake)
(append libtool)
(append opencl-headers)
(append bash))) ;for completion tests
(inputs (modify-inputs (package-inputs hwloc-1)
(append level-zero)
;; XXX: rocm-smi requires libdrm/drm.h but doesn't propagate a
;; package providing these. For now, libdrm is used to provide
;; this header.
(append libdrm)
(append libxml2)
(append opencl-icd-loader)
(append rocm-smi-lib)
(delete "numactl"))) ;libnuma is no longer needed.
(arguments
(substitute-keyword-arguments (package-arguments hwloc-1)
((#:configure-flags flags '())
#~(cons* (string-append "--with-opencl="
#$(this-package-input "opencl-icd-loader"))
"--enable-rsmi"
(string-append "--with-rocm="
#$(this-package-input "rocm-smi-lib"))
#$flags))
((#:phases phases)
`(modify-phases ,phases
(replace 'skip-linux-libnuma-test
(lambda _
;; Arrange to skip 'tests/hwloc/linux-libnuma', which fails on
;; some machines: <https://github.com/open-mpi/hwloc/issues/213>.
(substitute* "tests/hwloc/linux-libnuma.c"
(("numa_available\\(\\)")
"-1"))))
(add-before 'check 'skip-tests-that-require-/sys
(lambda _
;; 'test-gather-topology.sh' requires /sys as of 2.9.0; skip it.
(setenv "HWLOC_TEST_GATHER_TOPOLOGY" "0")))
(add-before 'check 'skip-test-that-fails-on-qemu
(lambda _
;; Skip test that fails on emulated hardware due to QEMU bug:
;; <https://bugs.gnu.org/40342>.
(substitute* "tests/hwloc/hwloc_get_last_cpu_location.c"
(("hwloc_topology_init" all)
(string-append "exit (77);\n" all)))))))))))
#~(modify-phases #$phases
(add-after 'unpack 'delete-configure
(lambda _
;; Remove configure file to generate it with patch.
(delete-file "configure")))
(replace 'skip-linux-libnuma-test
(lambda _
;; Arrange to skip 'tests/hwloc/linux-libnuma', which fails on
;; some machines: <https://github.com/open-mpi/hwloc/issues/213>.
(substitute* "tests/hwloc/linux-libnuma.c"
(("numa_available\\(\\)")
"-1"))))
(add-before 'check 'skip-tests-that-require-/sys
(lambda _
;; 'test-gather-topology.sh' requires /sys as of 2.9.0; skip it.
(setenv "HWLOC_TEST_GATHER_TOPOLOGY" "0")))
(add-before 'check 'skip-test-that-fails-on-qemu
(lambda _
;; Skip test that fails on emulated hardware due to QEMU bug:
;; <https://bugs.gnu.org/40342>.
(substitute* "tests/hwloc/hwloc_get_last_cpu_location.c"
(("hwloc_topology_init" all)
(string-append "exit (77);\n" all)))))))))))
(define-public hwloc
;; The latest stable series of hwloc.
@@ -246,43 +278,43 @@ bind processes, and much more.")
(outputs '("out" "debug"))
(arguments
(list
#:configure-flags #~`(#$(string-append
"CFLAGS=-g -O2"
" -Wno-error=implicit-function-declaration"
" -Wno-error=incompatible-pointer-types")
"--enable-mpi-ext=affinity" ;cr doesn't work
"--with-sge"
"--disable-static"
#:configure-flags #~(list (string-append
"CFLAGS=-g -O2"
" -Wno-error=implicit-function-declaration"
" -Wno-error=incompatible-pointer-types")
"--enable-mpi-ext=affinity" ;cr doesn't work
"--with-sge"
"--disable-static"
#$@(if (package? (this-package-input "valgrind"))
#~("--enable-memchecker"
"--with-valgrind")
#~("--without-valgrind"))
#$@(if (package? (this-package-input "valgrind"))
#~("--enable-memchecker"
"--with-valgrind")
#~("--without-valgrind"))
"--with-hwloc=external"
"--with-libevent"
"--with-hwloc=external"
"--with-libevent"
;; Help 'orterun' and 'mpirun' find their tools
;; under $prefix by default.
"--enable-mpirun-prefix-by-default"
;; Help 'orterun' and 'mpirun' find their tools
;; under $prefix by default.
"--enable-mpirun-prefix-by-default"
;; InfiniBand support
"--enable-openib-control-hdr-padding"
"--enable-openib-dynamic-sl"
"--enable-openib-udcm"
"--enable-openib-rdmacm"
"--enable-openib-rdmacm-ibaddr"
;; InfiniBand support
"--enable-openib-control-hdr-padding"
"--enable-openib-dynamic-sl"
"--enable-openib-udcm"
"--enable-openib-rdmacm"
"--enable-openib-rdmacm-ibaddr"
;; Enable support for the 'Process Management
;; Interface for Exascale' (PMIx) used e.g. by
;; Slurm for the management communication and
;; coordination of MPI processes.
"--with-pmix=internal"
;; Enable support for the 'Process Management
;; Interface for Exascale' (PMIx) used e.g. by
;; Slurm for the management communication and
;; coordination of MPI processes.
"--with-pmix=internal"
;; Enable support for SLURM's Process Manager
;; Interface (PMI).
,(string-append "--with-pmi="
#$(this-package-input "slurm")))
;; Enable support for SLURM's Process Manager
;; Interface (PMI).
(string-append "--with-pmi="
#$(this-package-input "slurm")))
#:phases #~(modify-phases %standard-phases
;; opensm is needed for InfiniBand support.
(add-after 'unpack 'find-opensm-headers
@@ -432,6 +464,25 @@ software vendors, application developers and computer science researchers.")
#:disallowed-references (list (canonical-package gcc))))))
;; XXX: ROCm support in Open MPI is enabled in a variant and not in the base
;; package due to its dependency rocm-hip-runtime retaining references to
;; clang-rocm, which causes the closure to go from ~400MB to ~2.4GB. See
;; https://codeberg.org/guix/guix/issues/5585
(define-public openmpi-rocm
(package/inherit openmpi-5
(name "openmpi-rocm")
(arguments
(substitute-keyword-arguments (package-arguments openmpi-5)
((#:configure-flags flags '())
#~(cons* (string-append "--with-rocm="
#$(this-package-input "rocm-hip-runtime"))
#$flags))))
(inputs (modify-inputs (package-inputs openmpi-5)
;; XXX: This might break openmpi-5 for architectures where ROCm
;; is not supported.
(append rocm-hip-runtime)))
(synopsis "MPI-3 implementation (with ROCm support)")))
(define-public openmpi-c++
(package/inherit openmpi
(name "openmpi-c++")
+2
View File
@@ -62,6 +62,7 @@
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Junker <dk@junkeria.club>
;;; Copyright © 2026 Ivan Vilata i Balaguer <ivan@selidor.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -7925,6 +7926,7 @@ streaming audio server.")
(native-inputs
(list xorg-server-for-tests
gettext-minimal
gobject-introspection
python-pytest
python-setuptools))
(inputs
+2 -2
View File
@@ -5116,7 +5116,7 @@ IPv6 Internet connectivity - it also works over IPv4.")
(define-public yggtray
(package
(name "yggtray")
(version "0.1.14")
(version "0.1.15")
(source
(origin
(method git-fetch)
@@ -5125,7 +5125,7 @@ IPv6 Internet connectivity - it also works over IPv4.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1n4pg5fdbqf579d4xajah5y5dawizp8c8difwfsk7xrvjd3w5rcf"))))
(base32 "0dv1aaps1kj9dspnawcv0da2jj3pj03am1cynh9p31a2kin8j9jp"))))
(build-system cmake-build-system)
(arguments
(list
+3 -1
View File
@@ -75,14 +75,16 @@
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; Ensure writable cache directory
(setenv "HOME" "/tmp")
;; Remove test that relies on network access.
(delete-file "pynicotine/tests/unit/test_version.py")
(invoke "xvfb-run" "python" "-m" "unittest")))))))
(inputs (list bash-minimal
gspell
gtk
python-pycairo
python-pygobject
gobject-introspection
libappindicator
python-pytaglib))
(native-inputs (list gettext-minimal python-setuptools xvfb-run))
+24 -7
View File
@@ -59,11 +59,13 @@
;; If you update either of opencl-headers, opencl-clhpp or opencl-icd-loader
;; note that they are released together (lockstep) and must be updated
;; together.
;; together. Bump this version number and update hashes below
(define %opencl-version "2025.07.22")
(define-public opencl-headers
(package
(name "opencl-headers")
(version "2024.10.24")
(version %opencl-version)
(source
(origin
(method git-fetch)
@@ -72,7 +74,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0c3s6g8b3ggfr36cl27axdf3kn79kj6cb880jizcf6q89nw6nf98"))))
(base32 "1rir72cdigwkj3a0k8l066fgzvh41yf6vrczzflwh0h4vq3g7h2x"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; Not enabled during build.
(synopsis "The Khronos OpenCL headers")
@@ -81,10 +83,25 @@
(home-page "https://registry.khronos.org/OpenCL/")
(license license:asl2.0)))
(define-public opencl-headers-2022
(package
(inherit opencl-headers)
(name "opencl-headers")
(version "2022.09.30")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/OpenCL-Headers")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0vzzkj5kd0invm5pvzlnhdl21n00jci6131a2cjviyz0vxp7xf2m"))))))
(define-public opencl-clhpp
(package
(name "opencl-clhpp")
(version "2024.10.24")
(version %opencl-version)
(source
(origin
(method git-fetch)
@@ -93,7 +110,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1s9z30p80qc1dgp04wvc6szgcs4r167m3nk9622d2bbaaalgd5vg"))))
(base32 "1d7zyf2s2xpa002c36a081gyldai0mph3pjnyvswhx34c2b8yi44"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ;The regression tests require a lot more dependencies.
@@ -110,7 +127,7 @@
(define-public opencl-icd-loader
(package
(name "opencl-icd-loader")
(version "2024.10.24")
(version %opencl-version)
(source (origin
(method git-fetch)
(uri (git-reference
@@ -119,7 +136,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"0rnyx83iwisxfj818dzf016fmi62kk1hrlfav0b8a1pjfbzmvr03"))))
"12y5v3ri9dqm3zbhg6axy02hbcb0g23f44m2jvyvc2zv0lvy42wg"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; Tests need stub loader setup.
(native-search-paths
+4 -4
View File
@@ -12,7 +12,7 @@
;;; Copyright © 2019-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020, 2023, 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2020 Jesse Gibbons <jgibbons2357+guix@gmail.com>
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
@@ -188,8 +188,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "1.5.0")
(commit "deedd482e437182dc8e35b9ef260cfd0dc68e7f2")
(revision 1))
(commit "520785e315eddbe47199ac557e88e60eca3ae97c")
(revision 2))
(package
(name "guix")
@@ -205,7 +205,7 @@
(commit commit)))
(sha256
(base32
"14rch8ycl3zy0da4xkrnbyjsxlwnfcm30dfrvjqcgz5s2v71jiaq"))
"1kkryhrr2vxyirr5xzl69386kvy9rqlkpz10qbdv222dw628lcda"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
+45
View File
@@ -19,6 +19,7 @@
;;; Copyright © 2024 Romain Garbage <romain.garbage@inria.fr>
;;; Copyright © 2024 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Reza Housseini <reza@housseini.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -833,3 +834,47 @@ outside of a PMIx-enabled environment.")
(home-page "https://openpmix.github.io/")
;; The provided license is kind of BSD-style but specific.
(license (license:fsf-free "https://github.com/openpmix/prrte?tab=License-1-ov-file#License-1-ov-file"))))
(define-public python-simple-slurm
(package
(name "python-simple-slurm")
(version "0.3.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/amq92/simple_slurm")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1vfbd8rp4qd9375f2v26dm99c53jc3x3dpcllz812ly964qi7rnd"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list
;; these tests need slurm installed
"--deselect=test/test_cli.py::Testing::test_01_using_equal"
"--deselect=test/test_cli.py::Testing::test_02_using_spaces"
"--deselect=test/test_cli.py::Testing::test_03_using_equal_and_spaces"
"--deselect=test/test_core.py::Testing::test_14_srun_returncode"
"--deselect=test/test_core.py::Testing::test_15_sbatch_execution"
"--deselect=test/test_core.py::Testing::test_19_sbatch_execution_with_job_file"
"--deselect=test/test_core.py::Testing::test_22_parsable_sbatch_execution")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'hardcode-sbatch-and-srun-command
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "simple_slurm/core.py"
(("\"sbatch\"")
(string-append "\"" (search-input-file inputs "/bin/sbatch") "\""))
(("\"srun\"")
(string-append "\"" (search-input-file inputs "/bin/srun") "\""))))))))
(native-inputs (list python-setuptools python-pytest))
(inputs (list slurm))
(home-page "https://github.com/amq92/simple_slurm")
(synopsis "Simple Python wrapper for Slurm with flexibility in mind")
(description
"This package provides a simple Python wrapper for Slurm with flexibility in
mind.")
(license license:agpl3)))
+4 -1
View File
@@ -45,6 +45,7 @@
;;; Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2025 Isidor Zeuner <guix@quidecco.pl>
;;; Copyright © 2026 John Dawson <dawson.john.andrew@gmail.com>
;;; Copyright © 2026 Ivan Vilata i Balaguer <ivan@selidor.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -136,6 +137,7 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages wm)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
@@ -872,7 +874,8 @@ command-line programs (@command{pwqcheck}, @command{pwqfilter}, and
(string-append #$output "/share/man/man1")))))))
(build-system pyproject-build-system)
(inputs
(list bash-minimal gtk+ python-xdo python-gpg python-pygobject))
(list bash-minimal gtk gobject-introspection python-i3ipc python-xdo
python-gpg python-pygobject))
(propagated-inputs
(list xclip))
(native-inputs
@@ -2,28 +2,16 @@ Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-08
License: ASL2.0
Remove [patch.crates-io] and [patch.'ssh://...'] sections and
exclude network-proxy from workspace members.
Remove [patch.crates-io] and [patch.'ssh://...'] sections.
The [patch] sections point to git repositories which are unavailable
in an offline build. The vendored crossterm, ratatui,
tokio-tungstenite and tungstenite forks are provided as cargo-inputs
instead.
The network-proxy workspace member depends on rama which requires
Rust 1.91+.
--- a/codex-rs/Cargo.toml
+++ b/codex-rs/Cargo.toml
@@ -28,7 +28,6 @@
"lmstudio",
"login",
"mcp-server",
- "network-proxy",
"ollama",
"process-hardening",
"protocol",
@@ -311,16 +310,3 @@
@@ -311,16 +311,3 @@
debug = 1 # Reduce debug symbol size
inherits = "test"
opt-level = 0
@@ -0,0 +1,92 @@
From 8d651d7247c4e8cf07ba805712cdb09e8095dd89 Mon Sep 17 00:00:00 2001
Message-ID: <8d651d7247c4e8cf07ba805712cdb09e8095dd89.1773006315.git.dannym@friendly-machines.com>
From: Danny Milosavljevic <dannym@friendly-machines.com>
Date: Sun, 8 Mar 2026 21:44:05 +0000
Subject: [PATCH] Scope native-comp trampoline disabling to spy-on only
See: <https://github.com/jorgenschaefer/emacs-buttercup/pull/257>
buttercup-with-cleanup disabled native-comp-enable-subr-trampolines
for the entire spec execution. This was a workaround for Emacs
bug#61880, where trampoline compilation fails when spy-on redefines
primitives that the trampoline compiler itself depends on (e.g.
file-exists-p).
However, disabling trampolines globally has the side effect that fset
overrides of C primitives become invisible to natively compiled code.
This breaks shut-up's message override when called indirectly through
native-compiled functions like display-message-or-buffer (from
simple.eln), because without a trampoline, the native code calls the C
primitive directly, bypassing the fset'd function.
Move the trampoline disabling from buttercup-with-cleanup into
buttercup--spy-on-and-call-replacement, scoping it to just the fset
call that installs the spy. This avoids the trampoline compilation
issue while allowing other fset overrides (e.g. from shut-up or
cl-letf) to work correctly with native-compiled callers.
---
buttercup.el | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/buttercup.el b/buttercup.el
index 07e003f..417786d 100644
--- a/buttercup.el
+++ b/buttercup.el
@@ -1293,12 +1293,23 @@ responsibility to ensure ARG is a command."
(error "Spies can only be created in `before-each' or `it'"))))
+(defvar native-comp-enable-subr-trampolines)
+(defvar comp-enable-subr-trampolines)
+
(defun buttercup--spy-on-and-call-replacement (spy fun)
"Replace the function in symbol SPY with a spy calling FUN."
(let ((orig-function (and (fboundp spy) (symbol-function spy))))
(when (buttercup--add-cleanup (lambda ()
(fset spy orig-function)))
- (fset spy (buttercup--make-spy fun)))))
+ ;; Disable subr trampoline generation around the fset call.
+ ;; Redefining certain primitives causes trampoline compilation
+ ;; to fail because the trampoline compiler itself depends on
+ ;; primitives that may have just been redefined.
+ ;; See <https://github.com/jorgenschaefer/emacs-buttercup/issues/230>
+ ;; and <https://debbugs.gnu.org/61880>.
+ (let ((native-comp-enable-subr-trampolines nil)
+ (comp-enable-subr-trampolines nil))
+ (fset spy (buttercup--make-spy fun))))))
(defun buttercup--make-spy (fun)
"Create a new spy function wrapping FUN and tracking every call to itself."
@@ -1343,24 +1354,13 @@ responsibility to ensure ARG is a command."
Should always be set to a value that is not `listp', except while
in a `buttercup-with-cleanup' environment.")
-(defvar native-comp-enable-subr-trampolines)
-(defvar comp-enable-subr-trampolines)
-
(defmacro buttercup-with-cleanup (&rest body)
"Execute BODY, cleaning spys and the rest afterwards."
- `(,@(if (fboundp 'with-suppressed-warnings)
- '(with-suppressed-warnings ((obsolete comp-enable-subr-trampolines)))
- '(progn))
- (let ((buttercup--cleanup-functions nil)
- ;; Redefining certain primitive's trampolines will cause problems,
- ;; see https://github.com/jorgenschaefer/emacs-buttercup/issues/230 and
- ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61880
- (comp-enable-subr-trampolines nil)
- (native-comp-enable-subr-trampolines nil))
- (unwind-protect (progn ,@body)
- (dolist (fun buttercup--cleanup-functions)
- (ignore-errors
- (funcall fun)))))))
+ `(let ((buttercup--cleanup-functions nil))
+ (unwind-protect (progn ,@body)
+ (dolist (fun buttercup--cleanup-functions)
+ (ignore-errors
+ (funcall fun))))))
(defun buttercup--add-cleanup (function)
"Register FUNCTION for cleanup in `buttercup-with-cleanup'."
base-commit: cc5a2ab7c7f18aaaf525fac61fe59bae5ad018dd
--
2.52.0
@@ -1,40 +0,0 @@
diff --git a/test/mke2fs.dump b/test/mke2fs.dump
index 8e63662..0c25798 100644
--- a/test/mke2fs.0.dump
+++ b/test/mke2fs.0.dump
@@ -11,7 +11,7 @@
Inode count: 8192
Block count: 32768
Reserved block count: 1638
-Free blocks: 26568
+Free blocks: 26566
Free inodes: 8141
First block: 1
Block size: 1024
@@ -29,7 +29,7 @@
Maximum mount count: -1
Last checked: Sat Jan 1 00:00:00 2000
Check interval: 0 (<none>)
-Lifetime writes: 141 kB
+Lifetime writes: 143 kB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
@@ -51,13 +51,13 @@
Journal start: 0
-Group 0: (Blocks 1-8192) csum 0x74a0 [ITABLE_ZEROED]
+Group 0: (Blocks 1-8192) csum 0x3f30 [ITABLE_ZEROED]
Primary superblock at 1, Group descriptors at 2-2
- Block bitmap at 3 (+2), csum 0x16cec4db
+ Block bitmap at 3 (+2), csum 0x8d67cdef
Inode bitmap at 7 (+6), csum 0xb1052088
Inode table at 11-522 (+10)
- 6093 free blocks, 1997 free inodes, 18 directories, 1997 unused inodes
- Free blocks: 2100-8192
+ 6091 free blocks, 1997 free inodes, 18 directories, 1997 unused inodes
+ Free blocks: 2102-8192
Free inodes: 52-2048
Group 1: (Blocks 8193-16384) csum 0x8fde [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
Backup superblock at 8193, Group descriptors at 8194-8194
@@ -0,0 +1,90 @@
From f30cc463a948260088b496c3609dd91c83c0ce1b Mon Sep 17 00:00:00 2001
From: Brice Goglin <Brice.Goglin@inria.fr>
Date: Mon, 16 Feb 2026 15:00:53 +0100
Subject: [PATCH] configure: add --with-opencl=<dir>
For non-ROCm non-CUDA installs.
Thanks to Romain Garbage for the suggestion.
Signed-off-by: Brice Goglin <Brice.Goglin@inria.fr>
(cherry picked from commit 462eff5a4541dfcb3db15034490c796c4f1d8ec6)
---
config/hwloc.m4 | 18 +++++++++++++++---
config/hwloc_internal.m4 | 13 ++++++++++++-
2 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/config/hwloc.m4 b/config/hwloc.m4
index e0057e8e5..4a26a7ec0 100644
--- a/config/hwloc.m4
+++ b/config/hwloc.m4
@@ -1,7 +1,7 @@
dnl -*- Autoconf -*-
dnl
dnl SPDX-License-Identifier: BSD-3-Clause
-dnl Copyright © 2009-2025 Inria. All rights reserved.
+dnl Copyright © 2009-2026 Inria. All rights reserved.
dnl Copyright © 2009-2012, 2015-2017, 2020, 2023, 2025 Université Bordeaux
dnl Copyright © 2004-2005 The Trustees of Indiana University and Indiana
dnl University Research and Technology
@@ -1365,6 +1365,18 @@ return rsmi_init(0);
echo "**** OpenCL configuration"
hwloc_opencl_happy=yes
+
+ if test "x$with_opencl" != x -a "x$with_opencl" != xyes; then
+ opencl_dir=$with_opencl
+ AC_MSG_NOTICE([using custom OpenCL install path $opencl_dir ...])
+ else
+ AC_MSG_NOTICE([assuming OpenCL is installed in standard directories ...])
+ fi
+ if test "x$opencl_dir" != x; then
+ HWLOC_OPENCL_CPPFLAGS="-I$opencl_dir/include/"
+ HWLOC_OPENCL_LDFLAGS="-L$opencl_dir/lib/"
+ fi
+
case ${target} in
*-*-darwin*)
# On Darwin, only use the OpenCL framework
@@ -1387,8 +1399,8 @@ return clGetDeviceIDs(0, 0, 0, NULL, NULL);
;;
*)
# On Others, look for OpenCL at normal locations
- HWLOC_OPENCL_CPPFLAGS="$HWLOC_CUDA_COMMON_CPPFLAGS"
- HWLOC_OPENCL_LDFLAGS="$HWLOC_CUDA_COMMON_LDFLAGS"
+ HWLOC_OPENCL_CPPFLAGS="$HWLOC_OPENCL_CPPFLAGS $HWLOC_CUDA_COMMON_CPPFLAGS"
+ HWLOC_OPENCL_LDFLAGS="$HWLOC_OPENCL_LDFLAGS $HWLOC_CUDA_COMMON_LDFLAGS"
if test "x$rocm_dir" != x; then
if test -d "$rocm_dir/include/CL"; then
HWLOC_OPENCL_CPPFLAGS="$HWLOC_OPENCL_CPPFLAGS -I$rocm_dir/include/"
diff --git a/config/hwloc_internal.m4 b/config/hwloc_internal.m4
index da6505e91..1135a245f 100644
--- a/config/hwloc_internal.m4
+++ b/config/hwloc_internal.m4
@@ -1,7 +1,7 @@
dnl -*- Autoconf -*-
dnl
dnl SPDX-License-Identifier: BSD-3-Clause
-dnl Copyright © 2010-2025 Inria. All rights reserved.
+dnl Copyright © 2010-2026 Inria. All rights reserved.
dnl Copyright © 2009, 2011 Université Bordeaux
dnl Copyright © 2004-2005 The Trustees of Indiana University and Indiana
dnl University Research and Technology
@@ -147,6 +147,17 @@ AC_DEFUN([HWLOC_DEFINE_ARGS],[
[AC_MSG_ERROR([--with-amdgpu=<dir> missing the installation directory])])]
)
+ # OpenCL
+ AC_ARG_ENABLE([opencl],
+ AS_HELP_STRING([--disable-opencl],
+ [Disable the OpenCL device discovery]))
+ AC_ARG_WITH([opencl],
+ AS_HELP_STRING([--with-opencl=<dir>],
+ [Specify the OpenCL installation directory]),
+ [AS_IF([test "x$withval" = xyes -o "x$withval" = x],
+ [AC_MSG_ERROR([--with-opencl=<dir> missing the installation directory])])]
+ )
+
# LevelZero
AC_ARG_ENABLE([levelzero],
AS_HELP_STRING([--disable-levelzero],
@@ -1,89 +0,0 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-07
License: ASL2.0
Subject: Use libc::flock instead of unstable std File::try_lock().
The file_lock feature is tracked at <https://github.com/rust-lang/rust/issues/130994>
and is not yet stable in old Rust versions like Rust 1.88.
diff -ruN a/codex-rs/arg0/Cargo.toml b/codex-rs/arg0/Cargo.toml
--- a/codex-rs/arg0/Cargo.toml
+++ b/codex-rs/arg0/Cargo.toml
@@ -17,5 +17,6 @@
codex-core = { workspace = true }
codex-linux-sandbox = { workspace = true }
dotenvy = { workspace = true }
+libc = { workspace = true }
tempfile = { workspace = true }
tokio = { workspace = true, features = ["rt-multi-thread"] }
diff -ruN a/codex-rs/arg0/src/lib.rs b/codex-rs/arg0/src/lib.rs
--- a/codex-rs/arg0/src/lib.rs
+++ b/codex-rs/arg0/src/lib.rs
@@ -5,6 +5,8 @@
use codex_core::CODEX_APPLY_PATCH_ARG1;
#[cfg(unix)]
+use std::os::unix::io::AsRawFd;
+#[cfg(unix)]
use std::os::unix::fs::symlink;
use tempfile::TempDir;
@@ -13,6 +15,18 @@
const MISSPELLED_APPLY_PATCH_ARG0: &str = "applypatch";
const LOCK_FILENAME: &str = ".lock";
+// FIXME: Remove this helper when Rust provides stable file locking API.
+// The file_lock feature is tracked at <https://github.com/rust-lang/rust/issues/130994>.
+#[cfg(unix)]
+fn try_lock_exclusive(file: &File) -> std::io::Result<()> {
+ let ret = unsafe { libc::flock(file.as_raw_fd(), libc::LOCK_EX | libc::LOCK_NB) };
+ if ret == 0 {
+ Ok(())
+ } else {
+ Err(std::io::Error::last_os_error())
+ }
+}
+
/// Keeps the per-session PATH entry alive and locked for the process lifetime.
pub struct Arg0PathEntryGuard {
_temp_dir: TempDir,
@@ -216,7 +230,7 @@
.create(true)
.truncate(false)
.open(&lock_path)?;
- lock_file.try_lock()?;
+ try_lock_exclusive(&lock_file)?;
for filename in &[
APPLY_PATCH_ARG0,
@@ -307,10 +321,10 @@
Err(err) => return Err(err),
};
- match lock_file.try_lock() {
+ match try_lock_exclusive(&lock_file) {
Ok(()) => Ok(Some(lock_file)),
- Err(std::fs::TryLockError::WouldBlock) => Ok(None),
- Err(err) => Err(err.into()),
+ Err(ref e) if e.raw_os_error() == Some(libc::EWOULDBLOCK) => Ok(None),
+ Err(err) => Err(err),
}
}
@@ -318,6 +332,7 @@
mod tests {
use super::LOCK_FILENAME;
use super::janitor_cleanup;
+ use super::try_lock_exclusive;
use std::fs;
use std::fs::File;
use std::path::Path;
@@ -350,7 +365,7 @@
let dir = root.path().join("locked");
fs::create_dir(&dir)?;
let lock_file = create_lock(&dir)?;
- lock_file.try_lock()?;
+ try_lock_exclusive(&lock_file)?;
janitor_cleanup(root.path())?;
@@ -1,91 +0,0 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-01-25
License: ASL2.0
Subject: Use libc::flock instead of unstable std File::try_lock()/try_lock_shared().
The file_lock feature is tracked at <https://github.com/rust-lang/rust/issues/130994>.
and is not yet stable in old Rust versions like Rust 1.85.
The file_lock feature was stabilized after Rust 1.88, but we only have 1.88.
diff -u a/codex-rs/core/src/message_history.rs b/codex-rs/core/src/message_history.rs
--- a/codex-rs/core/src/message_history.rs
+++ b/codex-rs/core/src/message_history.rs
@@ -41,6 +41,8 @@
use std::os::unix::fs::OpenOptionsExt;
#[cfg(unix)]
use std::os::unix::fs::PermissionsExt;
+#[cfg(unix)]
+use std::os::unix::io::AsRawFd;
/// Filename that stores the message history inside `~/.codex`.
const HISTORY_FILENAME: &str = "history.jsonl";
@@ -51,6 +53,28 @@
const MAX_RETRIES: usize = 10;
const RETRY_SLEEP: Duration = Duration::from_millis(100);
+// FIXME: Remove these helpers when Rust provides stable file locking API
+// The file_lock feature is tracked at <https://github.com/rust-lang/rust/issues/130994>.
+#[cfg(unix)]
+fn try_lock_exclusive(file: &File) -> std::io::Result<()> {
+ let ret = unsafe { libc::flock(file.as_raw_fd(), libc::LOCK_EX | libc::LOCK_NB) };
+ if ret == 0 {
+ Ok(())
+ } else {
+ Err(std::io::Error::last_os_error())
+ }
+}
+
+#[cfg(unix)]
+fn try_lock_shared(file: &File) -> std::io::Result<()> {
+ let ret = unsafe { libc::flock(file.as_raw_fd(), libc::LOCK_SH | libc::LOCK_NB) };
+ if ret == 0 {
+ Ok(())
+ } else {
+ Err(std::io::Error::last_os_error())
+ }
+}
+
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
pub struct HistoryEntry {
pub session_id: String,
@@ -126,7 +150,7 @@
tokio::task::spawn_blocking(move || -> Result<()> {
// Retry a few times to avoid indefinite blocking when contended.
for _ in 0..MAX_RETRIES {
- match history_file.try_lock() {
+ match try_lock_exclusive(&history_file) {
Ok(()) => {
// While holding the exclusive lock, write the full line.
// We do not open the file with `append(true)` on Windows, so ensure the
@@ -137,10 +161,10 @@
enforce_history_limit(&mut history_file, history_max_bytes)?;
return Ok(());
}
- Err(std::fs::TryLockError::WouldBlock) => {
+ Err(ref e) if e.kind() == std::io::ErrorKind::WouldBlock => {
std::thread::sleep(RETRY_SLEEP);
}
- Err(e) => return Err(e.into()),
+ Err(e) => return Err(e),
}
}
@@ -341,7 +365,7 @@
// Open & lock file for reading using a shared lock.
// Retry a few times to avoid indefinite blocking.
for _ in 0..MAX_RETRIES {
- let lock_result = file.try_lock_shared();
+ let lock_result = try_lock_shared(&file);
match lock_result {
Ok(()) => {
@@ -368,7 +392,7 @@
// Not found at requested offset.
return None;
}
- Err(std::fs::TryLockError::WouldBlock) => {
+ Err(ref e) if e.kind() == std::io::ErrorKind::WouldBlock => {
std::thread::sleep(RETRY_SLEEP);
}
Err(e) => {
@@ -1,49 +0,0 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-01-25
License: ASL2.0
Subject: Use libc::flock instead of unstable std File::lock().
The file_lock feature is tracked at <https://github.com/rust-lang/rust/issues/130994>.
and is not yet stable in old Rust versions like Rust 1.85.
The file_lock feature was stabilized after Rust 1.88, but we only have 1.88.
diff -u a/codex-rs/execpolicy/Cargo.toml b/codex-rs/execpolicy/Cargo.toml
--- a/codex-rs/execpolicy/Cargo.toml
+++ b/codex-rs/execpolicy/Cargo.toml
@@ -19,6 +19,7 @@
[dependencies]
anyhow = { workspace = true }
clap = { workspace = true, features = ["derive"] }
+libc = { workspace = true }
multimap = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
diff -u a/codex-rs/execpolicy/src/amend.rs b/codex-rs/execpolicy/src/amend.rs
--- a/codex-rs/execpolicy/src/amend.rs
+++ b/codex-rs/execpolicy/src/amend.rs
@@ -1,4 +1,5 @@
use std::fs::OpenOptions;
+use std::os::unix::io::AsRawFd;
use std::io::Read;
use std::io::Seek;
use std::io::SeekFrom;
@@ -100,10 +101,14 @@
path: policy_path.to_path_buf(),
source,
})?;
- file.lock().map_err(|source| AmendError::LockPolicyFile {
- path: policy_path.to_path_buf(),
- source,
- })?;
+ // FIXME: Use file.lock() when Rust 1.91 is available
+ let ret = unsafe { libc::flock(file.as_raw_fd(), libc::LOCK_EX) };
+ if ret != 0 {
+ return Err(AmendError::LockPolicyFile {
+ path: policy_path.to_path_buf(),
+ source: std::io::Error::last_os_error(),
+ });
+ }
let len = file
.metadata()
+22
View File
@@ -616,6 +616,28 @@ using NumPy-like idioms.")
line drawing algorithm}.")
(license license:expat)))
(define-public python-catppuccin
(package
(name "python-catppuccin")
(version "2.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "catppuccin" version))
(sha256
(base32 "0d38gjn6661pb9jl4bg6l698aw4llir44xacrg8nj8xw6nzz6d9h"))))
(build-system pyproject-build-system)
(native-inputs
(list python-hatchling python-pytest
;; These are optional dependencies but required for tests.
python-matplotlib python-pygments python-rich))
(home-page "https://github.com/catppuccin/python")
(synopsis "Pastel palette for Python libraries")
(description "Catppuccin for Python is a soothing pastel pallete for Python
libraries. It aims to be the middle ground between low and high contrast
themes. It also includes themes for IPython, Matplotlib, Pygments and Rich.")
(license license:expat)))
(define-public python-calmjs-parse
(package
(name "python-calmjs-parse")
+35 -1
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2023 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2014, 2015, 2023, 2026 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2025 宋文武 <iyzsong@envs.net>
;;; Copyright © 2015, 2018-2021, 2023, 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015-2019, 2024, 2025 Efraim Flashner <efraim@flashner.co.il>
@@ -36,6 +36,7 @@
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2024, 2026 Sughosha <sughosha@disroot.org>
;;; Copyright © 2025 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2025 Laura Kirsch <laurakirsch240406@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -102,6 +103,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages kde-sdk)
#:use-module (gnu packages libevent)
@@ -5524,6 +5526,38 @@ different kinds of sliders, and much more.")
;; textengines/mathml/qwt_mml_document.{cpp,h} is dual LGPL2.1/GPL3 (either).
license:lgpl2.1 license:gpl3))))
(define-public jkqtplotter
(package
(name "jkqtplotter")
(version "4.0.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jkriege2/JKQtPlotter")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0yi80d8w4l69siia5rvdzakyzkm7vbpfk6ffcwc6vm6z0i58m9cl"))))
(build-system qt-build-system)
(inputs (list opencv qtsvg))
(arguments
(list
#:qtbase qtbase
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'delete-broken-binaries
(lambda _
(delete-file-recursively (string-append #$output "/bin")))))))
(home-page "https://jkriege2.github.io/JKQtPlotter/index.html")
(synopsis "Qt Plotting Library")
(description
"JKQTPlotter is a library of function and data plotter classes for Qt.
It includes a plotter widget and a LaTeX equation renderer and supports
a variety of graphs and charts.")
(license license:lgpl2.1+)))
(define-public dotherside
(package
(name "dotherside")
+22
View File
@@ -325,6 +325,28 @@ acts as the performance backbone for a wide variety of compute
applications running on AMD GPUs.")
(license license:expat)))
(define-public rocm-validationsuite
(package
(name "rocm-validationsuite")
(version %rocm-version)
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ROCm/rocmvalidationsuite/")
(commit (string-append "rocm-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1l577sd88f4f46am6w81n7rbswx39zy602xbqrk3zqb156k14s2s"))))
(build-system cmake-build-system)
(inputs (list rocblas))
(home-page "https://rocm.docs.amd.com/projects/ROCmValidationSuite/")
(synopsis "ROCm system validation and diagnostics")
(description "ROCm monitor for stress testing, detection and
troubleshooting issues impacting AMD GPUS in HPC environments.")
(license license:expat)))
(define hipblaslt-supported-targets
(list "gfx1100"
"gfx1101"
+1 -1
View File
@@ -293,7 +293,7 @@ available to ROCm and show their properties.")
"19jyymisxiikphzmq6h8vy5cg0r5dz3lxr5wvdf44frb8wxr8vla"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; Tests try to use git commit
(native-inputs (list git))
(native-inputs (list git-minimal/pinned))
(home-page "https://rocm.docs.amd.com/projects/ROCmCMakeBuildTools/")
(synopsis "ROCm cmake modules")
(description "ROCm cmake modules provides cmake modules for common build
+53 -369
View File
@@ -125,7 +125,6 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages ruby-xyz)
#:use-module (gnu packages rust)
#:use-module (gnu packages rust-sources)
#:use-module (gnu packages security-token)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages terminals)
@@ -837,374 +836,6 @@ Commit and SemVer specifications.")
"This package provides CLI Tool for codeberg similar to gh and glab.")
(license license:agpl3+)))
(define-public codex
(package
(name "codex")
(version (package-version rust-codex-0.98.0))
(source
(origin
(inherit (package-source rust-codex-0.98.0))
(patches (search-patches
"rust-codex-0.98.0-execpolicy-file-lock.patch"
"rust-codex-0.98.0-core-file-lock.patch"
"rust-codex-0.98.0-arg0-file-lock.patch"
"codex-0.98.0-remove-patch-sections.patch"
"rust-codex-0.98.0-test-shebangs.patch"
"rust-codex-0.98.0-test-timeout.patch"))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
#:cargo-install-paths '(list "cli" "exec" "exec-server"
"linux-sandbox" "mcp-server"
"app-server" "tui")
;; schema_fixtures_match_generated (upstream fixture is stale:
;; FileChange::Update in codex-protocol gained old_content,
;; new_content, move_path fields but the committed JSON schema
;; fixture was not regenerated).
#:cargo-test-flags '(list "--workspace"
"--exclude" "codex-app-server-protocol"
"--"
;; These tests exercise sandbox denial and
;; escalation, which requires Landlock to
;; cleanly deny filesystem access. Inside the
;; build container Landlock returns NotEnforced
;; and the sandbox binary panics instead.
;; Disabling Landlock would not help either,
;; since these tests need a working sandbox to
;; have anything to deny and escalate.
"--skip" "sandbox_denied_shell_returns_original_output"
"--skip" "shell_escalated_permissions_rejected_then_ok"
"--skip" "unified_exec_runs_under_sandbox"
;; These tests (in codex-exec) directly call
;; spawn_command_under_linux_sandbox to verify
;; that python and bash work correctly inside
;; the Landlock sandbox. The sandbox binary
;; (codex-exec) panics with LandlockRestrict
;; (exit code 101) before the inner command
;; even starts.
"--skip" "python_getpwuid_works_under_sandbox"
"--skip" "python_multiprocessing_lock_works_under_sandbox"
"--skip" "sandbox_distinguishes_command_and_policy_cwds"
;; These linux-sandbox tests directly invoke
;; the Landlock sandbox via
;; process_exec_tool_call; same root cause.
"--skip" "test_writable_root"
"--skip" "test_timeout"
"--skip" "test_root_read"
"--skip" "test_dev_null_write"
"--skip" "test_no_new_privs_is_enabled"
;; This test iterates many approval scenarios;
;; one of them
;; (danger_full_access_on_request_allows_network)
;; runs a command through the Landlock sandbox
;; binary, which panics with LandlockRestrict
;; inside the build container. Cargo --skip
;; cannot target individual scenarios, so we
;; skip the entire matrix.
"--skip" "approval_matrix_covers_all_modes"
;; This test verifies session-level patch
;; approval caching: approve once, skip
;; future prompts for the same file. When
;; Landlock is unavailable (as in the Guix
;; build container) the sandbox binary panics,
;; triggering the escalation-retry path, which
;; interferes with the approval cache and
;; causes a spurious re-prompt on the second
;; patch.
"--skip" "approving_apply_patch_for_session_skips_future_prompts_for_same_file"
;; These tests expect to interrupt a
;; long-running 'sleep 60' and receive
;; TurnAborted. Default test config is
;; OnRequest + ReadOnly. What happens:
;;
;; 1. ReadOnly wraps the command with
;; codex-linux-sandbox (Landlock-based).
;; 2. Landlock is unavailable in the Guix
;; build container, so the sandbox
;; binary exits instantly (~1 ms).
;; 3. Orchestrator gets SandboxErr::Denied.
;; wants_no_sandbox_approval(OnRequest)
;; returns false (sandboxing.rs:222),
;; so no escalation -- denial returned
;; directly.
;; 4. ToolEmitter::finish sends the error
;; to the mock model as
;; function_call_output.
;; 5. Second mock SSE response fires,
;; turn finishes with TurnComplete.
;; 6. Op::Interrupt arrives 100 ms later,
;; but the turn is already done --
;; TurnAborted is never emitted,
;; test times out.
;;
;; The similar interrupt_long_running_tool_
;; emits_turn_aborted passes because it
;; sends the interrupt with no delay and
;; has only one mock response (so the turn
;; cannot complete first).
"--skip" "interrupt_persists_turn_aborted_marker_in_next_request"
"--skip" "interrupt_tool_records_history_entries"
;; Upstream bug: test hardcodes "0.0.0" in the
;; expected user-agent string but the workspace
;; version is "0.98.0".
"--skip" "get_user_agent_returns_current_codex_user_agent"
;; Same upstream bug: mcp-server tests
;; check the initialize response which
;; includes "version": "0.0.0" but the
;; server returns "0.98.0".
"--skip" "test_codex_tool_passes_base_instructions"
"--skip" "test_shell_command_approval_triggers_elicitation"
"--skip" "test_patch_approval_triggers_elicitation"
;; These codex-exec-server tests need
;; "dotslash", a Meta tool that lazily
;; downloads pre-built binaries from a
;; JSON manifest. The test helper
;; create_transport runs
;; `dotslash -- fetch <path>` to obtain a
;; custom bash binary described in
;; exec-server/tests/suite/bash.
;; dotslash is not available in the build
;; container.
"--skip" "list_tools"
"--skip" "accept_elicitation_for_prompt_rule"
;;; Test isolation bug: each test in
;;; state/src/runtime.rs calls
;;; unique_temp_dir() to get its own
;;; temporary directory (and thus its
;;; own SQLite database). That function
;;; names directories using the current
;;; nanosecond timestamp, so when tests
;;; run in parallel several can receive
;;; the same name and open the same
;;; database. The initial SQLite
;;; migration runs CREATE TABLE threads
;;; (without IF NOT EXISTS), so any init
;;; after the first panics with "table
;;; threads already exists". Any of
;;; these tests
;;; can be the victim.
"--skip" "init_removes_legacy_state_db_files"
"--skip" "upsert_and_get_thread_memory"
"--skip" "get_last_n_thread_memories_for_cwd_matches_exactly"
"--skip" "upsert_thread_memory_errors_for_unknown_thread"
"--skip" "get_last_n_thread_memories_for_cwd_zero_returns_empty"
"--skip" "get_last_n_thread_memories_for_cwd_does_not_prefix_match"
"--skip" "deleting_thread_cascades_thread_memory")
#:cargo-package-crates
''(;;; Tier 0: No internal deps.
"codex-async-utils"
"codex-client"
"codex-execpolicy"
"codex-file-search"
"codex-git"
"codex-keyring-store"
"codex-utils-absolute-path"
"codex-utils-cache"
"codex-utils-cargo-bin"
"codex-utils-home-dir"
"codex-utils-json-to-toml"
"codex-utils-pty"
"codex-utils-readiness"
"codex-utils-string"
"codex-backend-openapi-models"
"codex-process-hardening"
"codex-ansi-escape"
;;; Tier 1: Depends on tier 0.
"codex-utils-image"
"codex-apply-patch"
"codex-protocol"
"codex-windows-sandbox"
"codex-api"
"codex-experimental-api-macros"
"codex-secrets"
"codex-execpolicy-legacy"
"codex-debug-client"
;;; Tier 2.
"codex-app-server-protocol"
"codex-rmcp-client"
"codex-otel"
"codex-state"
"codex-core"
"codex-linux-sandbox"
"codex-feedback"
;;; Tier 3.
"codex-arg0"
"codex-lmstudio"
"codex-login"
"codex-ollama"
"codex-common"
"codex-mcp-server"
"codex-backend-client"
"codex-responses-api-proxy"
;;; Tier 4.
"codex-cloud-requirements"
"codex-exec"
"codex-exec-server"
"codex-stdio-to-uds"
;; codex-network-proxy requires rama which needs Rust 1.91+.
"codex-chatgpt"
"codex-cloud-tasks-client"
;;; Tier 5.
"codex-app-server"
"codex-app-server-test-client"
"codex-tui"
;;; Tier 6.
"codex-cloud-tasks"
;; The main executable.
"codex-cli")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir-to-workspace
(lambda _
(chdir "codex-rs")))
(add-after 'chdir-to-workspace 'update-version-in-snapshots
(lambda _
;; Snapshot test files contain hardcoded v0.0.0 version strings.
;; Update them to match the actual package version.
(let ((snap-files (find-files "." "\\.snap$")))
(substitute* snap-files
(("\\(v0\\.0\\.0\\) ") "(v0.98.0)")))))
(add-after 'chdir-to-workspace 'patch-git-deps-to-vendor
(lambda _
;; Replace git dependencies with version references so cargo
;; resolves them from the vendored sources.
(substitute* "Cargo.toml"
(("nucleo = \\{ git = [^}]+\\}")
"nucleo = \"0.5.0\"")
(("runfiles = \\{ git = [^}]+\\}")
"runfiles = \"0.1.0\""))))
(add-after 'chdir-to-workspace 'add-version-to-workspace-deps
(lambda _
;; cargo package requires all dependencies to have versions.
;; cargo package requires all dependencies to have versions.
;; Add version = "0.98.0" to internal path dependencies.
(let ((cargo-files (find-files "." "^Cargo\\.toml$")))
(substitute* cargo-files
;; Handle inline deps: name = { path = "..." }
(("(codex-[a-z0-9-]+) = \\{ path = " all name)
(string-append name " = { version = \"0.98.0\", path = "))
;; Handle inline deps with package: name = { package = "...", path = "..." }
(("(codex-[a-z0-9-]+) = \\{ package = " all name)
(string-append name " = { version = \"0.98.0\", package = "))
;; Handle section deps: [dependencies.X] with path = "..."
(("^(path = \"\\.\\./[^\"]*\")" all path-line)
(string-append path-line "\nversion = \"0.98.0\""))))))
(add-after 'chdir-to-workspace 'patch-hardcoded-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash-bin (string-append
(assoc-ref inputs "bash-minimal") "/bin"))
(coreutils-bin (string-append
(assoc-ref inputs "coreutils") "/bin"))
(git-bin (string-append
(assoc-ref inputs "git-minimal") "/bin"))
(sed-bin (string-append
(assoc-ref inputs "sed") "/bin"))
;; Include .policy files: the execpolicy-legacy
;; crate embeds default.policy via include_str!
;; at compile time, so its paths must also be
;; patched.
(rs-files (find-files "." "\\.(rs|policy)$")))
(substitute* rs-files
(("\"/bin/bash\"")
(string-append "\"" bash-bin "/bash\""))
(("\"/bin/sh\"")
(string-append "\"" bash-bin "/sh\""))
(("\"/usr/bin/bash\"")
(string-append "\"" bash-bin "/bash\""))
(("\"/usr/bin/sh\"")
(string-append "\"" bash-bin "/sh\""))
;;; bash/sh with inline arguments, e.g. "/bin/bash -i".
(("\"/bin/bash ")
(string-append "\"" bash-bin "/bash "))
(("\"/bin/sh ")
(string-append "\"" bash-bin "/sh "))
;; coreutils.
(("\"/bin/(cat|cp|date|echo|head|ls|rm|sleep|true|touch)\"" all cmd)
(string-append "\"" coreutils-bin "/" cmd "\""))
;; coreutils.
(("\"/usr/bin/(cat|cp|head|ls|touch|true)\"" all cmd)
(string-append "\"" coreutils-bin "/" cmd "\""))
;; coreutils with inline arguments
;; like "/bin/echo END-EVENT".
(("\"/bin/(cat|cp|date|echo|head|ls|rm|sleep|true|touch) " all cmd)
(string-append "\"" coreutils-bin "/" cmd " "))
(("\"/usr/bin/git\"")
(string-append "\"" git-bin "/git\""))
(("\"/usr/bin/sed\"")
(string-append "\"" sed-bin "/sed\"")))
;; @SHELL@ placeholder from test-shebangs patch
(substitute*
(list "rmcp-client/src/program_resolver.rs"
"tui/src/external_editor.rs")
(("@SHELL@")
(string-append bash-bin "/sh")))
;; shebang in test-only file
(substitute*
"core/tests/suite/user_notification.rs"
(("#!/bin/bash")
(string-append "#!" bash-bin "/bash"))))))
(add-before 'check 'set-home
(lambda _
(setenv "HOME" "/tmp")
(setenv "USER" "nixbld"))))))
(native-inputs (list perl python-minimal ;for tests
pkg-config))
(inputs (cons* bash-minimal coreutils git-minimal sed
openssl sqlite `(,zstd "lib")
(cargo-inputs 'codex)))
(home-page "https://github.com/openai/codex")
(synopsis "AI-assisted coding CLI and TUI")
(description
"Codex is an AI-powered coding assistant that runs in the terminal.
It provides an interactive TUI for conversations with AI models, with
support for shell command execution, file editing, and code generation.
Configure providers via @file{~/.codex/config.toml}.")
(license license:asl2.0)))
(define-public codex-acp
(package
(name "codex-acp")
(version "0.9.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zed-industries/codex-acp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "190sq6s6jfz8dkj1y8305r7x6ln86qqr2j1bnfjci7f1x2wyzmsj"))
(patches (search-patches "codex-acp-0.9.2-remove-patch-sections.patch"
"codex-acp-0.9.2-replace-result-flatten.patch"))))
(build-system cargo-build-system)
(arguments
(list
#:rust rust-1.88
#:install-source? #f
;; Skip doctests (--doc) because rustdoc is unavailable for non-default
;; Rust versions in Guix.
#:cargo-test-flags '(list "--lib" "--bins" "--tests")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-codex-deps
(lambda _
;; Rewrite git dependencies to use vendored sources from rust-codex
(substitute* "Cargo.toml"
(("git = \"https://github.com/zed-industries/codex\", branch = \"acp\"")
"version = \"0.0.0\"")))))))
(native-inputs (list pkg-config))
(inputs (cons* openssl sqlite `(,zstd "lib") (cargo-inputs 'codex-acp)))
(home-page "https://github.com/zed-industries/codex-acp")
(synopsis "ACP-compatible agent bridging Zed Codex with ACP clients")
(description
"This package provides an Agent Client Protocol (ACP) compatible agent
that bridges the Zed Codex runtime with ACP clients over stdio. It
supports multiple LLM providers through configuration in
@file{~/.codex/config.toml} and integrates with MCP servers for filesystem
operations.")
(license license:asl2.0)))
(define-public complgen
(package
(name "complgen")
@@ -2101,6 +1732,59 @@ replacement for i3status, written in pure Rust. It provides a way to display
bar. It is also compatible with sway.")
(license license:gpl3)))
(define-public ianny
(package
(name "ianny")
(version "2.1.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zefr0x/ianny")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "14nmpz7nkjj2rr3g4f3npg8dd5b533wp73q90q4vgp06rf9mbyq8"))))
(build-system meson-build-system)
(arguments
(list
#:imported-modules `(,@%meson-build-system-modules
,@%cargo-build-system-modules)
#:modules '(((guix build cargo-build-system) #:prefix cargo:)
(guix build meson-build-system)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'prepare-for-build
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "meson.build"
(("/etc/xdg/autostart")
(string-append (assoc-ref outputs "out")
"/etc/xdg/autostart")))
(delete-file "Cargo.lock")))
;; The meson 'configure phase changes to a different directory and
;; we need it created before unpacking the crates.
(add-after 'configure 'prepare-cargo-build-system
(lambda args
(for-each
(lambda (phase)
(format #t "Running cargo phase: ~a~%" phase)
(apply (assoc-ref cargo:%standard-phases phase)
#:vendor-dir "vendor"
args))
'(unpack-rust-crates
configure
check-for-pregenerated-files
patch-cargo-checksums)))))))
(native-inputs (list pkg-config rust `(,rust "cargo")))
(inputs
(cons dbus (cargo-inputs 'ianny)))
(home-page "https://github.com/zefr0x/ianny")
(synopsis "RSI break timer for Wayland")
(description "Desktop utility that helps prevent repetitive strain injuries
by keeping track of usage patterns and periodically reminding the user to take
breaks.")
(license license:gpl3)))
(define-public iwmenu
(package
(name "iwmenu")
+1553 -599
View File
File diff suppressed because it is too large Load Diff
+4 -15
View File
@@ -728,13 +728,7 @@ intelligence.")
(file-name (git-file-name name version))
(sha256
(base32 "0rwj1ykknng39mhzna3fw3rcl3vngynsjdcj1namgkvw91zd9dl7"))
;; TODO: Remove patches when Rust provides stable file locking API.
;; The file_lock feature is tracked at
;; <https://github.com/rust-lang/rust/issues/130994>.
(patches (search-patches "rust-codex-0.98.0-execpolicy-file-lock.patch"
"rust-codex-0.98.0-core-file-lock.patch"
"rust-codex-0.98.0-arg0-file-lock.patch"
"rust-codex-0.98.0-core-remove-self-dep.patch"))))
(patches (search-patches "rust-codex-0.98.0-core-remove-self-dep.patch"))))
(build-system cargo-build-system)
(arguments
(list
@@ -832,9 +826,6 @@ and runtime for AI-assisted coding.")
(file-name (git-file-name name version))
(sha256
(base32 "1mn322gbir4gn4y5jihdqg0wprjlnx771chyfmmm7ri7pnim1zmc"))
;; TODO: Remove patches when Rust provides stable file locking API.
;; The file_lock feature is tracked at
;; <https://github.com/rust-lang/rust/issues/130994>.
(modules '((guix build utils)))
(snippet '(begin
;;; These are JSON manifests with a dotslash
@@ -845,10 +836,7 @@ and runtime for AI-assisted coding.")
;; Bundled bubblewrap source tree; includes a
;; compiled BPF blob (demos/flatpak.bpf).
(delete-file-recursively "codex-rs/vendor/bubblewrap")))
(patches (search-patches "rust-codex-0.98.0-execpolicy-file-lock.patch"
"rust-codex-0.98.0-core-file-lock.patch"
"rust-codex-0.98.0-arg0-file-lock.patch"
"rust-codex-0.98.0-core-remove-self-dep.patch"
(patches (search-patches "rust-codex-0.98.0-core-remove-self-dep.patch"
"rust-codex-0.98.0-windows-sandbox-protocol-version.patch"
"rust-codex-0.98.0-test-shebangs.patch"))))
(build-system cargo-build-system)
@@ -888,7 +876,8 @@ and runtime for AI-assisted coding.")
"codex-login" ; Depends on codex-core
"codex-ollama" ; Depends on codex-core
"codex-common" ; Depends on codex-core, codex-lmstudio, codex-ollama
"codex-mcp-server") ; Depends on codex-core, codex-common
"codex-mcp-server" ; Depends on codex-core, codex-common
"codex-network-proxy") ; Depends on codex-core, rama
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir-to-workspace
+60
View File
@@ -1827,6 +1827,66 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
(("features = \\[\"fs\"" all)
(string-append all ", \"use-libc\""))))))))))
(define-public rust-1.94
(let ((base-rust
(rust-bootstrapped-package
rust-1.93 "1.94.0"
"0k274dla70wnajjli2w80by9k4nqf2wah1lw9xhzy8gkscf94gxq")))
(package
(inherit base-rust)
(source
(origin
(inherit (package-source base-rust))
(snippet
'(begin
(for-each delete-file-recursively
'("src/llvm-project"
"vendor/curl-sys-0.4.79+curl-8.12.0/curl"
"vendor/curl-sys-0.4.84+curl-8.17.0/curl"
"vendor/jemalloc-sys-0.5.3+5.3.0-patched/jemalloc"
"vendor/jemalloc-sys-0.5.4+5.3.0-patched/jemalloc"
"vendor/libffi-sys-4.1.0/libffi"
"vendor/libz-sys-1.1.21/src/zlib"
"vendor/libz-sys-1.1.23/src/zlib"
"vendor/libmimalloc-sys-0.1.44/c_src/mimalloc"
"vendor/openssl-src-111.28.2+1.1.1w/openssl"
"vendor/openssl-src-300.5.0+3.5.0/openssl"
"vendor/openssl-src-300.5.4+3.5.4/openssl"
"vendor/tikv-jemalloc-sys-0.5.4+5.3.0-patched/jemalloc"
"vendor/tikv-jemalloc-sys-0.6.1+5.3.0-1-\
ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
;; Remove vendored dynamically linked libraries.
;; find . -not -type d -executable -exec file {} \+ | grep ELF
;; Also remove the bundled (mostly Windows) libraries.
(for-each delete-file
(find-files "vendor" "\\.(a|dll|exe|lib)$"))
;; Use the packaged nghttp2.
(for-each
(lambda (ver)
(let ((vendored-dir
(format #f "vendor/libnghttp2-sys-~a/nghttp2" ver))
(build-rs
(format #f "vendor/libnghttp2-sys-~a/build.rs" ver)))
(delete-file-recursively vendored-dir)
(delete-file build-rs)
(call-with-output-file build-rs
(lambda (port)
(format port "fn main() {~@
println!(\"cargo:rustc-link-lib=nghttp2\");~@
}~%")))))
'("0.1.11+1.64.0"))
;; Adjust vendored dependency to explicitly use rustix with libc
;; backend.
(substitute* '("vendor/tempfile-3.14.0/Cargo.toml"
"vendor/tempfile-3.16.0/Cargo.toml"
"vendor/tempfile-3.19.1/Cargo.toml"
"vendor/tempfile-3.20.0/Cargo.toml"
"vendor/tempfile-3.21.0/Cargo.toml"
"vendor/tempfile-3.23.0/Cargo.toml"
"vendor/tempfile-3.24.0/Cargo.toml")
(("features = \\[\"fs\"" all)
(string-append all ", \"use-libc\""))))))))))
(define (make-ignore-test-list strs)
"Function to make creating a list to ignore tests a bit easier."
(map (lambda (str)
+56
View File
@@ -591,6 +591,62 @@ tags, drag and drop support, tray icon, node icons, hyperlinks, pdf and html
export, password protection and auto-saving.")
(license license:gpl3+)))
(define-public pueue
(package
(name "pueue")
(version "4.0.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Nukesor/pueue")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0zbplfab4glj6f9rip4immca5vabyd132c4k4gch3hrmq7w39x7b"))))
(build-system cargo-build-system)
(arguments
(list
#:cargo-install-paths ''("pueue")
#:install-source? #f
#:modules
'((guix build cargo-build-system)
(guix build utils)
(ice-9 match))
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-completions
(lambda* (#:key native-inputs #:allow-other-keys)
(for-each
(match-lambda
((shell . path)
(mkdir-p (in-vicinity #$output (dirname path)))
(let ((binary
(if #$(%current-target-system)
(search-input-file native-inputs "bin/pueue")
(in-vicinity #$output "bin/pueue"))))
(with-output-to-file (in-vicinity #$output path)
(lambda _
(invoke binary "completions" shell))))))
'(("bash" . "share/bash-completion/completions/pueue")
("elvish" . "share/elvish/lib/pueue")
("fish" . "share/fish/vendor_completions.d/pueue.fish")
("nushell" . "share/nushell/vendor/autoload/pueue")
("zsh" . "share/zsh/site-functions/_pueue"))))))))
(native-inputs
(if (%current-target-system)
(list this-package)
'()))
(inputs (cargo-inputs 'pueue))
(home-page "https://github.com/Nukesor/pueue")
(synopsis
"Task management for sequential and parallel execution of long-running tasks")
(description
"Pueue is a tool that processes a queue of shell commands. On top of that,
there are a lot of convenient features and abstractions like task groups, task
scheduling and background process execution.")
(license (list license:asl2.0 license:expat))))
(define-public wtime
(package
(name "wtime")
+87 -107
View File
@@ -313,117 +313,97 @@ asciinema-created terminal session recordings.")
(license license:gpl3)))
(define-public libtsm
(let ((commit "f70e37982f382b03c6939dac3d5f814450bda253")
(revision "1"))
(package
(name "libtsm")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
;; The freedesktop repository is no longer maintained.
(uri (git-reference
(url (string-append "https://github.com/Aetf/" name))
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0mwn91i5h5d518i1s05y7hzv6bc13vzcvxszpfh77473iwg4wprx"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove a bundled copy of libxkbcommon's xkbcommon-keysyms.h.
(delete-file-recursively "external/xkbcommon")
#t))))
(build-system cmake-build-system)
(native-inputs
(list check libxkbcommon ; for xkbcommon-keysyms.h
pkg-config))
(synopsis "Xterm state machine library")
(description "TSM is a state machine for DEC VT100-VT520 compatible
terminal emulators. It tries to support all common standards while keeping
compatibility to existing emulators like xterm, gnome-terminal, konsole, etc.")
(home-page "https://www.freedesktop.org/wiki/Software/libtsm")
;; Hash table implementation is lgpl2.1+ licensed.
;; The wcwidth implementation in external/wcwidth.{h,c} uses a license
;; derived from ISC.
;; UCS-4 to UTF-8 encoding is copied from "terminology" which is released
;; under the bsd 2 license.
(license (list license:expat license:lgpl2.1+ license:isc license:bsd-2)))))
(package
(name "libtsm")
(version "4.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kmscon/libtsm")
(commit (string-append "v" version))))
(sha256
(base32
"02ab605bh6raq4kvb73s6fqqblra65jcl7cd3swmcmqwdimgzmpi"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
#~(delete-file-recursively "external/xkbcommon"))))
(build-system meson-build-system)
(native-inputs
(list check
libxkbcommon
pkg-config))
(home-page "https://github.com/kmscon/libtsm")
(synopsis "Terminal Emulator State Machine library")
(description
"TSM is a state machine for @acronym{DEC, Digital Equipment Corporation}
VT100-VT520 compatible terminal emulators. It tries to support all common
standards while keeping compatibility to existing emulators like xterm,
gnome-terminal, konsole, among others.")
;; Hash table implementation is lgpl2.1+ licensed.
;; The wcwidth implementation in external/wcwidth.{h,c} uses a MIT-style
;; license.
;; UCS-4 to UTF-8 encoding is copied from "terminology" which is released
;; under the bsd 2 license.
(license
(list license:bsd-2
license:expat
license:lgpl2.1+))))
(define-public kmscon
(let ((commit "01dd0a231e2125a40ceba5f59fd945ff29bf2cdc")
(revision "1"))
(package
(name "kmscon")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
;; The freedesktop repository is no longer maintained.
(uri (git-reference
(url (string-append "https://github.com/Aetf/" name))
(commit commit)))
(sha256
(base32
"0q62kjsvy2iwy8adfiygx2bfwlh83rphgxbis95ycspqidg9py87"))
(patches
(search-patches "kmscon-runtime-keymap-switch.patch"))
(modules '((guix build utils)))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
;; Use elogind instead of systemd.
(add-before 'configure 'remove-systemd
(lambda _
(substitute* "configure"
(("libsystemd-daemon libsystemd-login")
"libelogind"))
(substitute* "src/uterm_systemd.c"
(("#include <systemd/sd-login.h>")
"#include <elogind/sd-login.h>")
;; We don't have this header.
(("#include <systemd/sd-daemon\\.h>")
"")
;; Replace the call to 'sd_booted' by the truth value.
(("sd_booted\\(\\)")
"1")))))))
(native-inputs
(list pkg-config
autoconf
automake
libtool
libxslt ;to build the man page
docbook-xsl))
(inputs
`(("libdrm" ,libdrm)
("libtsm" ,libtsm)
("libxkbcommon" ,libxkbcommon)
("logind" ,elogind)
;; MESA can be used for accelerated video output via OpenGLESv2, but
;; it's a big dependency that we'd rather avoid in the installation
;; image.
;; ("mesa" ,mesa)
("pango" ,pango)
("udev" ,eudev)))
(synopsis "Linux KMS-based terminal emulator")
(description "Kmscon is a terminal emulator based on Linux's @dfn{kernel
mode setting} (KMS). It can replace the in-kernel virtual terminal (VT)
(package
(name "kmscon")
(version "9.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kmscon/kmscon")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0jssf69n76lhvx4b2kmk4hn0sjfj6pjmdq5h7hz57n6qgpg3zlxx"))))
(build-system meson-build-system)
(native-inputs
(list check
pkg-config
libxslt
docbook-xsl))
(inputs
(list elogind
eudev
libdrm
libtsm
libxkbcommon
;; MESA is useful for accelerated video output via OpenGLESv2, but,
;; being a big dependency, we would rather avoid it in the
;; installation image.
;; mesa
pango))
(home-page "https://www.freedesktop.org/wiki/Software/kmscon")
(synopsis "Linux KMS-based terminal emulator")
(description
"Kmscon is a terminal emulator based on Linux's @acronym{KMS, kernel mode
setting}. It can replace the in-kernel @acronym{VT, virtual terminal}
implementation with a user-space console. Compared to the Linux console,
kmscon provides enhanced features including XKB-compatible internationalized
keyboard support, UTF-8 input/font support, hardware-accelerated rendering,
multi-seat support, a replacement for @command{mingetty}, and more.")
(home-page "https://www.freedesktop.org/wiki/Software/kmscon")
;; Hash table implementation is lgpl2.1+ licensed.
;; The wcwidth implementation in external/wcwidth.{h,c} uses a license
;; derived from ISC.
;; UCS-4 to UTF-8 encoding is copied from "terminology" which is released
;; under the bsd 2 license.
;; Unifont-Font is from http://unifoundry.com/unifont.html and licensed
;; under the terms of the GNU GPL.
(license (list license:expat license:lgpl2.1+ license:bsd-2
license:gpl2+))
(supported-systems (filter (cut string-suffix? "-linux" <>)
%supported-systems)))))
;; Hash table implementation is lgpl2.1+ licensed.
;; The wcwidth implementation in external/wcwidth.{h,c} uses a license
;; derived from ISC.
;; UCS-4 to UTF-8 encoding is copied from "terminology" which is released
;; under the bsd 2 license.
;; Unifont-Font is from http://unifoundry.com/unifont.html and licensed
;; under the terms of the GNU GPL.
(license (list license:expat
license:lgpl2.1+
license:bsd-2
license:gpl2+))
(supported-systems (filter (cut string-suffix? "-linux" <>)
%supported-systems))))
(define-public libtermkey
(package
@@ -900,7 +880,7 @@ eye-candy, customizable, and reasonably lightweight.")
(define-public foot
(package
(name "foot")
(version "1.26.0")
(version "1.26.1")
(home-page "https://codeberg.org/dnkl/foot")
(source
(origin
@@ -910,7 +890,7 @@ eye-candy, customizable, and reasonably lightweight.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "04pbw6v05n8s32mjgjxxzzixzxhcx850fnah14wjhjsx0nnqsway"))))
(base32 "0rh99jhdf51v5ynirin08lmz9rbfrlbbjwmm1c3b577xpk2ybprp"))))
(build-system meson-build-system)
(arguments
(list
+6 -9
View File
@@ -154,6 +154,10 @@ is on expressing the content semantically, avoiding physical markup commands.")
#~(cons* "--with-external-Unicode-EastAsianWidth"
"--with-external-Text-Unidecode"
"--with-external-libintl-perl"
#$@(if (%current-target-system)
;; tries to build for the native perl
'("--disable-perl-xs")
'())
#$flags))
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
@@ -170,15 +174,8 @@ is on expressing the content semantically, avoiding physical markup commands.")
(cute patch-shebang <> (list (dirname perl)))
(find-files "." ".*[.]pl")))))
#$@(if (%current-target-system)
;; Texinfo uses a C binary during the build process, but
;; lacks the concept of `CC_FOR_BUILD'
;; Hack around that by building it manually.
#~((add-after 'configure 'build-native-tools
(lambda _
(with-directory-excursion "info"
(lambda _
(invoke "make" "CC=gcc" "makedoc")))))
(add-after 'configure 'fixup-texindex-building-from-git
;; for help2man
#~((add-after 'configure 'fixup-texindex-building-from-git
(lambda _
(symlink "../../texindex/texindex"
"tools/texindex/texindex"))))
+2 -12
View File
@@ -121,18 +121,8 @@ over IRC, instant messaging, network games, and most server software.")
(sha256
(base32 "1kv6dpj93gckvwvgzxl4vdqpwnicb0c8p0xw53m2gh5naiw44ys4"))))))
(define-public miniupnpc-next
(package
(inherit miniupnpc)
(name "miniupnpc-next")
(version "2.3.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://miniupnp.tuxfamily.org/files/"
"miniupnpc-" version ".tar.gz"))
(sha256
(base32 "06mx6kk42px0f08k5pazmjawbj19gnpg3pwxrj4c1mjac7x0lanm"))))))
;; 2026-03-14
(define-deprecated-package miniupnpc-next miniupnpc)
(define-public libupnp
(package
+7 -11
View File
@@ -1137,7 +1137,7 @@ provides an integration with GitHub and GitLab.")
(define-public got
(package
(name "got")
(version "0.122")
(version "0.123")
(source (origin
(method url-fetch)
(uri
@@ -1146,7 +1146,7 @@ provides an integration with GitHub and GitLab.")
version ".tar.gz"))
(sha256
(base32
"0620wb7m867fjcim27dl09csj23a9vq8drca98c94ggibxd9sghw"))))
"09l55364d8lga34gq8h6y9rs8r3xka57d1dzjr34zvp20dgpkbjk"))))
(inputs
(list libevent
`(,util-linux "lib")
@@ -3638,15 +3638,15 @@ by rclone usable with git-annex.")
(define-public fossil
(package
(name "fossil")
(version "2.27")
(version "2.28")
(source
(origin
(method url-fetch)
(uri (string-append
"https://fossil-scm.org/home/tarball/version-" version
"/fossil-" version ".tar.gz"))
"https://fossil-scm.org/home/tarball/version-" version
"/fossil-" version ".tar.gz"))
(sha256
(base32 "0mhlvsfqjc46jbr5gf7r1d1xz0hg7w8swpz5gb12y3s14f1lx1fm"))))
(base32 "1lw3ridv2id4hf5ksrpjwf7fv65wzs81wli4ksc0qr4h3xfyi66b"))))
(build-system gnu-build-system)
(native-inputs
(list tcl ;for configuration only
@@ -3678,11 +3678,7 @@ by rclone usable with git-annex.")
(add-before 'check 'test-setup
(lambda _
(setenv "USER" "guix")
(setenv "TZ" "UTC")))
(add-after 'test-setup 'disable-broken-test
(lambda _
;; https://fossil-scm.org/home/info/4619d2efab946460
(delete-file "test/settings.test"))))))
(setenv "TZ" "UTC"))))))
(home-page "https://fossil-scm.org")
(synopsis "Software configuration management system")
(description
+6 -4
View File
@@ -58,7 +58,7 @@
;;; Copyright © 2021 Robin Templeton <robin@terpri.org>
;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org>
;;; Copyright © 2021 Pradana Aumars <paumars@courrier.dev>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2022,2026 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2022 Bird <birdsite@airmail.cc>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;; Copyright © 2022 Chadwain Holness <chadwainholness@gmail.com>
@@ -239,6 +239,7 @@
#:use-module (gnu packages time)
#:use-module (gnu packages upnp)
#:use-module (gnu packages version-control)
#:use-module (gnu packages vnc)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages web)
#:use-module (gnu packages wget)
@@ -2508,7 +2509,7 @@ media, 2D/3D graphics and ECMAScript.")
dav1d
dbus
eudev
ffmpeg-6
ffmpeg
flac
fontconfig
freetype
@@ -2545,6 +2546,7 @@ media, 2D/3D graphics and ECMAScript.")
libupnp
libva
libvdpau
libvnc
libvorbis
libvpx
libx264
@@ -3270,7 +3272,7 @@ video streaming services of the Finnish national broadcasting company Yle.")
(define-public yt-dlp
(package
(name "yt-dlp")
(version "2026.02.04")
(version "2026.03.13")
(source
(origin
(method git-fetch)
@@ -3279,7 +3281,7 @@ video streaming services of the Finnish national broadcasting company Yle.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "030dashvrzhmp76lgdwnmj5p2405d0hhl91mkiggn187hzzg6y99"))))
(base32 "06bvcibhncmpl0dw440w0f5rngpni2hmdp3ykyy0ba88mfsnh7jb"))))
(build-system pyproject-build-system)
(arguments
(list
+76 -71
View File
@@ -59,7 +59,7 @@
(define-public spirv-headers
(package
(name "spirv-headers")
(version "1.4.321.0")
(version "1.4.335.0")
(source
(origin
(method git-fetch)
@@ -68,7 +68,7 @@
(commit (string-append "vulkan-sdk-" version))))
(sha256
(base32
"11nsfr6z11dx6ccyi9anz2iycxr9i06zl8dk4pdllf3dvk5wq61d"))
"16p1g33hw89hl2ldpqck2fggqxiwfgn735j35pwqpbckx8r66chy"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -91,7 +91,7 @@ and for the GLSL.std.450 extended instruction set.
(define-public spirv-tools
(package
(name "spirv-tools")
(version "1.4.321.0")
(version "1.4.335.0")
(source
(origin
(method git-fetch)
@@ -99,7 +99,7 @@ and for the GLSL.std.450 extended instruction set.
(url "https://github.com/KhronosGroup/SPIRV-Tools")
(commit (string-append "vulkan-sdk-" version))))
(sha256
(base32 "015xymrzch87f3xkzx9rvlglqp39zx4vphjb2dkl5w6qcpz5s1y8"))
(base32 "05rwpjnfaqn6yy10gn8c9xd0172ri5vgbqrjb7hfa1qjgrj7psqz"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -122,10 +122,19 @@ SPIR-V modules. The project includes an assembler, binary module
parser,disassembler, validator, and optimizer for SPIR-V.")
(license license:asl2.0)))
(define-public spirv-tools-static
(package/inherit spirv-tools
(name "spirv-tools-static")
(arguments
(substitute-keyword-arguments (package-arguments spirv-tools)
((#:configure-flags flags)
#~(cons* "-DSPIRV_TOOLS_BUILD_STATIC=ON"
(delete "-DSPIRV_TOOLS_BUILD_STATIC=OFF" #$flags)))))))
(define-public spirv-cross
(package
(name "spirv-cross")
(version "1.4.321.0")
(version "1.4.335.0")
(source
(origin
(method git-fetch)
@@ -133,7 +142,7 @@ parser,disassembler, validator, and optimizer for SPIR-V.")
(url "https://github.com/KhronosGroup/SPIRV-Cross")
(commit (string-append "vulkan-sdk-" version))))
(sha256
(base32 "13fci6z74bxm8pbb3plchx31r04yzb4g11dbzcw3337dsgdllqma"))
(base32 "04z7kcg0z4mfnsvfxw1bxzfyq1678zwf1d79j2hyvhkvd2c8fr86"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -228,7 +237,7 @@ translation between LLVM IR and SPIR-V.")
(define-public glslang
(package
(name "glslang")
(version "1.4.321.0")
(version "1.4.335.0")
(source
(origin
(method git-fetch)
@@ -237,7 +246,7 @@ translation between LLVM IR and SPIR-V.")
(commit (string-append "vulkan-sdk-" version))))
(sha256
(base32
"1b0zsrv12b34q0wp9g85x11kpd5kjvx4lbn7xv8b4szfpwdkxxxh"))
"0z5zabmjiqgxr935wbk9pr649bxk404nkjkvkavdwj904sg48i3h"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -336,7 +345,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
(define-public vulkan-headers/no-loader
(package
(name "vulkan-headers")
(version "1.4.321.0")
(version "1.4.335.0")
(source
(origin
(method git-fetch)
@@ -346,7 +355,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
(file-name (git-file-name name version))
(sha256
(base32
"1kamn5hw5lpw4yxyri4mlrryzhn33bnnrqby0yxla45z5f5f6fb3"))))
"1a2w1g06w06nzr42srrvw06i5p6pzi5n25ldnbd6j8p860pqz1qc"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; No tests.
@@ -380,7 +389,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
(define-public vulkan-loader
(package
(name "vulkan-loader")
(version "1.4.321.0")
(version "1.4.335.0")
(source
(origin
(method git-fetch)
@@ -390,7 +399,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
(file-name (git-file-name name version))
(sha256
(base32
"0fbpypznznvwkqgf2zw85xdpbiq92j95xyldhnjk94lia6bs4klb"))))
"1xdfqvh9yhybnlfc84qxf65l5snhc8p0a3j6qaryj9m71khd64np"))))
(build-system cmake-build-system)
(arguments
(list
@@ -456,64 +465,60 @@ and the ICD.")
license:bsd-3))))
(define-public vulkan-tools
;; Required to fix an issue. See:
;; https://github.com/KhronosGroup/Vulkan-Tools/issues/1130
(let ((commit "105d6c1fede00c3a9055e5a531ebf3d99bac406e")
(revision "1"))
(package
(name "vulkan-tools")
(version (git-version "1.4.321.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/Vulkan-Tools")
(commit commit)))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
#~(substitute* "tests/icd/mock_icd_tests.cpp"
;; Disable driver info test since it relies on git branch info
(("ASSERT_EQ\\(std::string\\(driver_properties\\.driverInfo\\)")
"// ASSERT_EQ(std::string(driver_properties.driverInfo)")))
(sha256
(base32
"1dphpf4v0kip2b0vhhwb136gjjmgxc64gg26sg3wpg6nnwakpznc"))))
(build-system cmake-build-system)
(inputs
(list glslang libxrandr vulkan-loader wayland wayland-protocols))
(native-inputs
(list googletest pkg-config python vulkan-headers))
(arguments
(list
#:configure-flags #~(list "-DBUILD_TESTS=ON")
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-libvulkan-file-name
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("vulkaninfo/vulkaninfo_functions.h"
"cube/cube_functions.h")
(("dlopen\\(\"libvulkan.so.1")
(string-append "dlopen(\""
(search-input-file
inputs "/lib/libvulkan.so.1"))))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "./tests/vulkan_tools_tests")))))))
(home-page
"https://github.com/KhronosGroup/Vulkan-Tools")
(synopsis "Tools and utilities for Vulkan")
(description
"Vulkan-Tools provides tools and utilities that can assist development by
(package
(name "vulkan-tools")
(version "1.4.335.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/Vulkan-Tools")
(commit (string-append "vulkan-sdk-" version))))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
#~(substitute* "tests/icd/mock_icd_tests.cpp"
;; Disable driver info test since it relies on git branch info
(("ASSERT_EQ\\(std::string\\(driver_properties\\.driverInfo\\)")
"// ASSERT_EQ(std::string(driver_properties.driverInfo)")))
(sha256
(base32
"07b5jlvp70apmkj0b8l2w086h0vbcfl49n7xr35kmv46p0n37z0b"))))
(build-system cmake-build-system)
(inputs
(list glslang libxrandr vulkan-loader wayland wayland-protocols))
(native-inputs
(list googletest pkg-config python vulkan-headers))
(arguments
(list
#:configure-flags #~(list "-DBUILD_TESTS=ON")
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-libvulkan-file-name
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("vulkaninfo/vulkaninfo_functions.h"
"cube/cube_functions.h")
(("dlopen\\(\"libvulkan.so.1")
(string-append "dlopen(\""
(search-input-file
inputs "/lib/libvulkan.so.1"))))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "./tests/vulkan_tools_tests")))))))
(home-page
"https://github.com/KhronosGroup/Vulkan-Tools")
(synopsis "Tools and utilities for Vulkan")
(description
"Vulkan-Tools provides tools and utilities that can assist development by
enabling developers to verify their applications correct use of the Vulkan
API.")
(license (list license:asl2.0))))) ;LICENSE.txt
(license (list license:asl2.0)))) ;LICENSE.txt
(define-public shaderc
(package
(name "shaderc")
;; shaderc doesn't follow the versioning scheme of vulkan sdk
(version "2025.3")
(version "2025.5")
(source
(origin
(method git-fetch)
@@ -523,7 +528,7 @@ API.")
(file-name (git-file-name name version))
(sha256
(base32
"0w1mj5b3n6kp0brqindb7fppvllzlywkdk1zglkbj3bw8k0795mb"))))
"0i1rwn4xg8galdxw66p72m36q5vx8zx42ypdcmhv15nv6mj92q9y"))))
(build-system cmake-build-system)
(arguments
(list
@@ -640,7 +645,7 @@ constant management, and opcode emission.")
(define-public vulkan-validationlayers
(package
(name "vulkan-validationlayers")
(version "1.4.321.0")
(version "1.4.335.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -655,14 +660,14 @@ constant management, and opcode emission.")
"")))
(sha256
(base32
"1lmkcgz80386304s6kr4fi825r5004305fhvfc7gmsqdih0bqcv9"))))
"06kx3769xn6xrk2xjs5k9hpkv8gvmjwn7yvz423yy7d9fzgnn70m"))))
(build-system cmake-build-system)
(inputs (list glslang
libxrandr
mesa
robin-hood-hashing
shaderc
spirv-tools
spirv-tools-static
vulkan-loader
vulkan-utility-libraries
wayland))
@@ -708,7 +713,7 @@ applications correctly use the Vulkan API.")
(define-public vulkan-volk
(package
(name "vulkan-volk")
(version "1.4.304")
(version "1.4.335.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -717,7 +722,7 @@ applications correctly use the Vulkan API.")
(file-name (git-file-name name version))
(sha256
(base32
"0slgshhrr1l08wkc4n0ky2z670cfrnzw8gxdrznmja4ly13cc8pr"))))
"0hqamyr3xdqacgn49hzf966vj7hn54aybzkfg76y3hc9ly2hq0x8"))))
(build-system cmake-build-system)
(arguments
(list
@@ -774,7 +779,7 @@ storage.")
(define-public vulkan-utility-libraries
(package
(name "vulkan-utility-libraries")
(version "1.4.321.0")
(version "1.4.335.0")
(source
(origin
(method git-fetch)
@@ -782,7 +787,7 @@ storage.")
(url "https://github.com/KhronosGroup/Vulkan-Utility-Libraries")
(commit (string-append "vulkan-sdk-" version))))
(sha256
(base32 "1xj860z596p2wgdfc5yr15q0hasz8p4ci6x0j1wim7jklp92g89i"))
(base32 "116agfaayycizafq2infy12n07039rp6azzvfff3wq84ph3v8cwl"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
+2 -2
View File
@@ -4136,14 +4136,14 @@ which can be used to parse directory listings.")
(define-public perl-finance-quote
(package
(name "perl-finance-quote")
(version "1.65")
(version "1.68")
(source
(origin
(method url-fetch)
(uri (string-append "https://cpan.metacpan.org/authors/id/B/BP/BPSCHUCK/"
"Finance-Quote-" version ".tar.gz"))
(sha256
(base32 "0603zricynb6n9kq7agsb03v4idlqy0rdc1nq2knzbf9l9jljyhb"))))
(base32 "0ha4lapj6a2gzb601h5bk5vps2wsgwj4xxc69vibyrlrra3q7v1j"))))
(build-system perl-build-system)
(native-inputs
(list perl-test-harness
+2 -2
View File
@@ -517,7 +517,7 @@ loginctl commands (lock/unlock/before-sleep) and inhibit.")
(define-public hyprland
(package
(name "hyprland")
(version "0.54.1")
(version "0.54.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/hyprwm/Hyprland"
@@ -534,7 +534,7 @@ loginctl commands (lock/unlock/before-sleep) and inhibit.")
"subprojects"))))
(sha256
(base32
"0q1z5cbwxpdm8wc2p14g53g2i2afqb398ilxsw8i1p4fiinsmmv7"))))
"06zxx8i92n5pyyl472s3kbb6m7czg72klh6cs80jz6yhdbw9qgbj"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ;No tests.
+15 -4
View File
@@ -2325,8 +2325,8 @@ rules."
(let ((plasma-plasma (plasma-package config)))
(map (lambda (name)
((package-direct-input-selector name) plasma-plasma))
'("bolt" ;for plasma-thunderbolt
"fwupd" ;for kinfocenter and discover
'("bolt" ;for plasma-thunderbolt
"fwupd" ;for kinfocenter and discover
"kde-inotify-survey"
"kdeplasma-addons"
"kinfocenter"
@@ -2346,8 +2346,8 @@ rules."
(let ((plasma-plasma (plasma-package config)))
(map (lambda (name)
((package-direct-input-selector name) plasma-plasma))
'("bolt" ;for plasma-thunderbolt
"fwupd" ;for kinfocenter and discover
'("bolt" ;for plasma-thunderbolt
"fwupd" ;for kinfocenter and discover
"kde-inotify-survey"
"kdeplasma-addons"
"kinfocenter"
@@ -2362,6 +2362,15 @@ rules."
"plasma-workspace"
"powerdevil"))))
(define (plasma-udev-configurations config)
"Return the list of KDE Plasma dependencies that provide udev rules and
hardware files."
(let ((plasma-plasma (plasma-package config)))
(map (lambda (name)
((package-direct-input-selector name) plasma-plasma))
'("bolt" ;for plasma-thunderbolt
"fwupd")))) ;for kinfocenter and discover
;; see https://bugs.kde.org/show_bug.cgi?id=456210
;; if `kde' no exits, fallback to `other', and then unlock lockscreen not work,
;; so add it.
@@ -2380,6 +2389,8 @@ rules."
plasma-dbus-service)
(service-extension pam-root-service-type
plasma-pam-services)
(service-extension udev-service-type
plasma-udev-configurations)
(service-extension profile-service-type
(compose list
plasma-package))))))
+51 -43
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz>
;;; Copyright © 2025, 2026 Tomas Volf <~@wolfsden.cz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -100,108 +100,116 @@
"Additional modules to import into the generated handler script.")
(killpower
(gexp
#~((wall "Apccontrol doing: apcupsd --killpower on UPS ~a" name)
(sleep 10)
(apcupsd "--killpower")
(wall "Apccontrol has done: apcupsd --killpower on UPS ~a" name)))
#~(begin
(wall "Apccontrol doing: apcupsd --killpower on UPS ~a" name)
(sleep 10)
(apcupsd "--killpower")
(wall "Apccontrol has done: apcupsd --killpower on UPS ~a" name)))
"The handler for the killpower event.")
(commfailure
(gexp
#~((let ((msg (format #f "~a Communications with UPS ~a lost."
(gethostname) name)))
(mail-to-root msg msg))
(wall "Warning: communications lost with UPS ~a" name)))
#~(begin
(let ((msg (format #f "~a Communications with UPS ~a lost."
(gethostname) name)))
(mail-to-root msg msg))
(wall "Warning: communications lost with UPS ~a" name)))
"The handler for the commfailure event.")
(commok
(gexp
#~((let ((msg (format #f "~a Communications with UPS ~a restored."
(gethostname) name)))
(mail-to-root msg msg))
(wall "Communications restored with UPS ~a" name)))
#~(begin
(let ((msg (format #f "~a Communications with UPS ~a restored."
(gethostname) name)))
(mail-to-root msg msg))
(wall "Communications restored with UPS ~a" name)))
"The handler for the commfailure event.")
(powerout
(gexp
#~(#t))
#~#t)
"The handler for the powerout event.")
(onbattery
(gexp
#~((let ((msg (format #f "~a UPS ~a Power Failure !!!"
(gethostname) name)))
(mail-to-root msg msg))
(wall "Power failure on UPS ~a. Running on batteries." name)))
#~(begin
(let ((msg (format #f "~a UPS ~a Power Failure !!!"
(gethostname) name)))
(mail-to-root msg msg))
(wall "Power failure on UPS ~a. Running on batteries." name)))
"The handler for the onbattery event.")
(offbattery
(gexp
#~((let ((msg (format #f "~a UPS ~a Power has returned."
(gethostname) name)))
(mail-to-root msg msg))
(wall "Power has returned on UPS ~a..." name)))
#~(begin
(let ((msg (format #f "~a UPS ~a Power has returned."
(gethostname) name)))
(mail-to-root msg msg))
(wall "Power has returned on UPS ~a..." name)))
"The handler for the offbattery event.")
(mainsback
(gexp
#~((when (file-exists? powerfail-file)
(wall "Continuing with shutdown."))))
#~(when (file-exists? powerfail-file)
(wall "Continuing with shutdown.")))
"The handler for the mainsback event.")
(failing
(gexp
#~((wall "Battery power exhausted on UPS ~a. Doing shutdown." name)))
#~(wall "Battery power exhausted on UPS ~a. Doing shutdown." name))
"The handler for the failing event.")
(timeout
(gexp
#~((wall "Battery time limit exceeded on UPS ~a. Doing shutdown." name)))
#~(wall "Battery time limit exceeded on UPS ~a. Doing shutdown." name))
"The handler for the timeout event.")
(loadlimit
(gexp
#~((wall "Remaining battery charge below limit on UPS ~a. Doing shutdown." name)))
#~(wall "Remaining battery charge below limit on UPS ~a. Doing shutdown." name))
"The handler for the loadlimit event.")
(runlimit
(gexp
#~((wall "Remaining battery runtime below limit on UPS ~a. Doing shutdown." name)))
#~(wall "Remaining battery runtime below limit on UPS ~a. Doing shutdown." name))
"The handler for the runlimit event.")
(doreboot
(gexp
#~((wall "UPS ~a initiating Reboot Sequence" name)
(system* #$(file-append shepherd "/sbin/reboot"))))
#~(begin
(wall "UPS ~a initiating Reboot Sequence" name)
(system* #$(file-append shepherd "/sbin/reboot"))))
"The handler for the doreboot event.")
(doshutdown
(gexp
#~((wall "UPS ~a initiated Shutdown Sequence" name)
(system* #$(file-append shepherd "/sbin/halt"))))
#~(begin
(wall "UPS ~a initiated Shutdown Sequence" name)
(system* #$(file-append shepherd "/sbin/halt"))))
"The handler for the doshutdown event.")
(annoyme
(gexp
#~((wall "Power problems with UPS ~a. Please logoff." name)))
#~(wall "Power problems with UPS ~a. Please logoff." name))
"The handler for the annoyme event.")
(emergency
(gexp
#~((wall "Emergency Shutdown. Possible battery failure on UPS ~a." name)))
#~(wall "Emergency Shutdown. Possible battery failure on UPS ~a." name))
"The handler for the emergency event.")
(changeme
(gexp
#~((let ((msg (format #f "~a UPS ~a battery needs changing NOW."
(gethostname) name)))
(mail-to-root msg msg))
(wall "Emergency! Batteries have failed on UPS ~a. Change them NOW." name)))
#~(begin
(let ((msg (format #f "~a UPS ~a battery needs changing NOW."
(gethostname) name)))
(mail-to-root msg msg))
(wall "Emergency! Batteries have failed on UPS ~a. Change them NOW." name)))
"The handler for the changeme event.")
(remotedown
(gexp
#~((wall "Remote Shutdown. Beginning Shutdown Sequence.")))
#~(wall "Remote Shutdown. Beginning Shutdown Sequence."))
"The handler for the remotedown event.")
(startselftest
(gexp
#~(#t))
#~#t)
"The handler for the startselftest event.")
(endselftest
(gexp
#~(#t))
#~#t)
"The handler for the endselftest event.")
(battdetach
(gexp
#~(#t))
#~#t)
"The handler for the battdetach event.")
(battattach
(gexp
#~(#t))
#~#t)
"The handler for the battattach event."))
(define mangle-field-name
+1 -1
View File
@@ -55,8 +55,8 @@
#:use-module (gnu packages cdrom)
#:use-module (gnu packages compression)
#:use-module (gnu packages disk)
#:use-module (gnu packages flashing-tools)
#:use-module (gnu packages gawk)
#:use-module (gnu packages genimage)
#:use-module (gnu packages guile)
#:autoload (gnu packages gnupg) (guile-gcrypt)
#:use-module (gnu packages hurd)
+32 -8
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019-2020, 2026 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,18 +20,20 @@
#:use-module (guix ssh)
#:use-module (guix gexp)
#:use-module (guix i18n)
#:use-module ((guix diagnostics) #:select (formatted-message))
#:use-module ((guix diagnostics) #:select (info formatted-message))
#:use-module (guix inferior)
#:use-module (guix store)
#:use-module (guix monads)
#:use-module (guix modules)
#:use-module (guix derivations)
#:use-module (guix utils)
#:use-module ((ssh session) #:select (session-get))
#:use-module (ssh popen)
#:use-module (ssh channel)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (srfi srfi-71)
#:export (remote-eval))
;;; Commentary:
@@ -77,8 +79,19 @@ with status ~a")
"Evaluate LOWERED, a lowered gexp, in SESSION. This assumes that all the
prerequisites of EXP are already available on the host at SESSION. If
BECOME-COMMAND is given, use that to invoke the remote Guile REPL."
(let* ((pipe (remote-pipe-for-gexp lowered session become-command))
(result (read-repl-response pipe)))
(let* ((pipe (remote-pipe-for-gexp lowered session become-command))
(result output (read-repl-response pipe)))
;; Print OUTPUT, the remote pipe's standard output and standard error,
;; line by line.
(let ((host (session-get session 'host)))
(let loop ((str output))
(unless (string-null? str)
(let ((index (string-index str #\newline)))
(info (G_ "~a: ~a~%")
host (if index (string-take str index) str))
(when index
(loop (string-drop str (+ 1 index))))))))
(close-port pipe)
result))
@@ -93,10 +106,21 @@ result to the current output port using the (guix repl) protocol."
(use-modules (guix repl))
;; We use CURRENT-OUTPUT-PORT for REPL messages, so redirect PROGRAM's
;; output to CURRENT-ERROR-PORT so that it does not interfere.
(send-repl-response '(with-output-to-port (current-error-port)
(lambda ()
(primitive-load #$program)))
;; output to CURRENT-ERROR-PORT so that it does not interfere. Since
;; 'open-remote-pipe*' mixes standard output and standard error,
;; capture their output separately in a string port and reify it in
;; Scheme.
(send-repl-response '(let ((output (open-output-string)))
(set-port-encoding! output "UTF-8")
(set-port-conversion-strategy! output
'substitute)
(let ((result
(with-error-to-port output
(lambda ()
(with-output-to-port output
(lambda ()
(primitive-load #$program)))))))
(values result (get-output-string output))))
(current-output-port))
(force-output))))
+1 -1
View File
@@ -157,7 +157,7 @@ dnl Check whether a recent-enough Guile-Sqlite3 is available.
AC_DEFUN([GUIX_CHECK_GUILE_SQLITE3], [
dnl Check whether 'sqlite-bind-arguments' is available. It was introduced
dnl in February 2018:
dnl <https://notabug.org/guile-sqlite3/guile-sqlite3/commit/1cd1dec96a9999db48c0ff45bab907efc637247f>.
dnl <https://codeberg.org/guile-sqlite3/guile-sqlite3/commit/1cd1dec96a9999db48c0ff45bab907efc637247f>.
AC_CACHE_CHECK([whether Guile-Sqlite3 is available and recent enough],
[guix_cv_have_recent_guile_sqlite3],
[GUILE_CHECK([retval],
-1
View File
@@ -168,7 +168,6 @@ gnu/packages/gawk.scm
gnu/packages/gcc.scm
gnu/packages/gd.scm
gnu/packages/gdb.scm
gnu/packages/genimage.scm
gnu/packages/gettext.scm
gnu/packages/gkrellm.scm
gnu/packages/gnome-circle.scm