1
0
forked from tribes/guix

Compare commits

..

75 Commits

Author SHA1 Message Date
Rutherther d58da8a56b gnu: guix: Update to 1.5.0.
Change-Id: I8bb857646c87bd5ba7da67a6166371ff9e6c4a20
2026-01-21 18:33:35 +01:00
Rutherther 230aa373f3 maint: Do not check for optional guile-zstd in configure.ac.
Partially reverts e642300195.
Only semver is a required dependency, zstd is optional.

* configure.ac: Remove check for Guile-zstd being available.

Change-Id: I1fe0fe77d0f15b1d383c890b46ce678402054efc
2026-01-21 17:33:14 +01:00
Rutherther e642300195 maint: Check for guile-semver and guile-zstd.
These were omitted from the configure script, leading to failure during the
build, instead of an earlier failure during ./configure.

Change-Id: I62a69eccf854acc1f7ae9a7aeb26897cf433478c
2026-01-21 15:23:59 +01:00
Rutherther 4470dd7386 gnu: jemalloc: Disable tests on armhf.
Jemalloc can't be built on CI.

* gnu/packages/jemalloc.scm (jemalloc): Disable tests on armhf.

Change-Id: Iebc5ec7cbe43f4ccbc93569fc6a43e2b5d035fbe
2026-01-21 14:23:26 +01:00
Rutherther 88f0151d9f installer: kernel: Accept empty list as kernel.
On architectures other than x86_64, the kernel page is not shown.  That means
the kernel will be an empty list. This leads to an exception during
installation.

Followup of 139a69b602, part of #5515.

* gnu/installer/kernel.scm (kernel->configuration): Accept empty kernel.

Change-Id: I7891f189ecc8d557aa9bb900a6633a570e46a3b6
2026-01-21 14:19:46 +01:00
Rodion Goritskov 59c9c36db9 tests: Add Fedora foreign distribution test.
* gnu/tests/foreign.scm (qcow-image-with-marionette):
  - Create .autorelabel file to make copied Guile work
    on SELinux-enabled systems.
(resize-lvm-xfs-partition): New variable.
(run-foreign-install-test): Increase RAM for VM to 1024
  as 512 is not sufficient to run Guix installation
  on Fedora.
(fedora-qcow2): New variable.
(%test-fedora-install): New variable.

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

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

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

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

Change-Id: I92dbe0cdcafb5ff0a0b6c3e9b96205b4ad9d10e8
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 19:28:10 +01:00
Rutherther efec531f5e tests: foreign: Add test restarting guix-daemon.
* gnu/tests/foreign.scm (run-foreign-install-test): Restart the
daemon, build and gc afterwards.

Followup of 9a78e76076.

Change-Id: Ia2304d6b9c83b5b8f410426ce00e078c2f004198
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 19:28:09 +01:00
Ludovic Courtès 519524f996 doc: Use versioned URL for references to translated Guix manuals.
Partly addresses guix/guix#5725.

* doc/htmlxref.cnf (GUIX): Add /1.5.0.

Change-Id: I49ef15c00ca45b83a48ba0d1366b79a108e1e1a8
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5754
2026-01-19 19:23:30 +01:00
Noé Lopez cdd0d9c716 Update NEWS.
* NEWS: Update for 1.5.0.

Change-Id: I88bf24a6e0d0abb77fbd5e44b12c6e175cbba182
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5739
2026-01-19 19:21:09 +01:00
Rutherther 30e435371e guix-install.sh: Add efraim's signing key.
* etc/guix-install.sh (GPG_SIGNING_KEYS): add "efraim" entry with his key
fingerprint.

Change-Id: Idbe6eb4bf366265fedb1748f62707eb0819003e2
2026-01-19 19:02:32 +01:00
Florian Pelz 958ca14f47 nls: Adapt 'de' translations of "Binary Installation" documentation.
To accommodate last-minute changes in #5724 before Guix 1.5.0 release.

* po/doc/guix-manual.de.po: Adapt.

Change-Id: I800e0645900ca1fc45f02d664c3336efdb30aa76
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5759
2026-01-19 18:52:52 +01:00
Ludovic Courtès 2e2f80faba doc: Use markup for commands in “Upgrading Guix”.
This is a followup to d5cf3b5def.

* doc/guix.texi (Upgrading Guix): Use markup for commands.

Change-Id: I0b751ddc7f0e8e57813be23c809c23ade1e6cbd1
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5724
2026-01-19 18:52:31 +01:00
Ludovic Courtès b12d80aec3 doc: Move “When you’re done” instructions right after ‘guix-install.sh’.
* doc/guix.texi (Binary Installation): Move “When you’re done” instructions
right after script execution.

Change-Id: I70c9015add401a6ad6465941f423a3c4c9ef9b24
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:29 +01:00
Ludovic Courtès 02840cc74f doc: Mention the tarball URL and clarify binary installation steps.
* doc/guix.texi (Binary Installation): Mention the tarball URL.  Clarify what
the steps do.

Change-Id: Ic929b10c29b69752fd549b78295682bdf4fb76f6
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:28 +01:00
Ludovic Courtès 6e89d38ce8 doc: Move ‘guix-install.sh’ commands upfront in “Binary Installation”.
* doc/guix.texi (Binary Installation): Move installation commands upfront.

Change-Id: Ie63837f29d5c2f25e3e50039facb8cdb12ba2f82
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:27 +01:00
Ludovic Courtès a92a0ddaea doc: Reword introduction to ‘guix-install.sh‘.
* doc/guix.texi (Binary Installation): Reword introduction to
‘guix-install.sh’.

Change-Id: I51a1f55191cccde3800ef32a7a8ebe15f5e2c813
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:26 +01:00
Ludovic Courtès 6275c911bd doc: Link to ‘guix-install.sh’ upfront under “Binary Installation”.
* doc/guix.texi (Binary Installation): Link to the script upfront rather than
in a footnote.

Change-Id: Icd89d0e9bb0c701b6b956ce214015e5466299bf3
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:26 +01:00
Ludovic Courtès 93e1f4e363 doc: Remove ‘#’ from code snippets to allow for copy/paste.
* doc/guix.texi (Binary Installation): Remove leading ‘#’ from code snippets.

Change-Id: Id459799ffdf26da3f9ab2907ed68e0ac7eb857fc
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:25 +01:00
Ludovic Courtès f45b68feb8 doc: Use @command for commands under “Binary Installation”.
* doc/guix.texi (Binary Installation): Use @command and @code appropriately.

Change-Id: If2d0d25a3e7e97c19f14c6f70143b5481b49b727
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:24 +01:00
Ludovic Courtès 60005904e9 doc: Move instructions about ‘guix’ from other distros to the bottom.
* doc/guix.texi (Binary Installation): Move paragraphs about ‘guix’ packages
of other distros to the bottom.

Change-Id: Ie7c3484e40fb0dbe502e81f17e2d74b7afa0e777
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:23 +01:00
Ludovic Courtès 32c28c684a doc: Remove Parabola instructions from “Binary Installation”.
This reverts 0f9fe721be.

The rationale is that there’s no reason to single out Parabola and, more
importantly, it obscures the message of this section.

* doc/guix.texi (Binary Installation): Remove Parabola instructions.

Change-Id: Ib7b2b0629d8e3a90cd09705cc2dcde15df8f51a2
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:52:22 +01:00
Rutherther 00a117d436 news: Add information about %desktop-services changes.
Change-Id: I99a7fa1dcaba51f2a0dfe57f77384d82b98505f3
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5697
2026-01-19 18:51:43 +01:00
Rutherther 6d4cb99a15 gnu: %desktop-services: Switch to GDM on 64-bit systems.
* gnu/services/desktop.scm
(desktop-services-for-system): Use gdm on all 64-bit systems.

* gnu/services/xorg.scm (set-xorg-configuration): Adapt to
desktop-services-for-system change.

* gnu/system/examples/desktop.tmpl: Determine the support of Gnome by checking
for supported package.

Fixes: #5388
Change-Id: I0d512a7c31188cea0335e66f00a6d65ae59d09a4
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:51:12 +01:00
Rutherther 010af50497 maint: Add missing build-aux files to EXTRA_DIST.
* Makefile.am (EXTRA_DIST): Add missing build-aux files.

Change-Id: I4b186985029b963110feffc3463952b0521023fc
2026-01-18 18:00:22 +01:00
Rutherther 077aaa1138 doc: Bump version to 1.5.0.
* doc/build.scm
(%latest-guix-version): Bump to 1.5.0.
(stylized-html): Move to versioned manual URL.
(html-manual): Use versioned manual URL.

Change-Id: I82048a9548894e335e7c2427a739733304a7961a
Fixes: #5681
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5715
2026-01-18 17:54:21 +01:00
Hilton Chain 2ae3c69679 import: crate: Generate comments with ‘TODO REVIEW:’ prefix.
This distinguishes them from manually added ones.  When committing changes,
these ‘TODO REVIEW’ comments should be addressed and removed first.

If you're working with Rust packaging, please update your local Guix to this
commit to apply the change.

* guix/import/crate.scm (cargo-lock->expressions): Generate comments with
‘TODO REVIEW:’ prefix.
* tests/import/crate.scm ("crate-lockfile-import"): Don't check the exact
comment string.
* doc/guix-cookbook.texi (Common Workflow for Rust Packaging),
* gnu/packages/rust-crates.scm: Adjust accordingly.

Change-Id: I76b914b49be46d04cc61b101b6bc9e31cadb7f07
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #4567
2026-01-18 11:15:36 +01:00
Hilton Chain 1232e53526 gnu: rust-crates: Add ‘package:’ prefix for replaced crates.
This avoids definitions like
‘(define rust-pipewire-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)’.

* gnu/packages/rust-crates.scm: Import (gnu packages rust-sources) module with
‘package:’ prefix.
* etc/teams/rust/rust-crates.tmpl,
* doc/guix-cookbook.texi (Cargo Workspaces and Development Snapshots): Adjust
accordingly.

Change-Id: Ie41556d8f30db65e968d8e8238491f1345eeed59
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-18 11:14:55 +01:00
Rutherther d41f362114 maint: Register files for dist tarballs.
* Makefile.am: Register missing dist files.
* gnu/local.mk: Register all used patches.
*  gnu/packages/patches/emacs-gnus-desktop-notify-fix-notifications.patch:
Remove unregistered patch.
*  gnu/packages/patches/emacs-gnus-desktop-notify-rescan.patch: Remove
unregistered patch.
*  gnu/packages/patches/libjami-ac-config-files.patch: Remove unregistered
patch.
*  gnu/packages/patches/libjami-sdbus-cpp-v2.patch: Remove unregistered patch.

Fixes: #5691
Merges: #5709
Reported-By: Vagrant Cascadian <vagrant@debian.org>
Change-Id: Ifa05b163b3ad362c5a07efdfd2dac6af88bac18e
2026-01-18 11:14:18 +01:00
Rutherther b50a7973db gnu: qemu: Disable failing migration-test on AArch64.
On some AArch64 devices, like RPi5 or honeycombs used by CI, the test fails.

* gnu/packages/patches/qemu-disable-aarch64-migration-test.patch: New file.
* gnu/packages/virtualization.scm (qemu): Patch it.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: Ica2d31bc53e154637036c13517289c6c78010739
Fixes: #2447
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5683
2026-01-17 20:31:06 +01:00
Florian Pelz 7c3fec8a6d nls: Update translations.
Change-Id: I20ded9e099995fda91fa7a9cf7c34323b4eae541
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-16 20:56:39 +01:00
Florian Pelz ea0c0bec5d installer: Adjust vertical space in the recommended kernel choice.
Proposed in #5555.

* gnu/installer/newt/kernel.scm (run-kernel-page): Add a newline.

Suggested-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I50e156e12539ba86cf9aa12ab6ef92ed145b5578
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-16 20:53:49 +01:00
Rutherther 5ce978fa93 installer: run-kernel-page: Ensure Linux Libre is first.
The list box is automatically sorted, putting Hurd in front of Linux Libre.

* gnu/installer/newt/kernel.scm (run-kernel-page): Do not sort.

Change-Id: Id534560e93eee597e1180d766abb7422cd8e547a
2026-01-16 20:53:48 +01:00
Andreas Enge e651fdb380 gnu: kwin: Disable tests on all architectures.
One of them also fails on bordeaux for x86_64.

* gnu/packages/kde-plasma.scm (kwin)[arguments]<#:test-exclude>: Disable
failing aarch64 tests on all architectures.

Change-Id: Ib32f927d0165213f358d6962f27604109cd4be3b
2026-01-16 20:37:28 +01:00
Rutherther a6a0c82d73 system: install: Add support for more boot devices on AArch64.
The state is not great, there are many unsupported devices in the current
state. This adds support for much more USB controllers than before and also
SD cards.

* gnu/system/install.scm (%installation-initrd-modules): Add a lot of new
modules to support booting on various devices

Change-Id: I523ebe992a7e3740708622899d1209f20eb23e63
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5320
2026-01-16 20:28:28 +01:00
Simon Josefsson 79cf0fb7a3 guix-install.sh: Make /etc/profile.d/zzz-guix.sh usable in set -u shells
* etc/guix-install.sh: Replace $INFOPATH, $MANPATH with ${V:-} variant.

Closes: guix/guix#4534
Change-Id: I82da28d1347b1f37862b903f1721d9bdbb78acd2
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #4553
2026-01-16 20:23:50 +01:00
Artyom V. Poptsov 0e4fd181d9 gnu: visionfive2: Update the module commentary.
* gnu/system/images/visionfive2.scm: Update the module commentary.

Change-Id: If3d12bb0e3ccb9eaced4eb1e3afe636c7b89896f
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #4855
2026-01-16 20:23:49 +01:00
Artyom V. Poptsov ebd886faeb gnu: linux-libre 6.17-riscv: Enable CONFIG_SCSI_VIRTIO.
* gnu/packages/aux-files/linux-libre/6.17-riscv.conf: Enable
CONFIG_SCSI_VIRTIO.

Change-Id: I60920b484aa585e184f7f6174c334752a591d194
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-16 20:23:48 +01:00
Artyom V. Poptsov f8f2bdc24c gnu: install-starfive-visionfive2-uEnv.txt: Set extra options.
* gnu/bootloader/u-boot.scm (install-starfive-visionfive2-uEnv.txt): Set
"boot_targets" and "bootcmd_mmc1".

Change-Id: I0ce157d66e792af605cfdb7cc5dbecf6e5171c5a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-16 20:23:47 +01:00
Artyom V. Poptsov 333e1e5eda gnu: make-u-boot-installer: Use the original file name.
* gnu/bootloader/u-boot.scm (make-u-boot-installer): Use the original file
name without the Guix store file prefix when installing a plain file.

Change-Id: Ica2707878c1dd5f7d3b805499a0a38ca76e315af
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-16 20:23:46 +01:00
Artyom V. Poptsov 7ad0b7ec2a gnu: install-starfive-visionfive2-uEnv.txt: Remove "~%".
* gnu/bootloader/u-boot.scm (install-starfive-visionfive2-uEnv.txt): Remove
an extra "~%" from the file contents.

Change-Id: Ie83ae01702538153017e45da51ce2c3000df7899
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-16 20:23:46 +01:00
Hugo Buddelmeijer aa0883d233 gnu: guile-2.2.4: Fix build by using libxcrypt-without-failure-tokens.
* gnu/packages/guile.scm (guile-2.2.4): Use libxcrypt-without-failure-tokens.

Change-Id: I91d4d7287636f34aa64ce8d47736b14c311b7a62
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5624
2026-01-16 20:23:45 +01:00
Hugo Buddelmeijer 519210ce80 gnu: Add libxcrypt-without-failure-tokens.
* gnu/packages/crypto.scm (libxcrypt-without-failure-tokens): New variable.

Change-Id: I89f551d2e69f68d7c2440593c00b4dbc4c605b89
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-16 20:23:44 +01:00
Noé Lopez 848fdc7d09 tests: install: Fix timezone check.
The default timezone is set to Europe/Zaghreb, however the new check
introduced in 0a9eb3f3e2 was checking for the
one in the operating-system definition, which is Europe/Paris.

* gnu/tests/install.scm (gui-test-program): Explicitely set timezone to
Europe/Paris.

Change-Id: I7b5d327f13760632c9fbc0c1223a6a9bbc624f4d
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #4977
2026-01-16 20:08:55 +01:00
Christopher O'Neill a2f6d5c4ab doc: Remove paragraph stating Xorg display server used by default.
* doc/guix.texi (Desktop Services): Remove paragraph.
(X Window): Remove corresponding anchor.
* po/doc/guix-manual.de.po, po/doc/guix-manual.fr.po: Likewise.

Change-Id: Ib545f15e51585fcc5abdb804e6d9eb0f47cb2179
Co-authored-by: Florian Pelz <pelzflorian@pelzflorian.de>
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-15 19:07:35 +01:00
Hugo Buddelmeijer d08d7c6e5f doc: Better explain extra development tools when building from git.
* doc/contributing.texi (Building from Git): Better explain adding tools.

Change-Id: I47fb9e5414edc5eebce64d25db6998cc51985fcb
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4821
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-15 19:07:34 +01:00
Hugo Buddelmeijer 74d6654633 doc: Explain that some test require network when building from git.
* doc/contributing.texi (Building from Git): Discuss network tests.

Change-Id: I21c8e4a1e60ed215a6fb3507b7aedc1835f735ad
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-15 19:07:33 +01:00
Hugo Buddelmeijer d32b285b2b doc: Improve building from git instructions.
* doc/contributing.texi (Building from Git): Improve instructions.
Include 'cd' and authorizing the directory for guix shell.

Change-Id: Ied8eb7553ab92504a87c0059820ca154a18c33ab
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-15 19:07:32 +01:00
Rutherther 542db8304e installer: services: Disable desktop page on Hurd and 32-bit x86.
To prevent confusion, remove possibility to choose the desktop services on
both Hurd and 32-bit x86. As the info text suggests, desktop environments are not
available on Hurd. As for x86, there some of the services do not build. While
it is more idiomatic to fix those services, for the 1.5.0 release, use this
workaround to disable the desktop page. This ensures users aren't left
building something that will fail.

* gnu/installer/newt/services.scm
(run-desktop-environments-cbt-page): No longer show special info on Hurd.
(run-desktop-environments-cbt-page/maybe): Call
run-desktop-environments-cbt-page on architectures that support desktop
environments well.
(run-services-page): Call maybe variant of run-desktop-environments-cbt-page.

Change-Id: I4bb636e4d5bf2b73bfaf276fd359c77402c5c5f7
Fixes: #5400
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5503
2026-01-14 10:47:51 +01:00
Rutherther 056dd112aa installer: partition: Force msdos on Hurd.
Since Hurd always uses Legacy BIOS bootloader, do not offer GPT label.

* gnu/installer/newt/partition.scm (run-label-page): Force MSDOS for Hurd
target.

Change-Id: Ib8bb1175f85e8f6084683a747303e3e19f20be42
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-14 10:46:41 +01:00
Rutherther 9448ec6fb2 install: Add guix-system-installer executable to system profile.
To allow users in headless consoles to use the graphical installer, add an
executable. This executable is referred to by the console motd, so users
in headless setups will get to know about it.

* gnu/system/install.scm
(installer-command-package): New variable.
(%installation-services): Use it, add it to the profile-service-type

Change-Id: Id2d07b3f190aa17c99c7667c3bb31ae696499dde
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5346
2026-01-14 09:17:35 +01:00
Rutherther 94f9177cf8 install: Show different motd in headless console.
motd is shown by the pam module, it doesn't support changing what motd gets
displayed easily. The only way to control it is by read permissions on
individual motd files, making files unreadable by the user logging in.

So instead of that, make a custom script that prints different motd,
checking if a temporary file exists. An environment variable would be better
suited for this purpose, but those aren't passed through by PAM.

* gnu/system/install.scm
(%installation-login-pam-service): New variable. Modified login pam service.
(%installation-console-login): New variable. Wrapper around login to create a
file for PAM rule.
(%installation-services): Use new login pam service and wrapper.

Change-Id: I5e05e604b3106390181190559ade62ca5e2db216
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-14 09:17:34 +01:00
Rutherther ab22501915 install: Register agetty on primary console on AArch64.
This adds the possibility to parse /proc/consoles to find a primary console.
Then, on AArch64 this is used in the installation image. On AArch64, the boot
usually happens with chosen device tree that contains the serial console.
On x86_64, this does not happen so often, so we keep the installation iso
minimal there.

The primary console is chosen, but there is a fallback to any non-virtual one.
Virtual console (/dev/tty0) is skipped, because that one can point to any
console, like /dev/tty1 and so on. So it's not safe to register agetty on it.

* gnu/build/linux-boot.scm (read-linux-consoles): New variable.
* gnu/services/base.scm (default-serial-console): Use primary console as
fallback.
* gnu/system/install.scm (%installation-services): Add agetty tty for
consoles.

Change-Id: Iae01f7bc85b5ffdef2e52b1d0710889915b0f54a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-14 09:17:33 +01:00
Rutherther 84a018b356 installer: network: Check response code to assess substitute availability.
This is to accomodate following situation:
- The proxy is up
- The substitute server is down

When that happens, 5xx is returned from the proxy, typically either Bad
Gateway or Gateway Timeout. This implies the substitute server is down.

Still, for checking if the user is online, we do not check the response code.
If there is a response, even 4xx, 5xx, it still means the user is online.

* gnu/installer/newt/network.scm
(url-alive?): Add optional argument to to check the response code.
(common-urls-alive?): Add the same argument, passing it to url-alive?
(check-substitute-availability): Assume offline when non-successful http code
returned.

Follow up of 9ea2174ba8.
Change-Id: I52ae8a49407009dd76ad5da3925355770bc25d0c

Change-Id: I99a77cb7332198bae84f28a00a6cc0409d5bf3b9
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5217
2026-01-14 09:16:50 +01:00
Janneke Nieuwenhuizen 0ac92150b1 installer: Add Hurd x86_64 as an option.
* gnu/installer/newt/kernel.scm (run-kernel-page): Rename "Hurd" to "Hurd
32-bit (experimental)".  On 64-bit, also offer "Hurd 64-bit (highly
experimental!)", and make these strings translatable.  Make "Linux Libre" the
first option.  Add a line break after "When in doubt...".  Upon re-entrry,
use pre-selected kernel as the default.  Make sure to always [re]set
%current-target-system, as this page may be revisited and another kernel
choice selected.
* gnu/installer/kernel.scm (kernel->configuration): Update accordingly.
* gnu/installer/final.scm (install-system): Also cater for the 64-bit Hurd by
simply adding --target=(%current-target-system).

Change-Id: I14cb2d2815265b8841c16cf9bcc3857b1024f507
2026-01-14 09:16:49 +01:00
Yelninei 0afb832a3b gnu: sudo: Add libxcrypt dependency on the Hurd.
* gnu/packages/admin.scm (sudo)[inputs]: Add libxcrypt on the Hurd.

Change-Id: I3d43526d10ca7d758b4f4870d84923be3a39977d
2026-01-14 09:16:48 +01:00
Yelninei bb5e506f26 gnu: hurd: Add libxcrypt dependency.
Fixes guix/guix#5538

* gnu/packages/hurd.scm (hurd)[inputs]: Add libxcrypt.

Change-Id: I69e9624040d4b265ddb891ce894ce9a26032df36
2026-01-14 09:16:48 +01:00
Efraim Flashner 6b44fc4f9b gnu: llvm-18: Skip tests on powerpc64le-linux.
* gnu/packages/llvm.scm (llvm-18)[arguments]: Adjust the tests flag to
skip the tests on powerpc64le-linux.

Change-Id: I2a1c25642b00b29f53be619b72eea27c005f2db8
2026-01-14 09:16:47 +01:00
Efraim Flashner 82e58c26db guix: Spelling corrections.
* guix/gnupg.scm,
guix/import/composer.scm,
guix/import/cpan.scm,
guix/import/crate/cargo-lock.scm,
guix/import/hackage.scm,
guix/import/json.scm,
guix/licenses.scm,
guix/packages.scm,
guix/scripts/import.scm,
guix/ui.scm: Fix misspellings in comments and doc strings.

Change-Id: I8e922f8e980214e345a42a995788a7c4adb9184d
2026-01-14 09:16:46 +01:00
Efraim Flashner 35930066e5 etc: Spelling corrections.
* etc/apparmor.d/guix,
etc/teams/release/artifacts-manifest.scm: Fix misspellings in comments.

Change-Id: Iff757784cc82968c25004bdb430f1ae3ad44624e
2026-01-14 09:16:45 +01:00
Efraim Flashner 9efc2a690e nix: Spelling corrections.
* nix/libstore/globals.hh,
nix/libstore/store-api.hh,
nix/libutil/util.hh: Fix misspellings in comments.

Change-Id: Id77ea2bde1c2582d1a7bec4ed256ea900998c4b8
2026-01-14 09:16:45 +01:00
Efraim Flashner 0e0884eb4f gnu: freerdp: Update to 3.20.0.
Fixes: #5268.

* gnu/packages/rdesktop.scm (freerdp): Update to 3.20.0.
[source]: Remove patch.
[arguments]: Adjust test-exclude, configure-flags for new version.
* gnu/packages/patches/freerdp-3.16.0-rpath.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.

Change-Id: If30bfff499cc57b2158c7be5dc9644f8898bb492
2026-01-14 09:16:44 +01:00
Rutherther 64668f7c15 etc: release: Add spare space to the release VM image.
* etc/teams/release/artifacts-manifest.scm (qcow2-for-system): Make size 20
GiB.

Fixes: #5081
Change-Id: I11f932c417efc086b99f41a8ffc1f56ee86234f9
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5218
2026-01-04 12:47:39 +01:00
Rutherther 7c52959ae4 Make sure only Guix channel is used to produce release artifacts.
This ensures that only Guix channel is used, with the default url.

* Makefile.am (release): Add "-q" to time-machine.

Change-Id: I3102660919e946a7df4620318d11599cdbde7ad8
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:47:37 +01:00
Roman Scherer 8346bca4e5 gnu: plasma-desktop: Skip failing test on AArch64.
The tst_calibrationtool test fails on aarch64 due to floating-point
precision issues: QMatrix4x4 comparison fails with tiny differences
(1.11759e-08 instead of exact 0).

* gnu/packages/kde-plasma.scm (plasma-desktop)[arguments]: Add
tst_calibrationtool to test-exclude on aarch64.

Change-Id: I3875329704b50b1ecd3ccea41a355d53deb517cf
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #4846
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:47:01 +01:00
Roman Scherer 395b003094 gnu: kwin: Skip failing tests on AArch64.
* gnu/packages/kde-plasma.scm (kwin)[arguments]: Add
kwin-testSecurityContext and kwin-testXwaylandSelection to test-exclude.

Change-Id: I0256e0e390552deb54eb0b5368f1799800ec8cb0
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:47:01 +01:00
Rutherther 535ff8ec97 gnu: bcachefs-static: Do not depend on %current-system in toplevel.
Make the variables that depend on %current-system procedures and call them
from package arguments, a thunked field.

* gnu/packages/file-systems.scm
(bcachefs-tools-rust-target): Make it a procedure.
(bcachefs-tools-target/release): Make it a procedure.
(bcachefs-tools-cargo-args): Make it a procedure.
(bcachefs-tools-make-flags): Make it a procedure.
(bcachefs-tools-make-install-flags): Make it a procedure.
(bcachefs-tools-minimal): Call newly made procedure.
(bcachefs-tools): Call newly made procedure.
(bcachefs-tools-minimal/static): Call newly made procedure.

Fixes: #5195
Change-Id: I9f08b3e34f869b8f9f54b71192eff61357e9cc85
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5219
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:47:00 +01:00
Rutherther d078db3272 etc: guix-install.sh: Set XCURSOR_PATH to proper default value.
As can be seen in the Xcursor docs, the default path is
`~/.local/share/icons, ~/.icons, /usr/share/icons, /usr/share/pixmaps`,
zzz-guix.sh is currently missing the first two.

* etc/guix-install.sh (sys_create_init_profile): Add home paths to XCURSOR_PATH.

Change-Id: I4284d7648394c06b83e4eba91882b81c8a35d706
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5231
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:46:59 +01:00
Rutherther 9f47269602 scripts: package: Encourage unsetting GUIX_PROFILE.
GUIX_PROFILE should typically be unset, to prevent issues when sourcing
etc/profile of other profiles. So encourage it by showing it in the hint.

Followup of 50a2d73eac.

* guix/scripts/package.scm (display-search-path-hint): Add unset GUIX_PROFILE
to displayed hint.

Change-Id: Ie1564750017dde8bf896c79e463067699df709eb
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5118
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:46:58 +01:00
Rutherther f75737f42c system: operating-system-etc-service: Unset GUIX_PROFILE.
This seems to have been omitted, currently users on default Guix System
installations do have GUIX_PROFILE set to their ~/.config/guix/current.
This is wrong and can lead to some surprises when sourcing etc/profile
of a Guix profile.

Followup of 50a2d73eac.

* gnu/system.scm (operating-system-etc-services): Clean up GUIX_PROFILE.

Change-Id: Ia5bfb1907fa7ae887ac0336e6cd1922e611b6bdf
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5119
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:46:57 +01:00
Ludovic Courtès cf005b5107 doc: Add missing double quotes in ‘mapped-device’ snippet.
* doc/guix.texi (Mapped Devices): Add missing double quotes in
‘luks-device-mapping’ example.

Change-Id: I5bcd980ec3d5d142ea37697575f539d640bc6466
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:46:57 +01:00
Ludovic Courtès d2a93e6113 describe: Add channels to the load path right after ‘guix’.
* guix/describe.scm (append-channels-to-load-path!): Add ‘channels-scm’ and
‘channels-go’ in second position.

Fixes: guix/guix#4819
Fixes: https://issues.guix.gnu.org/74396
Reported-by: Thijs Paelman <thijs@ouroboros.rocks>
Reported-by: Tomas Volf <~@wolfsden.cz>
Change-Id: I430dd6e6e2bd9e423d47dbb310d4553f6cd7f19b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #5074
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:46:56 +01:00
Rutherther 7c3185afcb image: operating-system-for-image: Bring back root-fs placeholder.
To calculate the UUID in `root-uuid`, the operating-system has to have a root
file system, because it's typically used in the
operating-system-boot-parameters.

Followup of efc32c6684 that it partially reverts.

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

Fixes: #5131
Reported-By: Yelninei <yelninei@tutamail.com>
Change-Id: Ica2c3d3715cd90fccf3a7484f390b36de3cdfe7f
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5141
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:46:55 +01:00
Rutherther cd5fb8ce34 gnu: guix: Disable new syscall tests on armhf.
These tests currently fail on armhf. They would require large amount of time
or knowledge to be fixed and it's on a platform that's already not being
supported too well.

Followup of d339785a0f.

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

Change-Id: I056fb04a9a1230ed3d8718a4719a5f6d7010b847
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:46:54 +01:00
332 changed files with 197239 additions and 37452 deletions
+1 -1
View File
@@ -47,7 +47,7 @@
(;; primary: "220F 98D9 5E86 204C 0036 DA7B 6DEC 4360 408B 4185"
"F4C2 D1DF 3FDE EA63 D1D3 0776 ACC6 6D09 CA52 8292"
(name "hako"))
("3D58 BE78 5C1B E400 E214 0755 43F4 B499 3A1F 9D20"
("B943 509D 633E 80DD 27FC 4EED 634A 8DFF D3F6 31DF"
(name "htgoebel"))
( ;; primary: "FECD 9EBA FAAD 1831 7E05 DAC0 E55F 4198 D2A7 0CD7"
"6980 A9B9 5202 AA11 EB1D 8922 8499 AC88 F1A7 1CF2"
+2 -7
View File
@@ -129,7 +129,7 @@ guix/build/gnu-build-system\.scm @guix/core-packages
guix/build/utils\.scm @guix/core-packages
guix/build-system/gnu\.scm @guix/core-packages
gnu/packages/(.*-|)crypto\.scm$ @guix/crypto
gnu/packages/crypto\.scm @guix/crypto
gnu/packages/gnupg\.scm @guix/crypto
gnu/packages/nettle\.scm @guix/crypto
gnu/packages/password-utils\.scm @guix/crypto
@@ -170,8 +170,6 @@ gnu/packages/game-development\.scm @guix/games
gnu/packages/luanti\.scm @guix/games
gnu/packages/esolangs\.scm @guix/games
gnu/packages/motti\.scm @guix/games
gnu/services/games\.scm @guix/games
gnu/tests/games\.scm @guix/games
guix/build/luanti-build-system\.scm @guix/games
etc/teams/gnome @guix/gnome
@@ -218,7 +216,6 @@ tests/home-services\.scm @guix/home
gnu/packages/mpi\.scm @guix/hpc
gnu/packages/oneapi\.scm @guix/hpc
gnu/packages/parallel\.scm @guix/hpc
gnu/packages/rocm\.scm @guix/hpc
gnu/packages/sycl\.scm @guix/hpc
gnu/packages/tbb\.scm @guix/hpc
@@ -273,8 +270,6 @@ gnu/packages/ibus\.scm @guix/localization
gnu/packages/lxqt\.scm @guix/lxqt
gnu/packages/mate\.scm @guix/mate
gnu/build/icecat-extension\.scm @guix/mozilla
gnu/packages/browser-extensions\.scm @guix/mozilla
@@ -327,7 +322,7 @@ etc/manifests/release-desktop\.scm @guix/release
gnu/packages/diffoscope\.scm @guix/reproduciblebuilds
gnu/packages/(ruby)(-.+|)\.scm$ @guix/ruby
gnu/packages/ruby\.scm @guix/ruby
guix/build/ruby-build-system\.scm @guix/ruby
guix/build-system/ruby\.scm @guix/ruby
guix/import/gem\.scm @guix/ruby
+8 -3
View File
@@ -376,6 +376,7 @@ MODULES = \
guix/scripts/import/luanti.scm \
guix/scripts/import/minetest.scm \
guix/scripts/import/npm-binary.scm \
guix/scripts/import/nuget.scm \
guix/scripts/import/opam.scm \
guix/scripts/import/pypi.scm \
guix/scripts/import/stackage.scm \
@@ -505,7 +506,8 @@ EXAMPLES = \
gnu/system/examples/plasma.tmpl \
gnu/system/examples/raspberry-pi-64.tmpl \
gnu/system/examples/raspberry-pi-64-nfs-root.tmpl \
gnu/system/examples/vm-image.tmpl
gnu/system/examples/vm-image.tmpl \
gnu/system/examples/vm-image-efi.tmpl
GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go $(dist_noinst_DATA:%.scm=%.go)
@@ -747,7 +749,7 @@ dist_fishcompletion_DATA = etc/completion/fish/guix.fish
nodist_selinux_policy_DATA = etc/guix-daemon.cil
# AppArmor profiles.
nodist_apparmor_profile_DATA = \
dist_apparmor_profile_DATA = \
etc/apparmor.d/guix \
etc/apparmor.d/guix-daemon
@@ -771,9 +773,12 @@ EXTRA_DIST += \
build-aux/compile-as-derivation.scm \
build-aux/config.rpath \
build-aux/convert-xref.scm \
build-aux/cuirass/evaluate.scm \
build-aux/extract-syscall-ranges.sh \
build-aux/generate-authors.scm \
build-aux/gitlog-to-changelog \
build-aux/git-version-gen \
build-aux/keep-only-translated.scm \
build-aux/mdate-from-git.scm \
build-aux/test-driver.scm \
build-aux/update-NEWS.scm \
@@ -1185,7 +1190,7 @@ release: all
$(MKDIR_P) "$(releasedir)"
@echo "Building guix inferior for current commit."
COMMIT="$$(git rev-parse HEAD)" && \
GUIX="$$(guix time-machine --commit=$$COMMIT)/bin/guix" && \
GUIX="$$(guix time-machine -q --commit=$$COMMIT)/bin/guix" && \
echo "Building artifacts for current commit: $$COMMIT." && \
ARTIFACTS="$$($$GUIX build --no-grafts \
-f ./etc/teams/release/artifacts.scm)" && \
+75 -5
View File
@@ -6,6 +6,7 @@ Copyright © 2013-2022 Ludovic Courtès <ludo@gnu.org>
Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
Copyright © 2021, 2022, 2024 Maxim Cournoyer <maxim@guixotic.coop>
Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
Copyright © 2026 Noé Lopez <noelopez@free.fr>
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
@@ -16,8 +17,77 @@ Please send Guix bug reports to bug-guix@gnu.org.
* Changes in 1.5.0 (since 1.4.0)
** Package management
*** New rpm format for the guix pack command
*** New appimage format for the guix pack command
*** New --max-layers and --file options for the guix pack command
*** New --roll-back and --expression options for the guix deploy command
*** New --with-version package transformation option
*** New --with-configure-flag package transformation option
*** New --nesting option to use Guix within guix shell containers
*** New --emulate-fhs option for guix shell containers
*** New --dependents and --development options for guix build
*** New --interactive and --list-types flags for guix repl
*** The root file-system of guix shell containers is now read-only
*** New --writable-root option for the guix shell command
*** Improved style rules for guix style
*** New guix locate command
*** guix refresh now honours the --key-server option
*** guix git authenticate now remembers introduction commit and signer
*** guix git authenticate now installs pre-push and post-merge git hooks
*** System reconfiguration now supports kexec for fast reboot
*** Hetzner Cloud is now supported by the guix deploy command
*** The Guix Daemon can now be run without root privileges
*** guix refresh can now target partial version
*** New guix import composer command
*** New guix import binary-npm command
*** New guix import nuget command
*** New graphml backend for guix graph
*** New cyclonedx-json backend for guix graph
*** AppArmor profiles are now available for guix and guix-daemon
** Distribution
*** nss-certs is now included in %base-packages
*** udev-service-type now supports hardware configuration files
*** gdm-service-type now uses Wayland by default
*** KDE Plasma 6.5 is now available with the new plasma-desktop-service-type
*** GNOME was updated to version 44 with a more modular desktop service
*** Declarative offloading with new build-machines field of operating-system
*** containerd-service-type is no longer included with the Docker service
*** privileged-programs replaces setuid-programs in operating-system
*** The postgresql field of postgresql-configuration is now mandatory
*** The Rottlog service was replaced by new log-rotation-service-type
*** The default system log has been changed to Shepherds system-log service
*** New recommended %base-home-services variable for Guix Home
*** UDisks now mounts removable devices in /run/media/$USER instead of /media
*** Syncthing service received incompatible changes
*** node-build-system received incompatible changes
*** New services for /etc/profile.d and /etc/bashrc.d
*** New build system for clasp-cl
*** New Rust packaging model
*** C.utf8 locale is now supported by glibc
*** Fully bootstrapped mono and zig are now available
*** 64bit Hurd (x86_64-gnu) now has experimental support
*** 12525 new packages
*** 8911 package updates
Noteworthy updates:
bash 5.2.37, binutils 2.44, clojure 1.12.0, cups 2.4.14, emacs 30.2,
gcc-toolchain 15.2.0, gdb 16.3, ghc 9.2.8, gimp 3.0.4, glibc 2.41,
gnome 46.10, gnupg 2.4.7, go 1.25.3, guile 3.0.9, icecat 140.6.0-gnu1,
icedtea 3.19.0, inkscape 1.3.2, julia 1.8.5, libreoffice 25.2.5.2,
linux-libre 6.17.12, lxde 0.99.3, mate 1.28.2, ocaml 5.3.0, octave 10.3.0,
openjdk 25, perl 5.36.0, python 3.11.14, racket 8.18, rust 1.85.1, r 4.5.2,
sbcl 2.5.8, shepherd 1.0.9, xfce 4.20.0, xorg-server 21.1.21
** Programming interfaces
*** (gnu system setuid) has been renamed to (gnu system privilege)
*** Moved to a new Rust packaging model and repackaged all Rust applications
*** Rust library packages have been moved to the guix-rust-past-crates channel
*** Most Python packages now use the pyproject-build-system
** Noteworthy bug fixes
*** Daemon vulnerability allowing store corruption has been fixed
*** Daemon vulnerability allowing takeover of build users has been fixed
*** Daemon privilege escalation vulnerabilities fixed
*** Daemon CVEs have been fixed
CVE-2024-27297, CVE-2024-52867, CVE-2025-46415, CVE-2025-46416, CVE-2025-59378
* Changes in 1.4.0 (since 1.3.0)
** Package management
*** New guix home command, for home environment management
@@ -1926,7 +1996,7 @@ zynaddsubfx@3.0.3, zziplib@0.13.69
*** guix pack now honors package transformation options
*** guix package --search no longer shows superseded packages
(<https://bugs.gnu.org/30566>)
*** guix offload test reports errors more nicely
*** guix offload test reports errors more nicely
(<https://bugs.gnu.org/28057>)
*** postgresql service is started through pg_ctl
(<https://bugs.gnu.org/29992>)
@@ -5664,7 +5734,7 @@ Monad” in the manual.
*** X session is executed from a login shell (<http://bugs.gnu.org/19119>)
*** grub.cfg is now a garbage-collector root (<http://bugs.gnu.org/19160>)
*** Substituter progress report properly formatted
*** Substituter progress report properly formatted
(<http://bugs.gnu.org/19313>)
*** Document permissions for /gnu/store (<http://bugs.gnu.org/19316>)
*** Make sure config.go is newer than config.scm
@@ -5920,18 +5990,18 @@ This could cause problems with ancient Linux kernel.
*** download: Use the 'SERVER NAME' TLS extension when possible
(<http://bugs.gnu.org/18526>)
*** libdaemon: Add alternate source URLs (<http://bugs.gnu.org/18639>)
*** icu4c: Reinstate RUNPATH on shared libraries
*** icu4c: Reinstate RUNPATH on shared libraries
(<http://bugs.gnu.org/18695>)
*** nss-mdns: Add alternate source URLs (<http://bugs.gnu.org/18704>)
*** download: Add "Accept: */*" to the HTTP headers
(<http://bugs.gnu.org/18768>)
*** guix-register: Do not attempt to create NIX_STORE_DIR
*** guix-register: Do not attempt to create NIX_STORE_DIR
(<http://bugs.gnu.org/18689>)
*** Allow Linux-libre to find our 'modprobe' command
(<http://bugs.gnu.org/18525>)
*** man-pages: Build sequentially (<http://bugs.gnu.org/18701>)
*** Fix intermittent test failures involving GC (<http://bugs.gnu.org/18935>)
*** guix import: pypi: Gracefully handle non-existent packages
*** guix import: pypi: Gracefully handle non-existent packages
(<http://bugs.gnu.org/18831>)
*** Make sure the shared library has the '.so' extension
(<http://bugs.gnu.org/18521>)
+6
View File
@@ -198,6 +198,12 @@ if test "x$have_guile_lzlib" != "xyes"; then
AC_MSG_ERROR([Guile-lzlib is missing; please install it.])
fi
dnl Check for Guile-semver.
GUILE_MODULE_AVAILABLE([have_guile_semver], [(semver)])
if test "x$have_guile_semver" != "xyes"; then
AC_MSG_ERROR([Guile-semver is missing; please install it.])
fi
dnl Check for Guile-Avahi.
GUILE_MODULE_AVAILABLE([have_guile_avahi], [(avahi)])
AM_CONDITIONAL([HAVE_GUILE_AVAHI],
+5 -3
View File
@@ -82,7 +82,7 @@
(define %latest-guix-version
;; Latest released version.
"1.4.0")
"1.5.0")
(define (texinfo-manual-images source)
"Return a directory containing all the images used by the user manual, taken
@@ -777,7 +777,8 @@ in SOURCE."
(define version-links
(list (menu-item #$latest-version
(string-append
"/manual/" language
"/manual/" #$latest-version
"/" language
(if split-node? "/html_node" "")))
(menu-item "development"
(string-append
@@ -942,7 +943,8 @@ makeinfo OPTIONS."
(let* ((texi (language->texi-file-name language))
(opts `("--html"
"-c" ,(string-append "TOP_NODE_UP_URL=/manual/"
language)
#$%latest-guix-version
"/" language)
#$@options
,texi)))
(format #t "building HTML manual for language '~a'...~%"
+1 -5
View File
@@ -134,11 +134,7 @@ C++11 standard.
@section Building from Git
If you want to hack Guix itself, it is recommended to use the latest
version from the Git repository@footnote{
Guix uses @code{master} as the default branch name. A proposal in 2025 to
change the default branch name to @code{main} did not reach consensus.
See @uref{https://codeberg.org/guix/guix-consensus-documents/src/branch/main/003-rename-default-branch.md,
Guix Consensus Document 003}.}:
version from the Git repository:
@example
git clone https://git.guix.gnu.org/guix.git
+6 -6
View File
@@ -1734,8 +1734,8 @@ At this stage, the package @code{cargo-audit} is buildable.
@item
Finally we'll unbundle the vendored dependencies. The lockfile importer
inserts @code{TODO:} comments for libraries with high probability of
bundled dependencies. @code{cargo-build-system} also performs
inserts @code{TODO REVIEW:} comments for libraries with high probability
of bundled dependencies. @code{cargo-build-system} also performs
additional check for binary files in its
@code{check-for-pregenerated-files} phase, which usually indicates
bundling:
@@ -1909,11 +1909,11 @@ Don't forget to modify all workspace members in @code{(gnu packages
rust-crates)}:
@lisp
(define rust-pipewire-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)
(define rust-pipewire-sys-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)
(define rust-pipewire-0.8.0.fd3d8f7 package:rust-pipewire-0.8.0.fd3d8f7)
(define rust-pipewire-sys-0.8.0.fd3d8f7 package:rust-pipewire-0.8.0.fd3d8f7)
@dots{}
(define rust-libspa-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)
(define rust-libspa-sys-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)
(define rust-libspa-0.8.0.fd3d8f7 package:rust-pipewire-0.8.0.fd3d8f7)
(define rust-libspa-sys-0.8.0.fd3d8f7 package:rust-pipewire-0.8.0.fd3d8f7)
@end lisp
@node Using Rust Libraries in Other Build Systems
+49 -264
View File
@@ -770,57 +770,43 @@ This section only applies to systems without Guix. Following it for
existing Guix installations will overwrite important system files.
@end quotation
Some GNU/Linux distributions, such as openSUSE, Alpine and NixOS provide
Guix through their own package managers. The version of Guix may be
older than @value{VERSION} but you can update it afterwards by running
@samp{guix pull}.
We advise system administrators who install Guix, both from the
installation script or @i{via} the native package manager of their
foreign distribution, to also regularly read and follow security
notices, as shown by @command{guix pull}.
If you are running Parabola, after enabling the pcr (Parabola
Community Repo) repository, you can install Guix with:
@example
sudo pacman -S guix
@end example
For other package managers with a @var{guix} package, you should be able
to install it like any other package.
The Guix project also provides a shell script, @file{guix-install.sh},
which automates the binary installation process without use of a foreign
distro package
manager@footnote{@uref{https://guix.gnu.org/guix-install.sh}}.
The
@uref{https://guix.gnu.org/guix-install.sh, @file{guix-install.sh}}
shell script automates the binary installation process.
Use of @file{guix-install.sh} requires Bash, GnuPG, GNU@tie{}tar, wget,
and Xz. On systems where @code{systemd} is detected, the tool
@code{newgidmap} from the @code{uidmap} package is also required.
and Xz. On systems where systemd is detected, the tool
@command{newgidmap} from the @code{uidmap} package is also required.
The script guides you through the following:
@itemize
@item Downloading and extracting the binary tarball
@item Setting up the build daemon
@item Making the guix command available to non-root users
@item Configuring substitute servers
@end itemize
As root, run:
To install Guix on top of your GNU/Linux system, run the following
commands as root:
@example
# cd /tmp
# wget https://guix.gnu.org/guix-install.sh
# chmod +x guix-install.sh
# ./guix-install.sh
cd /tmp
wget https://guix.gnu.org/guix-install.sh
chmod +x guix-install.sh
./guix-install.sh
@end example
The script to install Guix is also packaged in Parabola (in the pcr
repository). You can install and run it with:
@example
sudo pacman -S guix-installer
sudo guix-install.sh
@end example
When you're done installing Guix, @pxref{Application Setup} for extra
configuration you might need, and @ref{Getting Started} for your first
steps!
The script goes through the following steps:
@enumerate
@item
Downloading the binary tarball from
@indicateurl{@value{BASE-URL}/guix-binary-@value{VERSION}.x86_64-linux.tar.xz}
(where @code{x86_64-linux} can be replaced with @code{i686-linux} for an
@code{i686} (32-bits) machine already running the kernel Linux, and so
on---@pxref{GNU Distribution}) and extracting it.
@item
Setting up the build daemon (@pxref{Setting Up the Daemon}).
@item
Making the @command{guix} command available to non-root users.
@item
Configuring substitute servers (@pxref{Official Substitute Servers}).
@end enumerate
@quotation Note
By default, @file{guix-install.sh} will configure Guix to download
@@ -837,17 +823,13 @@ To use substitutes from @code{@value{SUBSTITUTE-SERVER-1}},
For example,
@example
# guix archive --authorize < \
~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-1}.pub
# guix archive --authorize < \
~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-2}.pub
guix archive --authorize < \
~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-1}.pub
guix archive --authorize < \
~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-2}.pub
@end example
@end quotation
When you're done installing Guix, @pxref{Application Setup} for extra
configuration you might need, and @ref{Getting Started} for your first
steps!
@quotation Note
The binary installation tarball can be (re)produced and verified simply
by running the following command in the Guix source tree:
@@ -879,6 +861,16 @@ the @option{--uninstall} flag:
With @option{--uninstall}, the script irreversibly deletes all the Guix
files, configuration, and services.
Some GNU/Linux distributions, such as openSUSE, Alpine and NixOS provide
Guix through their own package managers. The version of Guix may be
older than @value{VERSION} but you can update it afterwards by running
@command{guix pull}.
We advise system administrators who install Guix, both from the
installation script or @i{via} the native package manager of their
foreign distribution, to also regularly read and follow security
notices, as shown by @command{guix pull}.
@node Setting Up the Daemon
@section Setting Up the Daemon
@@ -2157,8 +2149,9 @@ systemctl restart guix-daemon.service
While this works for @file{guix-install.sh}, it will most likely not
work if you installed Guix through the package manager of another
distribution (for instance with sudo apt install guix, pacman -S guix,
etc) because on many distributions @file{guix-daemon.service} will only
distribution (for instance with @command{sudo apt install guix},
@command{pacman -S guix}, or similar commands)
because on many distributions @file{guix-daemon.service} will only
run the Guix daemon provided by the distribution.
Waiting for your distribution to provide security fixes sometimes work,
@@ -8737,7 +8730,6 @@ The example below denotes a version of gnu-standards to fetch:
@section Defining Package Variants
@cindex customizing packages
@cindex package variants
@cindex variants, of packages
One of the nice things with Guix is that, given a package definition,
you can easily @emph{derive} variants of that package---for a different
@@ -13582,8 +13574,7 @@ the parsed command-line options.
@node Package Transformation Options
@subsection Package Transformation Options
@cindex package tranformation
@cindex package variants, transformation
@cindex package variants
Another set of command-line options supported by @command{guix build}
and also @command{guix package} are @dfn{package transformation
options}. These are options that make it possible to define @dfn{package
@@ -43200,91 +43191,6 @@ the @code{joycond-configuration} configuration), so that joycond
controllers can be detected and used by an unprivileged user.
@end defvar
@subsubheading Luanti service
@cindex luanti
@cindex voxel-based games
@uref{https://www.luanti.org/en/, Luanti} is a voxel game engine that
powers many games. This service is for hosting a Luanti server. The
various options can be configured via the @code{luanti-configuration}
record, documented below:
@c %start of fragment
@deftp {Data Type} luanti-configuration
Available @code{luanti-configuration} fields are:
@table @asis
@item @code{luanti} (default: @code{luanti-server}) (type: file-like)
The Luanti package to use.
@item @code{game} (default: @code{luanti-mineclonia}) (type: file-like)
The Luanti game package to serve.
@item @code{game-configuration} (type: maybe-file-like)
A configuration file to use for the selected Luanti game, which
corresponds to the @file{minetest.conf} file.
@item @code{mods} (type: maybe-list-of-file-likes)
A list of Luanti mod packages to use. Note that using mods is
complicated by the requirements of Luanti to 1) manually enable the mod
and any of its dependent mods in the @file{world.rt} file of the world
used and 2) to register the mod names and those of its dependents via a
@samp{secure.trusted_mods} @code{game-configuration} directive. Consult
the example below for more precise directions.
@item @code{log-file} (default: @code{"/var/log/luanti.log"}) (type: maybe-string)
The log file to log to. To disable logging, set this to
@code{%unset-value}.
@item @code{verbose?} (default: @code{#f}) (type: boolean)
Print more detailed information.
@item @code{port} (default: @code{30000}) (type: port)
The UDP port the server should listen to.
@item @code{world} (type: maybe-string)
An existing Luanti world directory to serve. If omitted, a new world is
created under the @file{/var/lib/luanti/.minetest/worlds/world}
directory. If an absolute file name is provided, it is used directly.
Otherwise, it is expected to be a directory under
@file{/var/lib/luanti/.minetest/worlds/}.
@end table
@end deftp
@c %end of fragment
Here's the simplest example of a Luanti server, which in its default
configuration serves the @code{luanti-mineclonia} game.
@lisp
(service luanti-service-type)
@end lisp
Here's a slightly more elaborate one, which adds the
@code{luanti-whitelist} mod. Embedded are comments explaining extra
needed steps when using mods. Failing to do these steps will cause the
service to fail to start.
@lisp
(service luanti-service-type
(luanti-configuration
(game luanti-mineclonia)
(game-configuration
(plain-file
"minetest.conf"
;; lib_chatcmdbuilder is a dependency of the whitelist mod
"secure.trusted_mods = whitelist,lib_chatcmdbuilder\n"))
;; The
;; '/var/lib/luanti/.minetest/worlds/world/world.mt'
;; file needs to be hand-edited to add:
;; load_mod_whitelist = true
;; load_mod_lib_chatcmdbuilder = true
(mods (list luanti-whitelist))))
@end lisp
@subsubheading The Battle for Wesnoth Service
@cindex wesnothd
@uref{https://wesnoth.org, The Battle for Wesnoth} is a fantasy, turn
@@ -46283,127 +46189,6 @@ Mode for filter.
@c End of auto-generated fail2ban documentation.
@cindex OpenSnitch
@subsubheading OpenSnitch Service
@uref{https://github.com/evilsocket/opensnitch, OpenSnitch} is an
application-level firewall that monitors outbound connections and prompts
users to allow or deny them on a per-application basis.
@code{opensnitch-service-type} is provided by the @code{(gnu services
opensnitch)} module.
@defvar opensnitch-service-type
This is the service type for the OpenSnitch application firewall daemon.
Its value must be an @code{opensnitch-configuration} record.
Below is an example configuration:
@lisp
(service opensnitch-service-type)
@end lisp
This service depends on the @code{networking} service.
@end defvar
@deftp {Data Type} opensnitch-configuration
Available @code{opensnitch-configuration} fields are:
@table @asis
@item @code{opensnitch} (default: @code{opensnitch-daemon}) (type: package)
The @code{opensnitch-daemon} package to use.
@item @code{server-address} (default: @code{"unix:///tmp/osui.sock"}) (type: string)
Address for the UI to connect to the daemon.
@item @code{server-log-file} (default: @code{"/var/log/opensnitchd.log"}) (type: string)
Path to the daemon log file.
@item @code{authentication-type} (default: @code{"simple"}) (type: string)
Authentication type for UI-daemon communication.
@item @code{tls-ca-cert} (default: @code{""}) (type: string)
Path to TLS CA certificate.
@item @code{tls-server-cert} (default: @code{""}) (type: string)
Path to TLS server certificate.
@item @code{tls-client-cert} (default: @code{""}) (type: string)
Path to TLS client certificate.
@item @code{tls-client-key} (default: @code{""}) (type: string)
Path to TLS client key.
@item @code{tls-skip-verify?} (default: @code{#f}) (type: boolean)
Whether to skip TLS verification.
@item @code{tls-client-auth-type} (default: @code{"no-client-cert"}) (type: string)
TLS client authentication type.
@item @code{default-action} (default: @code{"allow"}) (type: string)
Default action for connections: @code{"allow"} or @code{"deny"}.
@item @code{default-duration} (default: @code{"once"}) (type: string)
Default duration for rules: @code{"once"}, @code{"until-restart"},
@code{"always"}, etc.
@item @code{intercept-unknown?} (default: @code{#f}) (type: boolean)
Whether to intercept connections from unknown processes.
@item @code{proc-monitor-method} (default: @code{"ebpf"}) (type: string)
Method for monitoring processes: @code{"ebpf"}, @code{"proc"}, or
@code{"audit"}.
@item @code{log-level} (default: @code{2}) (type: integer)
Log level: 0=silent, 1=error, 2=warning, 3=important, 4=debug.
@item @code{log-utc?} (default: @code{#t}) (type: boolean)
Whether to log timestamps in UTC.
@item @code{log-micro?} (default: @code{#f}) (type: boolean)
Whether to include microseconds in log timestamps.
@item @code{firewall} (default: @code{"nftables"}) (type: string)
Firewall backend: @code{"nftables"} or @code{"iptables"}.
@item @code{fw-config-path} (default: @code{"/etc/opensnitchd/system-fw.json"}) (type: string)
Path to the system firewall configuration file.
@item @code{fw-monitor-interval} (default: @code{"15s"}) (type: string)
Interval for monitoring firewall rules.
@item @code{fw-queue-bypass?} (default: @code{#t}) (type: boolean)
Whether to bypass the queue when the daemon is not running.
@item @code{rules-path} (default: @code{"/etc/opensnitchd/rules/"}) (type: string)
Directory where firewall rules are stored.
@item @code{rules-enable-checksums?} (default: @code{#f}) (type: boolean)
Whether to enable checksums for rules.
@item @code{ebpf-events-workers} (default: @code{8}) (type: integer)
Number of eBPF event worker threads.
@item @code{ebpf-queue-events-size} (default: @code{0}) (type: integer)
Size of the eBPF events queue (0 = default).
@item @code{stats-max-events} (default: @code{250}) (type: integer)
Maximum number of events to keep in statistics.
@item @code{stats-max-stats} (default: @code{25}) (type: integer)
Maximum number of statistics entries.
@item @code{stats-workers} (default: @code{6}) (type: integer)
Number of statistics worker threads.
@item @code{internal-gc-percent} (default: @code{100}) (type: integer)
Go garbage collector percentage.
@item @code{internal-flush-conns-on-start?} (default: @code{#t}) (type: boolean)
Whether to flush existing connections on daemon start.
@end table
@end deftp
@cindex resize-file-system
@subsubheading Resize File System Service
+2 -2
View File
@@ -2,7 +2,7 @@
# Modified by Ludovic Courtès <ludo@gnu.org> for the GNU Guix manual.
# Further modified by Tomas Volf <~@wolfsden.cz>.
htmlxrefversion=2025-11-29.21; # UTC
htmlxrefversion=2026-01-19.08; # UTC
# Copyright 2010-2020, 2022 Free Software Foundation, Inc.
#
@@ -416,7 +416,7 @@ guile-rpc mono ${GS}/guile-rpc/manual/guile-rpc.html
guile-rpc node ${GS}/guile-rpc/manual/html_node/
GUIX_ROOT = https://guix.gnu.org
GUIX = ${GUIX_ROOT}/manual
GUIX = ${GUIX_ROOT}/manual/1.5.0
guix.de mono ${GUIX}/de/guix.de.html
guix.de node ${GUIX}/de/html_node/
guix.es mono ${GUIX}/es/guix.es.html
+1 -1
View File
@@ -5,7 +5,7 @@ include <tunables/guix>
# Theres no point in confining the guix executable, since it can run
# any user code and so everything is expected. We just need to
# explicitely enable userns for systems with the
# explicitly enable userns for systems with the
# kernel.apparmor_restrict_unprivileged_userns sysctl.
profile guix @{guix_storedir}/{*-guix-command,*-guix-*/bin/guix} flags=(unconfined) {
userns,
+1
View File
@@ -110,6 +110,7 @@ GNU_URL="https://ftpmirror.gnu.org/gnu/guix/"
declare -A GPG_SIGNING_KEYS
GPG_SIGNING_KEYS["civodul"]=3CE464558A84FDC69DB40CFB090B11993D9AEBB5 # ludo
GPG_SIGNING_KEYS["apteryx"]=27D586A4F8900854329FF09F1260E46482E63562 # maxim
GPG_SIGNING_KEYS["efraim"]=A28BF40C3E551372662D14F741AAE7DCCA3D8351 # efraim
PUBLIC_KEYSERVERS="keys.openpgp.org pgpkeys.eu keyserver.ubuntu.com"
# ------------------------------------------------------------------------------
+1
View File
@@ -68,6 +68,7 @@
"hexchat"
"hyprland"
"icecat"
"idris"
"imagemagick"
"imapfilter"
"jami"
+20
View File
@@ -42,6 +42,26 @@
(channel-news
(version 0)
(entry (commit "6d4cb99a15da7f4fd55f956c55f4f4aacfcc7742")
(title
(en "@code{%desktop-services} now includes GDM on AArch64"))
(body
(en "On Guix System in an operating system configuration, your value for the
@code{services} field is based on @code{%desktop-services} for desktop
machines.
The @code{%desktop-services} contains a login manager that is
architecture-dependent. Previously, GDM has been used on x86_64 and SDDM on
other architectures.
Now, GDM is used on all 64-bit architectures. This affects only AArch64 in
the end, as other 64-bit architectures aren't mature enough to use
%desktop-services, yet.
In case you're on AArch64 and you've changed the login manager, you will have
to adapt your config to remove @code{gdm-service-type} instead of
@code{sddm-service-type}.")))
(entry (commit "d3b79beaa806452dceaffb8b211b69dc4c346aba")
(title
(en "Linux-libre 5.4 no longer supported")
+26 -22
View File
@@ -92,7 +92,7 @@ exec $pre_inst_env_maybe guix repl -- "$0" "$@"
(email person-email)
(account person-codeberg-account))
(define (person name email account)
(define* (person name #:optional email account)
(make-person name email account))
(define* (team id #:key name description (members '())
@@ -666,8 +666,6 @@ ecosystem."
"gnu/packages/luanti.scm"
"gnu/packages/esolangs.scm" ; granted, rather niche
"gnu/packages/motti.scm"
"gnu/services/games.scm"
"gnu/tests/games.scm"
"guix/build/luanti-build-system.scm")))
(define-team gnome
@@ -741,7 +739,6 @@ the haskell-build-system."
#:description "High-performance computing (HPC) related packages."
#:scope (list "gnu/packages/mpi.scm"
"gnu/packages/oneapi.scm"
"gnu/packages/parallel.scm"
"gnu/packages/rocm.scm"
"gnu/packages/sycl.scm"
"gnu/packages/tbb.scm"
@@ -846,12 +843,6 @@ asdf-build-system."
#:description "LXQt desktop environment."
#:scope (list "gnu/packages/lxqt.scm")))
(define-team mate
(team 'mate
#:name "MATE team"
#:description "MATE desktop environment"
#:scope (list "gnu/packages/mate.scm")))
(define-team mentors
(team 'mentors
#:name "Mentors"
@@ -961,7 +952,7 @@ release."
(define-team ruby
(team 'ruby
#:name "Ruby team"
#:scope (list (make-regexp* "^gnu/packages/(ruby)(-.+|)\\.scm$")
#:scope (list "gnu/packages/ruby.scm"
"guix/build/ruby-build-system.scm"
"guix/build-system/ruby.scm"
"guix/import/gem.scm"
@@ -986,13 +977,14 @@ release."
#:name "Crypto team"
#:description
"Secrets, passwords, cryptography and security related packages."
#:scope (list (make-regexp* "^gnu/packages/(.*-|)crypto\\.scm$")
"gnu/packages/gnupg.scm"
"gnu/packages/nettle.scm"
"gnu/packages/password-utils.scm"
"gnu/packages/security-token.scm"
"gnu/packages/ssh.scm"
"gnu/packages/tls.scm")))
#:scope (list
"gnu/packages/crypto.scm"
"gnu/packages/gnupg.scm"
"gnu/packages/nettle.scm"
"gnu/packages/password-utils.scm"
"gnu/packages/security-token.scm"
"gnu/packages/ssh.scm"
"gnu/packages/tls.scm")))
(define-team science
(team 'science
@@ -1207,6 +1199,10 @@ the \"texlive\" importer."
"jpoiret")
installer)
(define-member (person "("
"paren@disroot.org")
)
(define-member (person "Simon Tournier"
"zimon.toutoune@gmail.com"
"zimoun")
@@ -1267,11 +1263,19 @@ the \"texlive\" importer."
"Hellseher")
go julia python science sysadmin)
(define-member (person "Vivien Kraus"
"vivien@planete-kraus.eu")
gnome)
(define-member (person "Mark H Weaver"
"mhw@netris.org"
"mhw")
mozilla)
(define-member (person "Adam Faiz"
"adam.faiz@disroot.org")
games)
(define-member (person "Laurent Gatto"
"lgatto@protonmail.ch"
"lgatto")
@@ -1336,6 +1340,10 @@ the \"texlive\" importer."
"Ashvith")
games go javascript sysadmin xfce)
(define-member (person "Trevor Richards"
"trev@trevdev.ca")
lisp emacs)
(define-member (person "Konrad Hinsen"
"guix@khinsen.fastmail.net"
"khinsen")
@@ -1411,10 +1419,6 @@ the \"texlive\" importer."
"tinystar")
hare)
(define-member (person "FuncProgLinux"
"softwarelibre@urutau-ltd.org"
"FuncProgLinux")
mate)
(define (find-team name)
(or (hash-ref %teams (string->symbol name))
-34
View File
@@ -1,34 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 FuncProgLinux <softwarelibre@urutau-ltd.org>
;;;
;;; 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/>.
(use-modules (guix packages)
(guix profiles)
(gnu packages mate)
(ice-9 match)
(srfi srfi-1))
(define (propagated-inputs package)
(map
(match-lambda
((_ (? package? pkg)) pkg)
((_ (? package? pkg) output) (list pkg output)))
(package-propagated-inputs package)))
(packages->manifest
(append-map propagated-inputs
(list mate)))
+2 -1
View File
@@ -187,7 +187,7 @@ configuration.scm."
(package-arguments guix)))))
;; NOTE: Normally, we would use (current-guix), along with url
;; overriden to the upstream repository to not leak our local checkout.
;; overridden to the upstream repository to not leak our local checkout.
;; But currently, the (current-guix) derivation has to be computed through
;; QEMU for systems other than your host system. This takes a lot of time,
;; it takes at least half an hour to get the derivations.
@@ -287,6 +287,7 @@ provenance."
(image
(inherit base-image)
(volatile-root? #f)
(size (* 20 (expt 1024 3))) ; 20 GiB to have spare space
(name (string->symbol name))))))))
(define* (guix-source-tarball)
+1 -1
View File
@@ -22,7 +22,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cargo)
#:use-module (gnu packages rust-sources)
#:use-module ((gnu packages rust-sources) #:prefix package:)
#:export (lookup-cargo-inputs))
;;;
+1 -1
View File
@@ -91,7 +91,7 @@ each retry."
((sleep*) delay) ;else wait and retry
(loop (+ 1 attempts)))
(error "maximum number of retry attempts reached"
(quote (begin body ...)) args))))))
(quote body ...) args))))))
;;;
+1 -2
View File
@@ -83,8 +83,7 @@ turn doesn't take any constant overhead into account, force a 1-MiB minimum."
(label (partition-label partition))
(uuid (partition-uuid partition)))
(apply invoke
`("unshare" "--map-root-user" "mkfs.btrfs"
"-r" ,root
`("fakeroot" "mkfs.btrfs" "-r" ,root
"-L" ,label
,@(if uuid
`("-U" ,(uuid->string uuid))
+72 -1
View File
@@ -46,7 +46,26 @@
make-static-device-nodes
configure-qemu-networking
boot-system))
boot-system
linux-console
linux-console?
linux-console-device
linux-console-can-read?
linux-console-can-write?
linux-console-can-unblank?
linux-console-enabled?
linux-console-preferred?
linux-console-primary?
linux-console-printk?
linux-console-braille?
linux-console-safe-when-cpu-offline?
linux-console-major
linux-console-minor
linux-console-virtual?
read-linux-consoles))
;;; Commentary:
;;;
@@ -675,4 +694,56 @@ the root file system...\n" root-delay)
(start-repl)))))
#:on-error on-error))
(define-record-type <linux-console>
(make-linux-console device can-read? can-write? can-unblank?
enabled? preferred? primary? printk? braille?
safe-when-cpu-offline? major minor virtual?)
linux-console?
(device linux-console-device)
(can-read? linux-console-can-read?)
(can-write? linux-console-can-write?)
(can-unblank? linux-console-can-unblank?)
(enabled? linux-console-enabled?)
(preferred? linux-console-preferred?)
(primary? linux-console-primary?)
(printk? linux-console-printk?)
(braille? linux-console-braille?)
(safe-when-cpu-offline? linux-console-safe-when-cpu-offline?)
(major linux-console-major)
(minor linux-console-minor)
(virtual? linux-console-virtual?))
(define* (read-linux-consoles #:optional (consoles-file "/proc/consoles"))
"Parses CONSOLES-FILE and returns a list of <linux-console> records."
(if (not (file-exists? consoles-file))
'()
(with-input-from-file consoles-file
(lambda ()
(let ((line-regex (make-regexp
"^([^ ]+)[ ]+(.+)[ ]+([0-9]+):([0-9]+)$"))
(virt-regex (make-regexp "^tty[0-9]+$")))
(let loop ((line (read-line))
(results '()))
(cond
((eof-object? line)
(reverse results))
((regexp-exec line-regex line)
=> (lambda (m)
(let* ((dev (match:substring m 1))
(flags (match:substring m 2))
(major (string->number (match:substring m 3)))
(minor (string->number (match:substring m 4)))
(virtual? (regexp-exec virt-regex dev))
(has? (lambda (c)
(string-any (lambda (f) (char=? f c)) flags))))
(loop (read-line)
(cons (make-linux-console
dev
(has? #\R) (has? #\W) (has? #\U) (has? #\E)
(has? #\C) (has? #\B) (has? #\p) (has? #\b)
(has? #\a)
major minor virtual?)
results)))))
(else (loop (read-line) results)))))))))
;;; linux-boot.scm ends here
+3
View File
@@ -129,6 +129,9 @@
(define (list-of-string-ish? lst)
(every string-ish? lst))
(define (list-of-packages? lst)
(every package? lst))
(define (bar-position? p)
(member p '(top bottom)))
+2 -1
View File
@@ -27,7 +27,8 @@
str)
(define (kernel->configuration kernel dry-run?)
(if (string-prefix? "Hurd" kernel)
(if (and (string? kernel)
(string-prefix? "Hurd" kernel))
`((kernel %hurd-default-operating-system-kernel)
,(comment (G_ ";; \"noide\" disables the gnumach IDE driver, enabling rumpdisk.\n"))
(kernel-arguments '("noide"))
+2
View File
@@ -48,12 +48,14 @@
;; TRANSLATORS: "Hurd" is a proper noun and must not be translated.
;; TRANSLATORS: "Linux Libre" is a literal and must not be translated.
(G_ "Please select a kernel. When in doubt, choose \"Linux Libre\".
The Hurd is offered as a technology preview and development aid; many packages \
are not yet available in Guix, such as a desktop environment or even a \
windowing system (X, Wayland).")
#:listbox-items kernels
#:listbox-item->text identity
#:listbox-default-item default
#:sort-listbox-items? #f ;keep Linux first
#:button-text (G_ "Back")
#:button-callback-procedure
(lambda _
+16 -8
View File
@@ -27,6 +27,7 @@
#:use-module (guix i18n)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (ice-9 match)
@@ -112,20 +113,24 @@ network devices were found. Do you want to continue anyway?"))
full-value
(+ value 1)))))))
(define (url-alive? url)
(define* (url-alive? url #:key (ensure-ok-status? #f))
(false-if-exception
(begin
(http-request url)
#t)))
(let ((response (http-request url)))
(or (not ensure-ok-status?)
(= (response-code response)
200)))))
(define (common-urls-alive? urls)
(define* (common-urls-alive? urls #:key (ensure-ok-status? #f))
"Return #t if at least some of the given URLS are alive,
meaning that they do respond to a HTTP request. If ENSURE-OK-STATUS? is
#t, return #t only if the code is 200."
(dynamic-wind
(lambda ()
(sigaction SIGALRM
(lambda _ #f))
(alarm 3))
(lambda ()
(any url-alive?
(any (cut url-alive? <> #:ensure-ok-status? ensure-ok-status?)
urls))
(lambda ()
(alarm 0))))
@@ -140,7 +145,9 @@ FULL-VALUE tentatives, spaced by 1 second."
"https://bordeaux.guix.gnu.org"
"https://ci.guix.gnu.org"
"https://guix.gnu.org"
"https://gnu.org")))
"https://gnu.org")
;; Any HTTP response means the users is online.
#:ensure-ok-status? #f))
(file-exists? "/tmp/installer-assume-online")))
(let* ((full-value 5))
@@ -173,7 +180,8 @@ Do you want to continue anyway?"))
(common-urls-alive?
(list
"https://bordeaux.guix.gnu.org/nix-cache-info"
"https://ci.guix.gnu.org/nix-cache-info"))))
"https://ci.guix.gnu.org/nix-cache-info")
#:ensure-ok-status? #t)))
(let* ((full-value 5))
(run-scale-page
+16 -13
View File
@@ -108,20 +108,23 @@ all data on disk will be lost, are you sure you want to proceed?") item)
(define (run-label-page button-text button-callback)
"Run a page asking the user to select a partition table label."
;; Force the GPT label if UEFI is supported.
(if (efi-installation?)
((run-label-confirmation-page button-callback) "gpt")
(run-listbox-selection-page
#:info-text (G_ "Select a new partition table type. \
;; Force the GPT label if UEFI is supported.
(cond ((efi-installation?)
((run-label-confirmation-page button-callback) "gpt"))
;; Force the MSDOS label on Hurd.
((target-hurd?)
((run-label-confirmation-page button-callback) "msdos"))
(else (run-listbox-selection-page
#:info-text (G_ "Select a new partition table type. \
Be careful, all data on the disk will be lost.")
#:title (G_ "Partition table")
#:listbox-items '("msdos" "gpt")
#:listbox-default-item (if (target-hurd?) "msdos" "gpt")
#:listbox-item->text identity
#:listbox-callback-procedure
(run-label-confirmation-page button-callback)
#:button-text button-text
#:button-callback-procedure button-callback)))
#:title (G_ "Partition table")
#:listbox-items '("msdos" "gpt")
#:listbox-default-item (if (target-hurd?) "msdos" "gpt")
#:listbox-item->text identity
#:listbox-callback-procedure
(run-label-confirmation-page button-callback)
#:button-text button-text
#:button-callback-procedure button-callback))))
(define (run-type-page partition)
"Run a page asking the user to select a partition type."
+13 -5
View File
@@ -36,11 +36,9 @@
environments."
(let ((items (filter desktop-system-service? (%system-services))))
(run-checkbox-tree-page
#:info-text (if (target-hurd?)
(G_ "Currently, none of these is available for the Hurd.")
(G_ "Please select the desktop environment(s) you wish to \
#:info-text (G_ "Please select the desktop environment(s) you wish to \
install. If you select multiple desktop environments here, you will be able \
to choose from them later when you log in."))
to choose from them later when you log in.")
#:title (G_ "Desktop environment")
#:items items
#:selection (map system-service-recommended? items)
@@ -50,6 +48,16 @@ to choose from them later when you log in."))
(lambda ()
(abort-to-prompt 'installer-step 'abort)))))
;; FIXME: all platforms should support %desktop-services and some of the
;; offered desktop environments. Instead of globally disabling the desktop
;; page, disable only non-working desktop environments.
(define (run-desktop-environments-cbt-page/maybe)
"Run page with desktop environments, as long as the user is on
a system that supports them."
(if (or (target-hurd?) (target-x86-32?))
'()
(run-desktop-environments-cbt-page)))
(define (run-networking-cbt-page)
"Run a page allowing the user to select networking services."
(let ((items (filter (lambda (service)
@@ -131,7 +139,7 @@ client may be enough for a server.")
(abort-to-prompt 'installer-step 'abort)))))
(define (run-services-page)
(let ((desktop (run-desktop-environments-cbt-page)))
(let ((desktop (run-desktop-environments-cbt-page/maybe)))
;; When the user did not select any desktop services, and thus didn't get
;; '%desktop-services', offer network management services.
(append desktop
+28 -25
View File
@@ -19,7 +19,7 @@
# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
# Copyright © 2018, 2019, 2020, 2021, 2022, 2024, 2025 Oleg Pykhalov <go.wigust@gmail.com>
# Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
# Copyright © 2018, 2020-2026 Maxim Cournoyer <maxim@guixotic.coop>
# Copyright © 2018, 2020-2025 Maxim Cournoyer <maxim@guixotic.coop>
# Copyright © 2019, 2020, 2021, 2022, 2024 Guillaume Le Vaillant <glv@posteo.net>
# Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
# Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
@@ -35,7 +35,7 @@
# Copyright © 2020 Ryan Prior <rprior@protonmail.com>
# Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
# Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
# Copyright © 2020, 2023, 2025 Tanguy Le Carrour <tanguy@bioneland.org>
# Copyright © 2020, 2023 Tanguy Le Carrour <tanguy@bioneland.org>
# Copyright © 2020 Martin Becze <mjbecze@riseup.net>
# Copyright © 2020 Malte Frank Gerdes <mate.f.gerdes@gmail.com>
# Copyright © 2020, 2023 Vinicius Monego <monego@posteo.net>
@@ -376,6 +376,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/i2p.scm \
%D%/packages/ibus.scm \
%D%/packages/icu4c.scm \
%D%/packages/idris.scm \
%D%/packages/idutils.scm \
%D%/packages/image.scm \
%D%/packages/image-processing.scm \
@@ -758,7 +759,6 @@ GNU_SYSTEM_MODULES = \
%D%/services/networking.scm \
%D%/services/nix.scm \
%D%/services/nfs.scm \
%D%/services/opensnitch.scm \
%D%/services/pam-mount.scm \
%D%/services/power.scm \
%D%/services/science.scm \
@@ -803,7 +803,6 @@ GNU_SYSTEM_MODULES = \
%D%/system/uuid.scm \
%D%/system/vm.scm \
\
%D%/system/images/a20-olinuxino-lime2.scm \
%D%/system/images/hurd.scm \
%D%/system/images/novena.scm \
%D%/system/images/orangepi-r1-plus-lts-rk3328.scm \
@@ -994,6 +993,7 @@ dist_patch_DATA = \
%D%/packages/patches/amd-smi-python.patch \
%D%/packages/patches/ibus-anthy-fix-tests.patch \
%D%/packages/patches/ibus-table-paths.patch \
%D%/packages/patches/anki-mpv-args.patch \
%D%/packages/patches/antiword-CVE-2014-8123.patch \
%D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \
%D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \
@@ -1087,7 +1087,8 @@ dist_patch_DATA = \
%D%/packages/patches/cdparanoia-fpic.patch \
%D%/packages/patches/cdrkit-libre-cross-compile.patch \
%D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \
%D%/packages/patches/ceph-fix-cmake.patch \
%D%/packages/patches/ceph-disable-cpu-optimizations.patch \
%D%/packages/patches/ceph-fix-for-newer-boost.patch \
%D%/packages/patches/cf-tool-add-languages.patch \
%D%/packages/patches/chmlib-inttypes.patch \
%D%/packages/patches/cl-asdf-config-directories.patch \
@@ -1141,8 +1142,6 @@ dist_patch_DATA = \
%D%/packages/patches/crc32c-unbundle-googletest.patch \
%D%/packages/patches/crda-optional-gcrypt.patch \
%D%/packages/patches/clucene-contribs-lib.patch \
%D%/packages/patches/cryfs-boost-1.88-fix.patch \
%D%/packages/patches/cryfs-boost-1.89-fix.patch \
%D%/packages/patches/csvkit-set-locale-for-tests.patch \
%D%/packages/patches/ctranslate2-local-build.patch \
%D%/packages/patches/ctune-cmake-disable-git-clone.patch \
@@ -1176,6 +1175,7 @@ dist_patch_DATA = \
%D%/packages/patches/dhclient-script-resolvconf-support.patch \
%D%/packages/patches/dicedb-remove-init-from-config-subpkg.patch \
%D%/packages/patches/directfb-davinci-glibc-228-compat.patch \
%D%/packages/patches/django-compressor-build-with-beautifulsoup-4.14+.patch \
%D%/packages/patches/dkimproxy-add-ipv6-support.patch \
%D%/packages/patches/doc++-gcc-14.patch \
%D%/packages/patches/docbook-utils-documentation-edits.patch \
@@ -1209,6 +1209,7 @@ dist_patch_DATA = \
%D%/packages/patches/eigen-fix-strict-aliasing-bug.patch \
%D%/packages/patches/einstein-build.patch \
%D%/packages/patches/elfutils-tests-ptrace.patch \
%D%/packages/patches/elixir-httpoison-tag-network-dependent-test-cases.patch \
%D%/packages/patches/elixir-path-length.patch \
%D%/packages/patches/elm-ghc9.2.patch \
%D%/packages/patches/python-treelib-remove-python2-compat.patch \
@@ -1217,7 +1218,6 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-all-the-icons-remove-duplicate-rs.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 \
%D%/packages/patches/emacs-elisp-autofmt-fix-region-send.patch \
%D%/packages/patches/emacs-exec-path.patch \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
@@ -1249,7 +1249,9 @@ dist_patch_DATA = \
%D%/packages/patches/ergodox-firmware-fix-numpad.patch \
%D%/packages/patches/ericw-tools-add-check-for-sse2-in-light.cc.patch \
%D%/packages/patches/ericw-tools-gcc-11-pass-const-to-offsetof.patch \
%D%/packages/patches/erlang-binpp-disable-failing-tests.patch \
%D%/packages/patches/erlang-man-path.patch \
%D%/packages/patches/erlang-mochiweb-disable-known-to-fail-tests.patch \
%D%/packages/patches/esmini-use-pkgconfig.patch \
%D%/packages/patches/esmtp-add-lesmtp.patch \
%D%/packages/patches/esound-c99.patch \
@@ -1544,6 +1546,7 @@ dist_patch_DATA = \
%D%/packages/patches/guile-ac-d-bus-fix-tests.patch \
%D%/packages/patches/guile-lib-fix-tests-for-guile2.2.patch \
%D%/packages/patches/guile-fibers-cross-build-fix.patch \
%D%/packages/patches/guile-fibers-destroy-peer-schedulers.patch \
%D%/packages/patches/guile-fibers-epoll-instance-is-dead.patch \
%D%/packages/patches/guile-fibers-fd-finalizer-leak.patch \
%D%/packages/patches/guile-fibers-wait-for-io-readiness.patch \
@@ -1611,19 +1614,12 @@ dist_patch_DATA = \
%D%/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch \
%D%/packages/patches/icedtea-7-hotspot-pointer-comparison.patch \
%D%/packages/patches/icu4c-icu-22132-fix-vtimezone.patch \
%D%/packages/patches/icu4c-20548-dateinterval-timezone.patch \
%D%/packages/patches/icu4c-22132-standardize-vtzone-output.patch \
%D%/packages/patches/icu4c-23069-rosh-hashanah-postponement.patch \
%D%/packages/patches/icu4c-dayperiod-fractional-seconds.patch \
%D%/packages/patches/icu4c-double-conversion.patch \
%D%/packages/patches/icu4c-dtitvfmt-adopt-calendar.patch \
%D%/packages/patches/icu4c-fix-TestHebrewCalendarInTemporalLeapYear.patch \
%D%/packages/patches/icu4c-wasi-workaround.patch \
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
%D%/packages/patches/id3lib-UTF16-writing-bug.patch \
%D%/packages/patches/idris-test-ffi008.patch \
%D%/packages/patches/ilmbase-fix-tests.patch \
%D%/packages/patches/inferno-fix-crash.patch \
%D%/packages/patches/iniparser-remove-fetchcontent-usage.patch \
%D%/packages/patches/inkscape-libxml2.patch \
%D%/packages/patches/instead-use-games-path.patch \
%D%/packages/patches/intltool-perl-compatibility.patch \
@@ -1633,9 +1629,11 @@ dist_patch_DATA = \
%D%/packages/patches/irrlicht-link-against-needed-libs.patch \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
%D%/packages/patches/ispell-for-linphone-cmake.patch \
%D%/packages/patches/jami-allow-system-zxing-cpp.patch \
%D%/packages/patches/jami-avutil-link.patch \
%D%/packages/patches/jami-find-package-avutil.patch \
%D%/packages/patches/jami-libjami-headers-search.patch \
%D%/packages/patches/jami-qwindowkit.patch \
%D%/packages/patches/jami-skip-tests-requiring-internet.patch \
%D%/packages/patches/jami-unbundle-dependencies.patch \
%D%/packages/patches/jamvm-1.5.1-aarch64-support.patch \
%D%/packages/patches/jamvm-1.5.1-armv7-support.patch \
%D%/packages/patches/jamvm-2.0.0-aarch64-support.patch \
@@ -1645,6 +1643,7 @@ dist_patch_DATA = \
%D%/packages/patches/java-tunnelvisionlabs-antlr-code-too-large.patch \
%D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \
%D%/packages/patches/java-commons-collections-fix-java8.patch \
%D%/packages/patches/java-commons-lang-fix-dependency.patch \
%D%/packages/patches/java-guava-remove-annotation-deps.patch \
%D%/packages/patches/java-jeromq-fix-tests.patch \
%D%/packages/patches/java-openjfx-build-jdk_version.patch \
@@ -1681,13 +1680,12 @@ dist_patch_DATA = \
%D%/packages/patches/libgeotiff-fix-tests-on-i386.patch \
%D%/packages/patches/libguestfs-syms.patch \
%D%/packages/patches/libinfinity-renew-test-certificate.patch \
%D%/packages/patches/libjami-pkgconf.patch \
%D%/packages/patches/libjami-simdutf.patch \
%D%/packages/patches/libretro-dolphin-emu-data.patch \
%D%/packages/patches/libretro-dolphin-emu-gc-font-tool.patch \
%D%/packages/patches/libretro-dolphin-emu-libusb-assert.patch \
%D%/packages/patches/libretro-dolphin-emu-vulkan-headers.patch \
%D%/packages/patches/librewolf-add-store-to-rdd-allowlist.patch \
%D%/packages/patches/librewolf-compare-paths.patch \
%D%/packages/patches/librewolf-neuter-locale-download.patch \
%D%/packages/patches/librewolf-use-system-wide-dir.patch \
%D%/packages/patches/libvirt-add-install-prefix.patch \
@@ -1698,6 +1696,8 @@ dist_patch_DATA = \
%D%/packages/patches/lightdm-vnc-ipv6.patch \
%D%/packages/patches/lightdm-vnc-color-depth.patch \
%D%/packages/patches/lightdm-vncserver-check.patch \
%D%/packages/patches/linphone-desktop-cmake-belcard.patch \
%D%/packages/patches/linphone-desktop-cmake-find-modules.patch \
%D%/packages/patches/localed-xorg-keyboard.patch \
%D%/packages/patches/kaldi-ignore-failing-test.patch \
%D%/packages/patches/kaldi-openblas-0.3.29-compatibility.patch \
@@ -1886,6 +1886,8 @@ dist_patch_DATA = \
%D%/packages/patches/mpc123-initialize-ao.patch \
%D%/packages/patches/mpg321-CVE-2019-14247.patch \
%D%/packages/patches/mpg321-gcc-10.patch \
%D%/packages/patches/mpv-0.40.0-fix-ffmpeg-8.0.patch \
%D%/packages/patches/mpv-0.40.0-fix-wayland-cpu-usage.patch \
%D%/packages/patches/modglue-fix-build.patch \
%D%/packages/patches/modem-manager-fix-test-wrapper.patch \
%D%/packages/patches/module-init-tools-moduledir.patch \
@@ -1975,8 +1977,7 @@ dist_patch_DATA = \
%D%/packages/patches/openboardview-use-system-mpc.patch \
%D%/packages/patches/openbox-add-fix-for-glib2-exposed-segfault.patch \
%D%/packages/patches/openbox-python3.patch \
%D%/packages/patches/opendht-meson-install-headers.patch \
%D%/packages/patches/opendht-meson-liburing.patch \
%D%/packages/patches/opendht-nanosleep.patch \
%D%/packages/patches/openexr-2-gcc-14.patch \
%D%/packages/patches/openfst-for-vosk-fix-unique-ptr.patch \
%D%/packages/patches/openjdk-currency-time-bomb.patch \
@@ -2017,6 +2018,7 @@ dist_patch_DATA = \
%D%/packages/patches/opentaxsolver-file-browser-fix.patch \
%D%/packages/patches/open-zwave-hidapi.patch \
%D%/packages/patches/opusfile-CVE-2022-47021.patch \
%D%/packages/patches/orangeduck-mpc-fix-pkg-config.patch \
%D%/packages/patches/orbit2-fix-array-allocation-32bit.patch \
%D%/packages/patches/orpheus-cast-errors-and-includes.patch \
%D%/packages/patches/ots-no-include-missing-file.patch \
@@ -2215,6 +2217,7 @@ dist_patch_DATA = \
%D%/packages/patches/qemu-glibc-2.30.patch \
%D%/packages/patches/qemu-fix-agent-paths.patch \
%D%/packages/patches/qemu-fix-test-virtio-version.patch \
%D%/packages/patches/qemu-disable-aarch64-migration-test.patch \
%D%/packages/patches/qrcodegen-cpp-cmake.patch \
%D%/packages/patches/qtbase-absolute-runpath.patch \
%D%/packages/patches/qtbase-qmake-fix-includedir.patch \
@@ -2225,8 +2228,6 @@ dist_patch_DATA = \
%D%/packages/patches/qtbase-5-use-TZDIR.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
%D%/packages/patches/quagga-reproducible-build.patch \
%D%/packages/patches/quickjs-ng-64-bits-precision-on-i686.patch \
%D%/packages/patches/quickjs-ng-fix-atomics.pause-on-32-bit.patch \
%D%/packages/patches/quilt-grep-compat.patch \
%D%/packages/patches/qmk-firmware-fix-hacker-dvorak.patch \
%D%/packages/patches/qtwayland-dont-recreate-callbacks.patch \
@@ -2300,6 +2301,7 @@ dist_patch_DATA = \
%D%/packages/patches/sbcl-burgled-batteries3-fix-signals.patch \
%D%/packages/patches/sbcl-ciel-repl.patch \
%D%/packages/patches/sbcl-clml-fix-types.patch \
%D%/packages/patches/sbcl-cl-redis-replace-sbcl-specific-calls.patch \
%D%/packages/patches/sbcl-eazy-gnuplot-skip-path-check.patch \
%D%/packages/patches/sbcl-lack-fix-tests.patch \
%D%/packages/patches/sbcl-png-fix-sbcl-compatibility.patch \
@@ -2318,6 +2320,7 @@ dist_patch_DATA = \
%D%/packages/patches/seq24-rename-mutex.patch \
%D%/packages/patches/libsequoia-fix-ffi-Makefile.patch \
%D%/packages/patches/libsequoia-remove-store.patch \
%D%/packages/patches/shaderc-for-pcsx2-changes.patch \
%D%/packages/patches/shakespeare-spl-fix-grammar.patch \
%D%/packages/patches/shared-mime-info-xdgmime-path.patch \
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
@@ -2414,7 +2417,6 @@ dist_patch_DATA = \
%D%/packages/patches/ucx-tcp-iface-ioctl.patch \
%D%/packages/patches/uftrace-fix-tests.patch \
%D%/packages/patches/ultrastar-deluxe-no-freesans.patch \
%D%/packages/patches/unity-test-set-subdir-correctly.patch \
%D%/packages/patches/ungoogled-chromium-extension-search-path.patch \
%D%/packages/patches/ungoogled-chromium-RUNPATH.patch \
%D%/packages/patches/ungoogled-chromium-system-nspr.patch \
@@ -2489,6 +2491,7 @@ dist_patch_DATA = \
%D%/packages/patches/wmctrl-64-fix.patch \
%D%/packages/patches/wmfire-dont-inline-draw-fire.patch \
%D%/packages/patches/wmfire-update-for-new-gdk-versions.patch \
%D%/packages/patches/woof-doom-unbundle-spng-miniz.patch \
%D%/packages/patches/wordnet-CVE-2008-2149.patch \
%D%/packages/patches/wordnet-CVE-2008-3908-pt1.patch \
%D%/packages/patches/wordnet-CVE-2008-3908-pt2.patch \
+44
View File
@@ -235,6 +235,50 @@ incorporated.")
(home-page "https://brltty.app/")
(license license:lgpl2.1+)))
(define-public florence
(package
(name "florence")
(version "0.6.3")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/florence/florence/" version
"/florence-" version ".tar.bz2"))
(sha256
(base32
"07h9qm22krlwayhzvc391lr23vicw81s48g7rirvx1fj0zyr4aa2"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags (list "--with-xtst"
"--without-docs"
"--with-notification")))
(inputs
(list libxml2
libglade
(librsvg-for-system)
gstreamer
cairo
gtk+
libxtst
libxcomposite
libnotify))
(native-inputs
(list gettext-minimal intltool pkg-config))
(home-page "https://florence.sourceforge.net/")
(synopsis "Extensible, scalable virtual keyboard for X11")
(description
"Florence is an extensible scalable virtual keyboard for X11.
It is useful for people who can't use a real hardware keyboard (for
example for people with disabilities), but you must be able to use
a pointing device (as a mouse, a trackball, a touchscreen or opengazer).
Florence stays out of your way when you don't need it: it appears on the
screen only when you need it. A timer-based auto-click input method is
available to help to click.")
;; The documentation is under FDL1.2, but we do not install the
;; documentation.
(license license:gpl2+)))
(define-public footswitch
(let ((commit "e455d6752221b9e9c3818cc304c873b9c2792490")
(revision "0"))
+24 -22
View File
@@ -30,13 +30,10 @@
#:use-module (gnu packages check)
#:use-module (gnu packages gettext)
#:use-module (gnu packages perl)
#:use-module (gnu packages python-build)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (gnu packages)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix utils))
@@ -98,28 +95,33 @@
(define-public python-pylibacl
(package
(name "python-pylibacl")
(version "0.7.3")
(version "0.6.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pylibacl" version))
(sha256
(base32 "08pr5cbipij3j591bihh72r5h14lyrspy24qwmfjsn0c1rcgp7wx"))))
(build-system pyproject-build-system)
(origin
(method url-fetch)
(uri (pypi-uri "pylibacl" version))
(sha256
(base32
"1zyrk2m20p5b6bdwxhrwib273i6i71zyr5hzssbxfqis5qra9848"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-tests
(lambda* (#:key outputs inputs #:allow-other-keys)
;; These tests operate on real files, but our tmpfs does not support
;; ACLs.
(substitute* "tests/test_acls.py"
(("( *)def test_applyto(_extended(_mixed)?)?" match indent)
(string-append indent "@pytest.mark.skip(reason=\"guix\")\n"
match))))))))
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-tests
(lambda* (#:key outputs inputs #:allow-other-keys)
;; These tests operate on real files, but our tmpfs does not support
;; ACLs.
(substitute* "tests/test_acls.py"
(("( *)def test_applyto(_extended(_mixed)?)?" match indent)
(string-append indent "@pytest.mark.skip(reason=\"guix\")\n"
match)))))
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "tests")))))))
(inputs (list acl))
(native-inputs (list python-pytest python-setuptools))
(native-inputs (list python-pytest))
(home-page "https://pylibacl.k1024.org/")
(synopsis "POSIX.1e @acronym{ACLs, access control lists} for Python")
(description
+20 -58
View File
@@ -48,7 +48,7 @@
;;; Copyright © 2021, 2025 muradm <mail@muradm.net>
;;; Copyright © 2021 pineapples <guixuser6392@protonmail.com>
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2021-2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2021-2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com>
;;; Copyright © 2022 Roman Riabenko <roman@riabenko.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
@@ -78,7 +78,6 @@
;;; Copyright © 2024 nik gaffney <nik@fo.am>
;;; Copyright © 2025 Simon Streit <simon@netpanic.org>
;;; Copyright © 2025 Luca Kredel <luca.kredel@web.de>
;;; Copyright © 2025 ROCKTAKEY <rocktakey@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -138,7 +137,6 @@
#:use-module (gnu packages dns)
#:use-module (gnu packages elf)
#:use-module (gnu packages file)
#:use-module (gnu packages file-systems)
#:use-module (gnu packages flex)
#:use-module (gnu packages fonts)
#:use-module (gnu packages freedesktop)
@@ -1075,7 +1073,7 @@ console.")
(define-public btop
(package
(name "btop")
(version "1.4.6")
(version "1.4.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1084,7 +1082,7 @@ console.")
(file-name (git-file-name name version))
(sha256
(base32
"1nj58dbv3c0rj8fngldkyrmdmacmjnbg8ch1c07ik97kqnnzd3l7"))))
"03dchclmbjphirzqii4m0vyqfd0vw1k8mgpchmr13g3brlfzxd34"))))
(build-system gnu-build-system)
(native-inputs (list lowdown))
(arguments
@@ -3414,7 +3412,7 @@ modules and plugins that extend Ansible.")
(define-public debops
(package
(name "debops")
(version "3.2.5")
(version "3.2.4")
(source
(origin
(method git-fetch)
@@ -3423,14 +3421,13 @@ modules and plugins that extend Ansible.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "15wfhha2b315i15l40j3sylyvs3mdrfw5awzq4cix51l5jppx8z5"))
(base32 "0y7bmrnynbw0hz88shfv301a9fsank2cx86fvb7jx6g6kkbsa9pz"))
(patches
(search-patches "debops-setup-py-avoid-git.patch"))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools))
(inputs
(list ansible
bash-minimal
encfs
fuse-2
util-linux ;; for umount
@@ -4499,7 +4496,7 @@ you are running, what theme or icon set you are using, etc.")
(define-public hyfetch
(package
(name "hyfetch")
(version "2.0.5")
(version "2.0.2")
(source
(origin
(method git-fetch)
@@ -4508,11 +4505,12 @@ you are running, what theme or icon set you are using, etc.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1xb0m7mna6mm3gc823c40rfdhnw39afdr3g7kb4cqrc21s7fdd5y"))))
(base32 "1h3s8m6csmxj815cpzh30m59132n8drxya0s2lh5ngjkpazgdnv3"))))
(build-system pyproject-build-system)
(native-inputs
(list python-hatchling
python-pytest))
(list python-pytest
python-setuptools
python-wheel))
(inputs
(list python-typing-extensions))
(home-page "https://github.com/hykilpikonna/HyFetch")
@@ -4718,7 +4716,7 @@ information tool.")
(define-public fastfetch-minimal
(package
(name "fastfetch-minimal")
(version "2.56.1")
(version "2.55.1")
(source
(origin
(method git-fetch)
@@ -4727,7 +4725,7 @@ information tool.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "065hqlw9vjs12vb4rqnwmjg8llpqw5ian0jnxldlv16gs5lw914n"))
(base32 "0a2a8rp75nx16gvq0918999hifr2lph8dagpfipmyflaa5awlw54"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "src/3rdparty")))))
@@ -4774,8 +4772,7 @@ system distribution, akin to many similar tools.")
libxcb
mesa
wayland
zlib ;for imagemagick and an #ifdef
zfs)))))
zlib))))) ;for imagemagick and an #ifdef
(define-public nnn
(package
@@ -4981,7 +4978,7 @@ launch daemons into the relevant nodes.")
;; Fails to build as c++17.
"CXXFLAGS=-std=c++14 -O2 -g")))
(inputs
(list openmpi munge launchmon libgcrypt zlib))
(list openmpi munge launchmon libgcrypt))
(synopsis "Scalable library loading in HPC environments")
(description
"Spindle is a tool for improving the performance of dynamic library and
@@ -5203,7 +5200,7 @@ cache of unix and unix-like systems.")
(define-public solaar
(package
(name "solaar")
(version "1.1.18")
(version "1.1.16")
(source
(origin
(method git-fetch)
@@ -5212,7 +5209,7 @@ cache of unix and unix-like systems.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0wf8rkm9anxr9iw51yxaav9cifpfkf1m4cw7i9rfsq8xb3aa2n9b"))))
(base32 "1q05pcrl1pr6ls92m5k690qrwqb4nz1lganxvbj9b40w3c6nh5iy"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
@@ -5589,7 +5586,7 @@ entries, providing commands to add, remove, comment, and search.")
(define-public nmrpflash
(package
(name "nmrpflash")
(version "0.9.26")
(version "0.9.25")
(source
(origin
(method git-fetch)
@@ -5598,7 +5595,7 @@ entries, providing commands to add, remove, comment, and search.")
(url "https://github.com/jclehner/nmrpflash")
(commit (string-append "v" version))))
(sha256
(base32 "19dna96qg32nscvsalgd0xslp3da84aj196cczdm0ixhv1k9pvi3"))
(base32 "0xqvj52m6rk0gma8saqvp8b4jms9hca8i1v2kb5hcd6miaqgx276"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -6953,45 +6950,10 @@ with which other processes. It provides more usable versions of @command{ps},
network, which causes enabled computers to power on.")
(license license:gpl2+)))
(define-public witr
(package
(name "witr")
(version "0.1.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pranshuparmar/witr")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "18xx01lxd5j019gy9jmpms3awv4snlr028w01bfkyfid6hlwxbq2"))))
(build-system go-build-system)
(arguments
(list
#:install-source? #f
#:import-path "github.com/pranshuparmar/witr/cmd/witr"
#:unpack-path "github.com/pranshuparmar/witr"
#:build-flags #~(list "-ldflags"
(string-append "-X main.version=" #$version))))
(home-page "https://github.com/pranshuparmar/witr")
(synopsis "Utility to show why the process is running")
(description
"The @dfn{witr} (why-is-this-running), is a utility to show:
@enumerate
@item What is running?
@item How did it start?
@item What is keeping it running?
@item What context does it belong to?
@end enumerate
It shows which process uses the port, and its information like process tree,
working directory, user, pid, command, and so on.")
(license license:asl2.0)))
(define-public xfel
(package
(name "xfel")
(version "1.3.5")
(version "1.3.3")
(source
(origin
(method git-fetch)
@@ -6999,7 +6961,7 @@ working directory, user, pid, command, and so on.")
(url "https://github.com/xboot/xfel")
(commit (string-append "v" version))))
(sha256
(base32 "1vmb3dr3vplxdxn9i8i4chdnfihb429rakvkqsfccb885ivkkn3b"))
(base32 "15xlqkj7lf3xszgfyci32lrwdjhqmmm9clmwlp1qn6hywal3d2p4"))
(file-name (git-file-name name version))))
(native-inputs
(list pkg-config))
-32
View File
@@ -300,38 +300,6 @@ barcodes of the modern ECC200 variety. libdmtx is a shared library, allowing
C/C++ programs to use its capabilities without restrictions or overhead.")
(license license:bsd-3)))
(define-public dmtx-utils
(package
(name "dmtx-utils")
(version "0.7.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dmtx/dmtx-utils/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
"06m3qncqdlcnmw83n95yrx2alaq6bld320ax26z4ndnla41yk0p4")))
(build-system gnu-build-system)
(native-inputs (list autoconf automake libtool pkg-config))
(inputs (list libdmtx imagemagick libjpeg-turbo))
(home-page "https://github.com/dmtx/dmtx-utils/")
(synopsis "Utilities for working with Data Matrix barcodes")
(description
"libdmtx is a software library that enables programs to read and write Data
Matrix barcodes of the modern ECC200 variety. This package, dmtx-utils,
provides command line utilities that allow scripts and command line users to
use libdmtx functionality.
This package includes the following programs:
@enumerate
@item @code{dmtxquery}: Extract information from dmtxread output.
@item @code{dmtxread}: Scan Data Matrix barcodes.
@item @code{dmtxwrite}: Create Data Matrix barcodes.
@end enumerate")
(license (list license:lgpl2.1 license:gpl2))))
;; XXX: qt variant utils are broken: zbarcam-qt fails with segmentation fault.
(define-public zbar
(package
+78 -80
View File
@@ -983,7 +983,7 @@ The standard for the ETC1 texture format can be found at
(define-public git-repo
(package
(name "git-repo")
(version "2.60.1")
(version "2.4.1")
(source
(origin
(method git-fetch)
@@ -992,90 +992,88 @@ The standard for the ETC1 texture format can be found at
(commit (string-append "v" version))))
(file-name (string-append "git-repo-" version "-checkout"))
(sha256
(base32 "1cx1b0zmvnmglyn6kbdifcy6w3gm89z2icw4pykxm0wyasy7sc1c"))))
(build-system pyproject-build-system)
(base32 "0khg1731927gvin73dcbw1657kbfq4k7agla5rpzqcnwkk5agzg3"))))
(build-system python-build-system)
(arguments
(list
#:test-flags
#~(list
;; XXX: Requires GnuPG.
"--deselect=tests/test_wrapper.py::SetupGnuPG::test_full"
;; This is expected, as the package is patched for this.
"-k" "not test_fetches_when_stale")
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-executable-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* '("repo" "git_command.py")
(("^GIT = 'git'")
(format #f "GIT = '~a'"
(search-input-file inputs "/bin/git"))))
(substitute* "git_config.py"
((" command_base = \\['ssh',")
(format #f " command_base = ['~a',"
(search-input-file inputs "/bin/ssh"))))))
(add-before 'build 'do-not-self-update
(lambda* (#:key outputs #:allow-other-keys)
;; Setting the REPO_MAIN variable to an absolute file name is
;; enough to have _FindRepo return the store main.py file. The
;; self update mechanism is activated with the call to _Init() in
;; main(), so we bypass it.
;; Ticket requesting upstream to provide a mean to disable the
;; self update mechanism:
;; https://bugs.chromium.org/p/gerrit/issues/detail?id=12407.
(let ((repo-main (string-append #$output
"/share/git-repo/main.py")))
(substitute* "repo"
(("^REPO_MAIN = .*")
(format #f "REPO_MAIN = ~s~%" repo-main))
((" _Init\\(args, gitc_init=\\(cmd ==.*" all)
(string-append "True #" all)))
;; Prevent repo from trying to git describe its version from
;; the (disabled) self updated copy.
(substitute* "git_command.py"
(("ver = getattr\\(RepoSourceVersion.*")
(format #f "ver = ~s~%" #$version)))
(substitute* "subcmds/version.py"
(("rp_ver = .*")
(format #f "rp_ver = ~s~%" #$version)))
;; Prevent repo from adding its (disabled) self update copy to
;; the list of projects to fetch when using 'repo sync'.
(substitute* "subcmds/sync.py"
(("to_fetch\\.extend\\(all_projects\\).*" all)
(string-append "#" all))
(("self\\._Fetch\\(to_fetch")
"self._Fetch(all_projects")
(("_PostRepoFetch\\(rp, opt\\.repo_verify).*" all)
(string-append "pass #" all))))))
(delete 'build) ;nothing to build
(add-before 'check 'configure-git
(lambda _
(setenv "HOME" (getcwd))
;; XXX: pytest needs this for conftest to import local modules.
(setenv "PYTHONPATH" (getcwd))
(invoke "git" "config" "--global" "user.email" "you@example.com")
(invoke "git" "config" "--global" "user.name" "Your Name")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((bin-dir (string-append #$output "/bin"))
(repo-dir (string-append #$output "/share/"
#$name)))
(mkdir-p bin-dir)
(mkdir-p repo-dir)
(copy-recursively "." repo-dir)
(delete-file-recursively (string-append repo-dir "/tests"))
(symlink (string-append repo-dir "/repo")
(string-append bin-dir "/repo"))))))))
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'set-executable-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(git (assoc-ref inputs "git"))
(ssh (assoc-ref inputs "ssh")))
(substitute* '("repo" "git_command.py")
(("^GIT = 'git'")
(string-append "GIT = '" git "/bin/git'")))
(substitute* "git_config.py"
((" command_base = \\['ssh',")
(string-append " command_base = ['" ssh "/bin/ssh',")))
#t)))
(add-before 'build 'do-not-self-update
(lambda* (#:key outputs #:allow-other-keys)
;; Setting the REPO_MAIN variable to an absolute file name is
;; enough to have _FindRepo return the store main.py file. The
;; self update mechanism is activated with the call to _Init() in
;; main(), so we bypass it.
;; Ticket requesting upstream to provide a mean to disable the
;; self update mechanism:
;; https://bugs.chromium.org/p/gerrit/issues/detail?id=12407.
(let* ((out (assoc-ref outputs "out"))
(repo-main (string-append out "/share/git-repo/main.py")))
(substitute* "repo"
(("^REPO_MAIN = .*")
(format #f "REPO_MAIN = ~s~%" repo-main))
((" _Init\\(args, gitc_init=\\(cmd ==.*" all)
(string-append "True #" all)))
;; Prevent repo from trying to git describe its version from
;; the (disabled) self updated copy.
(substitute* "git_command.py"
(("ver = getattr\\(RepoSourceVersion.*")
(format #f "ver = ~s~%" ,version)))
(substitute* "subcmds/version.py"
(("rp_ver = .*")
(format #f "rp_ver = ~s~%" ,version)))
;; Prevent repo from adding its (disabled) self update copy to
;; the list of projects to fetch when using 'repo sync'.
(substitute* "subcmds/sync.py"
(("to_fetch\\.extend\\(all_projects\\).*" all)
(string-append "#" all))
(("self\\._Fetch\\(to_fetch")
"self._Fetch(all_projects")
(("_PostRepoFetch\\(rp, opt\\.repo_verify).*" all)
(string-append "#" all))))))
(delete 'build) ; nothing to build
(add-before 'check 'configure-git
(lambda _
(setenv "HOME" (getcwd))
(invoke "git" "config" "--global" "user.email" "you@example.com")
(invoke "git" "config" "--global" "user.name" "Your Name")))
(replace 'check
(lambda _
(invoke "./run_tests")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin-dir (string-append out "/bin"))
(repo-dir (string-append out "/share/" ,name)))
(mkdir-p bin-dir)
(mkdir-p repo-dir)
(copy-recursively "." repo-dir)
(delete-file-recursively (string-append repo-dir "/tests"))
(symlink (string-append repo-dir "/repo")
(string-append bin-dir "/repo"))
#t))))))
(inputs
;; TODO: Add git-remote-persistent-https once it is available in guix
(list git openssh))
(native-inputs (list python-pytest python-setuptools))
`(("git" ,git)
("ssh" ,openssh)))
(native-inputs
`(("pytest" ,python-pytest)))
(home-page "https://code.google.com/p/git-repo/")
(synopsis "Helps to manage many Git repositories")
(description
"Repo is a tool built on top of Git. Repo helps manage many Git
repositories, does the uploads to revision control systems, and automates
(description "Repo is a tool built on top of Git. Repo helps manage many
Git repositories, does the uploads to revision control systems, and automates
parts of the development workflow. Repo is not meant to replace Git, only to
make it easier to work with Git. The repo command is an executable Python
script that you can put anywhere in your path.")
+168 -320
View File
File diff suppressed because it is too large Load Diff
+30 -74
View File
@@ -3635,31 +3635,27 @@ cross-platform audio input/output stream library.")
(define-public python-pulsectl
(package
(name "python-pulsectl")
(version "24.12.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mk-fg/python-pulse-control")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1f15w2312j2yc9bs689dvdgq891sjrp5x3q1vf08743px70gxc1m"))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;tests try to communicate with PulseAudio
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "pulsectl/_pulsectl.py"
(("libpulse.so.0")
(search-input-file inputs "/lib/libpulse.so.0"))))))))
(native-inputs (list python-setuptools))
(version "24.4.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "pulsectl" version))
(sha256
(base32
"0r9igs365cqgrn1m55a8qjz0hc446nwjm3p3i9kphbj5gl7dazk9"))))
(build-system python-build-system)
(inputs (list pulseaudio))
(arguments
`(#:tests? #f ; tests try to communicate with PulseAudio
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "pulsectl/_pulsectl.py"
(("libpulse.so.0")
(string-append (search-input-file inputs "/lib/libpulse.so.0")))))))))
(home-page "https://github.com/mk-fg/python-pulse-control")
(synopsis "Python bindings for mixer-like controls in PulseAudio")
(synopsis
"Python bindings for mixer-like controls in PulseAudio")
(description
"This package provides a Python high-level interface and ctypes-based
bindings for PulseAudio (libpulse), to use in simple synchronous code.
@@ -3824,21 +3820,16 @@ one-dimensional sample-rate conversion library.")
(version "0.2.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/NFJones/python3-midi")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "python3_midi" version))
(sha256
(base32 "1zihn7n9dr9jjgkjlpad515hhwh22k94irb21ji793sr5crh5s15"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ; XXX: midi module has not been packaged yet.
(native-inputs (list python-setuptools))
(base32
"1z9j1w7mpn3xhkcpxmqm5rvmj6nffb5rf14bv7n3sdh07nf6n7sf"))))
(build-system python-build-system)
(home-page "https://github.com/NFJones/python3-midi")
(synopsis "Python MIDI API")
(description
"This package provides a python API to read and write MIDI files.")
(description "This package provides a python API to read and write MIDI
files.")
(license license:expat)))
(define-public python-wavefile
@@ -4663,21 +4654,21 @@ tempo and pitch of an audio recording independently of one another.")
(define-public rtmidi
(package
(name "rtmidi")
(version "6.0.0")
(version "5.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://caml.music.mcgill.ca/~gary/rtmidi"
(uri (string-append "https://www.music.mcgill.ca/~gary/rtmidi"
"/release/rtmidi-" version ".tar.gz"))
(file-name (string-append "rtmidi-" version ".tar.gz"))
(sha256
(base32
"0nyvck6qlncbfpplgxspjk77fmi05w78ik0cf8039hj29gvcqq2r"))))
"1ff2yfq3k4l209fr71v3w98fpjjv1chs09vkbmxj03lcikahxns8"))))
(build-system gnu-build-system)
(inputs
(list alsa-lib jack-2))
(native-inputs
(list autoconf automake libtool pkg-config))
(home-page "https://caml.music.mcgill.ca/~gary/rtmidi")
(home-page "https://www.music.mcgill.ca/~gary/rtmidi")
(synopsis "Cross-platform MIDI library for C++")
(description
"RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific
@@ -6203,41 +6194,6 @@ the following features:
")
(license license:lgpl3+)))
(define-public normalize
(package
(name "normalize")
(version "0.7.7")
(source
(origin
(method url-fetch)
(uri (string-append
"http://download.savannah.gnu.org/releases/normalize/normalize-"
version ".tar.gz"))
(sha256
(base32 "1n5khss10vjjp6w69q9qcl4kqfkd0pr555lgqghrchn6rjms4mb0"))))
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-shell-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "test/Makefile.in"
(("/bin/sh")
(search-input-file inputs "/bin/sh"))))))))
(inputs (list libmad))
(home-page "https://normalize.nongnu.org/")
(synopsis "Audio track volume normalizer")
(description
"@code{normalize} is an audio track normalizer.
For a collection of tracks with varying volumes, it is able to
make the loudness consistent between them. This is helpful
when making mixtapes, for example.
It can work with WAV and MP3 files.")
(license license:gpl2)))
(define-public lv2-speech-denoiser
(let ((commit "04cfba929630404f8d4f4ca5bac8d9b09a99152f")
(revision "1"))
+32 -91
View File
@@ -21,7 +21,7 @@
;;; Copyright © 2021 Timothy Sample <samplet@ngyro.com>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2022, 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2022 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2022 Feng Shu <tumashu@163.com>
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
@@ -357,62 +357,6 @@ random access nor for in-place modification. This package provides the
@command{bsdcat}, @command{bsdcpio} and @command{bsdtar} commands.")
(license license:bsd-2)))
;;; TODO: core update (20k rebuilds).
(define-public libarchive-next
(package
(inherit libarchive)
(name "libarchive")
(version "3.8.4")
(source
(origin
(method url-fetch)
(uri (list (string-append "https://libarchive.org/downloads/libarchive-"
version ".tar.xz")
(string-append "https://github.com/libarchive/libarchive"
"/releases/download/v" version "/libarchive-"
version ".tar.xz")))
(sha256
(base32
"0wxdr7qws1z1b1gp5jsm7n2ccnjlmrnds52d5wc5xkzagyslgf67"))))
(arguments
(substitute-keyword-arguments (package-arguments libarchive)
((#:phases phases)
#~(modify-phases #$phases
(delete 'patch-pwd)
(add-before 'build 'patch-commands
(lambda _
(substitute* "Makefile"
(("/bin/pwd") (which "pwd")))
(substitute* "test_utils/test_main.c"
(("/bin/sh") (which "sh")))))
(replace 'check
(lambda* (#:key parallel-build? tests? #:allow-other-keys)
(if tests?
(begin
;; These environment variables are taken from
;; <https://raw.githubusercontent.com/libarchive/libarchive/refs/heads/master/.github/workflows/ci.yml>
(setenv "SKIP_OPEN_FD_ERR_TEST" "1")
(setenv "IGNORE_TRAVERSALS_TEST4" "1")
;; XXX: The test_owner_parse, test_read_disk, and
;; test_write_disk_lookup tests expect user 'root' to
;; exist, but the chroot's /etc/passwd doesn't have it
;; (see:
;; <https://github.com/libarchive/libarchive/issues/2794>).
(invoke "make" "-j" (number->string
(if parallel-build?
(parallel-job-count)
1))
"libarchive_test"
"bsdcpio_test"
"bsdtar_test")
;; XXX: This glob disables too much.
(invoke "./libarchive_test" "^test_*_disk*")
(invoke "./bsdcpio_test" "^test_owner_parse")
(invoke "./bsdtar_test"))
;; Tests may be disabled if cross-compiling.
(format #t "Test suite not run.~%"))))))))))
(define-public rdup
(package
(name "rdup")
@@ -630,13 +574,13 @@ rsnapshot uses hard links to deduplicate identical files.")
(define-public borg
(package
(name "borg")
(version "1.4.3")
(version "1.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "borgbackup" version))
(sha256
(base32 "07s4jqcv03s98hi6lvqpvmnnhl532qnvv11mjy2xc08rbmsgmfvr"))
(base32 "0f9qj05i02aj17lhk97fqyknb1jx3h9xr8d569mhp44xq7qziyxq"))
(snippet
#~(begin
;; Delete files generated by Cython. We used to have a regex that
@@ -1265,42 +1209,39 @@ compression parameters used by Gzip.")
(define-public borgmatic
(package
(name "borgmatic")
(version "2.0.13")
(version "2.0.7")
(source
(origin
;; PyPI archive does not contain NEWS file needed for one test.
(method git-fetch)
(uri (git-reference
(url "https://projects.torsion.org/borgmatic-collective/borgmatic")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "borgmatic" version))
(sha256
(base32
"05w3j4knhsg4w0a0yrz8c7lvz3vp3nf95ddmql9i8mqknjqddm1v"))))
(base32 "01l44ny2zyn7x1hhbvhhhwr12jipcjxl3j1cz13kf6c3bdfwms8y"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'configure
(lambda* (#:key inputs #:allow-other-keys)
;; Set absolute store path to borg.
(substitute* "borgmatic/commands/borgmatic.py"
(("\\.get\\('local_path', 'borg'\\)")
(string-append ".get('local_path', '"
(search-input-file inputs "bin/borg")
"')")))
(substitute* "tests/unit/commands/test_borgmatic.py"
(("(module.get_local_path.+ == )'borg'" all start)
(string-append start "'"
(search-input-file inputs "bin/borg")
"'")))))
(add-before 'check 'set-path
(lambda _
;; Tests require the installed executable.
(setenv "PATH"
(string-append #$output "/bin" ":"
(getenv "PATH"))))))))
;; XXX: all tests fail with error: AttributeError: module
;; '_pytest.runner' has no attribute 'call_runtest_hook'.
#:tests? #f
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'configure
(lambda* (#:key inputs #:allow-other-keys)
;; Set absolute store path to borg.
(substitute* "borgmatic/commands/borgmatic.py"
(("\\.get\\('local_path', 'borg'\\)")
(string-append ".get('local_path', '"
(search-input-file inputs "bin/borg")
"')")))
(substitute* "tests/unit/commands/test_borgmatic.py"
(("(module.get_local_path.+ == )'borg'" all start)
(string-append start "'"
(search-input-file inputs "bin/borg")
"'")))))
(add-before 'check 'set-path
(lambda _
;; Tests require the installed executable.
(setenv "PATH"
(string-append #$output "/bin" ":"
(getenv "PATH"))))))))
(native-inputs
(list python-flexmock
python-pytest
@@ -1325,7 +1266,7 @@ borgmatic is powered by borg.")
(define-public vorta
(package
(name "vorta")
(version "0.11.1")
(version "0.10.3")
;; The test folder is not included in the PyPI archive.
(source (origin
(method git-fetch)
@@ -1335,7 +1276,7 @@ borgmatic is powered by borg.")
(file-name (git-file-name name version))
(sha256
(base32
"16r9ch80i6nfngah634id16fqnmn62ayh60j62zxn5cfivcn3wsq"))))
"0b4042a0lpbmwlmbh5559b2x9vr2055w6jjrs7088n45d7rkn4sn"))))
(build-system pyproject-build-system)
(arguments
(list
+114 -61
View File
@@ -8,7 +8,7 @@
;;; Copyright © 2016, 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2016, 2018 Raoul Bonnal <ilpuccio.febo@gmail.com>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2021, 2022, 20242026 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2021, 2022, 2024, 2025 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018-2024 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
@@ -8448,7 +8448,7 @@ FLASH is used to merge RNA-seq data.")
(define-public flexbar
(package
(name "flexbar")
(version "3.5.0")
(version "3.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -8457,24 +8457,25 @@ FLASH is used to merge RNA-seq data.")
(file-name (git-file-name name version))
(sha256
(base32
"1w0c592wmi3xin2wlb9vmxp7f8f3s9nhl3y9ih4djrlfqyim70h9"))))
"1pq9sxvdnldl14libk234m72dqhwgzs3acgl943wchwdqlcsi5r2"))))
(build-system cmake-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'do-not-tune-to-CPU
(lambda _
(substitute* "src/CMakeLists.txt"
((" -march=native") ""))))
(replace 'check
(lambda _
(setenv "PATH" (string-append (getcwd) ":" (getenv "PATH")))
(with-directory-excursion "../source/test"
(invoke "bash" "flexbar_test.sh"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(install-file "flexbar" (string-append #$output "/bin/")))))))
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'do-not-tune-to-CPU
(lambda _
(substitute* "src/CMakeLists.txt"
((" -march=native") ""))))
(replace 'check
(lambda* (#:key outputs #:allow-other-keys)
(setenv "PATH" (string-append (getcwd) ":" (getenv "PATH")))
(with-directory-excursion "../source/test"
(invoke "bash" "flexbar_test.sh"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (string-append (assoc-ref outputs "out")))
(bin (string-append out "/bin/")))
(install-file "flexbar" bin)))))))
(inputs
(list tbb-2020 zlib))
(native-inputs
@@ -9741,6 +9742,86 @@ command, or queried for specific k-mers with @code{jellyfish query}.")
;; One of these licenses may be picked
(license (list license:gpl3+ license:bsd-3))))
(define-public khmer
(package
(name "khmer")
(version "3.0.0a3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dib-lab/khmer")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"01l4jczglkl7yfhgvzx8j0df7k54bk1r8sli9ll16i1mis0d8f37"))
(modules '((guix build utils)))
(snippet
'(begin
;; Delete bundled libraries. We do not replace the bundled seqan
;; as it is a modified subset of the old version 1.4.1.
;;
;; We do not replace the bundled MurmurHash as the canonical
;; repository for this code 'SMHasher' is unsuitable for providing
;; a library. See
;; https://lists.gnu.org/archive/html/guix-devel/2016-06/msg00977.html
(delete-file-recursively "third-party/zlib")
(delete-file-recursively "third-party/bzip2")
(delete-file-recursively "third-party/seqan")
(substitute* "setup.cfg"
(("# libraries = z,bz2")
"libraries = z,bz2")
(("include:third-party/zlib:third-party/bzip2")
"include:"))
;; Delete generated Cython CPP files.
(for-each delete-file (find-files "khmer/_oxli/" "\\.cpp$"))))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'set-cc
(lambda _ (setenv "CC" "gcc")))
(add-after 'unpack 'python-3.8-compatibility
(lambda _
;; Python 3.8 removed time.clock().
(substitute* "sandbox/sweep-reads.py"
(("time\\.clock")
"time.process_time"))))
(add-after 'unpack 'do-use-cython
(lambda _
(substitute* "setup.py"
(("from setuptools import Extension as CyExtension")
"from Cython.Distutils import Extension as CyExtension")
(("from setuptools.command.build_ext import build_ext as _build_ext")
"from Cython.Distutils import build_ext as _build_ext")
(("HAS_CYTHON = False") "HAS_CYTHON = True")
(("cy_ext = 'cpp'") "cy_ext = 'pyx'"))))
(add-before 'build 'build-extensions
(lambda _
;; Cython extensions have to be built before running the tests.
(invoke "python" "setup.py" "build_ext" "--inplace")))
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-v")))))))
(native-inputs
(list python-cython python-pytest python-pytest-runner))
(inputs
(list zlib bzip2 seqan-1 python-screed python-bz2file))
(home-page "https://khmer.readthedocs.org/")
(synopsis "K-mer counting, filtering and graph traversal library")
(description "The khmer software is a set of command-line tools for
working with DNA shotgun sequencing data from genomes, transcriptomes,
metagenomes and single cells. Khmer can make de novo assemblies faster, and
sometimes better. Khmer can also identify and fix problems with shotgun
data.")
;; When building on i686, armhf and mips64el, we get the following error:
;; error: ['khmer', 'khmer.tests', 'oxli'] require 64-bit operating system
(supported-systems '("x86_64-linux" "aarch64-linux"))
(license license:bsd-3)))
(define-public kaiju
(package
(name "kaiju")
@@ -16037,7 +16118,6 @@ programs for inferring phylogenies (evolutionary trees).")
"DEFAULT_VECTOR_FLAG=\"-march=athlon64-sse3\"\n"))))
(add-after 'build 'build-manual
(lambda _
(setenv "HOME" "/tmp/")
(with-directory-excursion "doc"
(invoke "make" "phyml-manual.pdf"))))
(add-after 'build-manual 'install-manual
@@ -16059,7 +16139,6 @@ programs for inferring phylogenies (evolutionary trees).")
(texlive-local-tree
(list texlive-caption
texlive-cite
texlive-ec
texlive-fancyvrb
texlive-infwarerr
texlive-kvoptions
@@ -16163,11 +16242,9 @@ applications for tackling some common problems in a user-friendly way.")
(sha256
(base32
"07q0alxah6xl1hibaj1kj7pdzq3pg6csyapsihbwlbmqyfmllbgz"))))
(build-system pyproject-build-system)
(build-system python-build-system)
(arguments
(list
#:test-backend #~'custom
#:test-flags #~(list "test/test_all.py")
#:phases
#~(modify-phases %standard-phases
;; Scipy 1.12 no longer has binom_test or polyfit
@@ -16196,12 +16273,15 @@ applications for tackling some common problems in a user-friendly way.")
(string-append "(\"" #$output
"/etc/bash_completion.d\""))
(("extras/\\.bash_completion")
"extras/tadbit")))))))
"extras/tadbit"))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "python3" "test/test_all.py")))))))
(native-inputs
(list `(,glib "bin") ;for gtester
glib
pkg-config
python-setuptools))
pkg-config))
(inputs
;; TODO: add Chimera for visualization
(list imp
@@ -20981,24 +21061,15 @@ polymorphisms) and indels with respect to a reference genome and more.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/etal/cnvkit")
(commit (string-append "v" version))))
(url "https://github.com/etal/cnvkit")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "090yh17symcahddx399kcx0mcw4gdrcc2jil3p8lb92r8c8kglb5"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 70 passed, 1 warning
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-pytest-config
(lambda _
(substitute* "pyproject.toml"
(("filterwarnings =.*")
"")))))))
(propagated-inputs
(list python-biopython
python-future
python-matplotlib
python-numpy
python-pandas
@@ -21144,8 +21215,7 @@ to an artifact/contaminant file.")
(build-system gnu-build-system)
(arguments
(list
#:make-flags #~(list "OPENMP=t"
"CFLAGS=-Wall -Wno-error=incompatible-pointer-types")
#:make-flags #~(list "OPENMP=t")
#:test-target "test"
#:phases
#~(modify-phases %standard-phases
@@ -21154,11 +21224,6 @@ to an artifact/contaminant file.")
(lambda _
(substitute* "src/binarySequences.c"
(("../third-party/zlib-1.2.3/zlib.h") "zlib.h"))))
(add-before 'build 'set-home-env
(lambda _
;; TeXLive requires HOME to be set.
;; Permission denied: '/homeless-shelter'
(setenv "HOME" "/tmp")))
(replace 'install
(lambda _
(let ((bin (string-append #$output "/bin"))
@@ -21173,8 +21238,7 @@ to an artifact/contaminant file.")
(list openmpi zlib))
(native-inputs
(list (texlive-local-tree
(list texlive-ec
texlive-infwarerr
(list texlive-infwarerr
texlive-kvoptions
texlive-pdftexcmds))))
(home-page "https://www.ebi.ac.uk/~zerbino/velvet/")
@@ -24735,7 +24799,7 @@ single-cell data named @url{https://github.com/PMBio/cardelino, cardelino}.")
(define-public ccwl
(package
(name "ccwl")
(version "0.5.0")
(version "0.4.0")
(source
(origin
(method url-fetch)
@@ -24743,7 +24807,7 @@ single-cell data named @url{https://github.com/PMBio/cardelino, cardelino}.")
version ".tar.lz"))
(sha256
(base32
"1pna61cqhhg69qpa682x911x85nlin1wpp29naqzq3r0s951qxi6"))))
"1vnkj34400kj77xavdr0cry0vm2fmk40vf7cwca61q3jl3h7hl2c"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("GUILE_AUTO_COMPILE=0") ; to prevent guild warnings
@@ -24778,7 +24842,6 @@ single-cell data named @url{https://github.com/PMBio/cardelino, cardelino}.")
(native-inputs
(list pkg-config
lzip
guile-run64
;; To build documentation
cwltool
graphviz
@@ -24810,17 +24873,7 @@ language.")
(snippet
'(delete-file-recursively "lib/simde"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #false ;no test target
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-gcc-14
(lambda _
(substitute* "src/a3m_compress.h"
(("#include <climits>")
"#include <climits>
#include <cstdint>")))))))
(arguments '(#:tests? #false)) ;no test target
(inputs
(list openmpi simde))
(native-inputs
+27 -16
View File
@@ -226,7 +226,7 @@ of the Transmission BitTorrent client, using its HTTP RPC protocol.")
(define-public stig
(package
(name "stig")
(version "0.14.1a0")
(version "0.14.0a0")
(source
(origin
(method git-fetch)
@@ -235,18 +235,7 @@ of the Transmission BitTorrent client, using its HTTP RPC protocol.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0196brcasdyn0mx3h2cqlgrx8x9fyv2n7bmx13nj58vnf3y4c1hg"))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;tests require network access
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'loosen-version-restrictions
(lambda _
(substitute* "setup.py"
(("urwidtrees==1.0.3")
"urwidtrees>=1.0.3")))))))
(base32 "1jfcgncva94pyzjifar1l6wlmb7aylg0l4fxljc83rkbj1a2aan0"))))
(propagated-inputs
(list python-urwid
python-urwidtrees
@@ -257,12 +246,20 @@ of the Transmission BitTorrent client, using its HTTP RPC protocol.")
python-natsort
python-async-timeout
python-setproctitle))
(arguments
(list
#:tests? #f ;tests require network access
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'loosen-version-restrictions
(lambda _
(substitute* "setup.py"
(("urwidtrees==1.0.3") "urwidtrees>=1.0.3")))))))
(inputs (list python))
(native-inputs (list python-setuptools))
(build-system python-build-system)
(synopsis "TUI and CLI for the BitTorrent client Transmission")
(description
"Stig is a @acronym{TUI, Text User Interface} and @acronym{CLI, Command
Line Interface} client for the BitTorrent client Transmission.")
"Stig is a @acronym{TUI, Text User Interface} and @acronym{CLI, Command Line
Interface} client for the BitTorrent client Transmission.")
(home-page "https://github.com/rndusr/stig")
(license l:gpl3)))
@@ -540,6 +537,20 @@ focusing on efficiency and scalability. It runs on embedded devices as well as
desktops.")
(license l:bsd-2)))
(define-public libtorrent-rasterbar-1.2
(package
(inherit libtorrent-rasterbar)
(version "1.2.20")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/arvidn/libtorrent/"
"releases/download/v" version "/"
"libtorrent-rasterbar-" version ".tar.gz"))
(sha256
(base32 "1z5rdynzxcm6wb7v48ssfbwjairbjacb8rjix5fn70fw4668xgyc"))))))
(define-public qbittorrent
(package
(name "qbittorrent")
+5 -2
View File
@@ -159,6 +159,9 @@ core computer science concepts such as abstraction in programming,
metalinguistic abstraction, recursion, interpreters, and modular programming.")
(license license:cc-by-sa4.0))))
;; It may be removed after 2025-12-19.
(define-deprecated/public-alias sicp book-sicp)
(define-public book-sparc
(package
(name "book-sparc")
@@ -335,7 +338,7 @@ parallel study, and original language study.")
(define-public book-emacs-lisp-elements
(package
(name "book-emacs-lisp-elements")
(version "2.0.1")
(version "2.0.0")
(source
(origin
(method git-fetch)
@@ -344,7 +347,7 @@ parallel study, and original language study.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0774zycgx3zspn6f8pszap1751xgrlv2h3x66kksnj589nfnwzil"))))
(base32 "0w3jxgkynq37rn7c17pnricykqf3gmq4crsvkz2j2g3hc0ydf6qp"))))
(build-system emacs-build-system)
(arguments
(list
+1 -16
View File
@@ -8,7 +8,7 @@
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 2020, 2023, 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2018, 2020, 2023 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019, 2020 Giacomo Leidi <therewasa@fishinthecalculator.me>
@@ -239,21 +239,6 @@ across a broad spectrum of applications.")
(license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt"
"Some components have other similar licences."))))
(define-public boost-1.88
(package
(inherit boost)
(name "boost")
(version "1.88.0")
(source (origin
(inherit (package-source boost))
(uri (string-append
"https://archives.boost.io/release/"
version "/source/boost_"
(version-with-underscores version) ".tar.bz2"))
(sha256
(base32
"0yrgn6syk260ckq9ld44vjv1bl6bamhy3jbp10kikcipcv0d5na6"))))))
(define-public boost-1.83
(hidden-package (package (inherit boost)
(name "boost")
+1 -9
View File
@@ -949,16 +949,8 @@ Info manual.")))
(modify-inputs (package-native-inputs u-boot)
(prepend python-filelock
python-pycryptodomex))))
(inputs (list gnutls ncurses/tinfo))
(arguments
`(#:make-flags '("HOSTCC=gcc"
,@(if (%current-target-system)
(list "CROSS_BUILD_TOOLS=y"
(string-append
"CROSS_COMPILE="
(%current-target-system)
"-"))
'()))
`(#:make-flags '("HOSTCC=gcc")
#:test-target "tcheck"
#:phases
(modify-phases %standard-phases
+68 -63
View File
@@ -2,7 +2,6 @@
;;; Copyright © 2022 Christopher Rodriguez <yewscion@gmail.com>
;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2025 Lee Thompson <lee.p.thomp@gmail.com>
;;; © 2025 case_lambda <case_lambda@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,71 +36,77 @@
#:use-module (gnu packages compression))
(define-public dbqn
(package
(name "dbqn")
(version "0.2.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dzaima/BQN")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1zy3y9wbmaw0mrd2sp7d1r912gvs9k0mzw5d3drgmbzkbvpd6iq1"))))
(build-system gnu-build-system)
(arguments
(list
#:imported-modules `((guix build ant-build-system)
,@%default-gnu-imported-modules)
#:modules '((guix build gnu-build-system)
((guix build ant-build-system)
#:prefix ant:)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda _
(invoke "./build")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(if tests?
(invoke "./BQN" "./test/test")
(begin
(display "test suite not run")
(newline)))))
(add-after 'install 'reorder-jar-content
(assoc-ref ant:%standard-phases
'reorder-jar-content))
(add-after 'reorder-jar-content 'generate-jar-indices
(assoc-ref ant:%standard-phases
'generate-jar-indices))
(add-after 'generate-jar-indices 'strip-jar-timestamps
(assoc-ref ant:%standard-phases
'strip-jar-timestamps))
(replace 'install
(lambda* (#:key inputs #:allow-other-keys)
(let ((dest-jar (string-append #$output "/share/java")))
(rename-file "BQN" "dbqn")
(substitute* "dbqn"
(("java")
(search-input-file inputs "/bin/java"))
(("BQN.jar")
(string-append dest-jar "/BQN.jar")))
(install-file "BQN.jar" dest-jar)
(install-file "dbqn"
(string-append #$output "/bin"))))))))
(native-inputs (list `(,icedtea-8 "jdk") zip))
(inputs (list bash-minimal icedtea-8))
(synopsis "BQN implementation based on dzaima/APL")
(description
"dbqn is a Java implementation of the
(let ((commit "88f2b43966a75cc2c382421218eb30003bb16f4a")
(revision "1"))
(package
(name "dbqn")
(version (git-version "0.2.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dzaima/BQN")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"06mzvv7kmandhgwb6jwz3rivsj4ic549sy8afnb5zr6mfn5isyg5"))))
(build-system gnu-build-system)
(arguments
(list
#:imported-modules `(,@%default-gnu-imported-modules
(guix build ant-build-system))
#:modules `((guix build gnu-build-system)
((guix build ant-build-system)
#:prefix ant:)
(guix build utils))
#:phases #~(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* _
(invoke "./build")
(chmod "./BQN" #o755)))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(system "./BQN ./test/test"))))
(add-after 'install 'reorder-jar-content
(lambda* (#:key outputs #:allow-other-keys)
(apply (assoc-ref ant:%standard-phases
'reorder-jar-content)
#:outputs (list outputs))))
(add-after 'reorder-jar-content 'jar-indices
(lambda* (#:key outputs #:allow-other-keys)
(apply (assoc-ref ant:%standard-phases
'generate-jar-indices)
#:outputs (list outputs))))
(add-after 'jar-indices 'fix-jar-timestamps
(lambda* (#:key outputs #:allow-other-keys)
(apply (assoc-ref ant:%standard-phases
'reorder-jar-content)
#:outputs (list outputs))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(dest-bin (string-append out "/bin"))
(dest-jar (string-append out "/share/java")))
(mkdir-p dest-bin)
(mkdir-p dest-jar)
(rename-file "BQN" "dbqn")
(install-file "dbqn" dest-bin)
(install-file "BQN.jar" dest-jar)
(substitute* (string-append dest-bin "/dbqn")
(("BQN.jar")
(string-append dest-jar "/BQN.jar")))))))))
(native-inputs (list `(,icedtea-8 "jdk") zip))
(inputs (list icedtea-8 bash-minimal))
(synopsis "BQN implementation based on dzaima/APL")
(description
"dbqn is a Java implementation of the
@uref{https://mlochbaum.github.io/BQN/, BQN programming language} that does
not need to be bootstrapped, based on an earlier Java implementation of APL by
the same author.")
(home-page "https://github.com/dzaima/BQN")
(license license:expat)))
(home-page "https://github.com/dzaima/BQN")
(license license:expat))))
(define bqn-sources
;; Aside from dbqn above, the main bqn repository is used by other
+20 -24
View File
@@ -9,7 +9,7 @@
;;; Copyright © 2020, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2020, 2022, 2023, 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2020, 2022, 2023 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 David Dashyan <mail@davie.li>
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
@@ -51,7 +51,6 @@
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix store)
#:use-module (gnu packages)
@@ -73,7 +72,6 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pcre)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages autotools)
#:use-module (gnu packages gettext)
@@ -468,26 +466,23 @@ language as input.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1rihvlg11nzk70kfzz4i3gi5izcy46w05ismcx04p5j1hlim0brb"))))
(build-system pyproject-build-system)
(base32
"1rihvlg11nzk70kfzz4i3gi5izcy46w05ismcx04p5j1hlim0brb"))))
(build-system python-build-system)
(arguments
(list
#:test-backend #~'unittest
#:test-flags #~(list "discover" "-s" "tests" "-p" "*.py")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'unbundle-ply
(lambda _
(rmdir "pcpp/ply")
(substitute* "setup.py"
(("'pcpp/ply/ply'")
"")))))))
(native-inputs (list python-setuptools))
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'unbundle-ply
(lambda _
(rmdir "pcpp/ply")
(substitute* "setup.py"
(("'pcpp/ply/ply'") "")))))))
(native-inputs (list python-pytest))
(propagated-inputs (list python-ply))
(home-page "https://github.com/ned14/pcpp")
(synopsis "C99 preprocessor written in Python")
(description
"This package provides a C99 preprocessor written in pure Python.")
(description "This package provides a C99 preprocessor written in pure
Python.")
(license license:bsd-3)))
(define-public aml
@@ -1466,8 +1461,8 @@ Telemetry Transport (MQTT) publish-subscribe messaging protocol.")
;;; The package is named orangeduck-mpc to differentiate it from GNU mpc.
(define-public orangeduck-mpc
;; The last release lacks an 'install' target.
(let ((commit "1049534fc56b1971345c7aaa792dea55d6f9b7bc")
(revision "1"))
(let ((commit "7c910e9303833c349f7432188ff77f2745254df2")
(revision "0"))
(package
(name "orangeduck-mpc")
(version (git-version "0.9.0" revision commit))
@@ -1479,7 +1474,9 @@ Telemetry Transport (MQTT) publish-subscribe messaging protocol.")
(file-name (git-file-name name version))
(sha256
(base32
"1wpxchbjxsyksr8il9pvg195nvqzsjdshzyzwikxda0fss0p7aap"))))
"01a4vcxdnz0fbn90c9zc3jzklyqqvp9sfjpjwpq0f5r0l2pp37ad"))
(patches
(search-patches "orangeduck-mpc-fix-pkg-config.patch"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
@@ -1706,7 +1703,7 @@ string.h, but with a utf8* prefix instead of the str* prefix.")
(define-public simdutf
(package
(name "simdutf")
(version "7.7.1")
(version "7.2.0")
(source
(origin
(method git-fetch)
@@ -1715,9 +1712,8 @@ string.h, but with a utf8* prefix instead of the str* prefix.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0kw4j4qqcfjaii667xa745pklj50m70nqq8cj5agj714acczbk7y"))))
(base32 "1kw4k3mhkj3bcmfmwwzq76hs2ypg5lrjl4vnp2dfg73vas9v9w35"))))
(build-system cmake-build-system)
(arguments (list #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON")))
(synopsis "SIMD Unicode validation and transcoding")
(description
"simdutf is a C++ library providing Unicode routines (UTF8, UTF16,
+69 -50
View File
@@ -58,7 +58,6 @@
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 nomike Postmann <nomike@nomike.com>
;;; Copyright © 2025 Josep Bigorra <jjbigorra@gmail.com>
;;; Copyright © 2025 Murilo <murilo@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -110,7 +109,6 @@
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages python-science)
#:use-module (gnu packages ruby)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages time)
@@ -1010,7 +1008,7 @@ has been designed to be fast, light and unintrusive.")
(define-public kyua
(package
(name "kyua")
(version "0.14.1")
(version "0.13")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1019,7 +1017,7 @@ has been designed to be fast, light and unintrusive.")
(file-name (git-file-name name version))
(sha256
(base32
"0w238ynhnjz7p2v8fbgxv35kl1x7a4vs86227qhb4gxncr75nsbl"))))
"1jzdal9smhmivj18683a5gy8jd2p1dbni7kcpaxq4g9jgjdidcrq"))))
(build-system gnu-build-system)
(arguments
(list
@@ -1044,6 +1042,16 @@ has been designed to be fast, light and unintrusive.")
(format #f "chdir(~s)" (dirname (which "ls"))))
(("\"/bin/ls\"")
(string-append "\"" (which "ls") "\"")))))
(add-before 'check 'prepare-for-tests
(lambda _
;; The test suite expects HOME to be writable.
(setenv "HOME" "/tmp")
;; Generate the autom4te-generated testsuite script, which
;; contains a '/bin/sh' shebang.
(invoke "make" "bootstrap/testsuite")
(substitute* "bootstrap/testsuite"
(("/bin/sh")
(which "sh")))))
(add-after 'unpack 'disable-problematic-tests
(lambda _
;; The stacktrace tests expect core files to be dumped to the
@@ -1052,8 +1060,12 @@ has been designed to be fast, light and unintrusive.")
;; https://github.com/freebsd/kyua/issues/214).
(substitute* "utils/Kyuafile"
((".*atf_test_program.*stacktrace_test.*")
"")))))))
(native-inputs (list autoconf automake gdb-minimal libtool pkg-config))
""))))
(add-after 'install 'delete-installed-tests
(lambda _
;; Delete 200 MiB of tests.
(delete-file-recursively (string-append #$output "/tests")))))))
(native-inputs (list autoconf automake gdb-minimal pkg-config))
(inputs (list atf lutok sqlite))
(home-page "https://github.com/freebsd/kyua")
(synopsis "Testing framework for infrastructure software")
@@ -3153,6 +3165,57 @@ non-technical or business participants in a software project. Behave uses
tests written in a natural language style, backed up by Python code.")
(license license:x11)))
(define-public python-behave-web-api
(package
(name "python-behave-web-api")
(version "2.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "behave-web-api" version))
(sha256
(base32
"04p5sp6wck3mafj634w1fpvfhxm170l5q3hfb9d06pi71ql606n6"))))
(build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-dependencies
(lambda _
(substitute* "setup.py"
(("'wheel'") "") ; We don't use it.
(("'ordereddict==1.1'") "")) ; Python >= 2.7 has it built-in.
#t)))))
(native-inputs
(list python-pytest
python-setuptools
python-wheel))
(propagated-inputs
(list behave python-requests))
(home-page "https://github.com/jefersondaniel/behave-web-api")
(synopsis "Provides testing for JSON APIs with Behave for Python")
(description "This package provides testing utility modules for testing
JSON APIs with Behave.")
(license license:expat)))
(define-public python-nose-timer
(package
(name "python-nose-timer")
(version "0.7.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "nose-timer" version))
(sha256
(base32 "05wzkc88vbzw62pqkvhl33211b90kns0lny70b7qw62rcg4flzk4"))))
(build-system python-build-system)
(propagated-inputs
(list python-nose python-termcolor))
(home-page "https://github.com/mahmoudimus/nose-timer")
(synopsis "Timer plugin for nosetests")
(description "Shows how much time was needed to run individual tests.")
(license license:expat)))
(define-public python-freezegun
(package
(name "python-freezegun")
@@ -3433,50 +3496,6 @@ of advanced library and language features, which means it should be easily
portable to just about any platform.")
(license license:expat)))
(define-public unity-test
(package
(name "unity-test")
(version "2.6.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ThrowTheSwitch/Unity")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1s0jj9f2zav49mn9ib90idcmb6hq93aczbqysn5hj6binjmrnjw3"))
(patches (search-patches "unity-test-set-subdir-correctly.patch"))))
(build-system meson-build-system)
(arguments
(list #:configure-flags
#~(list "-Dsupport_double=true")
#:phases
#~(modify-phases %standard-phases
(add-after 'patch-source-shebangs 'patch-more-shebangs
(lambda _
(substitute* '("auto/unity_test_summary.rb")
(("/usr/bin/ruby")
(string-append #$(this-package-input "ruby")
"/bin/ruby")))
(substitute* '("auto/stylize_as_junit.py"
"auto/unity_test_summary.py")
(("#! python3")
(string-append #$(this-package-input "python")
"/bin/python3")))))
(add-after 'install 'install-extra
(lambda _
(for-each (lambda (x)
(install-file x
(string-append #$output "/share/unity-test")))
(find-files "../source/auto")))))))
(native-inputs (list pkg-config))
(inputs (list python ruby))
(home-page "https://github.com/ThrowTheSwitch/Unity")
(synopsis "Simple unit testing for C")
(description "This package provides a unit testing framework built for C,
with a focus on working with embedded toolchains.")
(license license:expat)))
(define-public libfaketime
(package
(name "libfaketime")
+2 -2
View File
@@ -31,7 +31,7 @@
(define-public clifm
(package
(name "clifm")
(version "1.26.3")
(version "1.26")
(source
(origin
(method git-fetch)
@@ -40,7 +40,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xzpkiid5c51jkmxx4f9iyc6qsir7byp7zyjlskr6hnyah99i1wm"))))
(base32 "0mdh24qjx4cghghrl6sbp49a6kv8birxa5vxrsmj8ddnya2j1n3q"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "CC="
+8 -35
View File
@@ -46,7 +46,6 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system emacs)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
#:use-module (gnu packages)
@@ -461,40 +460,14 @@ and workspaces that can be used in the compiler environment of your choice.")
(uri (pypi-uri "cmakelang" version))
(sha256
(base32 "0zz6g1ignqanl4ja9f5nrlk5f3mvv7cp5y9yswjd0m06n23jx603"))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;no test data in pypi archive
#:modules '((guix build pyproject-build-system)
(guix build utils)
(ice-9 textual-ports))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'adjust-setup.py
(lambda _
(substitute* "setup.py"
(("cmakelang/doc/README.rst")
"README.rst"))
;; XXX: setup.py has multiple setup() calls, breaking the 'build
;; phase ; in this case the package is wrong, but conveniently
;; our goal is the first setup() call, so discard what comes from
;; the second one.
(rename-file "setup.py" "setup.py.bak")
(call-with-input-file "setup.py.bak"
(lambda (in)
(call-with-output-file "setup.py"
(lambda (out)
(let loop ((line (get-line in))
(setup-seen #f))
(unless (or (eof-object? line)
(and (string-prefix? "setup(" line)
setup-seen))
(display line out)
(newline out)
(loop (get-line in)
(or setup-seen
(string-prefix? "setup(" line))))))))))))))
(native-inputs (list python-setuptools))
(build-system python-build-system)
(arguments (list #:tests? #f ;no test data in pypi archive
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'adjust-setup.py
(lambda _
(substitute* "setup.py"
(("cmakelang/doc/README.rst")
"README.rst")))))))
(inputs (list python-jinja2 python-pyyaml python-six))
(home-page "https://github.com/cheshirekow/cmake_format/")
(synopsis "Language tools for CMake (format, lint, etc.)")
-42
View File
@@ -84,7 +84,6 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages cpp)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages documentation)
#:use-module (gnu packages file)
@@ -96,7 +95,6 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages java)
#:use-module (gnu packages llvm)
#:use-module (gnu packages linux)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
#:use-module (gnu packages perl)
@@ -2512,46 +2510,6 @@ download times, and other distribution and storage costs.")
(properties `((lint-hidden-cve . ("CVE-2023-23456" "CVE-2023-23457"))))
(license license:gpl2+)))
(define-public qatzip
(package
(name "qatzip")
(version "1.3.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/intel/QATzip")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0c7kph69cf48gr97j3gzh1zwd58wxmp64vfv34z4r9ixj3lh6ziz"))))
(build-system gnu-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(replace 'bootstrap
(lambda _
;; The script has a broken shebang (see:
;; <https://github.com/intel/QATzip/issues/143>).
(invoke "sh" "autogen.sh"))))))
(native-inputs (list autoconf automake libtool))
(inputs (list numactl qatlib))
(propagated-inputs (list lz4 zlib)) ;in Requires of qatzip.pc
(home-page "https://github.com/intel/QATzip")
(synopsis "Compression Library accelerated by Intel QuickAssist Technology")
(description "QATzip is a library which builds on top of the
Intel QuickAssist Technology user space library, to provide extended
accelerated compression and decompression services by offloading the actual
compression and decompression request(s) to the Intel Chipset Series. QATzip
produces data using the standard gzip format (RFC1952) with extended headers
or lz4 blocks with lz4 frame format. The data can be decompressed with a
compliant gzip or lz4 implementation. QATzip is designed to take full
advantage of the performance provided by Intel QuickAssist Technology.")
(license license:bsd-3)
;; This package only supports hardware that exists on the x86_64 platform,
;; and is not portable.
(supported-systems (list "x86_64-linux"))))
(define-public quazip
(package
(name "quazip")
+2 -2
View File
@@ -572,7 +572,7 @@ Its main purpose is to support the key usage by @code{docker-init}:
(define-public podman
(package
(name "podman")
(version "5.7.1")
(version "5.7.0")
(outputs '("out" "docker"))
(properties
`((output-synopsis "docker" "docker alias for podman")
@@ -585,7 +585,7 @@ Its main purpose is to support the key usage by @code{docker-init}:
(url "https://github.com/containers/podman")
(commit (string-append "v" version))))
(sha256
(base32 "16lb58r8vkngics6fn1b3six8bl3nrl9awrnq6ivdv1grfgy9z61"))
(base32 "0p1hh3sy5m1l1151wsda3q346pd4dm9hgpwjqakdha8yixyicwj8"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
+4 -103
View File
@@ -50,7 +50,6 @@
;;; Copyright © 2024, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2025 Philippe Swartvagher <phil.swart@gmx.fr>
;;; Copyright © 2025 Murilo <murilo@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -103,7 +102,6 @@
#:use-module (gnu packages disk)
#:use-module (gnu packages documentation)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
@@ -127,7 +125,6 @@
#:use-module (gnu packages popt)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages samba)
#:use-module (gnu packages sdl)
#:use-module (gnu packages tls)
#:use-module (gnu packages tex)
@@ -950,7 +947,7 @@ library for SIMD (Single Instruction, Multiple Data) with runtime dispatch.")
(define-public hyprgraphics
(package
(name "hyprgraphics")
(version "0.5.0")
(version "0.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -961,7 +958,7 @@ library for SIMD (Single Instruction, Multiple Data) with runtime dispatch.")
(snippet #~(substitute* "CMakeLists.txt" (("libjxl_cms") "")))
(sha256
(base32
"1l8yfnv1vs6iqnh7r73yyfkbl8l61mqpmpyhri65sqwvplkgw41i"))))
"1jii9l9qbksp6x1vwbm84a985hy9q9xcpl703bliprd5rkpi6w96"))))
(build-system cmake-build-system)
(native-inputs (list gcc-15 pkg-config))
(inputs (list cairo
@@ -1019,7 +1016,7 @@ language used in Hyprland.")
(define-public hyprutils
(package
(name "hyprutils")
(version "0.11.0")
(version "0.10.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1028,7 +1025,7 @@ language used in Hyprland.")
(file-name (git-file-name name version))
(sha256
(base32
"1ymiqzncppdik8lw3ad7xaqig6c7bjcy7crcwbq3rjfk2hrc8rmc"))))
"08b65pssaci780rgb5qgqc61zvbxmb9qda4gb58j8nh9yi3ya0jx"))))
(build-system cmake-build-system)
(arguments
(list
@@ -1051,102 +1048,6 @@ language used in Hyprland.")
ecosystem.")
(license license:bsd-3)))
(define-public hyprtoolkit
(package
(name "hyprtoolkit")
(version "0.5.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hyprwm/hyprtoolkit")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1lyc5mmk7i83q3rq11yyggwxpcx3kmav3hg3ss1xl723v27cnj80"))))
(build-system cmake-build-system)
(arguments (list #:tests? #f)) ; No tests in Release build type
(native-inputs (list pkg-config hyprwayland-scanner))
(inputs
(list aquamarine
cairo
googletest
hyprgraphics
hyprlang
hyprutils
iniparser
mesa
libglvnd
libxkbcommon
pango
pixman
wayland
wayland-protocols))
(home-page "https://github.com/hyprwm/hyprtoolkit")
(synopsis "Modern C++ Wayland-native GUI toolkit")
(description "This package provides a C++ toolkit for making wayland GUI
apps.")
(license license:bsd-3)))
(define-public hyprwire
(package
(name "hyprwire")
(version "0.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hyprwm/hyprwire")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0rzclhk42x9im9n6fz2bj98l9lb7jhl3vijvck4rj6yhb80kvli0"))))
(build-system cmake-build-system)
(arguments (list #:tests? #f)) ; There are no tests
(native-inputs (list pkg-config gcc-15))
(inputs
(list hyprutils
libffi
pugixml))
(home-page "https://github.com/hyprwm/hyprwire")
(synopsis "Fast and consistent wire protocol for IPC")
(description "This package provides a fast and consistent wire protocol,
and its implementation. This is essentially a method for processes to talk to
each other.")
(license license:bsd-3)))
(define-public hyprland-guiutils
(package
(name "hyprland-guiutils")
(version "0.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hyprwm/hyprland-guiutils")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0x5757ch8rvgbph66fkf5cg39r37isvfy450429746xmajsy0qa7"))))
(build-system cmake-build-system)
(arguments (list #:tests? #f)) ; There are no tests
(native-inputs (list pkg-config gcc-15))
(inputs
(list aquamarine
cairo
hyprgraphics
hyprlang
hyprtoolkit
hyprutils
mesa
libxkbcommon
pixman))
(home-page "https://github.com/hyprwm/hyprland-guiutils")
(synopsis "Hyprland GUI utilities")
(description "This package provides GUI utilities for hyprland. It is the
successor of hyprland-qtutils.")
(license license:bsd-3)))
(define-public xsimd-benchmark
(package
(inherit xsimd)
+25 -69
View File
@@ -21,7 +21,7 @@
;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net>
;;; Copyright © 2021 Ellis Kenyő <me@elken.dev>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021, 2022, 2025 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021, 2022 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2022 Allan Adair <allan@adair.no>
;;; Copyright © 2022, 2024-2025 Maxim Cournoyer <maxim@guixoic.coop>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
@@ -50,7 +50,6 @@
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages aidc)
#:use-module (gnu packages assembly)
#:use-module (gnu packages attr)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
@@ -795,47 +794,6 @@ data on your platform, so the seed itself will be as random as possible.
@end enumerate\n")
(license license:artistic2.0)))
(define-public qatlib
(package
(name "qatlib")
(version "25.08.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/intel/qatlib/")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1hbhrj0wlr68by7gdvsw4nh35rwg4yngn3m7awkx799pbqsw4iyc"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags #~(list "--disable-static") ;avoid large .a
#:phases
#~(modify-phases %standard-phases
(replace 'bootstrap
(lambda _
;; The script has a broken shebang (see:
;; <https://github.com/intel/qatlib/issues/128>).
(invoke "sh" "autogen.sh"))))))
(native-inputs (list autoconf autoconf-archive automake libtool nasm))
(inputs (list numactl openssl zlib))
(propagated-inputs (list openssl)) ;in 'Requires' of libqat.pc
(home-page "https://github.com/intel/qatlib")
(synopsis "Intel QuickAssist Technology Library (QATlib)")
(description "Intel QuickAssist Technology provides hardware acceleration for
offloading security, authentication and compression services from the CPU,
thus significantly increasing the performance and efficiency of standard
platform solutions. Its services include symmetric encryption and
authentication, asymmetric encryption, digital signatures, RSA, DH and ECC,
and lossless data compression. This package provides user space libraries
that allow access to Intel QuickAssist devices and expose the Intel
QuickAssist APIs and sample codes.")
(license license:bsd-3)
;; This package only supports hardware that exists on the x86_64 platform,
;; and is not portable.
(supported-systems (list "x86_64-linux"))))
(define-public crypto++
(package
(name "crypto++")
@@ -1581,7 +1539,7 @@ non-encrypted files.")
(define-public cryfs
(package
(name "cryfs")
(version "1.0.1")
(version "0.11.4")
(source
(origin
(method url-fetch)
@@ -1589,53 +1547,52 @@ non-encrypted files.")
"https://github.com/cryfs/cryfs/releases/download/"
version "/cryfs-" version ".tar.xz"))
(sha256
(base32 "1va8l8yfyi895604i8npq2b5ha0ixiqydlrq2nck2106w52wrm3s"))
(patches (search-patches
;; https://github.com/cryfs/cryfs/pull/494
"cryfs-boost-1.88-fix.patch"
;; https://github.com/cryfs/cryfs/pull/500
"cryfs-boost-1.89-fix.patch"))))
(base32 "0a48qijfrd02ianp19x3kz24w1pgigmlxdr5nks0gag7z5b2s7m7"))))
(build-system cmake-build-system)
(arguments
'(#:modules ((guix build cmake-build-system)
(guix build utils)
(srfi srfi-1))
#:configure-flags
;; Note: This also disables checking for security issues.
'("-DCRYFS_UPDATE_CHECKS=OFF"
"-DBUILD_TESTING=ON")
;; crypto++ is still bundled: https://github.com/cryfs/cryfs/issues/369
;; Note: This also disables checking for security issues.
`("-DCRYFS_UPDATE_CHECKS=OFF"
;; This helps us use some dependencies from Guix instead of conan.
;; crypto++ is still bundled: https://github.com/cryfs/cryfs/issues/369
;; Googletest is also since I wasn't sure how to unbundle that.
,(string-append "-DDEPENDENCY_CONFIG=" (getcwd)
"/cmake-utils/DependenciesFromLocalSystem.cmake"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-up
(lambda* (#:key tests? #:allow-other-keys)
(chdir "..") ; We end up in .github somehow
;; Remove junk directory that breaks the build
(chdir "..") (delete-file-recursively ".circleci")
;; Install documentation with Guix defaults.
(substitute* "doc/CMakeLists.txt"
(("CONFIGURATIONS Release")
"CONFIGURATIONS Release RelWithDebInfo"))
;; Disable Fuse tests.
(substitute* "test/cryfs-cli/CMakeLists.txt"
(("CliTest_IntegrityCheck.cpp") "")
(("CliTest_Setup.cpp") "")
(("CliTest_WrongEnvironment.cpp") "")
(("CryfsUnmountTest.cpp") ""))))
(when tests?
(substitute* "CMakeLists.txt"
(("option.BUILD_TESTING .build test cases. OFF.")
"option(BUILD_TESTING \"build test cases\" ON)")))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "HOME" "/tmp")
(let ((tests (find-files "test/" "-test$")))
;; SignalHandler/SignalCatcher tests fails
;; Fuse tests can't run in build env.
(let ((tests (find-files "." "-test$")))
;; XXX: Disable failing tests. Unfortunately there are a
;; few. Some only fail in the build environment due to
;; FUSE not being available.
(for-each invoke
(lset-difference string-contains
tests
'("cpp-utils-test"
"cryfs-cli-test"
"blobstore-test"
"fspp-test"))))))))))
(native-inputs
(list googletest pkg-config python-wrapper))
(list pkg-config python-wrapper))
(inputs
(list boost curl fuse-2 range-v3 spdlog))
(list boost-1.83 curl fuse-2 range-v3 spdlog))
(home-page "https://www.cryfs.org/")
(synopsis "Encrypted FUSE filesystem for the cloud")
(description "CryFS encrypts your files, so you can safely store them anywhere.
@@ -1644,8 +1601,7 @@ others. CryFS creates an encrypted userspace filesystem that can be mounted
via FUSE without root permissions. It is similar to EncFS, but provides
additional security and privacy measures such as hiding file sizes and directory
structure. However CryFS is not considered stable yet by the developers.")
(license license:lgpl3+)
(properties `((tunable? . #t)))))
(license license:lgpl3+)))
(define-public b3sum
(package
+200 -187
View File
@@ -2159,27 +2159,6 @@ data in a single database. RocksDB is partially based on @code{LevelDB}.")
;; files carry the 3-clause BSD license.
(license (list license:gpl2 license:asl2.0 license:bsd-3))))
(define-public rocksdb-for-ceph
(let ((commit "9fa4990159853479a222244574ca41202e4c95c1")
(revision "0"))
(package
(inherit rocksdb)
(name "rocksdb-for-ceph")
(version (git-version "7.9.2" revision commit))
(source (origin
(inherit (package-source rocksdb))
(uri (git-reference
(url "https://github.com/ceph/rocksdb")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0pdy461m9a48x4i829sirpypdlzf3q79p8iw3dng9wd4r4vyv594"))))
(arguments (substitute-keyword-arguments (package-arguments rocksdb)
((#:configure-flags flags ''())
#~(cons "-DCMAKE_CXX_FLAGS=-Wno-error=maybe-uninitialized"
#$flags)))))))
(define-public sparql-query
(package
(name "sparql-query")
@@ -4366,53 +4345,26 @@ framework.")
(define-public python-sqlalchemy-utils
(package
(name "python-sqlalchemy-utils")
(version "0.42.1")
(version "0.38.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kvesteri/sqlalchemy-utils")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0ny1p352p0dlgrf9fnmzj7ld1rga5zj698qpla1kdaliwwh6xawn"))))
(build-system pyproject-build-system)
(origin
(method url-fetch)
(uri (pypi-uri "SQLAlchemy-Utils" version))
(sha256
(base32 "0k8z0mjhvdv302kn0nhci8b2dgw4cn2akprsf37ma1540ykgp6lz"))))
(build-system python-build-system)
(arguments
(list
#:test-flags
;; XXX: These tests require additional inputs.
#~(list "--deselect=tests/test_views.py::TestMySqlTrivialView"
"--deselect=tests/functions/test_database.py::\
TestDatabasePostgresPg8000::test_create_and_drop"
"--deselect=tests/functions/test_database.py::\
TestDatabasePostgresPsycoPG2CFFI::test_create_and_drop")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'start-postgresql
(lambda* (#:key inputs tests? #:allow-other-keys)
(when tests?
(setenv "TZDIR" (search-input-directory inputs
"share/zoneinfo"))
(let ((dbdir (string-append (getcwd) "/../pgdir")))
(setenv "SQLALCHEMY_UTILS_TEST_POSTGRESQL_USER"
"nixbld")
(invoke "initdb" "-D" dbdir)
(invoke "pg_ctl" "-D" dbdir
"-o" (string-append "-k " dbdir)
"-l" (string-append dbdir "/db.log")
"start")
(invoke "psql" "-h" dbdir "-d" "postgres"
"-c" "CREATE DATABASE sqlalchemy_utils_test;"))))))))
(propagated-inputs (list python-six python-sqlalchemy))
'(#:tests? #f)) ; FIXME: Many tests require a running database server.
;; #:phases
;; (modify-phases %standard-phases
;; (replace 'check
;; (lambda _
;; (zero? (system* "py.test" "sqlalchemy_utils" "tests")))))
(propagated-inputs
(list python-six python-sqlalchemy))
(native-inputs
(list postgresql
python-dateutil
python-flexmock
python-psycopg2
python-pytest
python-pytz
python-setuptools
tzdata-for-tests))
(list python-dateutil python-flexmock python-psycopg2 python-pytest
python-pytz))
(home-page "https://github.com/kvesteri/sqlalchemy-utils")
(synopsis "Various utility functions for SQLAlchemy")
(description
@@ -4514,23 +4466,19 @@ SQLAlchemy Database Toolkit for Python.")
(package
(name "python-sqlite-fts4")
(version "1.0.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/simonw/sqlite-fts4")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "05c69n4nrc9srkbih1q1wxlw6n9mb3dm7ysb47ipqjn3rp1aif11"))))
(build-system pyproject-build-system)
(native-inputs (list python-pytest python-setuptools))
(source (origin
(method url-fetch)
(uri (pypi-uri "sqlite-fts4" version))
(sha256
(base32
"034kx0ac556sywy1p4qcrc36l24w3q0xwswqv2z9s3k8yvm5xc3q"))))
(build-system python-build-system)
(native-inputs (list python-pytest))
(home-page "https://github.com/simonw/sqlite-fts4")
(synopsis "Python functions for working with SQLite FTS4 search")
(description
"This package provides custom SQLite functions written in Python for
ranking documents indexed using the SQLite's FTS4 full text search
extension.")
(description "This package provides custom SQLite functions written
in Python for ranking documents indexed using the SQLite's FTS4 full
text search extension.")
(license license:asl2.0)))
(define-public python-sqlite-utils
@@ -4723,41 +4671,18 @@ libraries with SQLALchemy.")
(define-public python-psycopg2
(package
(name "python-psycopg2")
(version "2.9.11")
(version "2.9.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/psycopg/psycopg2")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "psycopg2" version))
(sha256
(base32 "04l2yzbl15nrw1pcjfkqycvqn6h9phcdh1xx9ynfy3dzfscq5ly5"))))
(build-system pyproject-build-system)
(base32 "04chl9f7v7k1zssa40pmk06jvpyqiss2lpjq50dq69nqix0mhlgi"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'start-postgresql
(lambda* (#:key inputs tests? #:allow-other-keys)
(when tests?
(setenv "TZDIR" (search-input-directory inputs
"share/zoneinfo"))
(let ((dbdir (string-append (getcwd) "/../pgdir")))
(setenv "PSYCOPG2_TESTDB_USER" "nixbld")
(setenv "PSYCOPG2_TESTDB_HOST" dbdir)
(invoke "initdb" "-D" dbdir)
(invoke "pg_ctl" "-D" dbdir
"-o" (string-append "-k " dbdir)
"-l" (string-append dbdir "/db.log")
"start")
(invoke "psql" "-h" dbdir "-d" "postgres"
"-c" "CREATE DATABASE psycopg2_test;"))))))))
(native-inputs
(list postgresql
python-pytest
python-setuptools
tzdata-for-tests))
;; Tests would require a postgresql database "psycopg2_test"
;; and a running postgresql database management service.
'(#:tests? #f)) ; TODO re-enable after providing a test-db.
(inputs
(list postgresql)) ; libpq
(home-page "https://www.psycopg.org/")
@@ -4779,16 +4704,14 @@ libraries with SQLALchemy.")
(sha256
(base32
"1pkx7nj1mhacwpna7ldzqfqxd1xg8826600r0bs9ad1h93f429yh"))))
(build-system pyproject-build-system)
(build-system python-build-system)
(arguments
(list
#:tests? #f ;run for psycopg below
#:phases
#~(modify-phases %standard-phases
;; This module requires 'psycopg', however psycopg needs this
;; for its tests. Disable sanity check to break the cycle.
(delete 'sanity-check))))
(native-inputs (list python-setuptools))
(list #:tests? #f ;run for psycopg below
#:phases
#~(modify-phases %standard-phases
;; This module requires 'psycopg', however psycopg needs this
;; for its tests. Disable sanity check to break the cycle.
(delete 'sanity-check))))
(home-page "https://www.psycopg.org/")
(synopsis "Connection pooler for psycopg")
(description
@@ -4899,49 +4822,23 @@ from a SQLAlchemy model (or directly from the database).")
(define-public yoyo-migrations
(package
(name "yoyo-migrations")
(version "9.0.0")
(version "8.2.0")
(source
(origin
;; We use the upstream repository, as the tests are not included in the
;; PyPI releases.
(method hg-fetch)
(uri (hg-reference
(url "https://hg.sr.ht/~olly/yoyo")
(changeset (string-append "v" version "-release"))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32 "0bn4n043y0n4dh7axwavfims2krap5dcmdaxswbadzmis3a4hxyb"))))
(build-system pyproject-build-system)
(base32 "1al030ix0w63hr4s3mqry6s0mlqdj8p242pdqks06br7c25nx3yj"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'start-postgresql
(lambda* (#:key inputs tests? #:allow-other-keys)
(when tests?
(delete-file "test_databases.ini")
(call-with-output-file "test_databases.ini"
(lambda (port)
(format port "[DEFAULT]
postgresql = postgresql://nixbld@/yoyo_test~%")))
(setenv "TZDIR" (search-input-directory inputs
"share/zoneinfo"))
(let ((dbdir (string-append (getcwd) "/../pgdir")))
(setenv "PGHOST" dbdir)
(setenv "PGUSER" "nixbld")
(invoke "initdb" "-D" dbdir)
(invoke "pg_ctl" "-D" dbdir
"-o" (string-append "-k " dbdir)
"-l" (string-append dbdir "/db.log")
"start")
(invoke "psql" "-h" dbdir "-d" "postgres"
"-c" "CREATE DATABASE yoyo_test;"))))))))
(native-inputs
(list postgresql
python-freezegun
python-psycopg2
python-pytest
python-setuptools
tms
tzdata-for-tests))
;; XXX: Tests require a connection to some pgsql database and psycopg
;; fails to connect to it.
'(#:tests? #f))
(propagated-inputs
(list python-sqlparse python-tabulate python-importlib-metadata))
(home-page "https://ollycope.com/software/yoyo/latest/")
@@ -5224,13 +5121,13 @@ is designed to have a low barrier to entry.")
(define-public python-sqlparse
(package
(name "python-sqlparse")
(version "0.5.5")
(version "0.5.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sqlparse" version))
(sha256
(base32 "13pj7ylwm8w35nd8hz64grx5sk69qxk01lqh7gvgv1c51fdll3g2"))))
(base32 "0wljxh3lh2zndy7amziwd3572cwwbmzzq6yyvgn1c2vayn3pgxh9"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
@@ -5498,11 +5395,143 @@ language-bindings for structure manipulation. It also provides IPC and common
algorithm implementations.")
(license license:asl2.0)))
(define-public apache-arrow-for-ceph
(package
(name "apache-arrow")
(version "6.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/apache/arrow")
(commit (string-append "apache-arrow-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0mcw361akqw4sxnnpnr9c9v1zk4hphk6gcq763pcb19yzljh88ig"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'configure 'enter-source-directory
(lambda _ (chdir "cpp")))
(add-after 'unpack 'set-env
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "cpp/src/parquet/parquet.pc.in"
(("includedir=\\$\\{prefix\\}/")
"includedir="))
(substitute* "cpp/cmake_modules/ThirdpartyToolchain.cmake"
(("set\\(xsimd_SOURCE.*") ""))
(setenv "BOOST_ROOT" (assoc-ref inputs "boost"))
(setenv "BROTLI_HOME" (assoc-ref inputs "brotli"))
(setenv "FLATBUFFERS_HOME" (assoc-ref inputs "flatbuffers"))
(setenv "RAPIDJSON_HOME" (assoc-ref inputs "rapidjson")))))
#:build-type "Release"
#:configure-flags
(list "-DARROW_PYTHON=ON"
"-DARROW_GLOG=ON"
;; Parquet options
"-DARROW_PARQUET=ON"
"-DPARQUET_BUILD_EXECUTABLES=ON"
;; The maintainers disallow using system versions of
;; jemalloc:
;; https://issues.apache.org/jira/browse/ARROW-3507. This
;; is unfortunate because jemalloc increases performance:
;; https://arrow.apache.org/blog/2018/07/20/jemalloc/.
"-DARROW_JEMALLOC=OFF"
;; The CMake option ARROW_DEPENDENCY_SOURCE is a global
;; option that instructs the build system how to resolve
;; each dependency. SYSTEM = Finding the dependency in
;; system paths using CMake's built-in find_package
;; function, or using pkg-config for packages that do not
;; have this feature
"-DARROW_DEPENDENCY_SOURCE=SYSTEM"
"-Dxsimd_SOURCE=SYSTEM"
"-DARROW_RUNTIME_SIMD_LEVEL=NONE"
"-DARROW_SIMD_LEVEL=NONE"
"-DARROW_PACKAGE_KIND=Guix"
;; Split output into its component packages.
(string-append "-DCMAKE_INSTALL_PREFIX="
(assoc-ref %outputs "lib"))
(string-append "-DCMAKE_INSTALL_RPATH="
(assoc-ref %outputs "lib")
"/lib")
(string-append "-DCMAKE_INSTALL_BINDIR="
(assoc-ref %outputs "out")
"/bin")
(string-append "-DCMAKE_INSTALL_INCLUDEDIR="
(assoc-ref %outputs "include")
"/share/include")
"-DARROW_WITH_SNAPPY=ON"
"-DARROW_WITH_ZLIB=ON"
"-DARROW_WITH_ZSTD=ON"
"-DARROW_WITH_LZ4=ON"
"-DARROW_COMPUTE=ON"
"-DARROW_CSV=ON"
"-DARROW_DATASET=ON"
"-DARROW_FILESYSTEM=ON"
"-DARROW_HDFS=ON"
"-DARROW_JSON=ON"
;; Arrow Python C++ integration library (required for
;; building pyarrow). This library must be built against
;; the same Python version for which you are building
;; pyarrow. NumPy must also be installed. Enabling this
;; option also enables ARROW_COMPUTE, ARROW_CSV,
;; ARROW_DATASET, ARROW_FILESYSTEM, ARROW_HDFS, and
;; ARROW_JSON.
"-DARROW_PYTHON=ON"
;; Building the tests forces on all the
;; optional features and the use of static
;; libraries.
"-DARROW_BUILD_TESTS=OFF"
"-DBENCHMARK_ENABLE_GTEST_TESTS=OFF"
;;"-DBENCHMARK_ENABLE_TESTING=OFF"
"-DARROW_BUILD_STATIC=OFF")))
(inputs
(list boost
brotli
bzip2
double-conversion
gflags
glog
grpc
protobuf
python
python-numpy
rapidjson
re2
snappy
xsimd))
;; These are all listed under Requires.private in arrow.pc
(propagated-inputs
(list (list apache-thrift "lib")
lz4
utf8proc
zlib
(list zstd "lib")))
(native-inputs
(list pkg-config))
(outputs '("out" "lib" "include"))
(home-page "https://arrow.apache.org/")
(synopsis "Columnar in-memory analytics")
(description "Apache Arrow is a columnar in-memory analytics layer
designed to accelerate big data. It houses a set of canonical in-memory
representations of flat and hierarchical data along with multiple
language-bindings for structure manipulation. It also provides IPC and common
algorithm implementations.")
(license license:asl2.0)))
(define-public python-pyarrow
(package
(inherit apache-arrow)
(name "python-pyarrow")
(build-system pyproject-build-system)
(build-system python-build-system)
(arguments
(list
;; XXX: Test data is distributed separately in
@@ -5512,6 +5541,7 @@ algorithm implementations.")
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(delete 'build) ; XXX the build is performed again during the install phase
(add-after 'unpack 'enter-source-directory
(lambda _ (chdir "python")))
(add-after 'enter-source-directory 'set-version
@@ -5555,8 +5585,7 @@ __version_tuple__ = version_tuple = (~a)~%" version version-tuple))))))
python-cython
python-pytest
python-pytest-runner
python-setuptools-scm
python-setuptools))
python-setuptools-scm))
(outputs '("out"))
(home-page "https://arrow.apache.org/docs/python/")
(synopsis "Python bindings for Apache Arrow")
@@ -5642,31 +5671,16 @@ and @code{intake-parquet}. It supports the following compression algorithms:
(define-public python-crate
(package
(name "python-crate")
(version "2.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/crate/crate-python")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0kk84wf7awgspdijycvhkbqvm5llp3wmwxa9n4w3qda861xn6krb"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "--ignore=tests/testing/test_layer.py" ; Requires crate binary.
"--ignore=tests/client/test_http.py"))) ; XXX: fails collection.
(native-inputs
(list python-orjson
python-pytest
python-pytz
python-setuptools
python-sqlalchemy
python-verlib2
tzdata-for-tests))
(propagated-inputs (list python-urllib3))
(version "0.23.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "crate" version))
(sha256
(base32
"0ngmlvi320c5gsxab0s7qgq0ck4jdlcwvb6lbjhnfprafdp56vvx"))))
(build-system python-build-system)
(propagated-inputs
(list python-urllib3))
(home-page "https://github.com/crate/crate-python")
(synopsis "CrateDB Python client")
(description
@@ -5985,7 +5999,6 @@ a Gtk.Grid Widget.")
qhexedit
qscintilla
qtbase-5
qtwayland-5
sqlite))
(native-inputs (list qttools-5))
(home-page "https://sqlitebrowser.org/")
@@ -6000,7 +6013,7 @@ compatible with SQLite using a graphical user interface.")
(define-public sqlitestudio
(package
(name "sqlitestudio")
(version "3.4.19")
(version "3.4.18")
(source
(origin
(method git-fetch)
@@ -6009,7 +6022,7 @@ compatible with SQLite using a graphical user interface.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1fvyd2l1pbpl4jgn7vp8j2gsmw0sbfzidyv3k87xm6a2d7i680yc"))))
(base32 "1chsm4hxy483hz569ywacysg4dh9ijis060s4rgydkgk49bbb2si"))))
(build-system gnu-build-system)
(arguments
(list
+10 -30
View File
@@ -7,7 +7,6 @@
;;; Copyright © 2022, 2024 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 Junker <dk@junkeria.club>
;;; Copyright © 2026 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -117,39 +116,13 @@ clients.")
(define-public xandikos
(package
(name "xandikos")
(version "0.3.0")
(version "0.2.12")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xandikos" version))
(sha256
(base32 "10j7qmwcrwql4ah6q8si3nf1ljwrx99w8ipiy85bzjd3qz2vackj"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-backend #~'unittest
#:phases
#~(modify-phases %standard-phases
(replace 'create-entrypoints
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((sitedir (site-packages inputs outputs))
(interpreter (which "python"))
(file-path (string-append #$output "/bin/xandikos")))
(mkdir-p (string-append #$output "/bin"))
(call-with-output-file file-path
(lambda (port)
(format port "#!~a -sP
# Auto-generated entry point script.
import sys
import asyncio
from xandikos.__main__ import main
if __name__ == '__main__':
sys.exit(asyncio.run(main(sys.argv[1:])))~%" interpreter)))
(chmod file-path #o755))))
(add-before 'check 'check-setup
(lambda _
(setenv "XANDIKOSPATH" (mkdtemp "/tmp/xandikospath-XXXXXX")))))))
(native-inputs (list python-setuptools))
(sha256 (base32 "0x6g5s9pkippxg429r9agp3w0xsid2vv1h45wfc3xzdfvgj6ygsr"))))
(build-system python-build-system)
(propagated-inputs
(list python-aiohttp
python-defusedxml
@@ -158,6 +131,13 @@ if __name__ == '__main__':
python-jinja2
python-multidict
python-vobject))
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'check-setup
(lambda _
(setenv "XANDIKOSPATH" (mkdtemp "/tmp/xandikospath-XXXXXX")))))))
(home-page "https://www.xandikos.org/")
(synopsis "Lightweight CalDAV/CardDAV server")
(description
+2 -2
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018, 2020-2026 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2020-2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2023, 2024 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
@@ -607,7 +607,7 @@ unpacking them into a directory which can eventually be chrooted into.")
"0hw407fm5ylsf28b0vrwz7rm2r2rsgfwzajbkbn6n2b6kqhdjyy9"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake gettext-minimal po4a-minimal))
(list autoconf automake gettext-minimal po4a))
(home-page "https://packages.debian.org/unstable/debianutils")
(synopsis "Miscellaneous shell utilities")
(description
+5 -5
View File
@@ -2,7 +2,7 @@
;;; Copyright © 2014-2016, 2018, 2021, 2024, 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016-2018, 2020-2023, 2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2017-2019, 2021, 2025 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2017, 2018, 2019, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018, 2019, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
@@ -411,17 +411,17 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
(define-public grammalecte
(package
(name "grammalecte")
(version "2.3.0")
(version "2.1.1")
(source
(origin
(method url-fetch/zipbomb)
(uri (string-append "https://grammalecte.net/zip/"
(uri (string-append "https://grammalecte.net/grammalecte/zip/"
"Grammalecte-fr-v" version ".zip"))
(sha256
(base32 "0kv8h0116sfcrqnpd3jv2b098ychda7v27fciq1phxw50jbj395a"))))
(base32 "076jv3ywdgqqzg92bfbagc7ypy08xjq5zn4vgna6j9350fkfqhzn"))))
(build-system pyproject-build-system)
(arguments
(list #:test-backend #~'unittest))
(list #:tests? #f)) ;no tests provided with the project
(native-inputs
(list python-setuptools))
(home-page "https://grammalecte.net")
+19 -26
View File
@@ -855,7 +855,7 @@ and can dramatically shorten the lifespan of the drive if left unchecked.")
(sha256
(base32
"1ji5sq9jf0p44982zkb5dj2d3mrpy675k0mkyg3r17q5syz0wbia"))))
(build-system pyproject-build-system)
(build-system python-build-system)
(arguments
(list
#:tests? #f ;XXX: root access is required, see: <scripts/tests/test.sh>
@@ -970,31 +970,24 @@ reformatted. It can recover lost files from at least:
(license license:gpl2+)))
(define-public pydf
(let ((commit "af38bb3b7aacbcc32271e6dafa8b8b0a77ffead8")
(revision "0"))
(package
(name "pydf")
(version (git-version "15" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/garabik/pydf")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "18ljigg8zm9pc3qg3alpyh3n4a4f1wcza4p36cchjn2vd4466jf4"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ; No tests.
(native-inputs (list python-setuptools))
(home-page "http://kassiopeia.juls.savba.sk/~garabik/software/pydf/")
(synopsis "Colourised @command{df} clone")
(description
"All-singing, all-dancing, fully colourised @command{df} clone written
in Python. It displays the amount of disk space available on the mounted file
systems, using different colours for different types of file systems. Output
format is completely customizable.")
(license license:public-domain))))
(package
(name "pydf")
(version "12")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pydf" version))
(sha256
(base32
"0f8ly8xyp93i2hm9c0qjqd4y86nz73axw2f09z01mszwmg1sfivz"))))
(build-system python-build-system)
(home-page "http://kassiopeia.juls.savba.sk/~garabik/software/pydf/")
(synopsis "Colourised @command{df} clone")
(description "All-singing, all-dancing, fully colourised @command{df} clone
written in Python. It displays the amount of disk space available on the
mounted file systems, using different colours for different types of file
systems. Output format is completely customizable.")
(license license:public-domain)))
(define-public f3
(package
+4 -10
View File
@@ -695,16 +695,16 @@ them do this.")
(define-public python-django-allauth
(package
(name "python-django-allauth")
(version "65.9.0")
(version "65.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/allauth/django-allauth")
(url "https://github.com/pennersr/django-allauth")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "03a7175748533rw6h3grfpv86i3qb31ixw0kb2kj90gc77sh1sw2"))))
(base32 "1k5b3x7pdysb21vbqx7pxi9cm72yj057mm1clg19ymiqj4kq8yfl"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -740,7 +740,7 @@ them do this.")
python-pytest-asyncio
python-pytest-django
python-setuptools))
(home-page "https://codeberg.org/allauth/django-allauth")
(home-page "https://github.com/pennersr/django-allauth")
(synopsis "Set of Django applications addressing authentication")
(description
"Integrated set of Django applications addressing authentication,
@@ -2061,12 +2061,6 @@ image files already supported by it.")
(sha256
(base32 "06h4g50qy1h77b4n28xbyzl2wvsblzs9qi63d7kvvm9x8n8whz92"))))
(build-system pyproject-build-system)
(arguments
(list
;; Skip test that fails on later Python versions; code itself seems fine.
;; See: <https://github.com/joke2k/django-environ/issues/574>.
#:test-flags
#~(list "-k" "not test_db_parsing")))
(native-inputs (list python-pytest
python-setuptools
python-wheel))
+5 -11
View File
@@ -253,10 +253,10 @@ management tool.")
(file-name (git-file-name name version))
(sha256
(base32 "0m5ifgxdhcf7yci0ncgnxjas879sksrf3im0fahs573g268farz9"))))
(build-system pyproject-build-system)
(build-system python-build-system)
;; Integration tests need a running Docker daemon.
(arguments (list #:tests? #f))
(native-inputs (list python-setuptools))
(native-inputs '())
(inputs (modify-inputs (package-inputs python-docker)
(prepend python-six)
(delete "python-urllib3")))
@@ -264,9 +264,6 @@ management tool.")
(modify-inputs (package-propagated-inputs python-docker)
(prepend python-docker-pycreds python-urllib3-1.26)))))
;; Needed for old v1 of docker-compose; remove once Docker is updated to a
;; more recent version which has the command "docker compose" built-in, see:
;; <https://codeberg.org/guix/guix/milestone/30347>.
(define-public python-dockerpty
(package
(name "python-dockerpty")
@@ -278,11 +275,9 @@ management tool.")
(sha256
(base32
"1kjn64wx23jmr8dcc6g7bwlmrhfmxr77gh6iphqsl39sayfxdab9"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ; XXX: Requires outdated python-expects
(build-system python-build-system)
(native-inputs
(list python-setuptools python-six))
(list python-six))
(home-page "https://github.com/d11wtq/dockerpty")
(synopsis "Python library to use the pseudo-TTY of a Docker container")
(description "Docker PTY provides the functionality needed to operate the
@@ -303,7 +298,7 @@ client.")
(sha256
(base32
"1dq9kfak61xx7chjrzmkvbw9mvj9008k7g8q7mwi4x133p9dk32c"))))
(build-system pyproject-build-system)
(build-system python-build-system)
;; TODO: Tests require running Docker daemon.
(arguments
(list
@@ -315,7 +310,6 @@ client.")
(substitute* "setup.py"
((", < 6")
"")))))))
(native-inputs (list python-setuptools))
(inputs
(list python-cached-property
python-distro
+1 -4
View File
@@ -581,10 +581,7 @@ calendars, equations, and other features as extensions of Markdown syntax.")
(replace 'build
(lambda _
(invoke #$(cc-for-target)
"-O2" "-g"
;; XXX: Relax gcc 14 strictness.
"-Wno-int-conversion"
"-o" "stddoc" "stddoc.c")
"-O2" "-g" "-o" "stddoc" "stddoc.c")
(with-input-from-file "stddoc.c"
(lambda _
(with-output-to-file "stddoc.c.html"
-2
View File
@@ -441,8 +441,6 @@ accessing and converting various ebook file formats.")
(replace 'install (assoc-ref gnu:%standard-phases 'install)))))
(native-inputs
(list qtbase-5))
(inputs
(list qtwayland-5))
(synopsis "EBook reader")
(description "This package provides InkBox eBook reader.")
(license license:gpl3)))
+313 -85
View File
@@ -66,7 +66,6 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
@@ -89,7 +88,6 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
@@ -295,7 +293,7 @@ frequently used words in American English.")
(build-system qt-build-system)
(arguments (list #:qtbase qtbase ;qtbase 6
#:tests? #f)) ;packages has no tests
(inputs (list qtbase qtmultimedia qtwayland))
(inputs (list qtbase qtmultimedia))
(home-page "https://www.tipp10.com/en/")
(synopsis "Touch typing tutor")
(description "Tipp10 is a touch typing tutor. The ingenious thing about
@@ -378,48 +376,47 @@ to open the application in a web browser, for offline usage.")
(uri (list
;; XXX: Upstream does not exist anymore.
;; (string-append "http://www.bipede.fr/downloads/logiciels/"
;; "ToutEnClic-" version "-src.zip")
(string-append "https://archive.org/download/tout-en-clic-"
version "-src/ToutEnClic-" version "-src.zip")))
;; "ToutEnClic-" version "-src.zip")
(string-append "https://archive.org/download/tout-en-clic-" version
"-src/ToutEnClic-" version "-src.zip")))
(sha256
(base32 "0xg24p925rl5bfqsq3jb2lrkidb0f3kbmay5iyxxmjsn3ra0blyh"))))
(build-system pyproject-build-system)
(build-system python-build-system)
(arguments
(list
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(delete 'build)
(replace 'install
(lambda _
(let ((share (string-append #$output "/share/toutenclic"))
(bin (string-append #$output "/bin"))
`(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share/toutenclic"))
(pixmaps (string-append out "/share/pixmaps"))
(doc (string-append out "share/doc/" ,name "-" ,version))
(bin (string-append out "/bin"))
(executable "toutenclic"))
;; Install icon.
(install-file "toutenclic.png"
(string-append #$output "/share/pixmaps"))
;; Move files into "share/" directory.
(for-each (lambda (f)
(install-file f share))
(find-files "." "\\.py$"))
;; Install documentation.
(install-file "ToutEnClic.pdf"
(string-append #$output "share/doc/"
#$name "-" #$version))
;; Create executable in "bin/".
(mkdir-p bin)
(with-directory-excursion bin
(symlink (string-append share "/" executable ".py")
executable)))))
(add-after 'install 'create-desktop-file
(lambda _
(let ((applications (string-append #$output "/share/applications")))
(mkdir-p applications)
(call-with-output-file (string-append applications
"/toutenclic.desktop")
(lambda (file)
(format file
"[Desktop Entry]~@
;; Install icon.
(install-file "toutenclic.png" pixmaps)
;; Move files into "share/" directory.
(for-each (lambda (f) (install-file f share))
(find-files "." "\\.py$"))
;; Install documentation.
(install-file "ToutEnClic.pdf" doc)
;; Create executable in "bin/".
(mkdir-p bin)
(with-directory-excursion bin
(symlink (string-append share "/" executable ".py")
executable)))))
(add-after 'install 'create-desktop-file
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(applications (string-append out "/share/applications")))
(mkdir-p applications)
(call-with-output-file
(string-append applications "/toutenclic.desktop")
(lambda (file)
(format file
"[Desktop Entry]~@
Name=ToutEnClic~@
Comment=For schooling without difference~@
Exec=~a/bin/toutenclic~@
@@ -427,16 +424,18 @@ to open the application in a web browser, for offline usage.")
Terminal=false~@
Icon=toutenclic~@
Type=Application~%"
#$output)))))))))
(native-inputs (list unzip python-setuptools))
(inputs (list python-pyqt))
out)))))))))
(native-inputs
(list unzip))
(inputs
(list python-pyqt))
(synopsis "School tools for physically disabled children")
(description
"ToutEnClic is intended to facilitate the schooling of physically
disabled children in ordinary schools. It is both a multi-page virtual
exercise book and a kit including pencil, scissors, glue, ruler, compass,
protractor and square. A virtual keyboard is also available if the child does
not have any other specialized device.")
(description "ToutEnClic is intended to facilitate the schooling
of physically disabled children in ordinary schools. It is both
a multi-page virtual exercise book and a kit including pencil,
scissors, glue, ruler, compass, protractor and square. A virtual
keyboard is also available if the child does not have any other
specialized device.")
(home-page "https://bipede.fr/contrib/")
(license license:gpl3)))
@@ -603,6 +602,231 @@ about drilling time and correctness ratio is displayed. The results are
stored and user can review his performance in any time.")
(license license:gpl2+))))
(define-public anki
(package
(name "anki")
;; Later versions have dependencies on npm packages not yet in Guix.
(version "2.1.16")
(source
(origin
(method url-fetch)
(uri (string-append "https://apps.ankiweb.net/downloads/archive/anki-"
version "-source.tgz"))
(sha256
(base32 "1gfr51rnllkyzli73p4r51h5ypzfa3m7lic3m3rzpywmqwrxs07k"))
(modules '((guix build utils)))
;; Fix preferences error: <https://issues.guix.gnu.org/65506>.
(snippet '(substitute* "aqt/preferences.py"
(("qc\\['collapseTime']/60\\.0" x)
(format #f "int(~a)" x))
(("qc\\['timeLim']/60\\.0" x)
(format #f "int(~a)" x))))
(patches (search-patches "anki-mpv-args.patch"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "PREFIX=" %output))
#:tests? #f ;no check target
#:modules ((guix build gnu-build-system)
(guix build utils)
(ice-9 match))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-update-check
;; Don't phone home unasked to check for updates.
(lambda _
(substitute* "aqt/update.py"
(("requests\\.post")
"throw.an.exception.instead"))
#t))
(delete 'configure) ;no configure script
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin"))
;; List of paths to the site-packages directories of Python
;; library inputs.
(site-packages
(map (lambda (pyinput)
(string-append
(cdr pyinput)
"/lib/python"
;; Calculate the python version to avoid breaking
;; with future 3.X releases.
,(version-major+minor
(package-version python-wrapper))
"/site-packages"))
(filter (match-lambda
((label . _)
(string-prefix? "python-" label)))
inputs))))
;; PYTHONPATH is wrapped to avoid declaring Python libraries as
;; propagated inputs.
(for-each (lambda (program)
(wrap-program program
`("PATH" prefix (,(string-append
(assoc-ref inputs "mpv")
"/bin")))
`("GUIX_PYTHONPATH" = ,site-packages)))
(find-files bin ".")))
#t)))))
(native-inputs
(list xdg-utils))
(inputs
`(("lame" ,lame)
("mpv" ,mpv)
("python" ,python-wrapper)
("python-beautifulsoup4" ,python-beautifulsoup4)
("python-decorator" ,python-decorator)
("python-distro" ,python-distro)
("python-jsonschema" ,python-jsonschema)
("python-markdown" ,python-markdown)
("python-pyaudio" ,python-pyaudio)
;; `python-pyqtwebengine' must precede `python-pyqt' in PYTHONPATH.
("python-pyqtwebengine" ,python-pyqtwebengine)
("python-pyqt" ,python-pyqt)
("python-requests" ,python-requests)
("python-send2trash" ,python-send2trash)
("python-sip" ,python-sip)
;; `qtwebengine-5' is included in `pyqtwebengine', included here for easy
;; wrapping.
("qtwebengine-5" ,qtwebengine-5)))
(home-page "https://apps.ankiweb.net/")
(synopsis "Powerful, intelligent flash cards")
(description "Anki is a program which makes remembering things
easy. Because it's a lot more efficient than traditional study
methods, you can either greatly decrease your time spent studying, or
greatly increase the amount you learn.
Anyone who needs to remember things in their daily life can benefit
from Anki. Since it is content-agnostic and supports images, audio,
videos and scientific markup (via LaTeX), the possibilities are
endless. For example:
@itemize
@item Learning a language
@item Studying for medical and law exams
@item Memorizing people's names and faces
@item Brushing up on geography
@item Mastering long poems
@item Even practicing guitar chords!
@end itemize")
(license license:agpl3+)))
(define-public t4k-common
(package
(name "t4k-common")
(version "0.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tux4kids/t4kcommon")
(commit (string-append "upstream/" version))))
(file-name (git-file-name name version))
(sha256
(base32 "13q02xpmps9qg8zrzzy2gzv4a6afgi28lxk4z242j780v0gphchp"))
(patches (search-patches "t4k-common-libpng16.patch"))
(modules '((guix build utils)))
(snippet
`(begin
(substitute* "src/t4k_common.h"
(("char wrapped_lines") "extern char wrapped_lines"))
#t))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;FIXME: cannot find how to run tests
#:phases
(modify-phases %standard-phases
(add-after 'set-paths 'set-sdl-paths
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPATH"
(string-append
(search-input-directory inputs "/include/SDL")
":" (or (getenv "CPATH") "")))))
(add-after 'unpack 'fix-andika-font-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/t4k_sdl.c"
(("(/usr/share/.*?)/AndikaDesRevG\\.ttf")
(string-append (assoc-ref inputs "font-andika")
"/share/fonts/truetype")))
#t)))))
(native-inputs
(list pkg-config))
(inputs
`(("font-andika" ,font-sil-andika)
("libpng" ,libpng)
("librsvg" ,(librsvg-for-system))
("libxml2" ,libxml2)
("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-net sdl-pango)))))
(home-page "https://github.com/tux4kids/t4kcommon")
(synopsis "Library of code shared between TuxMath and TuxType")
(description "Tux4Kids-Common is a library of code shared between
TuxMath and TuxType.")
(license license:gpl3+)))
(define-public tuxmath
(package
(name "tuxmath")
(version "2.0.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tux4kids/tuxmath")
(commit (string-append "upstream/" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1f1pz83w6d3mbik2h6xavfxmk5apxlngxbkh80x0m55lhniwkdxv"))
(modules '((guix build utils)))
;; Unbundle fonts.
(snippet
`(begin
;; Remove duplicate definition.
(substitute* "src/menu_lan.c"
(("lan_player_type.*MAX_CLIENTS\\];") ""))
(for-each delete-file (find-files "data/fonts" "\\.ttf$"))
#t))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no test
#:phases
(modify-phases %standard-phases
(add-after 'set-paths 'set-sdl-paths
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPATH"
(string-append
(search-input-directory inputs "/include/SDL")
":"
(or (getenv "CPATH") "")))))
(add-after 'install 'install-desktop-file
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(apps (string-append out "/share/applications"))
(pixmaps (string-append out "/share/pixmaps")))
(install-file "tuxmath.desktop" apps)
(for-each (lambda (f) (install-file f pixmaps))
(find-files "data/images/icons/"
"tuxmath\\.(png|ico|svg)$"))
#t))))))
(native-inputs
(list pkg-config))
(inputs
`(("librsvg" ,(librsvg-for-system))
("libxml2" ,libxml2)
("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-net sdl-pango)))
("t4k-common" ,t4k-common)))
(home-page "https://github.com/tux4kids/tuxmath")
(synopsis "Educational math tutorial game")
(description "@emph{Tux, of Math Command} is an educational math
tutorial game starring Tux, the Linux penguin, in which you play the
part of Commander Tux, as he defends his friends from an attack of
math equations. Comets are crashing towards the friendly penguins in
their igloos, and you must destroy the comets by solving their
equations.
TuxMath also includes Factoroids, a game that gives practice in
factoring numbers and simplifying fractions, as well as zapping rocks
floating through space.")
(license license:gpl3+)))
(define-public libeb
(package
(name "libeb")
@@ -655,7 +879,6 @@ formats.")
qtmultimedia-5
qtquickcontrols2-5
qtdeclarative-5
qtwayland-5
qtwebchannel-5
qtwebengine-5
zlib))
@@ -781,7 +1004,7 @@ learning for programming languages.")
(define-public mazo
(package
(name "mazo")
(version "1.2.1")
(version "1.1.0")
(source
(origin
(method git-fetch)
@@ -790,37 +1013,43 @@ learning for programming languages.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0mwhd8y3xs57rbaarpi1ams5i0kndizdpns4ym7dmnnn7s9g1xq8"))))
(build-system pyproject-build-system)
(base32 "14nk3qsj6lg7wp2ws8lxhb4hyjnczvw1cn9f3m466dkkfimp7ygf"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(delete 'build)
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(when tests?
(setenv "HOME" (getcwd))
(invoke "python3" "manage.py" "test"))))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((bin (string-append #$output "/bin"))
(script (string-append bin "/mazo"))
(share (string-append #$output "/share"))
(help (string-append share "/help/C/mazo")))
(mkdir-p help)
(mkdir-p bin)
(copy-file "mazo.py" script)
(chmod script #o555)
(install-file "icons/mazo.svg"
(string-append share
"/icons/hicolor/scalable/apps"))
(install-file "lugare.ulkeva.Mazo.desktop"
(string-append share "/applications"))
(copy-recursively "help/C/mazo" help)
(copy-recursively "mazo"
(string-append (site-packages inputs outputs)
"/mazo"))))))))
`(#:use-setuptools? #f
#:phases
(modify-phases %standard-phases
(delete 'build)
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(when tests?
(let* ((out (assoc-ref outputs "out"))
(home (string-append out "/tmp")))
(add-installed-pythonpath inputs outputs)
(setenv "HOME" home)
(invoke "python3" "manage.py" "test")))))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(script (string-append bin "/mazo"))
(share (string-append out "/share"))
(help (string-append share "/help/C/mazo"))
(icons (string-append
share
"/icons/hicolor/scalable/apps"))
(apps (string-append share "/applications"))
(site (string-append
(site-packages inputs outputs)
"/mazo")))
(mkdir-p help)
(mkdir-p bin)
(copy-file "mazo.py" script)
(chmod script #o555)
(install-file "icons/mazo.svg" icons)
(install-file "lugare.ulkeva.Mazo.desktop" apps)
(copy-recursively "help/C/mazo" help)
(copy-recursively "mazo" site)))))))
(native-inputs
(list python-django
python-django-cleanup
@@ -842,9 +1071,8 @@ learning for programming languages.")
yelp))
(home-page "https://luis-felipe.gitlab.io/mazo/")
(synopsis "Memorize concepts using multimedia flash cards")
(description
"Mazo is a learning application that helps you memorize simple concepts
using multimedia flash cards and spaced reviews.")
(description "Mazo is a learning application that helps you memorize
simple concepts using multimedia flash cards and spaced reviews.")
(license license:public-domain)))
(define-public hardv
+46 -497
View File
@@ -2,12 +2,11 @@
;;; Copyright © 2016, 2017, 2018 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2021, 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2022, 2023, 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2024 Juliana Sims <juli@incana.org>
;;; Copyright © 2025, 2026 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2022 Konstantinos Agiannis <agiannis.kon@gmail.com>
;;; Copyright © 2015-2025 Ricardo Wurmus <rekado@elephly.net>
@@ -27,8 +26,6 @@
;;; Copyright © 2020, 2023 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2025, 2026 Gabriel Wicki <gabriel@erlikon.ch>
;;; Copyright © 2026 Thomas Kramer <thomas@f-si.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -73,7 +70,6 @@
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages curl)
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
#:use-module (gnu packages engineering)
@@ -93,8 +89,6 @@
#:use-module (gnu packages gperf)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages java)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libftdi)
@@ -213,8 +207,8 @@ are also taken from the original.")
(license license:gpl3+))))
(define-public abc
(let ((commit "c18b9a24de46d3b0209afa416511b7a1127344f9")
(revision "9"))
(let ((commit "ee04349aee0a11d5ce0ad39b0de80e3cb366087e")
(revision "8"))
(package
(name "abc")
(version (git-version "0.0" revision commit))
@@ -226,7 +220,7 @@ are also taken from the original.")
(file-name (git-file-name name version))
(sha256
(base32
"12fjhlr9r34l6kw2jyaalh53fs783r1h2zx0ldzaxxrbcslb0bxh"))))
"0y00c9h54dkcnidgyw45czxrkxb7yg5pbw9hhipgjw7qswjh8yb2"))))
(build-system gnu-build-system)
(inputs
(list readline))
@@ -251,7 +245,7 @@ formal verification.")
(package
(inherit abc)
(name "abc-yosyshq")
(version "0.61")
(version "0.60")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -260,7 +254,7 @@ formal verification.")
(file-name (git-file-name name version))
(sha256
(base32
"0x6662719qdybkd46vh9aq3p20xngwn9g81155j96a4r6jdqm1js"))))
"0yays5yznwm1mngda78w465l9djw4128hgn24lf76gzripkpsz92"))))
(home-page "https://github.com/YosysHQ/abc/")
(description "ABC is a program for sequential logic synthesis and
formal verification. This is the Yosyshq fork of ABC.")
@@ -523,62 +517,6 @@ as well as pick-place files.")
(properties '((lint-hidden-cve . ("CVE-2023-4508"))))
(license license:gpl2+)))
(define-public gnucap
(package
(name "gnucap")
(version "20171003")
(source
(origin
(method url-fetch)
(uri (string-append
"https://git.savannah.gnu.org/cgit/gnucap.git/snapshot/gnucap-"
version ".tar.gz"))
(sha256
(base32
"16m09xa685qhj5fqq3bcgakrwnb74xhf5f7rpqkkf9fg8plzbb1g"))))
(build-system gnu-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda _
;; Set correct rpath so that gnucap finds libgnucap.so.
(substitute* (list "apps/configure" "lib/configure"
"main/configure" "modelgen/configure")
(("LDFLAGS =")
(string-append "LDFLAGS = -Wl,-rpath=" #$output "/lib")))
;; gnucap uses a hand-written configure script that expects the
;; --prefix argument to be the first argument passed to it.
(invoke "./configure" (string-append "--prefix=" #$output))))
(replace 'check
;; Attention: As discussed, a failing test in gnucap does not mean
;; the build process has failed. Therefor we ignore, but still
;; display the result of gnucap's test evaluation.
;; https://codeberg.org/guix/guix/issues/5469#issuecomment-9695825
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(let ((libpath "../lib/O:../apps/O"))
(with-directory-excursion "tests"
;; Fix expected plugin search path for test c_attach.1.gc
(substitute* "==out/c_attach.1.gc.out"
(("/usr/local/lib/gnucap")
(string-append libpath ":" #$output "/lib/gnucap")))
;; Set library path so that gnucap can find libgnucap.so
;; while running the tests.
(setenv "LD_LIBRARY_PATH" libpath)
(invoke "./test"
"../main/O/gnucap" "" "test-output"
"==out")))))))))
(inputs (list readline))
(home-page "https://www.gnu.org/software/gnucap/")
(synopsis "Mixed analog and digital circuit simulator")
(description "GNUcap is a circuit analysis package used for @acronym{EDA,
Electronic Design Automation}. It offers a general purpose circuit simulator
and can perform DC and transient analyses, fourier analysis and AC analysis.
The engine is designed to do true mixed-mode simulation.")
(license license:gpl3+)))
(define-public gtkwave
;; The last release is more than 2 years old, and there are improvements in
;; the master branch, such as GTK 4 support: pick the latest commit that
@@ -799,158 +737,6 @@ used in the declarative section of design units.")
(native-inputs
'()))))
(define-public klayout
(package
(name "klayout")
(version "0.30.5")
(source
(origin (method git-fetch)
(uri (git-reference
(url "https://github.com/KLayout/klayout")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1ixl8wzpiaw6frb28x9y9jy3fvhjclmn4xl77i72rs37rf4i2a2s"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("output/klayout" "bin/")
("output/" "bin/" #:include-regexp ("strm.*"))
("output/" "lib/" #:include-regexp ("lib.*\\.so.*"))
("output/pymod" "lib/"))
#:phases
#~(modify-phases %standard-phases
(add-before 'install 'patch-build-script ;; ensure reproducibility
(lambda _
(substitute* "build.sh"
(("KLAYOUT_VERSION_DATE=\"\\$KLAYOUT_VERSION_DATE\"")
"KLAYOUT_VERSION_DATE=1970-01-01"))))
(add-after 'patch-build-script 'disable-failing-tests
(lambda _
(substitute* "src/tl/unit_tests/unit_tests.pro"
;; These need internet connection.
((" tlWebDAVTests\\.cc")
"# tlWebDAVTests.cc \\")
((" tlGitTests\\.cc")
"# tlGitTests.cc \\")
((" tlHttpStreamTests\\.cc")
"# tlHttpStreamTests.cc \\")
;; The threaded tests are reportedly flaky.
((" tlThreadedWorkersTests\\.cc")
"# tlThreadedWorkersTests\\.cc \\"))
(substitute* "src/rba/rba.pro"
;; There are issues of non-detereminism involved with Ruby's GC
;; implementation. https://github.com/KLayout/klayout/issues/2251
(("SUBDIRS = rba unit_tests")
"SUBDIRS = rba")
(("unit_tests.depends += rba")
""))))
(add-after 'disable-failing-tests 'build
(lambda _
(invoke "bash" "build.sh"
"-prefix" "output"
"-option"
(string-append "-j" (number->string (parallel-job-count))))))
(add-after 'install 'patch-elfs
(lambda _
(let* ((lib (string-append #$output "/lib"))
(layout-lib (string-append lib "/lay_plugins"))
(db-lib (string-append lib "/db_plugins"))
(bin (string-append #$output "/bin"))
(executables (filter executable-file? (find-files #$output)))
(ut-runner "build-release/ut_runner")
(unit-tests (cons* ut-runner
(find-files "build-release" "\\.ut")))
(patchem (lambda (elf)
(when (not (string-suffix? ".py" elf))
(invoke "patchelf" "--add-rpath" lib elf)
(invoke "patchelf" "--add-rpath" layout-lib elf)
(invoke "patchelf" "--add-rpath" db-lib elf)))))
(map patchem executables)
(map patchem unit-tests)
(patchem ut-runner))))
(add-after 'patch-elfs 'check-after-install
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-directory-excursion "build-release"
(mkdir "testtmp")
(setenv "TESTTMP" "testtmp")
(setenv "TESTSRC" "..")
(setenv "LD_LIBRARY_PATH" ".")
(setenv "QT_QPA_PLATFORM" "offscreen")
(setenv "HOME" "/tmp/home") ;; Fontconfig needs a writable cache.
(invoke "./ut_runner"))))))))
(native-inputs (list perl python qtsvg ruby tcl))
(inputs
(list bash-minimal
libgit2
patchelf
qt5compat
qtbase
qtmultimedia
qtsvg
qttools))
(home-page "https://www.klayout.de")
(synopsis "Mask layout editor")
(description "KLayout is @acronym{EDA, Electronic Design Automation}
software. It is a scriptable @acronym{VLSI, Very Large Scale Integration}
layout editor used for visualizing and editing mask data, transcoding between
different file formats (GDSII and OASIS), executing @acronym{DRC, Design rule
checking}, @acronym{LVS, Layout Versus Schematic} verification, and drawing of
chip cross-sections basked on mask data.")
;; The license version will be clarified with the next version bump.
(license license:gpl3+)))
(define-public lctime
(package
(name "lctime")
(version "0.0.28")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/librecell/lctime")
(commit version)))
(sha256
(base32 "18s7by4ndxxha1yr6sns389smgrz9df5sgqwvvxcw8wwv8v7mpjd"))
(file-name (git-file-name name version))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-ngspice-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/lctime/characterization/ngspice_subprocess.py"
(("= 'ngspice'")
(format #f "= ~s"
(search-input-file inputs "bin/ngspice"))))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "bash" "./run_tests.sh")))))))
(inputs (list ngspice
pyspice
python-joblib
python-klayout
python-liberty-parser
python-networkx
python-numpy
python-ply
python-requests
python-scipy
python-sympy))
(native-inputs (list bash-minimal python-pytest python-setuptools))
(home-page "https://codeberg.org/librecell/lctime")
(synopsis "CMOS standard-cell characterization tool")
(description
"lctime extracts timing and power characteristics of CMOS standard-cells.
It simulates the netlists of the cells with ngspice and writes the
characterization result in a liberty library file.")
(license license:agpl3+)))
(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.
@@ -1604,7 +1390,7 @@ understand and improve testbench coverage.")
(define-public openboardview
(package
(name "openboardview")
(version "9.95.2")
(version "9.95.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1626,7 +1412,7 @@ understand and improve testbench coverage.")
"openboardview-use-system-mpc.patch"))
(sha256
(base32
"1gkl91rcbwiapllxw5chwgzjq2p076h9bpp3nbh13mb2v3wc6qwa"))))
"1safjd729a7591rigkiy3c678bivrj5q1qwg1f18sijhlsfkf5b3"))))
(build-system cmake-build-system)
(arguments
(list
@@ -1665,14 +1451,16 @@ understand and improve testbench coverage.")
(assoc-ref gtk:%standard-phases 'glib-or-gtk-wrap)))))
(native-inputs
(list pkg-config
python-minimal-wrapper
python
glad-0.1
stb-image
utf8-h))
(inputs
(list fontconfig
gtk+
imgui
;; OpenBoardView can build with Dear ImGui 1.88, but there are some
;; usability problems such as the difficulty to register clicks.
imgui-1.87
orangeduck-mpc
sdl2
sqlite
@@ -1963,40 +1751,33 @@ GUI for sigrok.")
(sha256
(base32 "1dq56h51ydfpffd00qz9qkcg6sddlqixiixls9vvxczfkp9l21ws"))))
(outputs
'("out" "osvvm"))
'("out" "common" "scripts" "uart" "axi4"))
(properties
`((output-synopsis "out" "Instance this design library as work")
(output-synopsis "osvvm" "Instance this design library as osvvm")))
`((output-synopsis "out" "Verification Utility Library")
(output-synopsis "common" "Common library")
(output-synopsis "scripts" "Simulator script library")
(output-synopsis "uart" "UART Verification Component Library")
(output-synopsis "axi4" "AXI4 Verification Component Library")))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(;; Library work.
("osvvm" "share/osvvm/work/osvvm/"
#:include ("vhd" "pro" "md"))
("Common" "share/osvvm/work/Common/"
#:include ("vhd" "pro" "md"))
("Scripts" "share/osvvm/work/Scripts/"
#:include ("tcl" "md"))
("UART" "share/osvvm/work/UART"
#~'(("osvvm" "share/osvvm/osvvm/"
#:include ("vhd" "pro" "md")
#:exclude-regexp ("GHDL_Debug"))
("AXI4" "share/osvvm/work/AXI4"
#:include ("vhd" "pro" "md"))
;; Library osvvm.
("osvvm" "share/osvvm/osvvm/osvvm/"
#:include ("vhd" "pro" "md") #:output "osvvm")
("Common" "share/osvvm/osvvm/Common/"
#:include ("vhd" "pro" "md") #:output "osvvm")
("Scripts" "share/osvvm/osvvm/Scripts/"
#:include ("tcl" "md") #:output "osvvm")
("UART" "share/osvvm/osvvm/UART"
#:output "out")
("Common" "share/osvvm/Common/"
#:include ("vhd" "pro" "md")
#:output "common")
("Scripts" "share/osvvm/Scripts/"
#:include ("tcl" "md")
#:output "scripts")
("UART" "share/osvvm/UART"
#:include ("vhd" "pro" "md")
#:exclude-regexp ("GHDL_Debug")
#:output "osvvm")
("AXI4" "share/osvvm/osvvm/AXI4"
#:output "uart")
("AXI4" "share/osvvm/AXI4"
#:include ("vhd" "pro" "md")
#:output "osvvm"))
#:output "axi4"))
#:phases
#~(modify-phases %standard-phases
(add-before 'install 'fix-scripts
@@ -2017,7 +1798,7 @@ GUI for sigrok.")
(list nvc tcl tcllib which))
(native-search-paths
(list (search-path-specification
(variable "FW_OSVVM")
(variable "OSVVM")
(separator #f)
(files (list "share/osvvm")))))
(home-page "https://osvvm.github.io/Overview/Osvvm1About.html/")
@@ -2045,22 +1826,18 @@ verification.")
(base32
"1792a6i9jq2yawipmk0nr01z092kx3kkav9v5sjf34khk3biav6q"))))
(outputs
'("out" "olo"))
'("out" "test"))
(properties
`((output-synopsis "out" "Instance this design library as work")
(output-synopsis "olo" "Instance this design library as olo")))
`((output-synopsis "test" "Testing code")
(output-synopsis "out" "Source code")))
(build-system copy-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'check
(lambda* (#:key tests? inputs #:allow-other-keys)
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-directory-excursion "3rdParty/en_cl_fix/sim"
(invoke "python3" "run.py" "--simulator" "nvc"
"--simulator-path"
(dirname (search-input-file inputs "bin/nvc"))))
(with-directory-excursion "sim"
(substitute* "run.py"
;; This is required to comply with current VUnit, see:
@@ -2069,21 +1846,14 @@ verification.")
""))
(invoke "python3" "run.py" "--nvc" "-v"))))))
#:install-plan
#~'(;; Library work.
("src" "share/open-logic/work/src"
#:include ("vhd"))
("3rdParty" "share/open-logic/work/3rdParty"
#:include ("vhd"))
;; Library olo.
("src" "share/open-logic/olo/src"
#:include ("vhd") #:output "olo")
("3rdParty" "share/open-logic/olo/3rdParty"
#:include ("vhd") #:output "olo"))))
#~'(("src" "share/open-logic/src" #:exclude-regexp ("core"))
("3rdParty" "share/open-logic/3rdParty")
("test" "share/open-logic/test" #:output "test"))))
(native-inputs
(list nvc python-matplotlib python-minimal python-vunit))
(native-search-paths
(list (search-path-specification
(variable "FW_OPEN_LOGIC")
(variable "OPEN_LOGIC")
(separator #f)
(files (list "share/open-logic")))))
(home-page "https://github.com/open-logic/open-logic/")
@@ -2203,228 +1973,6 @@ programming language, as well as evaluation board definitions and a System on
Chip toolkit.")
(license license:bsd-3)))
(define-public python-klayout
(package
(name "python-klayout")
(version "0.30.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/klayout/klayout")
(commit (string-append "v" version))))
(sha256
(base32 "1ixl8wzpiaw6frb28x9y9jy3fvhjclmn4xl77i72rs37rf4i2a2s"))
(file-name (git-file-name name version))))
(build-system pyproject-build-system)
(arguments
'(#:tests? #f))
(native-inputs (list curl expat libpng python-setuptools python-tomli))
(home-page "https://klayout.de")
(synopsis "Mask layout library for Python")
(description
"python-klayout is a standalone Python API of KLayout.
This library supports OASIS and GDS2 file formats,
editing of mask layouts, and verification such as
@acronym{DRC, Design rule checking} and @acronym{LVS, Layout Versus Schematic}.")
(license license:gpl3+)))
(define-public python-liberty-parser
(package
(name "python-liberty-parser")
(version "0.0.27")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/tok/liberty-parser")
(commit version)))
(sha256
(base32 "0x8spiy4sxjma3dxvynax8hbzyxl90bgws00cqxazy95wyfbngar"))
(file-name (git-file-name name version))))
(build-system pyproject-build-system)
(propagated-inputs (list python-lark python-numpy python-sympy))
(native-inputs (list python-pytest python-setuptools))
(home-page "https://codeberg.org/tok/liberty-parser")
(synopsis "Parser for Liberty timing libraries")
(description
"The @code{liberty-parser} Python library provides a parser
and data structures for the Liberty format,
a standard file format used in @acronym{EDA, Electronic Design Automation}
for example for timing information of digital circuits.")
(license license:gpl3+)))
(define-public python-hdlconvertorast
(package
(name "python-hdlconvertorast")
(version "1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Nic30/hdlConvertorAst")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1zv067imbdihyqwy7f0j80x9a2857vifhky60vc91dffjl1zjg1i"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
python-setuptools))
(home-page "https://github.com/Nic30/hdlConvertorAst")
(synopsis "@acronym{AST, Abstract Syntax Tree} library for VHDL and
SystemVerilog")
(description
"This package provides a library of @acronym{AST, Abstract Syntax Tree} nodes
for @acronym{VHDL, Very high speed integrated circuit Hardware Description Language},
SystemVerilog, and SystemC, with conversion between languages and to JSON.")
(license license:expat)))
;; Yosys source pinned to hdlConvertor v2.3 submodule commit for parsing tests.
(define yosys-src-for-hdlconvertor-tests
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/YosysHQ/yosys")
(commit "a299e606f864942c7edf90c4ad3998f4f4a346cf")))
(file-name "yosys-src-for-hdlconvertor-tests")
(sha256
(base32 "106bzlljn6843740r8rbaqf5ivkyfcgp25dgzds97j48ypmv6fih"))))
(define-public python-hdlconvertor
(package
(name "python-hdlconvertor")
(version "2.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Nic30/hdlConvertor")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0xa7wm324dwp4wks8l9njpd2bz4gn7dfygdc3a78lxy1prvzbyyz"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; Ignore tests inside yosys source tree (they're unrelated yosys tests).
#~(list "--ignore=tests/yosys")
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'setup-antlr
(lambda* (#:key inputs #:allow-other-keys)
;; Build classpath from input jars.
(let* ((st4 (search-input-file inputs
"share/java/java-stringtemplate-4.0.8.jar"))
(antlr4 (search-input-file inputs
"share/java/antlr4.jar"))
(antlr4-rt (search-input-file inputs
"share/java/java-antlr4-runtime.jar"))
(antlr3 (search-input-file inputs
"share/java/antlr3-3.5.2.jar"))
(treelayout (search-input-file inputs
"share/java/java-treelayout-1.0.3.jar"))
(classpath (string-join (list st4 antlr4 antlr4-rt
antlr3 treelayout)
":"))
(antlr4cpp-include (search-input-directory
inputs "include/antlr4-runtime"))
(antlr4cpp-lib (search-input-file
inputs "lib/libantlr4-runtime.so"))
(python-include (search-input-directory
inputs "include/python3.11")))
;; Patch CMake to use our paths directly.
(substitute* "src/CMake_antlr4.txt"
(("set\\(ANTLR_CLASSPATH \"\"\\)")
(string-append "set(ANTLR_CLASSPATH \"" classpath "\")"))
;; Skip the jar search loop.
(("FOREACH\\(antlr_jar \\$\\{ANTLR_JARS\\}\\)")
"FOREACH(antlr_jar )")
;; Set C++ runtime paths before find commands.
(("# search for antlr4 include dir and library")
(string-append
"# search for antlr4 include dir and library\n"
"set(ANTLR4CPP_INCLUDE_DIRS \"" antlr4cpp-include "\")\n"
"set(ANTLR4CPP_LIBRARIES \"" antlr4cpp-lib "\")\n")))
;; hdlConvertor/CMakeLists.txt is a sibling subdirectory to src/
;; so variables set in src/CMake_antlr4.txt aren't visible here;
;; inject both ANTLR and Python include paths before
;; include_directories.
(substitute* "hdlConvertor/CMakeLists.txt"
(("include_directories\\(")
(string-append
"set(ANTLR4CPP_INCLUDE_DIRS \"" antlr4cpp-include "\")\n"
"set(PYTHON_INCLUDE_DIRS \"" python-include "\")\n"
"include_directories(")))
;; ANTLR4 4.10+ changed from .as<T>() to std::any_cast<T>().
;; Upstream fixed this in commit 8b07c10 using preprocessor
;; conditionals to support both old and new APIs, but that
;; commit also includes unrelated changes (Block statement
;; support). We apply a simplified fix for ANTLR 4.10+
;; only.
(substitute* "src/verilogPreproc/verilogPreproc.cpp"
(("visitMacro_call\\(mc, false\\)\\.as<string>\\(\\)")
"std::any_cast<string>(visitMacro_call(mc, false))")
(("params = visitDefine_args\\(da\\);")
(string-append "params = std::any_cast<"
"vector<MacroDefVerilog::param_info_t>*"
">(visitDefine_args(da));"))))))
(add-before 'check 'prepare-tests
(lambda* (#:key inputs #:allow-other-keys)
;; Symlink yosys source for yosys testsuite.
(delete-file-recursively "tests/yosys")
(symlink (assoc-ref inputs "yosys-src-for-hdlconvertor-tests")
"tests/yosys")
;; Remove source hdlConvertor/ which shadows the installed package.
(delete-file-recursively "hdlConvertor")
;; Replace tests/__init__.py which imports all.py that requires
;; git submodules; also delete tests requiring external tools.
(call-with-output-file "tests/__init__.py"
(lambda (port)
(display "" port)))
(delete-file "tests/all.py")
(for-each delete-file
(find-files "tests" "test_ghdl"))
(for-each delete-file
(find-files "tests" "test_icarus"))
(for-each delete-file
(find-files "tests" "test_verilator"))
(for-each delete-file
(find-files "tests" "test_uvvm"))
(for-each delete-file
(find-files "tests" "test_vunit"))
(for-each delete-file
(find-files "tests" "test_notebook"))
(for-each delete-file
(find-files "tests" "test_basic_hdl_sim")))))))
(native-inputs
(list antlr4 ; parser generator tool (antlr4.jar)
antlr3 ; antlr3-runtime.jar required by hdlConvertor build
java-antlr4-runtime ; antlr4-runtime.jar required by hdlConvertor build
java-stringtemplate ; stringtemplate4.jar required by hdlConvertor build
java-treelayout ; treelayout.jar required by hdlConvertor build
(list openjdk "jdk") ; Java runtime to execute ANTLR4
;;; Python build dependencies:
python-cython ; compiles .pyx extension files to C++
python-scikit-build ; CMake-based Python build system
python-setuptools
python-wrapper ; Python interpreter for build scripts
python ; Python headers for C extension building
python-pytest
;; Yosys source for parsing tests.
yosys-src-for-hdlconvertor-tests))
(inputs
(list java-antlr4-runtime-cpp))
(propagated-inputs
(list python-hdlconvertorast))
(home-page "https://github.com/Nic30/hdlConvertor")
(synopsis "VHDL and System Verilog parser")
(description "This package provides a @acronym{VHDL, Very high speed
integrated circuit Hardware Description Language} and SystemVerilog
parser library for Python.")
(license license:expat)))
(define-public python-pyucis
(package
(name "python-pyucis")
@@ -2867,7 +2415,7 @@ to enforce it.")
(define-public python-vunit
(package
(name "python-vunit")
(version "5.0.0-dev.7") ;v4.7.0 dates back from 2 years ago.
(version "5.0.0-dev.6") ;v4.7.0 dates back from 2 years ago.
(source
(origin
(method git-fetch)
@@ -2876,7 +2424,7 @@ to enforce it.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "12xkjc98913zyb271k9qfl86wdj2fsbcjl0lv1lb4492j5iqfcgj"))))
(base32 "1si542jrrvibiigaridg2vds5smbiass7g5pdfk5z26xqgbh0fxc"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -2905,7 +2453,7 @@ to enforce it.")
(search-input-directory inputs "share/json-for-vhdl")
(string-append site-packages "JSON-for-VHDL/src"))
(symlink
(search-input-directory inputs "share/osvvm/work/osvvm")
(search-input-directory inputs "share/osvvm/osvvm")
(string-append site-packages "osvvm")))))
(add-after 'check 'run-examples
;; Run examples as an extra check.
@@ -2943,7 +2491,8 @@ to enforce it.")
(list nvc
python-pytest
python-setuptools
python-setuptools-scm))
python-setuptools-scm
python-wheel))
(inputs
(list json-for-vhdl-for-vunit osvvm-2023.04))
(propagated-inputs
@@ -3707,7 +3256,7 @@ parallel computing platforms. It also supports serial execution.")
(define-public yosys
(package
(name "yosys")
(version "0.61")
(version "0.60")
(source
(origin
(method git-fetch)
@@ -3715,7 +3264,7 @@ parallel computing platforms. It also supports serial execution.")
(url "https://github.com/YosysHQ/yosys")
(commit (string-append "v" version))))
(sha256
(base32 "1z96wvgm12vcsp88xkdljvhrrx9b8wc9y2gwjsff83jsp2q0q2wp"))
(base32 "13ygzsx81a32nmqqs5rn8w419dcx7s822bh9l2zc82jphy54nc3s"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
+345 -637
View File
File diff suppressed because it is too large Load Diff
+10 -9
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013-2017, 2019, 2021-2022, 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013-2017, 2019, 2021-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
@@ -464,22 +464,19 @@ editor (console only)")
(string-append (getenv "LIBRARY_PATH")
":" libgccjit-libdir)))))
(add-after 'unpack 'patch-compilation-driver
(lambda* (#:key inputs #:allow-other-keys)
(lambda _
(substitute* "lisp/emacs-lisp/comp.el"
(("\\(defcustom native-comp-driver-options nil")
(format
#f "(defcustom native-comp-driver-options '(~@{~s~^ ~})"
(string-append
"-B" (dirname (search-input-file inputs "/bin/nm")))
"-B" #$(this-package-input "binutils") "/bin/")
(string-append
"-B" (dirname (search-input-file inputs "/lib/libc.so")))
"-B" #$(this-package-input "glibc") "/lib/")
(string-append
"-B" (dirname (search-input-file inputs "/lib/libgccjit.so")))
"-B" #$(this-package-input "libgccjit") "/lib/")
(string-append
"-B" (string-append
(dirname
(search-input-file inputs "/lib/libgccjit.so"))
"/gcc")))))))
"-B" #$(this-package-input "libgccjit") "/lib/gcc/"))))))
(add-after 'build 'build-trampolines
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "trampolines" make-flags)))
@@ -501,7 +498,11 @@ editor (console only)")
(inputs
(modify-inputs (package-inputs emacs-minimal)
(prepend gnutls
;; To "unshadow" ld-wrapper in native builds
(make-ld-wrapper "ld-wrapper" #:binutils binutils)
;; For native compilation
binutils
(libc-for-target)
libgccjit
;; Avoid Emacs's limited movemail substitute that retrieves POP3
+16 -12
View File
@@ -1757,20 +1757,24 @@ these identified regions.
(package
(name "stcgal")
(version "1.10")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/grigorig/stcgal")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04hsj49sw5mb6swhd3sdsm7dzwp1frnzpmq70wgsn5vmjavb1ka8"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-pyserial python-pyusb python-tqdm))
(source (origin
;; The "doc" subdirectory referred to by stcgal's setup.py is
;; missing from the source distribution on PyPI so we fetch
;; directly from the project's git repository instead.
(method git-fetch)
(uri (git-reference
(url "https://github.com/grigorig/stcgal")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"04hsj49sw5mb6swhd3sdsm7dzwp1frnzpmq70wgsn5vmjavb1ka8"))))
(build-system python-build-system)
(propagated-inputs
(list python-pyserial python-pyusb python-tqdm))
(native-inputs
;; For tests.
(list python-pytest python-pyyaml python-setuptools))
(list python-pyyaml))
(home-page "https://github.com/grigorig/stcgal")
(synopsis "Programmer for STC 8051-compatible microcontrollers")
(description "stcgal is a command-line flash-programming tool for STC
+53 -294
View File
@@ -14,7 +14,7 @@
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Christopher Howard <christopher@librehacker.com>
;;; Copyright © 2021 Felipe Balbi <balbi@kernel.org>
;;; Copyright © 2021, 2024, 2025 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021, 2024 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021, 2024-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2023 c4droid <c4droid@foxmail.com>
@@ -91,7 +91,6 @@
#:use-module (gnu packages graphics)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libusb)
@@ -104,19 +103,15 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages ninja)
#:use-module (gnu packages parallel)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages serialization)
#:use-module (gnu packages qt)
#:use-module (gnu packages robotics)
#:use-module (gnu packages sdl)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages stb)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
@@ -1111,7 +1106,6 @@ The following systems are supported:
ncurses
qtbase
qtmultimedia
qtwayland
sdl2
sqlite
zlib))
@@ -1160,7 +1154,7 @@ The following systems are supported:
(define-public sameboy
(package
(name "sameboy")
(version "1.0.2")
(version "0.16.3")
(source
(origin
(method git-fetch)
@@ -1169,7 +1163,7 @@ The following systems are supported:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0pwnik37c3sgvib5xbadwbq2mjjvgxilhig09rjb3xp5i1d7ykja"))))
(base32 "1jdjg59vzzkbi3c3qaxpsxqx955sb86cd3kcypb0nhjxbnwac1di"))))
(build-system gnu-build-system)
(native-inputs
(list rgbds pkg-config))
@@ -2006,7 +2000,7 @@ libretro API, based on Mupen64Plus. It incorporates the following projects:
(define-public retroarch-assets
(package
(name "retroarch-assets")
(version "1.22.0")
(version "1.20.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2015,7 +2009,7 @@ libretro API, based on Mupen64Plus. It incorporates the following projects:
(file-name (git-file-name name version))
(sha256
(base32
"04gbsn5lwc9ampyssl898v4p9myhwfqy3x7hyx9si8l1x9z60k6j"))))
"0ngbc2wmqgz5davan7rnvqapai5wc8j9afylff1yzlk3lgsjlv1x"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;no test suite
@@ -2031,7 +2025,7 @@ generate the various User Experience (UX) environments.")
(define-public libretro-core-info
(package
(name "libretro-core-info")
(version "1.22.2")
(version "1.21.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2040,7 +2034,7 @@ generate the various User Experience (UX) environments.")
(file-name (git-file-name name version))
(sha256
(base32
"1csx200ajl6ncrhi20l9f9qjv73402w28lyi88lsly0j65rknz4v"))))
"12yramra6hd33g094krygq2a5h7mjkh0nh5d8qny4b6f61fxaxwk"))))
(build-system copy-build-system)
(arguments
(list #:install-plan #~'(("." "lib/libretro/"
@@ -2058,7 +2052,7 @@ metadata about each known libretro core. The snapshot is taken from the
(define-public libretro-database
(package
(name "libretro-database")
(version "1.22.1")
(version "1.21.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2067,7 +2061,7 @@ metadata about each known libretro core. The snapshot is taken from the
(file-name (git-file-name name version))
(sha256
(base32
"03jb9gr11xiphnnwdqqk8k5g8s9s026k46dv94h67cshlbl59n52"))))
"1grkdg6k6dclwrh286dins4k50mp0wf3bvddikaspl309dldjrgw"))))
(build-system gnu-build-system)
(arguments (list #:tests? #f
#:make-flags #~(list (string-append "PREFIX=" #$output))))
@@ -2096,7 +2090,7 @@ Various scripts that are used to maintain the database files.
(define-public retroarch-joypad-autoconfig
(package
(name "retroarch-joypad-autoconfig")
(version "1.22.0")
(version "1.21.1")
(source
(origin
(method git-fetch)
@@ -2106,7 +2100,7 @@ Various scripts that are used to maintain the database files.
(file-name (git-file-name name version))
(sha256
(base32
"0fcc15j6lblngkx0n85x68x01c4qc24xc0pw05gc5pg2xgg4m3wg"))))
"06mii4zpkrwxiw9qhfvjzri8q8fps1b96nkxp7px2w7cgdl4kg68"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;no meaningful test suite
@@ -2826,7 +2820,7 @@ GLSL (@file{.slang}) shaders for use with RetroArch.")
(define-public retroarch-minimal
(package
(name "retroarch-minimal")
(version "1.22.2")
(version "1.21.0")
(source
(origin
(method git-fetch)
@@ -2857,7 +2851,7 @@ GLSL (@file{.slang}) shaders for use with RetroArch.")
(patches (search-patches "retroarch-unbundle-spirv-cross.patch"))
(file-name (git-file-name name version))
(sha256
(base32 "1xbipxg5g53f68cbki61qj86096l87x0mrwzbgrv6mcf3sif0y7v"))))
(base32 "17l3x77vd52g7zq62g3j1jxr51ksmdnxif1qh671qi19fsd19v1r"))))
(build-system gnu-build-system)
(arguments
(list
@@ -2866,8 +2860,6 @@ GLSL (@file{.slang}) shaders for use with RetroArch.")
#~(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "input/bsv/uint32s_index.c"
(("#include <xxHash/xxhash\\.h>") "#include <xxhash.h>"))
;; Hard-code some store file names.
(substitute* "gfx/common/vulkan_common.c"
(("libvulkan.so")
@@ -2908,7 +2900,6 @@ GLSL (@file{.slang}) shaders for use with RetroArch.")
;; These are disabled to avoid requiring the bundled
;; dependencies.
"--disable-7zip"
"--disable-chd"
"--disable-cheevos"
"--disable-crtswitchres"
"--disable-discord"
@@ -2917,8 +2908,7 @@ GLSL (@file{.slang}) shaders for use with RetroArch.")
"--disable-stb_font"
"--disable-stb_image"
"--disable-stb_vorbis"
"--disable-xdelta"
"--disable-zstd"))))))
"--disable-xdelta"))))))
(native-inputs
(list pkg-config
wayland-protocols
@@ -2951,7 +2941,6 @@ GLSL (@file{.slang}) shaders for use with RetroArch.")
v4l-utils
vulkan-loader
wayland
xxhash
zlib))
(native-search-paths
(list (search-path-specification
@@ -3606,11 +3595,11 @@ improvements.")
(license license:gpl2+))))
(define-public pcsx2-patches
(let ((commit "10239de1539668c347e8e9478a3b13913808c0b2")
(let ((commit "2fdc835f0725b318efcdaae84db1c73a9139b6f6")
(revision "0"))
(package
(name "pcsx2-patches")
(version (git-version "2025.12.11" revision commit))
(version (git-version "2025.10.24" revision commit))
(source
(origin
(method git-fetch)
@@ -3619,7 +3608,7 @@ improvements.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "07f18xrn60sizgjhq99rq1q69ay9pss00y8b4c3ky9i94xjfxq5x"))))
(base32 "0qn9jwk983hxzrf2x550wcb9l782618lm662w5fb6cw81bbrv5is"))))
(build-system copy-build-system)
(arguments
(list
@@ -3651,88 +3640,27 @@ de-interlacing patches for use with PCSX2.")
(file-name (git-file-name name version))
(sha256
(base32 "0nr53cjifqwnz3icxsj01yd3aw1vfsfxga4zz5zi8aqr175mvq27"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(substitute* "cmake/Pcsx2Utils.cmake"
(("(PCSX2_GIT_REV \")Unknown" _ prefix)
(string-append prefix #$version "-guix")))
(delete-file "3rdparty/include/Packet32.h") ;"not open source"
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but
"3rdparty"
;; asl2.0 and cc0
"glad" ;Is tailored.
;; bsd-3
"libchdr" ;Not packaged in guix.
"vixl" ;Not packaged in guix.
"xbyak" ;Just includes.
;; bsd-4 (pcap) and bsd-2 (xxhash)
"include" ;Just includes.
;; expat
"ccc" ;Is tailored.
"cubeb" ;Is tailored.
"discord-rpc" ;Not packaged in guix.
"imgui" ;Is tailored.
"rapidyaml" ;Not packaged in guix.
"rcheevos" ;Does not have a linkable binary.
"simpleini" ;Is tailored (GetKeyCount).
"zydis" ;Could not link.
;; gpl2+
"freesurround" ;Unclear what upstream is.
;; lgpl2.0+
"demangler" ;Is tailored.
;; public-domain
"lzma" ;Does not have a linkable library.
;; silofl1.1
"promptfont") ;Unclear what upstream is.
(substitute* "CMakeLists.txt"
(("add_subdirectory\\(3rdparty/googletest)")
"find_package(GTest REQUIRED)"))
(substitute* "cmake/SearchForStuff.cmake"
(("add_subdirectory\\(3rdparty/cpuinfo EXCLUDE_FROM_ALL\\)")
"find_package(cpuinfo REQUIRED)")
(("disable_compiler_warnings_for_target\\(cpuinfo\\)") "")
(("add_subdirectory\\(3rdparty/fast_float EXCLUDE_FROM_ALL\\)")
"find_package(FastFloat REQUIRED)")
(("add_subdirectory\\(3rdparty/fmt EXCLUDE_FROM_ALL\\)")
"find_package(fmt REQUIRED)")
(("disable_compiler_warnings_for_target\\(fmt\\)") "")
(("add_subdirectory\\(3rdparty/libzip EXCLUDE_FROM_ALL\\)")
"find_package(libzip REQUIRED)")
(("add_subdirectory\\(3rdparty/rapidjson EXCLUDE_FROM_ALL\\)")
"find_package(RapidJSON REQUIRED)")
(("add_subdirectory\\(3rdparty/soundtouch EXCLUDE_FROM_ALL\\)")
"pkg_check_modules(SoundTouch REQUIRED soundtouch)")
(("add_subdirectory\\(3rdparty/vulkan EXCLUDE_FROM_ALL\\)")
"find_package(VulkanMemoryAllocator REQUIRED)
find_package(VulkanHeaders REQUIRED)"))
;Specifically, line 213.
(substitute* "common/CMakeLists.txt"
(("fast_float") ""))
(substitute* "pcsx2/CMakeLists.txt"
(("SoundTouch::SoundTouch") "SoundTouch")
(("\
target_link_libraries\\(PCSX2_FLAGS INTERFACE vulkan-headers\\)") ""))
(substitute* "pcsx2/Host/AudioStream.cpp"
(("SoundTouch.h") "soundtouch/SoundTouch.h"))))))
(substitute* "pcsx2/Pcsx2Config.cpp"
(("Path::Canonicalize\\(Path::GetDirectory\\(program_path\\)\\);")
"Path::Canonicalize(
((std::string)Path::GetDirectory(program_path)).append(\"/../share/\"));"))
(delete-file-recursively "3rdparty/d3d12memalloc")
(delete-file-recursively "3rdparty/winpixeventruntime")
(delete-file-recursively "3rdparty/winwil")))))
(build-system cmake-build-system)
(arguments
(list
#:parallel-build? #t
#:configure-flags
#~(list "-DCMAKE_C_COMPILER=clang"
"-DCMAKE_CXX_COMPILER=clang++"
"-GNinja"
"-DPACKAGE_MODE=ON"
"-DUSE_LINKED_FFMPEG=ON")
"-DCMAKE_PREFIX_PATH=\"$PWD/deps\""
"-GNinja")
#:imported-modules `((guix build copy-build-system)
,@%cmake-build-system-modules)
#:phases
#~(modify-phases %standard-phases
(replace 'build
@@ -3741,52 +3669,52 @@ target_link_libraries\\(PCSX2_FLAGS INTERFACE vulkan-headers\\)") ""))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests? (invoke "ninja" "unittests"))))
(replace 'install
(lambda* args
(apply
(assoc-ref (@ (guix build copy-build-system) %standard-phases)
'install)
#:install-plan
'(("bin/pcsx2-qt" "bin/")
("bin/resources" "share/")
("bin/translations" "share/")
("../source/.github/workflows/scripts/linux/pcsx2-qt.desktop"
"share/applications/"))
args)))
(add-after 'install 'install-patches
(lambda _
(symlink
(search-input-file %build-inputs "/patches.zip")
(string-append
#$output "/share/PCSX2/resources/patches.zip")))))))
(lambda* (#:key inputs #:allow-other-keys)
(install-file (search-input-file %build-inputs "/patches.zip")
(string-append #$output "/share/resources")))))))
(inputs (list (module-ref
(resolve-interface '(gnu packages debug)) 'libbacktrace)
`(,zstd-1.5.7 "lib")
cpuinfo
curl
dbus
eudev
fast-float
ffmpeg
freetype
fmt-11
kddockwidgets
libaio
libjpeg-turbo
libpcap
libpng-next
libpng-for-pcsx2
libwebp
libxi
libxrandr
libzip
lz4
pcsx2-patches
plutosvg
plutovg
plutosvg
qtbase
qtdeclarative
qtsvg
qttools
rapidjson
qtwayland
sdl3
shaderc
soundtouch
vulkan-headers
wayland))
(native-inputs
(list clang-17
extra-cmake-modules
googletest
ninja
pkg-config
vulkan-memory-allocator))
wayland
libxi))
(native-inputs (list clang-17 extra-cmake-modules ninja pkg-config))
(home-page "https://pcsx2.net")
(synopsis "PlayStation 2 (PS2) emulator")
(description
@@ -3795,176 +3723,7 @@ emulator. Its purpose is to emulate the PS2's hardware, using a combination
of MIPS CPU interpreters, recompilers and a virtual machine which manages
hardware states and PS2 system memory. This allows you to play PS2 games on
your PC, with many additional features and benefits.")
(license (list license:gpl3+ ;main code
;; code in 3rdparty/
license:asl2.0
license:bsd-2
license:bsd-3
license:bsd-4
license:cc0
license:expat
license:lgpl2.0+
license:public-domain
license:silofl1.1))))
(define-public rpcs3
;; NB: When updating to a new release, don't forget to check if any more
;; libraries can be linked dynamically, and to update the commits for any
;; specialized sources included in native-inputs so that they match the
;; sub-modules in ./3rdparty.
(package
(name "rpcs3")
(version "0.0.38")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/RPCS3/rpcs3")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0dwrfjs9b3ldwyn68nmyf0qip4hm1w8c3picdl3zk7z76j7rrhal"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(list
;; -fexceptions is needed to compile part of yaml-cpp.
"-DCMAKE_CXX_FLAGS=-fexceptions"
;; "USE_NATIVE_INSTRUCTIONS makes rpcs3 compile with -march=native,
;; which is useful for local builds, but not good for packages."
"-DUSE_NATIVE_INSTRUCTIONS=OFF"
"-DWITH_LLVM=ON"
"-DBUILD_LLVM=OFF"
"-DSTATIC_LINK_LLVM=OFF"
"-DUSE_FAUDIO=ON"
"-DUSE_LIBEVDEV=ON"
"-DUSE_DISCORD_RPC=OFF"
"-DUSE_VULKAN=ON"
"-DUSE_PRECOMPILED_HEADERS=OFF"
"-DUSE_SDL=ON"
"-DUSE_SYSTEM_CUBEB=ON"
"-DUSE_SYSTEM_CURL=ON"
"-DUSE_SYSTEM_FAUDIO=ON"
"-DUSE_SYSTEM_FFMPEG=ON"
"-DUSE_SYSTEM_FLATBUFFERS=ON"
"-DUSE_SYSTEM_GLSLANG=ON"
"-DUSE_SYSTEM_HIDAPI=ON"
"-DUSE_SYSTEM_LIBPNG=ON"
"-DUSE_SYSTEM_LIBUSB=ON"
"-DUSE_SYSTEM_MINIUPNPC=ON"
"-DUSE_SYSTEM_OPENAL=ON"
"-DUSE_SYSTEM_OPENCV=ON"
"-DUSE_SYSTEM_PUGIXML=ON"
"-DUSE_SYSTEM_RTMIDI=ON"
"-DUSE_SYSTEM_SDL=ON"
"-DUSE_SYSTEM_VULKAN_MEMORY_ALLOCATOR=ON"
"-DUSE_SYSTEM_WOLFSSL=ON"
"-DUSE_SYSTEM_ZLIB=ON"
"-DUSE_SYSTEM_ZSTD=ON"
"-DBUILD_RPCS3_TESTS=ON"
"-DRUN_RPCS3_TESTS=ON"
;; "Choose whether to enable GameMode features or not."
;; Off, for now, because GameMode requires systemd to work.
"-DUSE_GAMEMODE=OFF")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'add-some-submodules
;; TODO: Remove as many of these as possible.
(lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion "3rdparty"
(rmdir "fusion/fusion")
(symlink (string-append
(search-input-directory inputs "Fusion") "/../")
"fusion/fusion")
(rmdir "SoundTouch/soundtouch")
(symlink (dirname
(search-input-file inputs "soundtouch.pc.in"))
"SoundTouch/soundtouch")
(rmdir "asmjit/asmjit")
(symlink (string-append
(search-input-directory inputs "src/asmjit")
"/../../")
"asmjit/asmjit")
(rmdir "yaml-cpp/yaml-cpp")
(symlink (dirname
(search-input-file inputs "yaml-cpp.pc.in"))
"yaml-cpp/yaml-cpp")
(rmdir "stblib/stb")
(symlink (dirname
(search-input-file inputs "stb_c_lexer.h"))
"stblib/stb")))))))
(inputs
(append
(list cubeb
curl
eudev
faudio
;; RPCS3 v0.0.38 uses symbols that are deprecated in ffmpeg 8.
;; See https://github.com/RPCS3/rpcs3/issues/17461
ffmpeg-6
flatbuffers
glew
glslang
glu
hidapi
jack-2
libevdev
libglvnd
libpng
libusb-next
llvm-18
mesa
miniupnpc-next
openal
opencv
pugixml-next
pulseaudio
qtbase
qtmultimedia
qtsvg
rtmidi
sdl3
spirv-tools
vulkan-loader
wayland
wolfssl-for-rpcs3
zlib
`(,zstd "lib"))))
(native-inputs
(list
googletest
pkg-config
vulkan-memory-allocator
(package-source asmjit)
(package-source fusion)
(package-source stb)
(origin
(file-name "rpcs3-soundtouch-source")
(method git-fetch)
(uri (git-reference
(url "https://github.com/RPCS3/soundtouch")
(commit "3982730833b6daefe77dcfb32b5c282851640c17")))
(sha256
(base32 "07q514mx69jkrz7i58c45iwj3zql88vdsa1sah7immwr1005i91y")))
(origin
(file-name "rpcs3-yaml-cpp-source")
(method git-fetch)
(uri (git-reference
(url "https://github.com/RPCS3/yaml-cpp")
(commit "456c68f452da09d8ca84b375faa2b1397713eaba")))
(sha256
(base32 "0spp91yz1bvr9dljc7zgjf2sqw49d8b9yinlncykjwzxm7ap7jys")))))
(home-page "https://rpcs3.net/")
(synopsis "PlayStation 3 emulator")
(description "RPCS3 is an emulator and debugger for the Sony
@acronym{PS3,PlayStation 3}.")
(license
(list license:gpl2 ;core, pine_server.h
license:bsd-3 ;FindWayland.cmake, FindFFMPEG.cmake
;;flow_layout.h, sse2neon.h, unordered_dense.h, ffx_fsr1.h,
;;ffx_a.h, bcdec.hpp, LUrlParser.h, khrplatform.h
license:expat))))
(license license:gpl3+)))
(define-public gens-gs
(package
+57 -11
View File
@@ -865,7 +865,7 @@ required for Fritzing app.")
(native-inputs
(list pkg-config qttools-5))
(inputs
(list kcoreaddons-5 kwidgetsaddons-5 qtbase-5 qtsvg-5 qtwayland-5 sqlite))
(list kcoreaddons-5 kwidgetsaddons-5 qtbase-5 qtsvg-5 sqlite))
(home-page "https://qelectrotech.org/")
(synopsis "CAD/CAE editor focusing on schematics drawing features")
(description "QElectroTech, or QET in short, is a desktop application to
@@ -2484,6 +2484,60 @@ slicing software to x3g files for standalone 3D printing on common 3D
printers.")
(license license:gpl2+)))
(define-public gnucap
(package
(name "gnucap")
(version "20171003")
(source
(origin
(method url-fetch)
(uri (string-append "https://git.savannah.gnu.org/cgit/gnucap.git/snapshot/gnucap-"
version ".tar.gz"))
(sha256
(base32
"16m09xa685qhj5fqq3bcgakrwnb74xhf5f7rpqkkf9fg8plzbb1g"))))
(build-system gnu-build-system)
(inputs
(list readline))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; Set correct rpath so that gnucap finds libgnucap.so.
(substitute* (list "apps/configure" "lib/configure"
"main/configure" "modelgen/configure")
(("LDFLAGS =")
(string-append "LDFLAGS = -Wl,-rpath=" out "/lib")))
;; gnucap uses a hand-written configure script that expects the
;; --prefix argument to be the first argument passed to it.
(invoke "./configure" (string-append "--prefix=" out)))))
(replace 'check
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(libpath "../lib/O:../apps/O"))
(with-directory-excursion "tests"
;; Make test return non-zero exit code when a test fails.
(substitute* "test"
(("/bin/sh") "/bin/sh -e")
(("\\|\\| echo \"\\*\\*\\*\\* \\$ii fails \\*\\*\\*\\*\"") ""))
;; Fix expected plugin search path for test c_attach.1.gc
(substitute* "==out/c_attach.1.gc.out"
(("/usr/local/lib/gnucap")
(string-append libpath ":" out "/lib/gnucap")))
;; Set library path so that gnucap can find libgnucap.so
;; while running the tests.
(setenv "LD_LIBRARY_PATH" libpath)
(invoke "./test" "../main/O/gnucap" "" "test-output" "==out"))))))))
(home-page "https://www.gnu.org/software/gnucap/")
(synopsis "Mixed analog and digital circuit simulator")
(description "GNUcap is a circuit analysis package. It offers a general
purpose circuit simulator and can perform DC and transient analyses, fourier
analysis and AC analysis. The engine is designed to do true mixed-mode
simulation.")
(license license:gpl3+)))
(define-public cutter
(package
(name "cutter")
@@ -4366,19 +4420,11 @@ G-codes to binary and vice versa.")
(lambda _
(substitute* "tests/libslic3r/test_quadric_edge_collapse.cpp"
(("#include <libigl/igl/qslim.h>")
"#include <igl/qslim.h>"))))
(add-after 'install 'wrap-program
(lambda _
(wrap-program (string-append #$output "/bin/prusa-slicer")
;; For GtkFileChooserDialog.
`("GSETTINGS_SCHEMA_DIR" =
(,(string-append #$(this-package-input "gtk+")
"/share/glib-2.0/schemas")))))))))
"#include <igl/qslim.h>")))))))
(native-inputs
(list pkg-config catch2-3.8))
(inputs
(list bash-minimal
boost-1.83
(list boost-1.83
cereal
cgal
curl
+41 -47
View File
@@ -392,56 +392,50 @@ embedded systems.")
(define-public python-efl
(package
(name "python-efl")
(version "1.26.1")
(version "1.26.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.enlightenment.org/rel/bindings/"
"python/python-efl-" version ".tar.xz"))
(sha256
(base32 "1mr80vgbcs03rs5lbmg8pxj8hifkrzrwdrw01plik2h729z3knyw"))
(modules '((guix build utils)))
;; Remove files generated by Cython
(snippet
'(begin
(for-each (lambda (file)
(let ((generated-file
(string-append (string-drop-right file 3) "c")))
(when (file-exists? generated-file)
(delete-file generated-file))))
(find-files "efl" "\\.pyx$"))
(delete-file "efl/eo/efl.eo_api.h")))))
(build-system pyproject-build-system)
(origin
(method url-fetch)
(uri (string-append "https://download.enlightenment.org/rel/bindings/"
"python/python-efl-" version ".tar.xz"))
(sha256
(base32
"0dj6f24n33hkpy0bkdclnzpxhvs8vpaxqaf7hkw0di19pjwrq25h"))
(modules '((guix build utils)))
;; Remove files generated by Cython
(snippet
'(begin
(for-each (lambda (file)
(let ((generated-file
(string-append (string-drop-right file 3) "c")))
(when (file-exists? generated-file)
(delete-file generated-file))))
(find-files "efl" "\\.pyx$"))
(delete-file "efl/eo/efl.eo_api.h")))))
(build-system python-build-system)
(arguments
(list
#:test-flags
#~(list "tests"
;; These tests try to connect to the internet.
"--ignore=tests/ecore/test_09_file_download.py"
"--ignore=tests/ecore/test_11_con.py"
;; The above test ignorance probably breaks this one.
"--deselect=tests/ecore/test_08_exe.py::TestExe::testInit"
;; This test requires access to a running Xorg server,
;; /var/lib/dbus and /etc.
"--ignore=tests/dbus/test_01_basics.py"
;; XXX: RuntimeWarning: Setting standard icon failed
"--ignore=tests/elementary/test_02_image_icon.py")
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-flags
(lambda* (#:key inputs #:allow-other-keys)
(let ((include-dir (search-input-directory inputs
"include/dbus-1.0")))
(setenv "CFLAGS" (string-append "-I" include-dir)))))
(add-before 'check 'configure-tests
(lambda _
(setenv "HOME" "/tmp")))))) ;needed by tests
'(#:phases
(modify-phases %standard-phases
(replace 'build
(lambda _
(setenv "ENABLE_CYTHON" "1")
(invoke "python" "setup.py" "build")))
(add-before 'build 'set-flags
(lambda _
(setenv "CFLAGS"
(string-append "-I" (assoc-ref %build-inputs "python-dbus")
"/include/dbus-1.0"))))
(add-before 'check 'set-environment
(lambda _
;; Some tests require write access to HOME.
(setenv "HOME" "/tmp")
;; These tests try to connect to the internet.
(delete-file "tests/ecore/test_09_file_download.py")
(delete-file "tests/ecore/test_11_con.py"))))))
(native-inputs
(list pkg-config
python-cython-0
python-pytest
python-setuptools))
(inputs (list efl python-dbus python-packaging))
(list pkg-config python-cython-0))
(inputs
(list efl python-dbus python-packaging))
(home-page "https://www.enlightenment.org/")
(synopsis "Python bindings for EFL")
(description
-22
View File
@@ -692,25 +692,3 @@ as well as those for Chinese dialects. It has the ability to compose phrases
and sentences intelligently and provide very accurate traditional Chinese
output.")
(license license:lgpl2.1+)))
(define-public fcitx5-hangul
(package
(name "fcitx5-hangul")
(version "5.1.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fcitx/fcitx5-hangul")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "02lkbwg25jr4hazjyxcy69midfsmxc0ksbdrfwbmqcfa3kz5d9gb"))))
(build-system cmake-build-system)
(native-inputs (list extra-cmake-modules pkg-config gettext-minimal))
(inputs (list fcitx5 libhangul))
(home-page "https://github.com/fcitx/fcitx5-hangul")
(synopsis "Hangul support for Fcitx5")
(description
"This package provides the Hangul (Korean) input method engine for Fcitx5.")
(license license:lgpl2.1+)))
+75 -46
View File
@@ -39,7 +39,7 @@
;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2024 Saku Laesvuori <saku@laesvuori.fi>
;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025-2026 Hennadii Stepanov <hebasto@gmail.com>
;;; Copyright © 2025 Hennadii Stepanov <hebasto@gmail.com>
;;; Copyright © 2025 James Smith <jsubuntuxp@disroot.org>
;;;
;;; This file is part of GNU Guix.
@@ -158,7 +158,7 @@
;; <https://bitcoincore.org/en/lifecycle/#schedule>.
(package
(name "bitcoin-core")
(version "30.2")
(version "30.0")
(source (origin
(method url-fetch)
(uri
@@ -166,16 +166,14 @@
version "/bitcoin-" version ".tar.gz"))
(sha256
(base32
"1jw4djh22v0nih0n7irdbknfbqavlc4l3b8176b5qgc88a60pl3g"))))
"0x39bqd9ql7b6s7sj8ws8gw6g4nbgf6cplnys2lrmvfza56jliwv"))))
(build-system qt-build-system)
(arguments
(list #:qtbase qtbase
#:configure-flags
(list #:configure-flags
#~(list
"-DBUILD_GUI=ON"
"-DBUILD_BENCH=ON"
"-DWITH_ZMQ=ON")
#:qtbase qtbase
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-no-git-flag
@@ -201,7 +199,7 @@
capnproto
libevent
qrencode
qtwayland
qtbase
sqlite
zeromq))
(home-page "https://bitcoincore.org/")
@@ -356,14 +354,14 @@ Accounting.")
(define-public homebank
(package
(name "homebank")
(version "5.9.6")
(version "5.9.4")
(source (origin
(method url-fetch)
(uri (string-append "https://www.gethomebank.org/public/sources"
"/homebank-" version ".tar.gz"))
(sha256
(base32
"0ymp7qj6im1cl66lbf9q2r8dgav3dagbhbipskg8zcgj0kz0ncph"))))
"1gwzj3x3rnd3f5z1fzvrl740zhpnxjcsbxlmabwgkw22l6226i4c"))))
(build-system glib-or-gtk-build-system)
(native-inputs
(list pkg-config intltool))
@@ -834,7 +832,7 @@ blockchain.")
;; the system's dynamically linked library.
(package
(name "monero")
(version "0.18.4.5")
(version "0.18.4.4")
(source
(origin
(method git-fetch)
@@ -852,7 +850,7 @@ blockchain.")
delete-file-recursively
'("external/miniupnp" "external/rapidjson"))))
(sha256
(base32 "1lf3rss9y34g51hxqny8vcp8hayv0r3lsndxl85gciqxgb0ls7dz"))))
(base32 "0f5b8yvrfhxc86ws3nfz0v6prl9n2nq9hvwlc2wcgspp8lbl26j8"))))
(build-system cmake-build-system)
(native-inputs
(list doxygen
@@ -939,7 +937,7 @@ the Monero command line client and daemon.")
(define-public monero-gui
(package
(name "monero-gui")
(version "0.18.4.5")
(version "0.18.4.4")
(source
(origin
(method git-fetch)
@@ -955,7 +953,7 @@ the Monero command line client and daemon.")
;; See the 'extract-monero-sources' phase.
(delete-file-recursively "monero")))
(sha256
(base32 "02qlm0caqscq5ms4gd3ckipsq90gvhjprqdcnpcxwdp3fa16749i"))))
(base32 "0bvd3mv0ahkfx2k2n6z5n7mnksd75h859ji32a4d74vaizc04igm"))))
(build-system qt-build-system)
(native-inputs
`(,@(package-native-inputs monero)
@@ -1151,10 +1149,11 @@ Ledger Nano as a hardware SSH/GPG agent.")
(file-name (git-file-name name version))
(sha256
(base32 "1mblx4favmw4nf7k9rfl00ivv77kgdiwghyz4xv5cp0v410kjaqc"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ; No test suite.
(native-inputs (list python-setuptools))
(inputs (list (list python "tk")))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; No test suite.
(inputs
`(("python-tkinter" ,python "tk")))
(home-page "https://github.com/rendaw/trezor-gpg-pinentry-tk")
(synopsis "GPG pinentry program for use with @code{trezor-agent}")
(description
@@ -1258,6 +1257,29 @@ of Bitcoin BIP-0039.")
Ledger Blue/Nano S.")
(license license:asl2.0)))
(define-public python-btchip-python
(package
(name "python-btchip-python")
(version "0.1.32")
(source
(origin
(method url-fetch)
(uri (pypi-uri "btchip-python" version))
(sha256
(base32
"0mcg3gfd0qk8lhral3vy9cfd4pii9kzs42q71pf6b3y0c70y1x9l"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; those require PyQt4
(propagated-inputs
(list python-ecdsa python-hidapi))
(home-page "https://github.com/LedgerHQ/btchip-python")
(synopsis "Python library to communicate with Ledger Nano dongle")
(description
"This package provides a Python library to communicate with Ledger
Nano dongle.")
(license license:asl2.0)))
(define-public python-trezor
(package
(name "python-trezor")
@@ -1337,22 +1359,23 @@ TREZOR Hardware Wallet.")
(define-public python-keepkey
(package
(name "python-keepkey")
(version "7.2.1")
(version "6.0.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/keepkey/python-keepkey")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "00hqppdj3s9y25x4ad59y8axq94dd4chhw9zixq32sdrd9v8z55a"))))
(build-system pyproject-build-system)
(origin
(method url-fetch)
(uri (pypi-uri "keepkey" version))
(sha256
(base32
"0z3d0m6364v9dv0njs4cd5m5ai6j6v35xaaxfxl90m9vmyxy81vd"))))
(build-system python-build-system)
(arguments
(list
#:test-backend #~'custom
#:test-flags #~(find-files "tests/unit" "\\.py$")))
(native-inputs (list python-setuptools))
`(#:phases
(modify-phases %standard-phases
(delete 'check)
(add-after 'install 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(apply invoke "python" (find-files "tests/unit" "\\.py$")))))))
(propagated-inputs
(list python-ecdsa python-hidapi python-libusb1 python-mnemonic
python-protobuf))
@@ -2463,23 +2486,29 @@ analysis of financial market data.")
(define-public python-mt-940
(package
(name "python-mt-940")
(version "4.30.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/WoLpH/mt940.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "13g5338aa8vgkx8g94vz5d8ynfq3jndvyh1nz6dlhw4axwr4x8dp"))))
(version "4.23.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/WoLpH/mt940.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0z9w1qalcphsck3j6vkrs7k47ah9zq2rv0lm9nmcsgwpyp59qkyf"))))
(properties '(("upstream-name" #{.}# "mt-940")))
(build-system pyproject-build-system)
(build-system python-build-system)
(arguments
(list
#:test-flags
#~(list "-c" "/dev/null"))) ; Remove custom --cov flags.
(native-inputs (list python-pytest python-pyyaml python-setuptools))
`(#:phases (modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(when tests?
;; Remove custom --cov flags.
(delete-file "pytest.ini")
(invoke "pytest" "-vv")))))))
(native-inputs (list python-flake8
python-pytest
python-pyyaml))
(home-page "https://mt940.readthedocs.io/")
(synopsis "Python parser for MT940-encoded SWIFT data")
(description
+20 -24
View File
@@ -44,7 +44,6 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix download)
@@ -79,7 +78,6 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages swig)
@@ -492,31 +490,29 @@ Management Engine (ME). You need to @code{sudo rmmod mei_me} and
(package
(name "me-cleaner")
(version "1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/corna/me_cleaner")
(commit (string-append "v" version))))
(sha256
(base32 "1bdj2clm13ir441vn7sv860xsc5gh71ja5lc2wn0gggnff0adxj4"))
(file-name (git-file-name name version))))
(build-system pyproject-build-system)
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/corna/me_cleaner")
(commit (string-append "v" version))))
(sha256
(base32
"1bdj2clm13ir441vn7sv860xsc5gh71ja5lc2wn0gggnff0adxj4"))
(file-name (git-file-name name version))))
(build-system python-build-system)
(arguments
(list
#:tests? #f ; No tests.
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-documentation
(lambda _
(install-file "man/me_cleaner.1"
(string-append #$output "/share/man/man1")))))))
(native-inputs (list python-setuptools))
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'install-documentation
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(man (string-append out "/share/man/man1")))
(install-file "man/me_cleaner.1" man)
#t))))))
(home-page "https://github.com/corna/me_cleaner")
(synopsis "Intel ME cleaner")
(description
"This package provides tools for disabling Intel ME as far as possible
(it only edits ME firmware image files).")
(description "This package provides tools for disabling Intel
ME as far as possible (it only edits ME firmware image files).")
(license license:gpl3+)
;; This is an Intel thing.
+10 -104
View File
@@ -488,7 +488,7 @@ provide serif, sans and monospaced variants.")
package provides the TrueType (TTF) files.")
(license
(license:fsdg-compatible
"https://spdx.org/licenses/Bitstream-Vera.html"
"https://www.gnome.org/fonts/#Final_Bitstream_Vera_Fonts"
"The Font Software may be sold as part of a larger software package but
no copy of one or more of the Font Software typefaces may be sold by
itself."))))
@@ -576,61 +576,6 @@ intended to be optimally legible for readers who are partially visually impaired
all characters maximally distinguishable from one another.")
(license license:silofl1.1))))
(define-public font-atkinson-hyperlegible-next
(let ((commit "7925f50f649b3813257faf2f4c0b381011f434f1")
(revision "0"))
(package
(name "font-atkinson-hyperlegible-next")
(version (git-version "2.001" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/googlefonts/atkinson-hyperlegible-next/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "01m59xl35xvjv07d0qwli1czgfjg2wfgv676xi71is2rirh1y71f"))))
(build-system font-build-system)
(home-page "https://www.brailleinstitute.org/freefont/")
(synopsis
"Typeface designed to increase legibility for low vision readers")
(description
"Atkinson Hyperlegible Next is an improvement of the typeface Atkinson
Hyperlegible, including new characters, improved glyphs, and improved kerning.
Additionally, the two previous weights has increased to six, all in upright
and italic, allowing for greater flexibility in use.")
(license license:silofl1.1))))
(define-public font-atkinson-hyperlegible-mono
(let ((commit "154d50362016cc3e873eb21d242cd0772384c8f9")
(revision "0"))
(package
(name "font-atkinson-hyperlegible-mono")
(version (git-version "2.001" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/googlefonts/atkinson-hyperlegible-next-mono/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0bdhp70zniqnj14raw9krb034zrvvxhzimzqys713p8ksrndck2p"))))
(build-system font-build-system)
(home-page "https://www.brailleinstitute.org/freefont/")
(synopsis
"Monospace typeface designed to increase legibility for low vision readers")
(description
"Atkinson Hyperlegible Mono is an entirely new typeface inspired by
Atkinson Hyperlegible. The characters in a monospace typeface all occupy the
same width, allowing for them to be scanned quickly in table-based and coding
environments. The glyphs in Atkinson Hyperlegible Mono are newly created for
this variation, and unique to the typeface.")
(license license:silofl1.1))))
(define-public font-lato
(package
(name "font-lato")
@@ -767,25 +712,6 @@ font is provided in the OpenType font (OTF) format.")
(properties '((upstream-name . "freefont")
(ftp-directory . "/gnu/freefont")))))
(define-public font-great-vibes
(package
(name "font-great-vibes")
(version "1.103")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/googlefonts/great-vibes/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1bxjr41spgf0l1w2fhs6743gvp0id2hv0vsivqcflb8f631rkkq1"))))
(build-system font-build-system)
(home-page "https://fonts.google.com/specimen/Great+Vibes")
(synopsis "Flowing script font")
(description "Great Vibes is a flowing script font with casual uppercase
letters and more formal lowercase letters.")
(license license:silofl1.1)))
(define-public font-liberation
(package
(name "font-liberation")
@@ -926,26 +852,6 @@ The unified Libertinus family consists of:
expansion of Franklin Gothic, a classic font. It covers 105 Latin Languages.")
(license license:silofl1.1))))
(define-public font-playwrite
(package
(name "font-playwrite")
(version "1.003")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/TypeTogether/Playwrite/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1vjll0jdmy5liw68k1p0pry5hzjjxna9a2sccifvwckwxngg84zc"))))
(build-system font-build-system)
(home-page "https://github.com/TypeTogether/Playwrite/")
(synopsis "Family of primary school cursive fonts")
(description "Playwrite is a typeface engine for the creation of primary
school cursive fonts. It sports several variations of lowercase and uppercase
letters to account for regional differences.")
(license license:silofl1.1)))
(define-public font-terminus
(package
(name "font-terminus")
@@ -1591,7 +1497,7 @@ noncharacters are also represented.")
(define-public font-google-noto
(package
(name "font-google-noto")
(version "2026.01.01")
(version "2025.07.01")
(source
(origin
(method git-fetch)
@@ -1600,7 +1506,7 @@ noncharacters are also represented.")
(commit (string-append "noto-monthly-release-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1rrwxr7g1gwbp0gb2kjxi0s42hijhs82fc4dbqa6spkj4d9c9qq9"))))
(base32 "0p27wbxdwi99r5yj33z9jadlv4rbhp5vw5c0ir15bymvdwdr8s8z"))))
(build-system font-build-system)
(arguments
(list
@@ -4634,7 +4540,7 @@ Mainland China.")
(define-public font-chiron-sung-hk
(package
(name "font-chiron-sung-hk")
(version "1.022")
(version "1.017")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4643,7 +4549,7 @@ Mainland China.")
(file-name (git-file-name name version))
(sha256
(base32
"1bndyr8bi9ngrba3c3n9k9k26s0irk62jhly7fj6g62k87b82z75"))))
"1pg0zh4gajn699am26j4ldpsa51bafn7n0jc5s4v6sslixj3ccwg"))))
(build-system font-build-system)
(arguments
(list #:phases
@@ -4651,12 +4557,12 @@ Mainland China.")
(replace 'install
(lambda _
(let ((install (assoc-ref %standard-phases 'install)))
(with-directory-excursion "VAR_OTF"
(with-directory-excursion "VAR"
(for-each delete-file (find-files "." "\\.ttf$"))
(install #:outputs `(("out" . ,#$output))))
(with-directory-excursion "STATIC_OTF"
(with-directory-excursion "OTF"
(install #:outputs `(("out" . ,#$output:otf))))
(with-directory-excursion "STATIC_TTF"
(with-directory-excursion "TTF"
(install #:outputs `(("out" . ,#$output:ttf))))))))))
(outputs '("out" "otf" "ttf"))
(home-page "https://chiron-fonts.github.io/")
@@ -4672,7 +4578,7 @@ prevalent typefaces in Traditional Chinese regions.")
(package
(inherit font-chiron-sung-hk)
(name "font-chiron-hei-hk")
(version "2.605")
(version "2.524")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4681,7 +4587,7 @@ prevalent typefaces in Traditional Chinese regions.")
(file-name (git-file-name name version))
(sha256
(base32
"1g06vcrav4bd57ka4b6wrjas04rnhb35n7c7447lv2yp26z10ypp"))))
"077f50yjcf5slr2jzrdampwcrlaswvdnin5iwnirzsms3x9vsm69"))))
(synopsis "Traditional Chinese Gothic typeface")
(description
"Chiron Hei HK is a Traditional Chinese Gothic typeface based on the Hong
+1 -5
View File
@@ -2211,7 +2211,6 @@ work well with other GTK desktop environments.")
("freetype" ,freetype)
("glib" ,glib)
("pango" ,pango)
("perl" ,perl) ;needed for pdfoutline
("perl-pdf-api2" ,perl-pdf-api2)
("perl-libintl-perl" ,perl-libintl-perl)
("unicode-blocks"
@@ -2228,10 +2227,7 @@ work well with other GTK desktop environments.")
(synopsis "PDF and PostScript font samples generator")
(description "This package provides a tool that can be used to make font
samples that show coverage of the font and are similar in appearance to
Unicode Charts. It was developed for use with DejaVu Fonts project.
This package also includes the @command{pdfoutline} script, which can be used
to modify outlines (machine-readable tables of contents) in PDF files.")
Unicode Charts. It was developed for use with DejaVu Fonts project.")
(license license:gpl3+)))
(define-public libraqm
+2 -2
View File
@@ -55,7 +55,7 @@
(define-public gambas
(package
(name "gambas")
(version "3.21.1")
(version "3.21.0")
(source
(origin
(method git-fetch)
@@ -64,7 +64,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0mscfpm9ldnk8dfg7ripxyqg77j8q3bliwkacqwih37151mrc07s"))))
(base32 "0lkm4fbxqmkqpk2f2z660m77xshhmvj4pnlv0z43zrarsij8l6gf"))))
(build-system gnu-build-system)
(arguments
(list
+59 -154
View File
@@ -38,7 +38,6 @@
;;; Copyright © 2025 Arnaud Lechevallier <arnaud.lechevallier@free.fr>
;;; Copyright © 2025 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2025 Simen Endsjø <contact@simendsjo.me>
;;; Copyright © 2025 gemmaro <gemmaro.dev@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -570,78 +569,38 @@ types (revolute, prismatic, wheel, etc.).")
(license license:zlib)))
(define-public python-anvil-parser
;; Github project does not have tags.
(let ((commit "91a7eda55f0fb55a948d1072896430c29d906809")
(let ((commit "27544bb41f035617be130a209a84371cbaf837cc")
(revision "0"))
(package
(name "python-anvil-parser")
(version (git-version "0.10.6" revision commit))
(version (git-version "0.9.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/0xTiger/anvil-parser2")
(url "https://github.com/0xTiger/anvil-parser")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "16j7kv6v782nz1fafkxkb7v2vpwfhpi1a66ak04xawg9h1fz7vkc"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest python-setuptools))
(base32 "196nli36pz4sllx1m8jlys661hgbxhcxr2c4545fqb4nd27hhwy7"))))
(build-system python-build-system)
(propagated-inputs (list python-frozendict python-nbt))
(home-page "https://github.com/0xTiger/anvil-parser2")
(home-page "https://github.com/0xTiger/anvil-parser")
(synopsis "Anvil file format parser")
(description "This package provides an Anvil file format parser.")
(license license:expat))))
;;~4MiB of test files.
(define python-nbt-testdata
(file-union
"python-nbt-testdata"
(list
(let ((file "Sample_World.tar.gz"))
`(,file
,(origin
(method url-fetch)
(uri (string-append
"https://github.com/twoolie/NBT/files/13199373/"
file))
(sha256
(base32
"1s58g5zicx8ghdai2qix2aqq0fc675vfajica4h78c397crwjrl9"))))))))
(define-public python-nbt
(package
(name "python-nbt")
(version "1.5.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/twoolie/NBT")
(commit (string-append "version-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1a3mj7c18m1n5iqzwwvvlk7n65kxp3xbmccsqyap36apwpbbxyd9"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "tests/regiontests.py" "tests/nbttests.py")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'fake-download
;; Fake the download of the test tarball.
(lambda _
(substitute*
"tests/downloadsample.py"
(("tar_file = .*")
(string-append
"tar_file = '"
#+python-nbt-testdata
"/Sample_World.tar.gz'"))))))))
(native-inputs
(list python-pytest python-setuptools))
(source (origin
(method url-fetch)
(uri (pypi-uri "NBT" version))
(sha256
(base32
"1i9ncrzy5zcfnxzkh2j31n9ayzxfncckzwa6fkz9vjq5fq9v4fys"))))
(build-system python-build-system)
(home-page "https://github.com/twoolie/NBT")
(synopsis "Named Binary Tag reader and writer")
(description
@@ -677,31 +636,22 @@ possible, and it also makes the SGE easy to learn.")
(license license:lgpl3+)))
(define-public python-pyscroll
;; No tags, no releases, not clear which commit corresponds to which PyPI
;; release. But PyPI has no tests, so need to use git.
(let ((commit "31e1c282d09542ec89c6c1ac3ee6a1ff991ff5c2")
(revision "1"))
(package
(name "python-pyscroll")
(version (git-version "2.31" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bitcraft/pyscroll")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1mqi8ccxi7vk63hw7klxjzd8jp6lnnw5q70nvrzmgq0jxpp61h7y"))))
(build-system pyproject-build-system)
(native-inputs (list python-pytest python-setuptools))
(propagated-inputs (list python-pygame))
(home-page "https://github.com/bitcraft/pyscroll")
(synopsis "Fast scrolling maps library for pygame")
(description "@code{pyscroll} is a simple and fast module
(package
(name "python-pyscroll")
(version "2.31")
(source (origin
(method url-fetch)
(uri (pypi-uri "pyscroll" version))
(sha256
(base32
"0w3c58mkkbsyvx9w9hwdizk20pbds800m7v9vg49ydw440dha0hr"))))
(build-system python-build-system)
(propagated-inputs (list python-pygame))
(home-page "https://github.com/bitcraft/pyscroll")
(synopsis "Fast scrolling maps library for pygame")
(description "@code{pyscroll} is a simple and fast module
for animated scrolling maps for your new or existing game.")
(license license:lgpl3+))))
(license license:lgpl3+)))
(define-public python-pytmx
(package
@@ -804,11 +754,7 @@ support.")
(uri (pypi-uri "neteria" version))
(sha256
(base32 "1azlix80a6vns2i3z0bdbqk32kx8s2gjh2nvshab235fd9h85yv7"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;No tests, also not on github
(native-inputs
(list python-setuptools))
(build-system python-build-system)
(propagated-inputs
(list python-rsa))
(home-page "https://pypi.org/project/neteria/")
@@ -2003,43 +1949,6 @@ programming languages.")
visual novel engine, explaining all of its features.")
(license license:expat)))
(define-public rpatool
;; XXX: No releases or version tags, see:
;; <https://codeberg.org/shiz/rpatool/issues/28>.
(let ((revision "0")
(commit "74f26d5dfdd645483e02552aa766ca447ad6b191"))
(package
(name "rpatool")
(version (git-version "0.8" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shiz/rpatool")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "10dm8bak0dm84d1ciwzw6jd5y64invddlmcdnawnpp7jn3wrg1jb"))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(delete 'build)
(replace 'install
(lambda _
(install-file "rpatool"
(string-append #$output "/bin")))))))
(home-page "https://codeberg.org/shiz/rpatool")
(synopsis "Tool to work with Ren'Py archives")
(description
"@samp{rpatool} is a simple tool allowing you to create, modify and
extract @url{https://www.renpy.org/,Ren'Py} Archive files
(@code{.rpa}/@code{.rpi}). Currently, only writing RPAv2/RPAv3 archives is
supported.")
(license license:wtfpl2))))
(define-public python-pyxel
;; Note to updaters: Use commit and revision even if you're bumping
;; to a release, as upstream is known to "reuse" tags.
@@ -2185,40 +2094,36 @@ robust and compatible with many systems and operating systems.")
(license license:zlib)))
(define-public mc2mt
;; No tags in the repository.
(let ((commit "039dbc26466a430e03c646dc5a9bd0822637a87a")
(revision "0"))
(package
(name "mc2mt")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/listia/mc2mt")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1vnaznwgm87x0n5dp14363p2h54lpzalynrrd6lbs6wgrqq7fq9i"))
(patches (search-patches "mc2mt-add-packaging-support.patch"))
(modules '((guix build utils)))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ; no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-code
(lambda* _
(substitute* "mc2mtlib/argument_parser.py"
(("mineclone2") "mineclone")))))))
(native-inputs (list python-pytest python-setuptools))
(propagated-inputs (list python-anvil-parser))
(synopsis "Minecraft to Minetest world converter")
(description "@code{mc2mt} is a Minecraft to Minetest world converter.
(package
(name "mc2mt")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/listia/mc2mt")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1vnaznwgm87x0n5dp14363p2h54lpzalynrrd6lbs6wgrqq7fq9i"))
(patches (search-patches "mc2mt-add-packaging-support.patch"))
(modules '((guix build utils)))
(snippet
#~(begin
(substitute* "mc2mtlib/argument_parser.py"
(("mineclone2") "mineclone"))))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools))
(propagated-inputs (list python-anvil-parser))
(arguments
(list #:tests? #f)) ; no tests
(synopsis "Minecraft to Minetest world converter")
(description "@code{mc2mt} is a Minecraft to Minetest world converter.
It can convert worlds from Minecraft 1.9 and later.")
(home-page "https://github.com/listia/mc2mt")
(license license:expat))))
(home-page "https://github.com/listia/mc2mt")
(license license:expat))))
(define-public mygui
(package
@@ -2837,7 +2742,7 @@ scripted in a Python-like language.")
(define-public ericw-tools
(package
(name "ericw-tools")
(version "0.18.2-rc1")
(version "0.18.1")
(source
(origin
(method git-fetch)
@@ -2845,7 +2750,7 @@ scripted in a Python-like language.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0903fn4a5mc4sdx8q36j57fp15f7z246h8jm78x9jfz7sx9xrc3m"))
(base32 "11sap7qv0rlhw8q25azvhgjcwiql3zam09q0gim3i04cg6fkh0vp"))
(patches
(search-patches "ericw-tools-add-check-for-sse2-in-light.cc.patch"
"ericw-tools-gcc-11-pass-const-to-offsetof.patch"))))
@@ -2890,7 +2795,7 @@ scripted in a Python-like language.")
#$(package-version this-package)
"/README.md")))))
#:tests? #f)) ; No tests
(inputs (list embree))
(inputs (list embree-2))
(home-page "https://ericwa.github.io/ericw-tools/")
(synopsis "Map compiling tools for Quake/Hexen 2")
(description
+40 -57
View File
@@ -1544,7 +1544,7 @@ practise.")
(define-public doom-runner
(package
(name "doom-runner")
(version "1.9.1")
(version "1.8.3")
(source
(origin
(method git-fetch)
@@ -1553,13 +1553,10 @@ practise.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "19jq5cj6rc8d5ghd9321a2f3v0b7z928990d7dj6ynyhkpcj769p"))
(modules '((guix build utils)))
(snippet #~(delete-file-recursively "Screenshots")))) ;Save 1.4MiB.
(base32 "0rpywq95zy9w0wj1262x4rf84c52wg1rgf0by549qph6fybn34rn"))))
(build-system qt-build-system)
(arguments
(list
#:qtbase qtbase
#:tests? #f ;no tests
#:modules '((guix build qt-build-system)
((guix build gnu-build-system) #:prefix gnu:)
@@ -1568,37 +1565,37 @@ practise.")
#~(modify-phases %standard-phases
(replace 'configure
(lambda _
(substitute* "DoomRunner.pro"
(("/usr")
#$output))
(invoke "qmake" "DoomRunner.pro" "-spec" "linux-g++"
"\"CONFIG+=release\""
(string-append "INSTALL_DIR=" #$output))))
"\"CONFIG+=release\"")))
(replace 'build (assoc-ref gnu:%standard-phases 'build))
(replace 'install (assoc-ref gnu:%standard-phases 'install))
(add-after 'install 'install-xdg
(lambda _
(with-directory-excursion #$output
(install-file "DoomRunner" "bin/")
(delete-file "DoomRunner"))
(with-directory-excursion "Install/XDG"
(install-file "DoomRunner.desktop"
(string-append #$output "/share/applications"))
(install-file "io.github.Youda008.DoomRunner.appdata.xml"
(string-append #$output "/share/metainfo"))
(for-each
(lambda (size)
(let ((filename (simple-format #f "DoomRunner.~sx~s.png"
size size)))
(chmod filename #o444)
(install-file
filename
(simple-format #f "~a/share/icons/hicolor/~sx~s/apps"
#$output size size))))
'(16 24 32 48 64 128))))))))
(string-append #$output
"/share/applications"))
(let ((install-icon
(lambda (size)
(install-file (simple-format
#f "DoomRunner.~sx~s.png"
size size)
(simple-format
#f "~a/share/icons/hicolor/~sx~s/apps"
#$output size size)))))
(for-each install-icon
'(16 24 32 48 64 128)))))))))
(home-page "https://github.com/Youda008/DoomRunner")
(synopsis "Launcher for Doom engine games")
(description "Doom Runner is yet another launcher of common Doom source
ports (e.g. GZDoom, Zandronum, PrBoom) with a graphical user interface. It
is written in C++ and Qt, and it is designed around the idea of presets for
various multi-file modifications to allow one-click switching between them.")
(description
"Doom Runner is yet another launcher of common Doom source ports (like
GZDoom, Zandronum, PrBoom, ...) with graphical user interface. It is
written in C++ and Qt, and it is designed around the idea of presets
for various multi-file modifications to allow one-click switching
between them and minimize any repetitive work.")
(license license:gpl3)))
(define-public falltergeist
@@ -9238,7 +9235,7 @@ original.")
(define-public woof-doom
(package
(name "woof-doom")
(version "15.3.0")
(version "15.2.0")
(source
(origin
(method git-fetch)
@@ -9247,29 +9244,22 @@ original.")
(commit (string-append "woof_" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ki7wqjhqhjxci04aksh9m8m35gi2db89475v79rjzdgk00b3mqv"))
(base32 "04c7hm4jnr9aiz6w4520zww6b7j86qv9xaf87hdv48cjc9sp2ljk"))
(modules '((guix build utils)))
(snippet '(begin
(with-directory-excursion "third-party"
(delete-file-recursively "miniz")
(delete-file-recursively "yyjson")
(delete-file-recursively "spng")
(substitute* "CMakeLists.txt"
(("add_library\\(miniz.+")
"find_package(miniz REQUIRED)")
(("target_.+\\(miniz.+$") "")
(("add_library\\(spng.+")
"find_package(PkgConfig)
pkg_search_module(spng REQUIRED spng)")
(("target_.+\\(spng.+$") "")))
(delete-file-recursively "spng"))
(delete-file-recursively "win32")
(substitute* (find-files "src" ".")
(("miniz.h") "miniz/miniz.h"))))))
(("miniz.h") "miniz/miniz.h"))))
(patches (search-patches "woof-doom-unbundle-spng-miniz.patch"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f)) ;'demotest' requires internet access.
(native-inputs (list pkg-config python))
(native-inputs (list python))
(inputs (list libebur128
libsndfile
libxmp
@@ -9280,8 +9270,8 @@ pkg_search_module(spng REQUIRED spng)")
spng
yyjson
fluidsynth))
(home-page "https://fabiangreffrath.github.io/woof/")
(synopsis "MBF-lineage Doom source port")
(home-page "https://github.com/fabiangreffrath/woof")
(synopsis "MBF-style Doom source port targeted at modern systems")
(description
"Woof! is a continuation of the MBF lineage of Doom source ports, with
modern features such as dynamic resolution scaling, uncapped framerates,
@@ -9294,6 +9284,7 @@ UMAPINFO, DEHEXTRA, and DSDHacked specifictions.")
(list (license:non-copyleft
"https://bitbucket.org/jpommier/pffft/src/master/pffft.h"
"FFTPACK license")
license:bsd-2
license:bsd-3
license:cc-by3.0
license:cc0
@@ -10191,7 +10182,7 @@ via the in-game download manager.")
(inputs
(list alsa-lib
eudev
ffmpeg
ffmpeg-6
glib
glew
gtk+-2
@@ -10224,7 +10215,7 @@ to download and install them in @file{$HOME/.stepmania-X.Y/Songs} directory.")
(define-public oshu
(package
(name "oshu")
(version "2.0.3")
(version "2.0.1")
(source
(origin
(method git-fetch)
@@ -10234,7 +10225,7 @@ to download and install them in @file{$HOME/.stepmania-X.Y/Songs} directory.")
(file-name (git-file-name name version))
(sha256
(base32
"0hk0yidmkrqj0mg6pjmwdzkaz8vvdsxxxvprj1qxjblslj2h8lvd"))))
"1g598incc6zlls876slgwqblwiwiszkmqa4xpzw0z7mbjmmzsizz"))))
(build-system cmake-build-system)
(arguments
`(#:phases
@@ -10245,7 +10236,7 @@ to download and install them in @file{$HOME/.stepmania-X.Y/Songs} directory.")
(native-inputs
(list pkg-config))
(inputs
(list cairo ffmpeg-6 pango sdl2 sdl2-image))
(list cairo ffmpeg-4 pango sdl2 sdl2-image))
(home-page "https://github.com/fmang/oshu/")
(synopsis "Rhythm game in which you click on circles")
(description "@i{oshu!} is a minimalist variant of the @i{osu!} rhythm game,
@@ -11560,7 +11551,7 @@ can be downloaded from @url{https://zero.sjeng.org/best-network}.")
(string-append "PREFIX=" #$output))))
(replace 'build (assoc-ref gnu:%standard-phases 'build))
(replace 'install (assoc-ref gnu:%standard-phases 'install)))))
(inputs (list qtbase-5 qtsvg-5 qtwayland-5))
(inputs (list qtbase-5 qtsvg-5))
(home-page "https://portnov.github.io/qcheckers/")
(synopsis "Qt-based checkers boardgame")
(description "QCheckers, formerly known as KCheckers, is a is a Qt version
@@ -11744,7 +11735,7 @@ and chess engines.")
(native-inputs
(list qttools-5))
(inputs
(list qtbase-5 qtmultimedia-5 qtspeech-5 qtsvg-5 qtwayland-5 zlib))
(list qtbase-5 qtmultimedia-5 qtspeech-5 qtsvg-5 zlib))
(arguments
(list
#:tests? #f
@@ -11758,14 +11749,7 @@ and chess engines.")
(substitute* "chessx.pro"
(("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease")
(search-input-file inputs "/bin/lrelease")))))
(add-after 'fix-paths 'fix-library-paths
(lambda _
;; Otherwise it won't find the wayland shell integration
;; or qt plugin for wayland-egl.
(substitute* "src/gui/main.cpp"
(("QApplication::setLibraryPaths\\(l\\);")
"/* QApplication::setLibraryPaths(l); */"))))
(add-after 'fix-library-paths 'make-qt-deterministic
(add-after 'fix-paths 'make-qt-deterministic
(lambda _
(setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")))
(add-after 'make-qt-deterministic 'disable-versioncheck
@@ -12182,7 +12166,6 @@ game.") ;thanks to Debian for description
libircclient
protobuf-2 ;remove package when no longer needed
qtbase-5
qtwayland-5
(sdl-union (list sdl sdl-mixer))
sqlite
tinyxml
-12
View File
@@ -200,18 +200,6 @@ written in C, C++, Ada, Objective-C, Pascal and more.")
(base32
"1i940b04404xr44xc66c4r4nk091czqz7zzrmhbpk64aaaax1z5w"))))))
(define-public gdb-17
(package
(inherit gdb-14)
(version "17.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdb/gdb-"
version ".tar.xz"))
(sha256
(base32
"0xnqqv3j463r5rnfmblj3zwhf0l0lyy4bp1zaid8zxn9fignz68l"))))))
(define-public gdb
;; The "default" version.
gdb-14)
+9 -31
View File
@@ -34,11 +34,10 @@
#:use-module (gnu packages)
#:use-module (guix packages)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages docbook)
@@ -49,7 +48,6 @@
#:use-module (gnu packages perl-check)
#:use-module (gnu packages tex)
#:use-module (gnu packages xml)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
#:use-module (guix utils))
@@ -234,37 +232,17 @@ color, font attributes (weight, posture), or underlining.")
(define-public mdpo
(package
(name "mdpo")
(version "0.3.86") ;the last version without Rust
(version "0.3.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mondeja/mdpo")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "mdpo" version))
(sha256
(base32 "130g8ggy0xgk5jmlx23569wmv9fz7fhm8qi46cjj7n4fxr0vnmyx"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 91 passed
#:test-flags
;; XXX: The Most of the tests fail because 0.3.86 was released in 2022
;; and depends on python-pytest@6.2.4.
;;
;; OSError: pytest: reading from stdin while output is captured!
;; Consider using `-s`.
#~(list "--ignore=test/test_integration/"
"--ignore=test/test_unit/test_md2po/"
"--ignore=test/test_unit/test_md2po2md/"
"--ignore=test/test_unit/test_mdpo2html/"
"--ignore=test/test_unit/test_po2md/")))
(native-inputs
(list python-pytest
python-setuptools))
(inputs
(list python-polib
python-pymd4c))
(base32 "0kgbm0af7jwpfspa2xxiy9nc2l1r2s1rhbhz4r229zcqv49ak6sq"))))
(build-system python-build-system)
(native-inputs (list python-bump2version python-pytest python-yamllint))
(propagated-inputs
(list python-polib python-pymd4c))
(home-page "https://github.com/mondeja/mdpo")
(synopsis "Markdown file translation utilities using pofiles")
(description
+13 -13
View File
@@ -212,26 +212,26 @@ Polygon meshes, and Extruded polygon meshes.")
(version "0.1.36")
(source
(origin
;; We fetch the sources from the repository since the PyPI archive
;; doesn't contain the CMakeLists.txt file which is useful for
;; integration with other software, such as the openboardview package.
(method git-fetch)
(uri (git-reference
(url "https://github.com/Dav1dde/glad")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0m55ya1zrmg6n2cljkajy80ilmi5sblln8742fm0k1sw9k7hzn8n"))))
(build-system pyproject-build-system)
(base32
"0m55ya1zrmg6n2cljkajy80ilmi5sblln8742fm0k1sw9k7hzn8n"))))
(build-system python-build-system)
(arguments
(list
;; XXX: testing seems complex, see utility/compiletest.sh
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-cmakelists.txt
(lambda _
(let ((share (string-append #$output "/share/"
#$(package-name this-package))))
(install-file "CMakeLists.txt" share)))))))
(native-inputs (list python-setuptools))
(list #:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-cmakelists.txt
(lambda _
(let ((share (string-append #$output "/share/"
#$(package-name this-package))))
(install-file "CMakeLists.txt" share)))))))
(home-page "https://github.com/Dav1dde/glad")
(synopsis "Multi-language GL/GLES/EGL/GLX/WGL loader generator")
(description "Glad uses the official Khronos XML specifications to
+22 -35
View File
@@ -2733,43 +2733,30 @@ schemas for settings shared by various components of the GNOME desktop.")
(license license:lgpl2.1+)))
(define-public python-liblarch
;; The merge request replacing nose with pytest has not been released yet.
;; Temporarily use a git snapshot.
(let ((commit "fe06860ea6f1cd339b5b38485879ec5d9512698c")
(revision "0"))
(package
(name "python-liblarch")
(version (git-version "3.2.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/getting-things-gnome/liblarch")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1hvwhqhanwkmavnqxbl276nncvnrhgz92pa8z417d8bk3cirmj0b"))))
(build-system pyproject-build-system)
(version "3.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/getting-things-gnome/liblarch")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"125rmrdbc84lapfh8c77zxnmwas20xdfamqmilhv1smkxn2q4sh3"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'start-xserver
(lambda* (#:key inputs #:allow-other-keys)
(let ((xorg-display ":1"))
(system (string-join
(list (search-input-file inputs "/bin/Xvfb")
xorg-display "&")
" "))
(setenv "DISPLAY" xorg-display))))
(replace 'check
(lambda* (#:key tests? test-flags #:allow-other-keys)
(when tests?
(invoke "./run-tests")))))))
(native-inputs (list python-pytest python-setuptools xorg-server-for-tests))
`(#:phases (modify-phases %standard-phases
(add-before 'check 'start-xserver
(lambda* (#:key inputs #:allow-other-keys)
(system (format #f "~a/bin/Xvfb :1 &"
(assoc-ref inputs "xorg-server")))
(setenv "DISPLAY" ":1"))))))
(native-inputs (list xorg-server-for-tests))
(inputs (list gtk+))
(propagated-inputs (list python-pygobject))
(home-page "https://getting-things-gnome.github.io/liblarch")
(home-page "https://wiki.gnome.org/Projects/liblarch")
(synopsis "Library to easily handle complex data structures")
(description
"Liblarch is a Python library built to easily handle data structures such
@@ -2779,7 +2766,7 @@ allow you to use your data structure in a @code{Gtk.Treeview}.
Liblarch support multiple views of one data structure and complex filtering.
That way, you have a clear separation between your data themselves (Model)
and how they are displayed (View).")
(license license:lgpl3+))))
(license license:lgpl3+)))
(define-public gtg
(package
@@ -8874,7 +8861,7 @@ the available networks and allows users to easily switch between them.")
(define-public libxml++
(package
(name "libxml++")
(version "5.6.0")
(version "5.4.0")
(source
(origin
(method git-fetch)
@@ -8883,7 +8870,7 @@ the available networks and allows users to easily switch between them.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1ckgllfgnfszri57ay41jykwblcilsyldkhiq0x5h50c5av118pj"))))
(base32 "0gp8irc5ny9i6bw9fp21p8djgksi1s8l5flbn5blisgfpcb2w820"))))
(build-system gnu-build-system)
(propagated-inputs
(list libxml2)) ;required by .pc file
+2 -2
View File
@@ -303,7 +303,7 @@ applications and libraries. It is used by AqBanking.")
(define-public aqbanking
(package
(name "aqbanking")
(version "6.8.5")
(version "6.8.2")
(source
(origin
(method git-fetch)
@@ -312,7 +312,7 @@ applications and libraries. It is used by AqBanking.")
(commit version)))
(sha256
(base32
"1xqhhxhr1azqvdn47389h469d3srl5l3n1nx82jx2djbx9sdzdq9"))
"0ys5r8lbr1nvd14fr82rs6c16iqfpd1hdz5l9s8l9biy2sq8jh0z"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
+4 -4
View File
@@ -588,10 +588,9 @@ interface (FFI) of Guile.")
(sha256
(base32
"1ji3ynhp36m1ccx7bmaq75dhij9frpn19v9mpi4aajn8csl194il"))))
(build-system pyproject-build-system)
(build-system python-build-system)
(arguments
(list
#:tests? #f ; No test suite.
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-environment
@@ -604,11 +603,12 @@ interface (FFI) of Guile.")
"extra_macros = { \"_FILE_OFFSET_BITS\": 64 }")))
#~())
(substitute* "setup.py"
(("cc") (which "gcc"))))))))
(("cc") (which "gcc"))))))
#:tests? #f)) ; No test suite.
(inputs
(list gpgme))
(native-inputs
(list swig python-setuptools))
(list swig))
(home-page (package-home-page gpgme))
(synopsis "Python bindings for GPGME GnuPG cryptography library")
(description "This package provides Python bindings to the GPGME GnuPG
+12 -8
View File
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014-2026 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014-2025 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016-2019, 2021, 2024, 2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
@@ -604,9 +604,9 @@ in the case of Firefox, it is browser/locales/all-locales."
"zh-CN"
"zh-TW"))
(define %icecat-base-version "140.7.0")
(define %icecat-base-version "140.6.0")
(define %icecat-version (string-append %icecat-base-version "-gnu1"))
(define %icecat-build-id "20260113000000") ;must be of the form YYYYMMDDhhmmss
(define %icecat-build-id "20251211000000") ;must be of the form YYYYMMDDhhmmss
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@@ -626,9 +626,9 @@ in the case of Firefox, it is browser/locales/all-locales."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
"0a8mrc4pja4cjhayg4af5lsfrf7161gfq03idwik0vvjf68772k0"))))
"1jadc0ynq49zcqd7ix9nxlrqy5gfhm61p7yliwy068bma2mwjdbc"))))
(gnuzilla-commit "c211e9c18a24310266543cb3c90256ef2660815c")
(gnuzilla-commit "f4e50b9a4d5384ce2e860133bf0beaaccbf19b46")
(gnuzilla-source
(origin
(method git-fetch)
@@ -639,7 +639,7 @@ in the case of Firefox, it is browser/locales/all-locales."
(string-take gnuzilla-commit 8)))
(sha256
(base32
"1grs891b5hq3xssid33jm7vzmjr23gk3f4qv1ngdlhkgs82r4s8s"))))
"0zjzw7blal3niyzyvw33w2cg906pnjbmvf7gsgas2in9xy3rlix6"))))
;; 'search-patch' returns either a valid file name or #f, so wrap it
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
@@ -1646,7 +1646,9 @@ ca495991b7852b855"))
"ac_add_options --with-libclang-path="
#$(this-package-native-input "clang") "/lib\n"
"ac_add_options --with-system-bz2\n"
"ac_add_options --with-system-icu\n"
;; FIXME: Causes breakage (see:
;; <https://codeberg.org/guix/guix/issues/3166>)
;; "ac_add_options --with-system-icu\n"
"ac_add_options --with-system-jpeg\n"
"ac_add_options --with-system-libevent\n"
"ac_add_options --with-system-nspr\n"
@@ -1744,7 +1746,9 @@ ca495991b7852b855"))
gpgme
gtk+
hunspell
icu4c-77
;; FIXME: Causes breakage (see:
;; <https://codeberg.org/guix/guix/issues/3166>).
;;icu4c-77
libcanberra
libevent
libffi
+2 -3
View File
@@ -46,7 +46,6 @@
;;; Copyright © 2025 David Thompson <davet@gnu.org>
;;; Copyright © 2025 Danny Milosavljevic <dannym@friendly-machines.com>
;;; Copyright © 2025 Patrick Norton <patrick.147.norton@gmail.com>
;;; Copyright © 2025 Jared Klingenberger <jkling@noreply.codeberg.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -4599,7 +4598,7 @@ decode/encode structures and slices.")
(define-public go-github-com-gaissmai-bart
(package
(name "go-github-com-gaissmai-bart")
(version "0.26.0")
(version "0.11.1")
(source
(origin
(method git-fetch)
@@ -4608,7 +4607,7 @@ decode/encode structures and slices.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0w79ns4l7av8c4mzfshc0gyp7nfav2jgg6n2my2nziy8wns1bw33"))))
(base32 "1rnbmykmkl0c1fzz4vkv7q72l7hl2xpmalbm41f4lifdjscx5nk7"))))
(build-system go-build-system)
(arguments
(list
+2 -34
View File
@@ -1119,7 +1119,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package
(inherit go-1.24)
(name "go")
(version "1.25.5")
(version "1.25.3")
(source
(origin
(method git-fetch)
@@ -1128,7 +1128,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(commit (string-append "go" version))))
(file-name (git-file-name name version))
(sha256
(base32 "102ngi7q0bwb0q391jag7fix70x7lp2mdmbkkh50fwclga14l842"))))
(base32 "037gcrl8nagdsq2kv8irx7n0nijjmlqpz0b0zyj482xz2wzar0fs"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.24)
((#:phases phases)
@@ -1160,37 +1160,6 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(string-append all "\n t.Skip(\"golang.org/issue/75720\")\n"))))))
'())))))))
(define-public go-1.26
(package
(inherit go-1.24)
(name "go")
(version "1.26rc1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/golang/go")
(commit (string-append "go" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1a837mgsfiq3rqnp67kgw83hvq8p61j1yafhlqw4yzp78bz67sdf"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.24)
((#:phases phases)
#~(modify-phases #$phases
;; There is no real discussion on the issue among humans, a lot
;; of gopherbot updates and it's closed without final resolution.
;; https://github.com/golang/go/issues/73977
(add-after 'unpack 'skip-TestSynctest-tests
(lambda _
(substitute* "src/runtime/synctest_test.go"
(("TestSynctest\\(.*" all)
(string-append all "\n t.Skip(\"golang.org/issue/73977\")\n")))))))))
(native-inputs
;; Go 1.26 and later requires Go 1.24.6+ as the bootstrap toolchain.
;; TODO: Switch this to go-1.24 when go@1.24 is updated.
(alist-replace "go" (list go-1.25) (package-native-inputs go-1.25)))))
;;
;; Default Golang version used in guix/build-system/go.scm to build packages.
;;
@@ -1237,7 +1206,6 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(define-public go-std-1.23 (make-go-std go-1.23))
(define-public go-std-1.24 (make-go-std go-1.24))
(define-public go-std-1.25 (make-go-std go-1.25))
(define-public go-std-1.26 (make-go-std go-1.26))
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
+34 -29
View File
@@ -64,7 +64,28 @@
(base32 "1zmp7kkldb59fx1y6k4mkff8ngmyb9pflcd3yqb28m9wb9bp4j4h"))
(file-name (git-file-name name version))
(patches (search-patches "gpodder-disable-updater.patch"))))
(build-system pyproject-build-system)
(build-system python-build-system)
(native-inputs
(list intltool
python-coverage
python-minimock
python-pytest
python-pytest-cov
python-pytest-httpserver
which))
(inputs
(list bash-minimal
gtk+
python-pygobject
python-pycairo
python-requests
python-dbus
python-html5lib
python-mutagen
python-mygpoclient
python-podcastparser
yt-dlp
xdg-utils))
(arguments
(list
#:phases
@@ -99,27 +120,6 @@
(let ((gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(wrap-program (string-append #$output "/bin/gpodder")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))))))
(native-inputs
(list intltool
python-minimock
python-pytest
python-pytest-cov
python-pytest-httpserver
python-setuptools
which))
(inputs
(list bash-minimal
gtk+
python-pygobject
python-pycairo
python-requests
python-dbus
python-html5lib
python-mutagen
python-mygpoclient
python-podcastparser
yt-dlp
xdg-utils))
(home-page "https://gpodder.github.io")
(synopsis "Simple podcast client")
(description "gPodder is a podcatcher, i.e. an application that allows
@@ -205,21 +205,26 @@ episode status changes.")
(define-public python-podcastparser
(package
(name "python-podcastparser")
(version "0.6.11")
(version "0.6.10")
(source
(origin
(method url-fetch)
(uri (pypi-uri "podcastparser" version))
(sha256
(base32 "12bysnajlqmsm1ns8l4j8d2dgwqyyq8jdfsm1vsksv5qj0zndhin"))))
(build-system pyproject-build-system)
(base32 "1mqkkxz928y430xx3mgw9dj78ilkgv9hjdha1hizbks6mmhcp6ib"))))
(native-inputs
(list python-pytest python-setuptools))
(list python-pytest))
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _ (invoke "pytest"))))))
(build-system python-build-system)
(home-page "http://gpodder.org/podcastparser")
(synopsis "Simplified and fast RSS parser Python library")
(description
"@code{podcastparser} is a library for the gPodder project to provide an
easy and reliable way of parsing RSS and Atom-based podcast feeds in Python.")
(description "@code{podcastparser} is a library for the gPodder project to
provide an easy and reliable way of parsing RSS and Atom-based podcast feeds
in Python.")
(license license:isc)))
(define-public castget
+3 -4
View File
@@ -205,7 +205,7 @@ coordinates as well as partial support for adjustments in global coordinate syst
(define-public gpxsee
(package
(name "gpxsee")
(version "15.6")
(version "13.22")
(source
(origin
(method git-fetch)
@@ -214,7 +214,7 @@ coordinates as well as partial support for adjustments in global coordinate syst
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0kfbx7vv740fkx96v3m1gywl0mdfs3mxq84hmipjksm59qi4s3yy"))))
(base32 "15m5rqky2fwsq5n6x531350x39wwhpv1hz56m1yfaxj7acxhb2p5"))))
(build-system qt-build-system)
(arguments
(list
@@ -233,8 +233,7 @@ coordinates as well as partial support for adjustments in global coordinate syst
(string-append "PREFIX=" #$output))))
(replace 'build (assoc-ref gnu:%standard-phases 'build))
(replace 'install (assoc-ref gnu:%standard-phases 'install)))))
(inputs
(list libxkbcommon qtbase qtpositioning qtserialport qtsvg qtwayland))
(inputs (list libxkbcommon qtbase qtpositioning qtserialport qtsvg))
(native-inputs (list qttools))
(home-page "https://www.gpxsee.org")
(synopsis "GPS log file viewer and analyzer")
+24 -1
View File
@@ -599,6 +599,30 @@ applications.")
(base32
"1kcvz7g6j56anv9zjyd3gidxl46vipw0gg82lns12m45cd43iwxm"))))))
(define-public embree-2
(package/inherit embree
(version "2.17.7")
(source
(origin
(method git-fetch)
(uri (git-reference (url "https://github.com/RenderKit/embree")
(commit (string-append "v" version))))
(file-name (git-file-name (package-name embree) version))
(sha256
(base32 "19v60zdfix33c772x6dzmhsarhafsns8qy7c2ysqr7a9j16whgql"))))
(arguments
(substitute-keyword-arguments (package-arguments embree)
((#:configure-flags configure-flags)
#~(append (list "-DEMBREE_MAX_ISA=NONE" "-DEMBREE_TUTORIALS=OFF")
#$configure-flags))))
(inputs (modify-inputs (package-inputs embree)
(replace "tbb" tbb-2020)))
;; Embree requires SSE2 support, so build only for x86-based architectures.
(supported-systems (list "i686-linux" "x86_64-linux"))
(description (string-append (package-description embree) "
Please note that this version requires a processor with SSE2 support."))))
(define-public openvdb
(package
(name "openvdb")
@@ -2799,7 +2823,6 @@ Automated palette selection is supported.")
qtkeychain
qtmultimedia
qtsvg
qtwayland
qtx11extras
vulkan-headers))
(home-page "https://drawpile.net")
+25 -28
View File
@@ -428,17 +428,21 @@ graphs in Graphviz's DOT language, written in pure Python.")
(sha256
(base32
"1kp77wiv7b5qib82i3y3sn9r49rym43aaqm5aw1bwnzfbbq2m6i9"))))
(build-system pyproject-build-system)
(build-system python-build-system)
(arguments
(list
;; tests: 57 passed, 1 deselected
#:test-flags
;; The test_semicolon test fails for unknown reason, see:
;; <https://github.com/kjellmf/dot2tex/issues/94>.
#~(list "--deselect=tests/test_dot2tex.py::MultipleStatements::test_semicolon")))
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv" "tests"
;; The test_semicolon test fails for unknown reason
;; (see:
;; https://github.com/kjellmf/dot2tex/issues/94).
"-k" "not test_semicolon")))))))
(native-inputs
(list python-pytest
python-setuptools
(texlive-local-tree
(list texlive-pgf
texlive-preview
@@ -465,35 +469,28 @@ This approach allows:
(define-public gprof2dot
(package
(name "gprof2dot")
(version "2025.04.14")
(version "2021.02.21")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jrfonseca/gprof2dot")
(commit version)))
(url "https://github.com/jrfonseca/gprof2dot")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0yil32pbcarwsfmhgn2zhldjj985v9p80f2yi2shkaxzfc4w6zwi"))))
(build-system pyproject-build-system)
(base32
"1jjhsjf5fdi1fkn7mvhnzkh6cynl8gcjrygd3cya5mmda3akhzic"))))
(build-system python-build-system)
(arguments
(list
#:test-backend #~'custom
#:test-flags
#~(list "tests/test.py"
"--python=bash"
"--max-acceptable=0"
(string-append "--gprof2dot=" #$output "/bin/gprof2dot"))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-tests
;; Prevent irrelevant errors that cause test output mismatches:
;; Fontconfig error: No writable cache directories
(lambda _
(setenv "XDG_CACHE_HOME" "/tmp"))))))
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
(invoke "python" "tests/test.py")))))))
(native-inputs
(list graphviz
python-setuptools))
(list graphviz))
(home-page "https://github.com/jrfonseca/gprof2dot")
(synopsis "Generate a dot graph from the output of several profilers")
(description "This package provides a Python script to convert the output
+22 -25
View File
@@ -3036,29 +3036,27 @@ user interaction (e.g. measuring distances).")
(define-public volctl
(package
(name "volctl")
(version "0.9.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/buzz/volctl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0113mkhvjh2asmydpvm96j1d8s6bbp5gnhfzirjb6flj6zy6dgfc"))))
(build-system pyproject-build-system)
(version "0.9.4")
(source (origin
(method git-fetch)
(uri (git-reference (url "https://github.com/buzz/volctl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0anrwz8rvbliskmcgpw2zabgjj5c72hpi7cf0jg05vvmlpnbsd4g"))))
(build-system python-build-system)
(arguments
(list
#:tests? #f ;No tests.
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "volctl/xwrappers.py"
(("libXfixes.so")
(search-input-file inputs "/lib/libXfixes.so"))))))))
(native-inputs (list python-setuptools))
(inputs (list libxfixes))
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "volctl/xwrappers.py"
(("libXfixes.so")
(string-append (search-input-file inputs
"/lib/libXfixes.so")))))))))
(inputs
(list libxfixes))
(propagated-inputs
(list python-click
python-pycairo
@@ -3068,9 +3066,8 @@ user interaction (e.g. measuring distances).")
gtk+))
(home-page "https://buzz.github.io/volctl/")
(synopsis "Per-application volume control and on-screen display")
(description
"Volctl is a PulseAudio-enabled tray icon volume control and OSD applet
for graphical desktops. It's not meant to be an replacement for a
(description "Volctl is a PulseAudio-enabled tray icon volume control and
OSD applet for graphical desktops. It's not meant to be an replacement for a
full-featured mixer application. If you're looking for that check out the
excellent pavucontrol.")
+125 -79
View File
@@ -1030,7 +1030,7 @@ invocations."))))
(define-public guile-dsv
(package
(name "guile-dsv")
(version "0.9.0")
(version "0.8.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1039,7 +1039,7 @@ invocations."))))
(file-name (git-file-name name version))
(sha256
(base32
"1dkpz0fppgqywpqq29d6gmva0gwfk61dcxbd7c8jd463dvqhryfp"))))
"0mc4najwji8144xzhpnrljrmh7m9iiykf3bp3lzksrwqyhz8np2k"))))
(build-system gnu-build-system)
(native-inputs (list autoconf
automake
@@ -1051,30 +1051,31 @@ invocations."))))
guile-lib
guile-smc))
(inputs (list bash-minimal guile-3.0))
(propagated-inputs (list guile-fibers guile-lib guile-smc))
(propagated-inputs (list guile-lib guile-smc))
(arguments
(list #:modules `(((guix build guile-build-system)
#:select (target-guile-effective-version))
,@%default-gnu-modules)
#:imported-modules `((guix build guile-build-system)
,@%default-gnu-imported-modules)
#:phases #~(modify-phases %standard-phases
(delete 'strip)
(add-after 'install 'wrap-program
(lambda* (#:key inputs #:allow-other-keys)
(let* ((bin (string-append #$output "/bin"))
(guile-lib (assoc-ref inputs "guile-lib"))
(version (target-guile-effective-version))
(scm (string-append "/share/guile/site/" version))
(go (string-append "/lib/guile/" version
"/site-ccache")))
(wrap-program (string-append bin "/dsv")
`("GUILE_LOAD_PATH" prefix
(,(string-append #$output scm)
,(string-append guile-lib scm)))
`("GUILE_LOAD_COMPILED_PATH" prefix
(,(string-append #$output go)
,(string-append guile-lib go))))))))))
`(#:modules (((guix build guile-build-system)
#:select (target-guile-effective-version))
,@%default-gnu-modules)
#:imported-modules ((guix build guile-build-system)
,@%default-gnu-imported-modules)
#:phases (modify-phases %standard-phases
(delete 'strip)
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(guile-lib (assoc-ref inputs "guile-lib"))
(version (target-guile-effective-version))
(scm (string-append "/share/guile/site/" version))
(go (string-append "/lib/guile/" version
"/site-ccache")))
(wrap-program (string-append bin "/dsv")
`("GUILE_LOAD_PATH" prefix
(,(string-append out scm) ,(string-append
guile-lib scm)))
`("GUILE_LOAD_COMPILED_PATH" prefix
(,(string-append out go) ,(string-append guile-lib
go))))) #t)))))
(home-page "https://github.com/artyom-poptsov/guile-dsv")
(synopsis "DSV module for Guile")
(description
@@ -1248,6 +1249,59 @@ is not available for Guile 2.0.")
;; <https://github.com/wingo/fibers/pull/53>.
(filter (cut string-suffix? "-linux" <>) %supported-systems))))
(define-public guile-fibers-1.0
(package
(inherit guile-fibers-1.1)
(version "1.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://wingolog.org/pub/fibers/fibers-"
version ".tar.gz"))
(sha256
(base32
"0vjkg72ghgdgphzbjz9ig8al8271rq8974viknb2r1rg4lz92ld0"))
(modules '((guix build utils)))
(snippet
'(begin
;; Allow builds with Guile 3.0.
(substitute* "configure"
(("search=\"2\\.2\"")
"search=\"3.0 2.2\""))
;; Explicitly include system headers rather than relying on
;; <libguile.h> to do it for us.
(substitute* "epoll.c"
(("#include.*libguile\\.h.*$" all)
(string-append "#include <unistd.h>\n"
"#include <string.h>\n"
all "\n")))
;; Import (ice-9 threads) for 'current-processor-count'.
(substitute* "tests/channels.scm"
(("#:use-module \\(fibers\\)")
(string-append "#:use-module (fibers)\n"
"#:use-module (ice-9 threads)\n")))
#t))
(patches
;; fixes a resource leak that causes crashes in the tests
(search-patches "guile-fibers-destroy-peer-schedulers.patch"))))
(arguments
'(;; The code uses 'scm_t_uint64' et al., which are deprecated in 3.0.
#:configure-flags '("CFLAGS=-Wno-error=deprecated-declarations")
#:phases (modify-phases %standard-phases
(add-after 'install 'mode-guile-objects
(lambda* (#:key outputs #:allow-other-keys)
;; .go files are installed to "lib/guile/X.Y/cache".
;; This phase moves them to "…/site-ccache".
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib/guile"))
(old (car (find-files lib "^ccache$"
#:directories? #t)))
(new (string-append (dirname old)
"/site-ccache")))
(rename-file old new)
#t))))))))
(define-public guile2.2-fibers
(package
(inherit guile-fibers)
@@ -4055,64 +4109,56 @@ store.")
(replace "guile" guile-2.2)))))
(define-public guile-commonmark
(let ((commit "8ebb3041973ee65eed71757c97d09c63b842ac9a")
(revision "0"))
(package
(name "guile-commonmark")
(version (git-version "0.1.2" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/spritely/guile-commonmark")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0lb5gscrdjkjysvs59a9jhw2axaqk0kjxxvbp0f0n7si798030v1"))))
(build-system gnu-build-system)
;; The tests throw exceptions with Guile 3.0.5, because they evaluate
;; (exit ...).
;;
;; This has been fixed upstream, but there has not been a new release
;; containing this change.
(arguments
'(#:make-flags '("GUILE_AUTO_COMPILE=0")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-stale-tests
(lambda _
;; The tests are probably stale and requires update
;; disable them
(for-each
(lambda (f)
(delete-file f)
(system* "touch" f))
(list
"tests/inlines/entities.scm"
"tests/inlines/links.scm"
"tests/inlines/backslash-escape.scm"
"tests/blocks/setext-headings.scm"
"tests/blocks/lists.scm"
"tests/blocks/list-items.scm"))))
(add-after 'unpack 'fix-tests-when-building-with-guile-3.0.5
(lambda _
(substitute* (find-files "tests" "\\.scm$")
(("\\(exit.*") ""))
#t)))))
(inputs
(list guile-3.0))
(native-inputs
(list pkg-config autoconf automake texinfo))
(synopsis "CommonMark parser for Guile")
(description
"guile-commonmark is a library for parsing CommonMark, a fully specified
(package
(name "guile-commonmark")
(version "0.1.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/OrangeShark/" name
"/releases/download/v" version
"/" name "-" version ".tar.gz"))
(sha256
(base32
"17lrsdisa3kckh24q114vfmzdc4wkqa6ccwl4hdlrng5wpn1iman"))
(modules '((guix build utils)))
(snippet
'(begin
;; Allow builds with Guile 3.0.
(substitute* "configure"
(("2\\.2 2\\.0")
"3.0 2.2 2.0"))
;; The 'en_US.utf8' locale is missing, but C.UTF-8 is
;; enough.
(substitute* (find-files "tests/inlines" "\\.scm$")
(("en_US.utf8")
"C.UTF-8"))))))
(build-system gnu-build-system)
;; The tests throw exceptions with Guile 3.0.5, because they evaluate
;; (exit ...).
;;
;; This has been fixed upstream, but there has not been a new release
;; containing this change.
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-tests-when-building-with-guile-3.0.5
(lambda _
(substitute* (find-files "tests" "\\.scm$")
(("\\(exit.*") ""))
#t)))))
(inputs
(list guile-3.0))
(native-inputs
(list pkg-config))
(synopsis "CommonMark parser for Guile")
(description
"guile-commonmark is a library for parsing CommonMark, a fully specified
variant of Markdown. The library is written in Guile Scheme and is designed
to transform a CommonMark document to SXML. guile-commonmark tries to closely
follow the @uref{http://commonmark.org/, CommonMark spec}, the main difference
is no support for parsing block and inline level HTML.")
(home-page "https://codeberg.org/spritely/guile-commonmark")
(license license:lgpl3+))))
(home-page "https://github.com/OrangeShark/guile-commonmark")
(license license:lgpl3+)))
(define-public guile2.2-commonmark
(package
-105
View File
@@ -88,69 +88,6 @@
(description "This package provides JSON support for Hare.")
(license license:mpl2.0)))
(define-public hare-lex
(package
(name "hare-lex")
(version "0.25.2.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~stacyharper/hare-lex")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "06jlkb1q8ybr6yx56c6ikxv5ywz44k04dpwxcc796cnpzpkgqlyf"))))
(build-system hare-build-system)
(supported-systems %hare-supported-systems)
(home-page "https://git.sr.ht/~stacyharper/hare-lex")
(synopsis "General purpose lexical tokenization machinery for Hare")
(description "This module provides a general purpose lexer machine for Hare.")
(license license:mpl2.0)))
(define-public hare-irc
(package
(name "hare-irc")
(version "0.25.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~sircmpwn/hare-irc")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0ani8prdwjsfh8iqn5kfmkiim9ihl8dvbr28g69c037f6gbdb08v"))))
(build-system hare-build-system)
(supported-systems %hare-supported-systems)
(home-page "https://sr.ht/~sircmpwn/hare-irc")
(synopsis "IRC client protocol implementation for Hare")
(description "This package provides an implementation of the IRC client
protocol for Hare programs, based on the @url{ircdocs.horse} specifications.")
(license license:mpl2.0)))
(define-public hare-scfg
(package
(name "hare-scfg")
(version "0.25.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~chrisppy/hare-scfg")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1nj9gqvnvmwh3j39rj1h856p5qzghv5in01rxi4x74mqirl5q2ch"))))
(build-system hare-build-system)
(supported-systems %hare-supported-systems)
(home-page "https://git.sr.ht/~chrisppy/hare-scfg")
(synopsis "Hare library for a simple configuration file format")
(description "This package provides a Hare library for parsing
@uref{https://git.sr.ht/~emersion/scfg, scfg}, a simple configuration file
format with one directive per line.")
(license license:mpl2.0)))
(define-public hare-ssh
(package
(name "hare-ssh")
@@ -172,28 +109,6 @@ format with one directive per line.")
and agent protocols in pure Hare.")
(license license:mpl2.0)))
(define-public hare-template
(package
(name "hare-template")
(version "0.25.2.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~stacyharper/hare-template")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0mfg3ijfmii7vag1cgvr0n76hd7cic6vdf37gd05c5ilnb31ial6"))))
(build-system hare-build-system)
(inputs (list hare-lex))
(supported-systems %hare-supported-systems)
(home-page "https://git.sr.ht/~stacyharper/hare-template")
(synopsis "Templating tool and library for Hare")
(description "This package aims to offer a good and simple templating
system for Hare, using code generation.")
(license license:mpl2.0)))
(define-public hare-gi
(package
(name "hare-gi")
@@ -306,23 +221,3 @@ language.")
(description "This package is a set of gtk-layer-shell bindings for the Hare
language.")
(license license:mpl2.0)))
(define-public hare-xml
(package
(name "hare-xml")
(version "0.25.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~sircmpwn/hare-xml")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1h216z59piz1g7a0iiy1qic1wj8lbajw3mw5zw9nid0bz2vx81b0"))))
(build-system hare-build-system)
(supported-systems %hare-supported-systems)
(home-page "https://git.sr.ht/~sircmpwn/hare-xml")
(synopsis "XML support for Hare")
(description "This package provides XML support for Hare.")
(license license:mpl2.0)))
+9 -7
View File
@@ -41,7 +41,6 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix utils)
#:use-module (gnu packages)
@@ -71,7 +70,6 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages python-web)
@@ -1175,11 +1173,15 @@ and does not rely on an online service.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0i8vwnikwd1bfpv4xlgzc51gn6s18q58nqhvcdiyjzcmy3z344c2"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ; No tests
(propagated-inputs (list python-tinycss2 python-pygobject))
(native-inputs (list gettext-minimal python-setuptools))
(base32
"0i8vwnikwd1bfpv4xlgzc51gn6s18q58nqhvcdiyjzcmy3z344c2"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; No tests
(propagated-inputs
(list python-tinycss2 python-pygobject))
(native-inputs
`(("gettext" ,gettext-minimal)))
(home-page "https://github.com/openSUSE/IBus-Theme-Tools")
(synopsis "Tool for IBus Themes")
(description "IBus Theme Tools can extract IBus-specific settings from
+6 -21
View File
@@ -11,7 +11,6 @@
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -180,26 +179,12 @@ C/C++ part.")
(inherit icu4c)
(name "icu4c")
(version "77.1")
(source
(origin
(method url-fetch)
(uri (icu4c-uri version))
(sha256
(base32
"0qa0yapkypywhzx8ai1p27125h9v1qy89f7v3w1kjz1jfwgl73jq"))
(patches
(search-patches
;; These are the relevant patches Firefox applies (see
;; <https://github.com/mozilla-firefox/firefox/tree/main/intl/icu-patches>).
;; The 'intl/icu' prefix in the file names must be stripped. These
;; are necessary to ensure applications like Icedove run correctly.
"icu4c-22132-standardize-vtzone-output.patch"
"icu4c-20548-dateinterval-timezone.patch"
"icu4c-23069-rosh-hashanah-postponement.patch"
"icu4c-dayperiod-fractional-seconds.patch"
"icu4c-double-conversion.patch"
"icu4c-dtitvfmt-adopt-calendar.patch"
"icu4c-wasi-workaround.patch"))))))
(source (origin
(method url-fetch)
(uri (icu4c-uri version))
(sha256
(base32
"0qa0yapkypywhzx8ai1p27125h9v1qy89f7v3w1kjz1jfwgl73jq"))))))
(define-public icu4c-build-root
(package
+283
View File
@@ -0,0 +1,283 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
;;; Copyright © 2018 Alex ter Weele <alex.ter.weele@gmail.com>
;;; Copyright © 2019, 2021, 2022 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name>
;;;
;;; 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 idris)
#:use-module (gnu packages)
#:use-module (gnu packages haskell-check)
#:use-module (gnu packages haskell-web)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages libffi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (guix build-system gnu)
#:use-module (guix build-system haskell)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
(define-public idris
(package
(name "idris")
(version "1.3.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/idris-lang/Idris-dev.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0cd2a92323hb9a6wy8sc0cqwnisf4pv8y9y2rxvxcbyv8cs1q8g2"))
(patches (search-patches "idris-test-ffi008.patch"))))
(build-system haskell-build-system)
(native-inputs ;For tests
(list perl ghc-cheapskate ghc-tasty ghc-tasty-golden
ghc-tasty-rerun))
(inputs
(list gmp
ncurses
ghc-aeson
ghc-annotated-wl-pprint
ghc-ansi-terminal
ghc-ansi-wl-pprint
ghc-async
ghc-base64-bytestring
ghc-blaze-html
ghc-blaze-markup
ghc-cheapskate
ghc-code-page
ghc-fingertree
ghc-fsnotify
ghc-ieee754
ghc-libffi
ghc-megaparsec
ghc-network
ghc-optparse-applicative
ghc-regex-tdfa
ghc-safe
ghc-split
ghc-terminal-size
ghc-uniplate
ghc-unordered-containers
ghc-utf8-string
ghc-vector
ghc-vector-binary-instances
ghc-zip-archive))
(arguments
`(#:configure-flags
(list (string-append "--datasubdir="
(assoc-ref %outputs "out") "/lib/idris")
"-fFFI" "-fGMP")
#:phases
(modify-phases %standard-phases
;; This allows us to call the 'idris' binary before installing.
(add-after 'unpack 'set-ld-library-path
(lambda _
(setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/dist/build"))))
(add-before 'configure 'update-constraints
(lambda _
(substitute* "idris.cabal"
(("(aeson|ansi-terminal|bytestring|haskeline|libffi|megaparsec|network|optparse-applicative)\\s+[<>=0-9. &|]+" all dep)
dep))))
(add-before 'configure 'set-cc-command
(lambda _
(setenv "CC" ,(cc-for-target))))
(add-after 'install 'fix-libs-install-location
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib/idris"))
(modules (string-append lib "/libs")))
(for-each
(lambda (module)
(symlink (string-append modules "/" module)
(string-append lib "/" module)))
'("prelude" "base" "contrib" "effects" "pruviloj")))))
(delete 'check) ;Run check later
(add-after 'install 'check
(lambda* (#:key outputs #:allow-other-keys #:rest args)
(let ((out (assoc-ref outputs "out")))
(chmod "test/scripts/timeout" #o755) ;must be executable
(setenv "TASTY_NUM_THREADS" (number->string (parallel-job-count)))
(setenv "IDRIS_CC" ,(cc-for-target)) ;Needed for creating executables
(setenv "PATH" (string-append out "/bin:" (getenv "PATH")))
(apply (assoc-ref %standard-phases 'check) args)))))))
(native-search-paths
(list (search-path-specification
(variable "IDRIS_LIBRARY_PATH")
(files '("lib/idris")))))
(home-page "https://www.idris-lang.org")
(synopsis "General purpose language with full dependent types")
(description "Idris is a general purpose language with full dependent
types. It is compiled, with eager evaluation. Dependent types allow types to
be predicated on values, meaning that some aspects of a program's behaviour
can be specified precisely in the type. The language is closely related to
Epigram and Agda.")
(license license:bsd-3)))
;; Idris modules use the gnu-build-system so that the IDRIS_LIBRARY_PATH is set.
(define (idris-default-arguments name)
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(ice-9 ftw)
(ice-9 match))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(delete 'check)
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(idris (assoc-ref inputs "idris"))
(idris-bin (string-append idris "/bin/idris"))
(idris-libs (string-append idris "/lib/idris/libs"))
(module-name (and (string-prefix? "idris-" ,name)
(substring ,name 6)))
(ibcsubdir (string-append out "/lib/idris/" module-name))
(ipkg (string-append module-name ".ipkg"))
(idris-library-path (getenv "IDRIS_LIBRARY_PATH"))
(idris-path (string-split idris-library-path #\:))
(idris-path-files (apply append
(map (lambda (path)
(map (lambda (dir)
(string-append path "/" dir))
(scandir path))) idris-path)))
(idris-path-subdirs (filter (lambda (path)
(and path (match (stat:type (stat path))
('directory #t)
(_ #f))))
idris-path-files))
(install-cmd (cons* idris-bin
"--ibcsubdir" ibcsubdir
"--build" ipkg
;; only trigger a build, as --ibcsubdir
;; already installs .ibc files.
(apply append (map (lambda (path)
(list "--idrispath"
path))
idris-path-subdirs)))))
;; FIXME: Seems to be a bug in idris that causes a dubious failure.
(apply system* install-cmd)))))))
(define-public idris-lightyear
(let ((commit "6d65ad111b4bed2bc131396f8385528fc6b3678a"))
(package
(name "idris-lightyear")
(version (git-version "0.1" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ziman/lightyear")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1pkxnn3ryr0v0cin4nasw7kgkc9dnnpja1nfbj466mf3qv5s98af"))))
(build-system gnu-build-system)
(native-inputs
(list idris))
(arguments (idris-default-arguments name))
(home-page "https://github.com/ziman/lightyear")
(synopsis "Lightweight parser combinator library for Idris")
(description "Lightweight parser combinator library for Idris, inspired
by Parsec. This package is used (almost) the same way as Parsec, except for one
difference: backtracking.")
(license license:bsd-2))))
(define-public idris-wl-pprint
(let ((commit "1d365fcf4ba075859844dbc5eb96a90f57b9f338"))
(package
(name "idris-wl-pprint")
(version (git-version "0.1" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/shayan-najd/wl-pprint")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0g7c3y9smifdz4sivi3qmvymhdr7v9kfq45fmfmmvkqcrix0spzn"))))
(build-system gnu-build-system)
(native-inputs
(list idris))
(arguments (idris-default-arguments name))
(home-page "https://github.com/shayan-najd/wl-pprint")
(synopsis "Pretty printing library")
(description "A pretty printing library for Idris based on Phil Wadler's
paper A Prettier Printer and on Daan Leijen's extensions in the Haskell
wl-pprint library.")
(license license:bsd-2))))
(define-public idris-bifunctors
(let ((commit "53d06a6ccfe70c49c9ae8c8a4135981dd2173202"))
(package
(name "idris-bifunctors")
(version (git-version "0.1" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/HuwCampbell/Idris-Bifunctors")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"02vbsd3rmgnj0l1qq787709qcxjbr9890cbad4ykn27f77jk81h4"))))
(build-system gnu-build-system)
(native-inputs
(list idris))
(arguments (idris-default-arguments name))
(home-page "https://github.com/HuwCampbell/Idris-Bifunctors")
(synopsis "Bifunctor library")
(description "This is a bifunctor library for Idris based off the
excellent Haskell Bifunctors package from Edward Kmett.")
(license license:bsd-3))))
(define-public idris-lens
(let ((commit "26f012005f6849806cea630afe317e42cae97f29"))
(package
(name "idris-lens")
(version (git-version "0.1" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/HuwCampbell/idris-lens")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"06jzfj6rad08rk92w8jk5byi79svmyg0mrcqhibgx8rkjjy6vmai"))))
(build-system gnu-build-system)
(native-inputs
(list idris))
(propagated-inputs
(list idris-bifunctors))
(arguments (idris-default-arguments name))
(home-page "https://github.com/HuwCampbell/idris-lens")
(synopsis "Van Laarhoven lenses for Idris")
(description "Lenses are composable functional references. They allow
accessing and modifying data within a structure.")
(license license:bsd-3))))
+6 -12
View File
@@ -856,14 +856,14 @@ due to its architecture which automatically parallelises the image workflows.")
(define-public gmic
(package
(name "gmic")
(version "3.6.5")
(version "3.5.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://gmic.eu/files/source/gmic_"
version ".tar.gz"))
(sha256
(base32 "16hncbj7isxcw5al3zf62n8iwpsvbnmfclihdbgq4fnwci6yb1q9"))))
(base32 "1wyzq5g8kfnglb5l8ipzh6lhf4667vmcd88gd9vf55fdnvdrjygp"))))
(build-system cmake-build-system)
(arguments
(list
@@ -1772,7 +1772,6 @@ substituted by matching images.")
("libtiff" ,libtiff)
("qtbase" ,qtbase-5)
("qtsvg-5" ,qtsvg-5)
("qtwayland-5" ,qtwayland-5)
("zlib" ,zlib)))
(arguments
`(#:phases
@@ -1991,16 +1990,11 @@ segmentation.")
;; these tests.
'(list "--ignore=pims/tests/test_common.py"
"--ignore=pims/tests/test_imseq.py"
"--ignore=pims/tests/test_norpix.py")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "setup.py"
(("'slicerator>=.*',")
"'slicerator',")))))))
"--ignore=pims/tests/test_norpix.py")))
(native-inputs
(list python-pytest python-setuptools))
(list python-pytest
python-setuptools
python-wheel))
(propagated-inputs
(list python-imageio python-numpy python-slicerator))
(home-page "https://github.com/soft-matter/pims")
+34 -19
View File
@@ -862,7 +862,7 @@ Poppler-Qt5 binding, PDF documents.")
(native-inputs
(list qttools))
(inputs
(list qtbase qtimageformats qtsvg qtwayland))
(list qtbase qtimageformats qtsvg))
(home-page "https://interversehq.com/qview/")
(synopsis "Convenient and minimal image viewer")
(description "qView is a Qt image viewer designed with visually
@@ -1069,7 +1069,7 @@ archives.")
(define-public nomacs
(package
(name "nomacs")
(version "3.22.0")
(version "3.21.1")
(source
(origin
(method git-fetch)
@@ -1079,7 +1079,7 @@ archives.")
(file-name (git-file-name name version))
(sha256
(base32
"1ps68xxdqz9r7w5cpicj461x06w0p6r54x1cbk38idl0vlrq65ya"))))
"1by62r1g1clji7g539zyhm5z7h1ssp8pcb6vrm33p2gvz3vba5j5"))))
(build-system cmake-build-system)
(arguments
`(#:build-type "Release" ; fails to build with debug info
@@ -1087,25 +1087,40 @@ archives.")
"-DUSE_SYSTEM_QUAZIP=true"
"-DENABLE_QUAZIP=true"
"-DENABLE_OPENCV=true")
#:tests? #f ; no rule for target 'test'
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'cd-to-source-dir
(lambda _ (chdir "ImageLounge")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests? (invoke "make" "check")))))))
(add-after 'unpack 'copy-plugins
(lambda* (#:key inputs #:allow-other-keys)
(copy-recursively (assoc-ref inputs "plugins")
"ImageLounge/plugins")))
(add-after 'copy-plugins 'cd-to-source-dir
(lambda _ (chdir "ImageLounge") #t)))))
(inputs
(list
exiv2
libraw
libtiff
opencv
quazip
qt5compat
qtbase
qtimageformats
qtsvg))
(native-inputs (list googletest pkg-config qttools))
`(("plugins"
,(origin
(method git-fetch)
(uri (git-reference
;; The original git repository at
;; https://github.com/novomesk/nomacs-plugins
;; is not updated any more, use a maintained fork.
(url "https://github.com/novomesk/nomacs-plugins")
(commit "20101da282f13d3184ece873388e1c234a79b5e7")))
(sha256
(base32
"0nbrsxhggy15idvm5dlhxh2z14gvki7vljxqi90hw98nmbh5ri41"))))
("exiv2" ,exiv2)
("libraw" ,libraw)
("libtiff" ,libtiff)
("opencv" ,opencv)
("quazip" ,quazip)
("qtimageformats" ,qtimageformats)
("qtbase" ,qtbase)
("qt5compat" ,qt5compat)
("qtsvg" ,qtsvg)))
(native-inputs
`(("pkg-config" ,pkg-config)
("qttools" ,qttools)))
(synopsis "Image viewer supporting all common formats")
(description "Nomacs is a simple to use image lounge featuring
semi-transparent widgets that display additional information such as metadata,
+15 -40
View File
@@ -3,7 +3,7 @@
;;; Copyright © 2013, 2015, 2016, 2025 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015, 2016, 2020 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2014, 2016, 2017, 2018, 2019, 2025 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2014, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Amirouche Boubekki <amirouche@hypermove.net>
;;; Copyright © 2014, 2017 John Darrington <jmd@gnu.org>
@@ -97,7 +97,6 @@
#:use-module (gnu packages popt)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
@@ -122,7 +121,6 @@
#:use-module (guix build-system copy)
#:use-module (guix build-system guile)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system scons)
@@ -272,7 +270,7 @@ library. It supports almost all PNG features and is extensible.")
(license license:zlib)
(home-page "http://www.libpng.org/pub/png/libpng.html")))
(define-public libpng-next
(define-public libpng-for-pcsx2
(package
(inherit libpng)
(version "1.6.50")
@@ -1884,28 +1882,22 @@ PNG, and performs PNG integrity checks and corrections.")
(define-public imgp
(package
(name "imgp")
;; 2.9 was released in 2023
(properties '((commit . "00b2b520964f22ca5b6e0c7d7cb07ce7a755cea7")
(revision . "0")))
(version (git-version "2.9"
(assoc-ref properties 'revision)
(assoc-ref properties 'commit)))
(version "2.9")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jarun/imgp")
(commit (assoc-ref properties 'commit))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "imgp" version))
(sha256
(base32 "1rgm52agxrc8sirm72ksg6c2zpibjh4kvx1b2c59vx5inb33kfdh"))))
(build-system pyproject-build-system)
(base32 "0avdgr4fx643jg9wzwm65y14s56bnrn3hmkw7v0mcyvxn88vxwiq"))))
(build-system python-build-system)
(arguments
(list #:test-backend #~'custom
;; There are no actual tests, taken from project's Makefile.
#:test-flags #~(list "-m" "imgp" "--help")))
(native-inputs
(list python-setuptools))
`(#:tests? #f ;there are no tests
#:phases
(modify-phases %standard-phases
;; setup.py expects the file to be named 'imgp'.
(add-after 'unpack 'rename-imgp
(lambda _
(rename-file "imgp.py" "imgp"))))))
(inputs
(list python-pillow))
(home-page "https://github.com/jarun/imgp")
@@ -2899,25 +2891,12 @@ GIF, TIFF, WEBP, BMP, PNG, XPM formats.")
#:modules ((guix build python-build-system)
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
(guix build utils))
;; XXX: Tests are not discovered.
#:tests? #false
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'python3.11-compatibility
(lambda _
(substitute* "setup.py"
(("\"rU\"") "\"r\"")
(("test_suite='tests'.*") ""))
(substitute* "setup.cfg"
(("install-") "install_"))
;; This file makes Python confuse it for a module, so we rename
;; it.
(rename-file "lib/xml.py" "lib/xmlo.py")
(substitute* (find-files "." "\\.py$")
(("lib.xml") "lib.xmlo"))
;; This procedure has been removed.
(substitute* "lib/gettext_setup.py"
(("c = gettext.bind_textdomain_codeset.*") "c = True\n"))))
(("\"rU\"") "\"r\""))))
(add-after 'install 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
(add-after 'install 'wrap-program
@@ -2925,10 +2904,6 @@ GIF, TIFF, WEBP, BMP, PNG, XPM formats.")
(let* ((out (assoc-ref outputs "out"))
(gdk-pixbuf (assoc-ref inputs "gdk-pixbuf"))
(gtk+ (assoc-ref inputs "gtk+")))
;; This is replaced with an invalid shebang.
(substitute* (string-append out "/bin/mypaint")
(("#!python")
(string-append "#!" (which "python3"))))
(wrap-program (string-append out "/bin/mypaint")
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")))))))
+1 -2
View File
@@ -319,7 +319,6 @@ setting @env{LUA_PATH} and @env{LUA_CPATH} in glirc's run-time environment.")
qtmultimedia-5
qtscript-5
qtsvg-5
qtwayland-5
sonnet
zlib))
(home-page "https://quassel-irc.org/")
@@ -641,7 +640,7 @@ highlighted.
#:phases
(modify-phases %standard-phases
(delete 'configure)))) ; No ./configure script
(home-page "https://kirc.dev/")
(home-page "https://mcpcpc.github.io/kirc/")
(synopsis "IRC client written in POSIX C99")
(description "Kirc is an Internet Relay Chat (IRC) client. It includes
support for Simple Authentication and Security Layer (SASL), the
+25 -29
View File
@@ -2,7 +2,7 @@
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2019, 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
;;; Copyright © 2020-2026 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2020-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,7 +26,6 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages c)
#:use-module (gnu packages check)
#:use-module (gnu packages crypto)
#:use-module (gnu packages documentation)
@@ -44,7 +43,6 @@
#:use-module (gnu packages networking)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
@@ -80,9 +78,9 @@
;;; When updating Jami, make sure that the patches used for ffmpeg-jami are up
;;; to date with those listed in
;;; <https://git.jami.net/savoirfairelinux/jami-daemon/-/blob/master/contrib/src/ffmpeg/rules.mak>.
(define %jami-nightly-version "20251212.0")
(define %jami-daemon-commit "663dc3f7b625abcd05e516d819c70fd883a3c9f2")
;;; <https://review.jami.net/plugins/gitiles/jami-daemon/+/refs/heads/master/contrib/src/ffmpeg/rules.mak>.
(define %jami-nightly-version "20251003.0")
(define %jami-daemon-commit "afe2446133eb3c9279e42b0d1dcfdd9a3c76a35f")
(define-public libjami
(package
@@ -96,9 +94,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"1379vq5afqgrjgwhl2qwapzrs9irjsxr2gzm35jrsg31rms5xgzb"))
(patches (search-patches "libjami-pkgconf.patch"
"libjami-simdutf.patch"))))
"05vjykg3nzf91bwzrhh95c6mndiz5n6gz204y2nrfrszx161irh9"))))
(outputs '("out" "bin" "debug")) ;"bin' contains jamid
(build-system gnu-build-system)
(arguments
@@ -106,15 +102,14 @@
;; XXX: The test suites reportedly takes 2 h 30 to run by upstream's CI.
;; Many tests also fail, within and without the containerized
;; environment. Some issues have recently been fixed, so try again in
;; the next release. More problematically, it currently fails to build
;; at all (see: <https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/1168>).
;; the next release.
#:tests? #f
;; The agent links the daemon binary with libguile, which enables the
;; execution of test plans described in Scheme. It may be useful in
;; user scripts too, until more general purpose Scheme bindings are made
;; available (see: test/agent/README.md).
;; FIXME: compiling the agent currently fails (see:
;; <https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/1139>).
;; https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/1139).
#:configure-flags #~(list "--disable-agent" "--enable-debug")
#:make-flags #~(list"V=1") ;build verbosely
#:phases
@@ -143,14 +138,6 @@
(mkdir-p share)
(rename-file (search-input-directory outputs "share/dbus-1")
(string-append share "/dbus-1"))))))))
(native-inputs
(list autoconf
automake
cppunit
libtool
perl ;to generate manpages with pod2man
pkg-config
which))
(inputs
(list alsa-lib
asio
@@ -172,9 +159,16 @@
sdbus-c++
speex
speexdsp
simdutf
webrtc-audio-processing-0.3
yaml-cpp))
(native-inputs
(list autoconf
automake
cppunit
libtool
perl ;to generate manpages with pod2man
pkg-config
which))
(synopsis "Jami core library and daemon")
(description "This package provides a library and daemon implementing the
Jami core functionality. Jami is a secure and distributed voice, video and
@@ -237,12 +231,13 @@ QSortFilterProxyModel conveniently exposed for QML.")
(file-name (git-file-name name version))
(sha256
(base32
"13mpv62pw4f8cb9h8qaplxkn2ydsy9d2fr4v4p54r225ynzbq04h"))
"1ivgs7ckc5wcjlg1p2v7nsw4skcr2hfgv7yk9kx1hd4pbiknr6hk"))
(patches (search-patches
"jami-allow-system-zxing-cpp.patch"
"jami-libjami-cmake.patch"
"jami-unbundle-dependencies.patch"
"jami-libjami-headers-search.patch"
"jami-qwindowkit.patch"
"jami-avutil-link.patch"))))
"jami-skip-tests-requiring-internet.patch"
"jami-find-package-avutil.patch"))))
(build-system qt-build-system)
(outputs '("out" "debug"))
(arguments
@@ -272,7 +267,7 @@ QSortFilterProxyModel conveniently exposed for QML.")
;; This works around the lack of configuration for the X11
;; push-to-talk feature, which is auto-detected via the
;; XDG_SESSION_TYPE environment variable (see:
;; <https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1504>).
;; https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1504).
(setenv "XDG_SESSION_TYPE" "x11")))
(replace 'check
(lambda* (#:key tests? parallel-tests? #:allow-other-keys)
@@ -293,9 +288,9 @@ QSortFilterProxyModel conveniently exposed for QML.")
;; The QML test suite is currently disabled as it segfaults
;; (see:
;; <https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1631>).
;;(display "Running functional tests...\n")
;;(apply invoke "ctest" "-R" "Qml_Tests" ctest-args)
;; https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1631).
;; (display "Running functional tests...\n") (apply invoke
;; "ctest" "-R" "Qml_Tests" ctest-args)
)))))))
(native-inputs
(list git-minimal
@@ -316,6 +311,7 @@ QSortFilterProxyModel conveniently exposed for QML.")
libxkbcommon
md4c
network-manager
qrencode
qt5compat
qtdeclarative
qtmultimedia
+11 -17
View File
@@ -53,7 +53,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system maven)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages attr)
#:use-module (gnu packages autotools)
@@ -93,7 +93,6 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages perl)
#:use-module (gnu packages popt)
#:use-module (gnu packages python-build)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages security-token)
#:use-module (gnu packages xml)
@@ -6180,14 +6179,16 @@ included:
(define-public java-commons-lang3
(package
(name "java-commons-lang3")
(version "3.20.0")
(version "3.12.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://apache/commons/lang/source/"
"commons-lang3-" version "-src.tar.gz"))
(sha256
(base32 "05b2zfmw1y6bnzf7v32zkhix0c0sab82lmr3ilxciza0l5w6nwya"))))
(base32 "09dcv1pkdx3hpf06py8p9511f1wkin6jpacdll0c8vxpbi3yfwzv"))
(patches
(search-patches "java-commons-lang-fix-dependency.patch"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "commons-lang3.jar"
@@ -6281,7 +6282,6 @@ part (or dynamically extended) by a language that is embedded within it. This
is achieved by providing an API that permits calling scripting language engines
from within Java, as well as an object registry that exposes Java objects to
these scripting language engines.")
(properties '((upstream-name . "bsf")))
(license license:asl2.0)))
(define-public java-commons-jxpath
@@ -6342,7 +6342,6 @@ contexts, DOM etc, including mixtures thereof.")
and a number of object pool implementations. This package defines a
handful of pooling interfaces and some base classes that may be useful when
creating new pool implementations.")
(properties '((upstream-name . "commons-pool2")))
(license license:asl2.0)))
(define-public java-commons-dbcp
@@ -6374,7 +6373,6 @@ connections between users. Creating a new connection for each user can be
time consuming and even unfeasible when the number of simultaneous users is
very large. This package provides a way to share a poole of connections to
reduce that load.")
(properties '((upstream-name . "commons-dbcp2")))
(license license:asl2.0)))
(define-public java-commons-jcs
@@ -6415,7 +6413,6 @@ is intended to speed up applications by providing a means to manage cached
data of various dynamic natures. Like any caching system, JCS is most useful
for high read, low put applications. Latency times drop sharply and
bottlenecks move away from the database in an effectively cached system.")
(properties '((upstream-name . "commons-jcs3-dist")))
(license license:asl2.0)))
(define-public java-jsr250
@@ -6655,7 +6652,6 @@ more!")
(description "The Logging package is a thin bridge between different
logging implementations. A library that uses the commons-logging API can be
used with any logging implementation at runtime.")
(properties '((upstream-name . "commons-logging")))
(license license:asl2.0)))
;; This is the last release of the 1.x series.
@@ -6723,7 +6719,7 @@ it records all mock invocations, including methods arguments.")
(version "4.4.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/httpcomponents/httpcore/"
(uri (string-append "mirror://apache//httpcomponents/httpcore/"
"source/httpcomponents-core-"
version "-src.tar.gz"))
(sha256
@@ -6849,7 +6845,6 @@ flexibility or functionality needed by many applications. @code{HttpClient}
seeks to fill this void by providing an efficient, up-to-date, and
feature-rich package implementing the client side of the most recent HTTP
standards and recommendations.")
(properties '((upstream-name . "httpcomponents-client")))
(license license:asl2.0)))
(define-public java-httpcomponents-httpclient-cache
@@ -8002,14 +7997,14 @@ This is a part of the Apache Commons Project.")
(define-public java-commons-text
(package
(name "java-commons-text")
(version "1.15.0")
(version "1.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/commons/text/source/"
"commons-text-" version "-src.tar.gz"))
(sha256
(base32
"0k0y3pkgrzm84a0z1ifi4b9ydaglzm9pgvaw9phxdcwmcqxjbkc8"))))
"1k99ib2dxlqxb5y94kpzf4ix8xgxz1j3n9kq3ddssqqcccsp5ik2"))))
(build-system ant-build-system)
(arguments
(list #:jar-name "java-commons-text.jar"
@@ -8857,7 +8852,7 @@ generated sources by ANTLR.")))
(inherit java-antlr4-runtime)
(name "java-antlr4-runtime-python")
(outputs '("out"))
(build-system pyproject-build-system)
(build-system python-build-system)
(arguments
(list
#:tests? #f ; tests require antlr
@@ -8866,7 +8861,7 @@ generated sources by ANTLR.")))
(add-after 'unpack 'chdir
(lambda _
(chdir "runtime/Python3"))))))
(native-inputs (list pkg-config python-setuptools))
(native-inputs (list pkg-config))
(inputs (list `(,util-linux "lib"))) ; libuuid
(synopsis "ANTLR Python runtime library")
(description "This package contains the Python runtime library used with
@@ -11567,7 +11562,6 @@ even more interesting application is the creation of classes from scratch at
run-time. The @dfn{Byte Code Engineering Library} (BCEL) may be also useful
if you want to learn about the @dfn{Java Virtual Machine} (JVM) and the format
of Java @code{.class} files.")
(properties '((upstream-name . "bcel")))
(license license:asl2.0)))
(define-public java-xerial-core
@@ -13436,7 +13430,7 @@ jsch-agent-proxy with JSch.")))
(version "2.4.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/ant/ivy/" version
(uri (string-append "mirror://apache//ant/ivy/" version
"/apache-ivy-" version "-src.tar.gz"))
(sha256
(base32

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