summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk25
-rw-r--r--gnu/packages/admin.scm15
-rw-r--r--gnu/packages/aidc.scm1
-rw-r--r--gnu/packages/algebra.scm14
-rw-r--r--gnu/packages/android.scm3
-rw-r--r--gnu/packages/assembly.scm32
-rw-r--r--gnu/packages/astronomy.scm781
-rw-r--r--gnu/packages/audio.scm74
-rw-r--r--gnu/packages/base.scm15
-rw-r--r--gnu/packages/bioinformatics.scm105
-rw-r--r--gnu/packages/bittorrent.scm55
-rw-r--r--gnu/packages/build-tools.scm31
-rw-r--r--gnu/packages/busybox.scm3
-rw-r--r--gnu/packages/c.scm10
-rw-r--r--gnu/packages/calendar.scm11
-rw-r--r--gnu/packages/check.scm343
-rw-r--r--gnu/packages/chemistry.scm90
-rw-r--r--gnu/packages/cluster.scm4
-rw-r--r--gnu/packages/cmake.scm98
-rw-r--r--gnu/packages/code.scm400
-rw-r--r--gnu/packages/commencement.scm1
-rw-r--r--gnu/packages/compression.scm79
-rw-r--r--gnu/packages/containers.scm58
-rw-r--r--gnu/packages/cpp.scm284
-rw-r--r--gnu/packages/cran.scm4
-rw-r--r--gnu/packages/crates-tls.scm2
-rw-r--r--gnu/packages/databases.scm128
-rw-r--r--gnu/packages/datastructures.scm3
-rw-r--r--gnu/packages/diffoscope.scm4
-rw-r--r--gnu/packages/disk.scm16
-rw-r--r--gnu/packages/django.scm89
-rw-r--r--gnu/packages/documentation.scm1
-rw-r--r--gnu/packages/dotnet.scm10
-rw-r--r--gnu/packages/ebook.scm7
-rw-r--r--gnu/packages/education.scm9
-rw-r--r--gnu/packages/electronics.scm119
-rw-r--r--gnu/packages/elf.scm13
-rw-r--r--gnu/packages/emacs-xyz.scm327
-rw-r--r--gnu/packages/emulators.scm620
-rw-r--r--gnu/packages/engineering.scm558
-rw-r--r--gnu/packages/fcitx5.scm4
-rw-r--r--gnu/packages/fediverse.scm60
-rw-r--r--gnu/packages/file-systems.scm49
-rw-r--r--gnu/packages/finance.scm9
-rw-r--r--gnu/packages/fluidplug.scm480
-rw-r--r--gnu/packages/fonts.scm7
-rw-r--r--gnu/packages/fontutils.scm128
-rw-r--r--gnu/packages/fpga.scm9
-rw-r--r--gnu/packages/freedesktop.scm2
-rw-r--r--gnu/packages/game-development.scm214
-rw-r--r--gnu/packages/games.scm400
-rw-r--r--gnu/packages/gdb.scm2
-rw-r--r--gnu/packages/geo.scm105
-rw-r--r--gnu/packages/gl.scm15
-rw-r--r--gnu/packages/glib.scm24
-rw-r--r--gnu/packages/gnome.scm160
-rw-r--r--gnu/packages/gnucash.scm3
-rw-r--r--gnu/packages/gnuzilla.scm113
-rw-r--r--gnu/packages/golang-xyz.scm99
-rw-r--r--gnu/packages/gps.scm7
-rw-r--r--gnu/packages/graph.scm8
-rw-r--r--gnu/packages/graphics.scm52
-rw-r--r--gnu/packages/gtk.scm8
-rw-r--r--gnu/packages/guile-xyz.scm71
-rw-r--r--gnu/packages/hardware.scm20
-rw-r--r--gnu/packages/hexedit.scm24
-rw-r--r--gnu/packages/hyperledger.scm3
-rw-r--r--gnu/packages/i2p.scm3
-rw-r--r--gnu/packages/icu4c.scm4
-rw-r--r--gnu/packages/idutils.scm5
-rw-r--r--gnu/packages/image-processing.scm665
-rw-r--r--gnu/packages/image-viewers.scm18
-rw-r--r--gnu/packages/image.scm78
-rw-r--r--gnu/packages/inkscape.scm13
-rw-r--r--gnu/packages/instrumentation.scm9
-rw-r--r--gnu/packages/irc.scm3
-rw-r--r--gnu/packages/jami.scm1
-rw-r--r--gnu/packages/jupyter.scm6
-rw-r--r--gnu/packages/kde-frameworks.scm101
-rw-r--r--gnu/packages/kde-games.scm126
-rw-r--r--gnu/packages/kde-internet.scm116
-rw-r--r--gnu/packages/kde-multimedia.scm21
-rw-r--r--gnu/packages/kde-office.scm5
-rw-r--r--gnu/packages/kde-pim.scm20
-rw-r--r--gnu/packages/kde-plasma.scm79
-rw-r--r--gnu/packages/kde-systemtools.scm17
-rw-r--r--gnu/packages/kde-utils.scm54
-rw-r--r--gnu/packages/kde.scm56
-rw-r--r--gnu/packages/libftdi.scm1
-rw-r--r--gnu/packages/librewolf.scm12
-rw-r--r--gnu/packages/libusb.scm37
-rw-r--r--gnu/packages/lighting.scm36
-rw-r--r--gnu/packages/linux.scm130
-rw-r--r--gnu/packages/lirc.scm6
-rw-r--r--gnu/packages/lisp-xyz.scm39
-rw-r--r--gnu/packages/lisp.scm3
-rw-r--r--gnu/packages/llvm.scm115
-rw-r--r--gnu/packages/lout.scm24
-rw-r--r--gnu/packages/lua.scm1
-rw-r--r--gnu/packages/machine-learning.scm167
-rw-r--r--gnu/packages/magic-wormhole.scm48
-rw-r--r--gnu/packages/mail.scm42
-rw-r--r--gnu/packages/man.scm5
-rw-r--r--gnu/packages/markup.scm5
-rw-r--r--gnu/packages/maths.scm135
-rw-r--r--gnu/packages/messaging.scm133
-rw-r--r--gnu/packages/mold.scm7
-rw-r--r--gnu/packages/mp3.scm5
-rw-r--r--gnu/packages/mpi.scm9
-rw-r--r--gnu/packages/music.scm174
-rw-r--r--gnu/packages/ncurses.scm27
-rw-r--r--gnu/packages/networking.scm73
-rw-r--r--gnu/packages/ninja.scm101
-rw-r--r--gnu/packages/notcurses.scm7
-rw-r--r--gnu/packages/openbox.scm28
-rw-r--r--gnu/packages/opencl.scm4
-rw-r--r--gnu/packages/opencog.scm135
-rw-r--r--gnu/packages/openpgp.scm1
-rw-r--r--gnu/packages/openstack.scm1192
-rw-r--r--gnu/packages/package-management.scm34
-rw-r--r--gnu/packages/pantheon.scm4
-rw-r--r--gnu/packages/parallel.scm4
-rw-r--r--gnu/packages/password-utils.scm7
-rw-r--r--gnu/packages/patches/bloomberg-bde-cmake-module-path.patch14
-rw-r--r--gnu/packages/patches/brasero-fix-gcc-14-build-failure.patch76
-rw-r--r--gnu/packages/patches/busybox-no-cbq.patch56
-rw-r--r--gnu/packages/patches/cmake-curl-certificates-3.24.patch21
-rw-r--r--gnu/packages/patches/dolphin-emu-data.patch15
-rw-r--r--gnu/packages/patches/dolphin-emu-unbundle-tinygltf.patch80
-rw-r--r--gnu/packages/patches/dolphin-emu-unbundle-watcher.patch50
-rw-r--r--gnu/packages/patches/fenics-dolfin-integer-types.patch29
-rw-r--r--gnu/packages/patches/freerdp-3.16.0-rpath.patch21
-rw-r--r--gnu/packages/patches/itk-snap-alt-glibc-compat.patch22
-rw-r--r--gnu/packages/patches/kiwix-desktop-newer-libkiwix.patch40
-rw-r--r--gnu/packages/patches/libretro-dolphin-emu-gc-font-tool.patch17
-rw-r--r--gnu/packages/patches/libretro-dolphin-emu-libusb-assert.patch33
-rw-r--r--gnu/packages/patches/libretro-dolphin-emu-vulkan-headers.patch16
-rw-r--r--gnu/packages/patches/libssh-openssh-banner.patch61
-rw-r--r--gnu/packages/patches/llvm-13-gcc-14.patch10
-rw-r--r--gnu/packages/patches/procmail-gcc-14.patch268
-rw-r--r--gnu/packages/patches/prusa-slicer-add-cmake-module.patch49
-rw-r--r--gnu/packages/patches/prusa-slicer-fix-tests.patch17
-rw-r--r--gnu/packages/patches/psm2-compile-ctor-without-avx.patch8
-rw-r--r--gnu/packages/patches/rocclr-5.6.0-enable-gfx800.patch44
-rw-r--r--gnu/packages/patches/rocm-bandwidth-test-5.5.0-fix-includes.patch79
-rw-r--r--gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch56
-rw-r--r--gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch25
-rw-r--r--gnu/packages/patches/sajson-for-gemmi-numbers-as-strings.patch14
-rw-r--r--gnu/packages/patches/serious-sam-classic-engine-patch-paths.patch582
-rw-r--r--gnu/packages/patches/sourcetrail-fix-cmakelists-and-paths.patch101
-rw-r--r--gnu/packages/pdf.scm19
-rw-r--r--gnu/packages/perl-maths.scm5
-rw-r--r--gnu/packages/photo.scm11
-rw-r--r--gnu/packages/plotutils.scm2
-rw-r--r--gnu/packages/popt.scm3
-rw-r--r--gnu/packages/potassco.scm4
-rw-r--r--gnu/packages/prolog.scm4
-rw-r--r--gnu/packages/python-check.scm50
-rw-r--r--gnu/packages/python-compression.scm3
-rw-r--r--gnu/packages/python-graphics.scm2
-rw-r--r--gnu/packages/python-science.scm67
-rw-r--r--gnu/packages/python-web.scm106
-rw-r--r--gnu/packages/python-xyz.scm299
-rw-r--r--gnu/packages/qt.scm73
-rw-r--r--gnu/packages/radio.scm134
-rw-r--r--gnu/packages/rdesktop.scm58
-rw-r--r--gnu/packages/rdf.scm3
-rw-r--r--gnu/packages/regex.scm7
-rw-r--r--gnu/packages/rocm.scm145
-rw-r--r--gnu/packages/ruby-xyz.scm4
-rw-r--r--gnu/packages/samba.scm34
-rw-r--r--gnu/packages/scheme.scm4
-rw-r--r--gnu/packages/sdl.scm31
-rw-r--r--gnu/packages/security-token.scm7
-rw-r--r--gnu/packages/serialization.scm133
-rw-r--r--gnu/packages/shells.scm28
-rw-r--r--gnu/packages/simulation.scm3
-rw-r--r--gnu/packages/sml.scm8
-rw-r--r--gnu/packages/squirrel.scm38
-rw-r--r--gnu/packages/ssh.scm41
-rw-r--r--gnu/packages/statistics.scm55
-rw-r--r--gnu/packages/storage.scm7
-rw-r--r--gnu/packages/sync.scm8
-rw-r--r--gnu/packages/syndication.scm2
-rw-r--r--gnu/packages/task-management.scm7
-rw-r--r--gnu/packages/tbb.scm3
-rw-r--r--gnu/packages/telephony.scm4
-rw-r--r--gnu/packages/terminals.scm6
-rw-r--r--gnu/packages/tex.scm32
-rw-r--r--gnu/packages/text-editors.scm265
-rw-r--r--gnu/packages/textutils.scm17
-rw-r--r--gnu/packages/time.scm35
-rw-r--r--gnu/packages/tls.scm36
-rw-r--r--gnu/packages/tmux.scm8
-rw-r--r--gnu/packages/tor.scm9
-rw-r--r--gnu/packages/upnp.scm4
-rw-r--r--gnu/packages/version-control.scm23
-rw-r--r--gnu/packages/video.scm20
-rw-r--r--gnu/packages/vim.scm3
-rw-r--r--gnu/packages/virtualization.scm2
-rw-r--r--gnu/packages/vnc.scm2
-rw-r--r--gnu/packages/vpn.scm12
-rw-r--r--gnu/packages/vulkan.scm15
-rw-r--r--gnu/packages/web.scm116
-rw-r--r--gnu/packages/wm.scm3
-rw-r--r--gnu/packages/xdisorg.scm21
-rw-r--r--gnu/packages/xorg.scm71
-rw-r--r--gnu/services/desktop.scm1
-rw-r--r--gnu/services/networking.scm15
-rw-r--r--gnu/tests/messaging.scm79
210 files changed, 9885 insertions, 4795 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 9ec2530b73..dd6e01c900 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -50,7 +50,7 @@
# Copyright © 2022 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
# Copyright © 2022, 2024, 2025 Remco van 't Veer <remco@remworks.net>
# Copyright © 2022, 2024, 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
-# Copyright © 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
+# Copyright © 2022, 2023, 2025 John Kehayias <john.kehayias@protonmail.com>
# Copyright © 2022 muradm <mail@muradm.net>
# Copyright © 2022 Hilton Chain <hako@ultrarare.space>
# Copyright © 2022 Alex Griffin <a@ajgrf.com>
@@ -306,6 +306,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/flashing-tools.scm \
%D%/packages/flex.scm \
%D%/packages/fltk.scm \
+ %D%/packages/fluidplug.scm \
%D%/packages/fonts.scm \
%D%/packages/fontutils.scm \
%D%/packages/fpga.scm \
@@ -1055,6 +1056,7 @@ dist_patch_DATA = \
%D%/packages/patches/bdb-4-5-configure.patch \
%D%/packages/patches/bdb-5.3-atomics-on-gcc-9.patch \
%D%/packages/patches/biboumi-cmake-ignore-git.patch \
+ %D%/packages/patches/brasero-fix-gcc-14-build-failure.patch \
%D%/packages/patches/brightnessctl-elogind-support.patch \
%D%/packages/patches/bsd-games-2.17-64bit.patch \
%D%/packages/patches/bsd-games-add-configure-config.patch \
@@ -1074,7 +1076,6 @@ dist_patch_DATA = \
%D%/packages/patches/binutils-loongson-workaround.patch \
%D%/packages/patches/binutils-mingw-w64-deterministic.patch \
%D%/packages/patches/binutils-2.41-fix-cross.patch \
- %D%/packages/patches/bloomberg-bde-cmake-module-path.patch \
%D%/packages/patches/bloomberg-bde-tools-fix-install-path.patch \
%D%/packages/patches/boolector-find-googletest.patch \
%D%/packages/patches/boost-fix-duplicate-definitions-bug.patch \
@@ -1083,6 +1084,7 @@ dist_patch_DATA = \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/bubblewrap-fix-locale-in-tests.patch \
%D%/packages/patches/busybox-add-missing-sha-NI-guard.patch \
+ %D%/packages/patches/busybox-no-cbq.patch \
%D%/packages/patches/c2rust-ast-exporter-local-search.patch \
%D%/packages/patches/cadical-add-shared-library.patch \
%D%/packages/patches/calibre-no-updates-dialog.patch \
@@ -1145,7 +1147,6 @@ dist_patch_DATA = \
%D%/packages/patches/clog-fix-shared-build.patch \
%D%/packages/patches/clucene-gcc-14.patch \
%D%/packages/patches/clucene-pkgconfig.patch \
- %D%/packages/patches/cmake-curl-certificates-3.24.patch \
%D%/packages/patches/coda-use-system-libs.patch \
%D%/packages/patches/cogl-fix-double-free.patch \
%D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
@@ -1214,7 +1215,8 @@ dist_patch_DATA = \
%D%/packages/patches/docbook2x-static-datadir-evaluation.patch \
%D%/packages/patches/doc++-include-directives.patch \
%D%/packages/patches/doc++-segfault-fix.patch \
- %D%/packages/patches/dolphin-emu-data.patch \
+ %D%/packages/patches/dolphin-emu-unbundle-tinygltf.patch \
+ %D%/packages/patches/dolphin-emu-unbundle-watcher.patch \
%D%/packages/patches/dovecot-opensslv3.patch \
%D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch \
%D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch \
@@ -1294,6 +1296,7 @@ dist_patch_DATA = \
%D%/packages/patches/fenics-dolfin-boost.patch \
%D%/packages/patches/fenics-dolfin-config-slepc.patch \
%D%/packages/patches/fenics-dolfin-hdf5-version-check.patch \
+ %D%/packages/patches/fenics-dolfin-integer-types.patch \
%D%/packages/patches/ffmpeg-add-av_stream_get_first_dts-for-chromium.patch \
%D%/packages/patches/ffmpeg-jami-change-RTCP-ratio.patch \
%D%/packages/patches/ffmpeg-jami-rtp_ext_abs_send_time.patch \
@@ -1337,6 +1340,7 @@ dist_patch_DATA = \
%D%/packages/patches/freeimage-unbundle.patch \
%D%/packages/patches/freeimage-CVE-2020-21428.patch \
%D%/packages/patches/freeimage-CVE-2020-22524.patch \
+ %D%/packages/patches/freerdp-3.16.0-rpath.patch \
%D%/packages/patches/freesolid-automake.patch \
%D%/packages/patches/freesolid-autotools.patch \
%D%/packages/patches/freesolid-configure.patch \
@@ -1632,7 +1636,6 @@ dist_patch_DATA = \
%D%/packages/patches/irrlicht-use-system-libs.patch \
%D%/packages/patches/irrlicht-link-against-needed-libs.patch \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
- %D%/packages/patches/itk-snap-alt-glibc-compat.patch \
%D%/packages/patches/jamesdsp-fix-bulid-on-pipewire-1.4.0.patch\
%D%/packages/patches/jami-disable-webengine.patch \
%D%/packages/patches/jami-enable-testing.patch \
@@ -1686,6 +1689,9 @@ dist_patch_DATA = \
%D%/packages/patches/libguestfs-syms.patch \
%D%/packages/patches/libinfinity-renew-test-certificate.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-neuter-locale-download.patch \
%D%/packages/patches/librewolf-use-system-wide-dir.patch \
@@ -1710,7 +1716,6 @@ dist_patch_DATA = \
%D%/packages/patches/kio-search-smbd-on-PATH.patch \
%D%/packages/patches/kismet-unbundle-boost.patch \
%D%/packages/patches/kitty-fix-wayland-protocols.patch \
- %D%/packages/patches/kiwix-desktop-newer-libkiwix.patch \
%D%/packages/patches/kmod-module-directory.patch \
%D%/packages/patches/kmscon-runtime-keymap-switch.patch \
%D%/packages/patches/knot-remove-runtime-deps.patch \
@@ -1782,7 +1787,6 @@ dist_patch_DATA = \
%D%/packages/patches/libsecret-fix-test-paths.patch \
%D%/packages/patches/libsepol-versioned-docbook.patch \
%D%/packages/patches/libskk-fix-invalid-escape.patch \
- %D%/packages/patches/libssh-openssh-banner.patch \
%D%/packages/patches/libtar-CVE-2013-4420.patch \
%D%/packages/patches/libtar-CVE-2021-33643-CVE-2021-33644.patch \
%D%/packages/patches/libtar-CVE-2021-33645-CVE-2021-33646.patch \
@@ -2044,7 +2048,7 @@ dist_patch_DATA = \
%D%/packages/patches/pounce-readable-checks.patch \
%D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch \
%D%/packages/patches/procps-strtod-test.patch \
- %D%/packages/patches/prusa-slicer-fix-tests.patch \
+ %D%/packages/patches/prusa-slicer-add-cmake-module.patch \
%D%/packages/patches/prusa-wxwidgets-makefile-fix.patch \
%D%/packages/patches/pthreadpool-system-libraries.patch \
%D%/packages/patches/python-3.11-fix-tests.patch \
@@ -2127,6 +2131,7 @@ dist_patch_DATA = \
%D%/packages/patches/procmail-ambiguous-getline-debian.patch \
%D%/packages/patches/procmail-CVE-2014-3618.patch \
%D%/packages/patches/procmail-CVE-2017-16844.patch \
+ %D%/packages/patches/procmail-gcc-14.patch \
%D%/packages/patches/proj-7-initialize-memory.patch \
%D%/packages/patches/proot-add-clone3.patch \
%D%/packages/patches/proot-add-missing-include.patch \
@@ -2245,8 +2250,6 @@ dist_patch_DATA = \
%D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \
%D%/packages/patches/rng-tools-revert-build-randstat.patch \
%D%/packages/patches/rocclr-5.6.0-enable-gfx800.patch \
- %D%/packages/patches/rocm-bandwidth-test-5.5.0-fix-includes.patch \
- %D%/packages/patches/rocm-comgr-3.1.0-dependencies.patch \
%D%/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch \
%D%/packages/patches/rottlog-direntry.patch \
%D%/packages/patches/ruby-actionpack-remove-browser-tests.patch \
@@ -2300,6 +2303,7 @@ dist_patch_DATA = \
%D%/packages/patches/scons-test-environment.patch \
%D%/packages/patches/scotch-cmake-remove-metis.patch \
%D%/packages/patches/screen-hurd-path-max.patch \
+ %D%/packages/patches/serious-sam-classic-engine-patch-paths.patch \
%D%/packages/patches/scsh-nonstring-search-path.patch \
%D%/packages/patches/seed-webkit.patch \
%D%/packages/patches/sendgmail-accept-ignored-gsuite-flag.patch \
@@ -2323,6 +2327,7 @@ dist_patch_DATA = \
%D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \
%D%/packages/patches/snappy-add-inline-for-GCC.patch \
%D%/packages/patches/source-highlight-gcc-compat.patch \
+ %D%/packages/patches/sourcetrail-fix-cmakelists-and-paths.patch \
%D%/packages/patches/softhsm-fix-openssl3-tests.patch \
%D%/packages/patches/spectre-meltdown-checker-externalize-fwdb.patch \
%D%/packages/patches/sphinxbase-fix-doxygen.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 0c0139e10f..7012b5dd3b 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -2105,6 +2105,9 @@ through the network interface controller.")
(base32
"1855np7c4b0bqzhf1l1dyzxb90fpnvrirdisajhci5am6als31z9"))))
(build-system gnu-build-system)
+ (arguments
+ (list #:configure-flags
+ #~'("CFLAGS=-O2 -g -Wno-implicit-function-declaration")))
(native-inputs
(list pkg-config))
(inputs
@@ -2686,16 +2689,20 @@ command.")
(build-system qt-build-system)
(arguments
(list
+ #:tests? #f ; no tests
;; Make sure the (rarely updated) package 'imagemagick/stable'
;; does not end up in the closure.
#:disallowed-references (list imagemagick/stable)
- #:test-target "check"
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "wpa_supplicant/wpa_gui-qt4")))
(replace 'configure
(lambda _ (invoke "qmake" "wpa_gui.pro")))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
(add-after 'build 'build-icons
(lambda _
;; Inkscape complains (but works) without a writable $HOME.
@@ -3446,7 +3453,7 @@ limits.")
(define-public corectrl
(package
(name "corectrl")
- (version "1.4.3")
+ (version "1.4.5")
(source
(origin
(method git-fetch)
@@ -3455,7 +3462,7 @@ limits.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0qpc04xxzv4jbqqlraqriipix4ph7bm1hfiry807jjp668i9n25d"))
+ (base32 "1gnqybf3s0bsm3qsbc6rd1spw09vxd417gn3hb6hflsj6377qfcb"))
(patches (search-patches "corectrl-polkit-install-dir.patch"))))
(build-system qt-build-system)
(arguments
@@ -3486,7 +3493,7 @@ limits.")
"\"" (search-input-file inputs "bin/glxinfo") "\""))))))))
;; Text formatting only supported since C++20, which is available in gcc-13.
;; https://en.cppreference.com/w/cpp/compiler_support#cpp_lib_format_201907L
- (native-inputs (list catch2-3
+ (native-inputs (list catch2-3.8
pkg-config
qttools-5))
(inputs (list dbus
diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm
index 24738a4c01..d8aa9ab2f9 100644
--- a/gnu/packages/aidc.scm
+++ b/gnu/packages/aidc.scm
@@ -68,6 +68,7 @@
(build-system qt-build-system)
(arguments
(list #:qtbase qtbase
+ #:parallel-tests? #f
#:configure-flags
#~(list "-DZINT_QT6=ON"
"-DZINT_TEST=ON"
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index ae90542fd7..83572e2fc6 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -152,7 +152,7 @@ greatest common divisor operations.")
(define-public cm
(package
(name "cm")
- (version "0.4.3")
+ (version "0.4.4")
(source (origin
(method url-fetch)
(uri (string-append
@@ -160,7 +160,7 @@ greatest common divisor operations.")
version ".tar.gz"))
(sha256
(base32
- "01dha0hl0daappjiydpk4ngl9nxkxli6a48jp6d7v85yjjykac5j"))))
+ "0zkdl4cka32jclhajm7wdpkyzjq1335l58janjisv88a1di9gyy6"))))
(build-system gnu-build-system)
(propagated-inputs
(list mpfrcx zlib)) ; Header files included from lib/cm.h.
@@ -831,8 +831,7 @@ cosine/ sine transforms or DCT/DST).")
;; See: https://fftw.org/release-notes.html
(name "fftw-cmake")
(build-system cmake-build-system)
- (arguments (default-keyword-arguments '()
- '()))
+ (arguments '(#:tests? #f))
(description (string-append (package-description fftw)
" This CMake build offers the file
FFTW3LibraryDepends.cmake required by some dependent packages, absent in the
@@ -1202,7 +1201,8 @@ features, and more.")
(inherit eigen)
(name "eigen-benchmarks")
(arguments
- '(#:phases (modify-phases %standard-phases
+ '(#:tests? #f ; no tests
+ #:phases (modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* (#:key outputs #:allow-other-keys)
@@ -1285,9 +1285,7 @@ features, and more.")
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
- (list
- #:configure-flags #~(list "-DBUILD_TESTS=ON")
- #:test-target "xtest"))
+ (list #:configure-flags #~(list "-DBUILD_TESTS=ON")))
(native-inputs
(list doctest
googletest
diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index 20ed472292..f804f98a0f 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -123,7 +123,8 @@ use their packages mostly unmodified in our Android NDK build system.")
(base32
"0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399"))))
(arguments
- `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")
+ `(#:tests? #f
+ #:configure-flags '("-DBUILD_SHARED_LIBS=ON")
#:phases
(modify-phases %standard-phases
(add-after 'install 'install-host-libraries
diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm
index 572ad705d5..c76f55127c 100644
--- a/gnu/packages/assembly.scm
+++ b/gnu/packages/assembly.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2016, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2020, 2021, 2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017–2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
;;; Copyright © 2019, 2022, 2024 Andy Tai <atai@atai.org>
@@ -374,38 +374,33 @@ It has macro abilities and focuses on operating system portability.")
(define-public dev86
(package
(name "dev86")
- (version "0.16.21")
+ (version "1.0.1")
(source (origin
- (method url-fetch)
- (uri (string-append "http://v3.sk/~lkundrak/dev86/Dev86src-"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/jbruchon/dev86.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "154dyr2ph4n0kwi8yx0n78j128kw29rk9r9f7s2gddzrdl712jr3"))))
+ "1g2zsa1cj6h7n33hjpr9xbvsxihkhya3aa92b1cv8prl4w8svqy5"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; They use submakes wrong
#:make-flags (list ,(string-append "CC=" (cc-for-target))
+ ,(string-append "VERSION=" version)
(string-append "PREFIX="
(assoc-ref %outputs "out")))
- #:system "i686-linux" ; Standalone ld86 had problems otherwise
#:tests? #f ; No tests exist
#:phases
(modify-phases %standard-phases
- (delete 'configure)
- (add-before 'install 'mkdir
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (mkdir-p (string-append out "/bin"))
- (mkdir-p (string-append out "/man/man1"))
- #t))))))
+ (delete 'configure))))
(synopsis "Intel 8086 (primarily 16-bit) assembler, C compiler and
linker")
(description "This package provides a Intel 8086 (primarily 16-bit)
assembler, a C compiler and a linker. The assembler uses Intel syntax
(also Intel order of operands).")
- (home-page "https://github.com/jbruchon/dev86")
- (supported-systems '("i686-linux" "x86_64-linux"))
+ (home-page "https://codeberg.org/jbruchon/dev86")
(license license:gpl2+)))
(define-public libjit
@@ -752,10 +747,9 @@ files.")
(build-system cmake-build-system)
(arguments
(list
- #:tests? #f
+ #:tests? #f ;; XXX: insists on using bundled googletest
#:configure-flags
- #~(list "-DBUILD_TESTING=off" ;; XXX: insists on using bundled googletest
- "-DBUILD_SHARED_LIBS=ON"
+ #~(list "-DBUILD_SHARED_LIBS=ON"
#$@(let ((target (%current-target-system)))
(if target
(cond ((string-prefix? "arm" target)
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 16752367be..4c963c9c91 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -42,6 +42,7 @@
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
+ #:use-module (gnu packages c)
#:use-module (gnu packages certs)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
@@ -51,6 +52,7 @@
#:use-module (gnu packages documentation)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
#:use-module (gnu packages geo)
#:use-module (gnu packages gettext)
@@ -353,7 +355,7 @@ moment, supported SPICE files are:
(define-public calcmysky
(package
(name "calcmysky")
- (version "0.3.4")
+ (version "0.3.5")
(source
(origin
(method git-fetch)
@@ -362,7 +364,7 @@ moment, supported SPICE files are:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0blp1w1bghskfi0ysds51r2a7nvvjc9yqp5nlf8l3gciig97nhdg"))))
+ (base32 "03h93jxpxfa7gy4z3pvh8xy60z2f5n5id9k2wkzmf81zrvakbvgv"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags
@@ -434,7 +436,6 @@ rendering of the atmosphere model and examine its properties.
#:configure-flags
#~(list "-DBUILD_PYTHON3=ON"
"-DBUILD_PYTHON=OFF"
- "-DBUILD_TESTING=TRUE"
"-DUSE_HDF5=ON"
"-DUSE_OPENMP=OFF"
"-DUSE_THREADS=ON"
@@ -1359,14 +1360,16 @@ standard astronomy libraries:
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "PREFIX=" #$output))
- #:test-target "test"
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
- (add-before 'check 'pre-check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (chdir "../source")
- (setenv "CC" #$(cc-for-target))))))))
+ (replace 'check
+ (lambda* (#:rest args)
+ (with-directory-excursion "../source"
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "test" args)))))))
(native-inputs
(list python-wrapper))
(home-page "https://github.com/kbarbary/sep")
@@ -1809,13 +1812,13 @@ Main features:
(define-public python-asdf
(package
(name "python-asdf")
- (version "4.2.0")
+ (version "4.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "asdf" version))
(sha256
- (base32 "1xvcli823yqnyylxs817l36w1x9223j1y00f20hfp3g1rl80m86b"))))
+ (base32 "0z88vzk3z9cdfafv8rbw4l6kz6panxamd21zafs6hj0w3zxpa7cn"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -1921,8 +1924,8 @@ Astropy objects.")
(define-public python-asdf-compression
;; TODO: No release, change to tag when it's ready.
- (let ((commit "68ed09f670a9f1c5f81b3db88ef594e87bdbc9fd")
- (revision "2"))
+ (let ((commit "579c153a453dc0d650f2cca01d2c5dae0dc02051")
+ (revision "3"))
(package
(name "python-asdf-compression")
(version (git-version "0.0.1" revision commit))
@@ -1934,7 +1937,7 @@ Astropy objects.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "0644hn0pris8f872rbb5bklsw2ialryf4sicwshgjs3zcsyxnjf8"))))
+ (base32 "03cq4x40xy5micipg4qp2j0v1h6hxqrrzpzyjybm6j82zi92c770"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -1946,7 +1949,7 @@ Astropy objects.")
(native-inputs
(list python-numpy
python-pytest
- python-setuptools
+ python-setuptools-next
python-setuptools-scm
python-wheel))
(propagated-inputs
@@ -2512,13 +2515,13 @@ astronomy and astrophysics.")
(define-public python-astropy-iers-data
(package
(name "python-astropy-iers-data")
- (version "0.2025.6.16.0.38.47")
+ (version "0.2025.7.21.0.41.39")
(source
(origin
(method url-fetch)
(uri (pypi-uri "astropy_iers_data" version))
(sha256
- (base32 "08bifygdnifcmrk3wqn8k0fi31mj8j3zxak9r70sbf06cnbq9jaq"))))
+ (base32 "14qa0h3jx5iawmb0cpwak1wna0jhjsi18zm4wmdicyb9kly7b0p4"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ; no tests
@@ -2796,13 +2799,13 @@ Origins Spectrograph}.")
(define-public python-camb
(package
(name "python-camb")
- (version "1.6.0")
+ (version "1.6.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "camb" version))
(sha256
- (base32 "1aqafmc7qf11jwc3y418hsx27m48gd9mb98097kr3db0gylkvxxb"))))
+ (base32 "1h9zdfsk14vx8hwpsvgs351cid1waggd47hj0yhy69djz935rgq5"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -2817,7 +2820,7 @@ Origins Spectrograph}.")
(native-inputs
(list gfortran
python-packaging
- python-setuptools
+ python-setuptools-next
python-wheel
which)) ; for fortran/Makefile
(propagated-inputs
@@ -2908,13 +2911,13 @@ astronomy library.")
(define-public python-ccdproc
(package
(name "python-ccdproc")
- (version "2.4.3")
+ (version "2.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ccdproc" version))
(sha256
- (base32 "1crc565n0x1krd59cjm2vnmzyi0p83yc8vpxq6hldj7vdnqgl8yq"))))
+ (base32 "1ymx9ssapv52m6flfvlhgjnvwmqdgv1qimyjvci8w66k9j4446q5"))))
(build-system pyproject-build-system)
(native-inputs
(list python-hatch-vcs
@@ -3103,6 +3106,66 @@ monochromatic sequential colormaps like @code{blue}, @code{green}, and
@code{red}, and others (@code{algae}, @code{pastel}, and @code{xray}).")
(license license:bsd-3)))
+(define-public python-cobaya
+ (package
+ (name "python-cobaya")
+ (version "3.5.7")
+ (source
+ (origin
+ (method git-fetch) ;no tests in pypi release
+ (uri (git-reference
+ (url "https://github.com/CobayaSampler/cobaya")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "17ccka051lknv05dlr1wfb2ha2qj27av2q2s6ir2vrcgx5c2szfp"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ ;; Test options were taken from GitHub action workflow.
+ #~(list "--no-flaky-report"
+ "--numprocesses" (number->string (parallel-job-count))
+ "--skip-not-installed"
+ "-k" "not test_planck_NPIPE_p_CamSpec_camb_install and not test_grid"
+ "tests")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ (setenv "HOME" "/tmp")
+ (setenv "COBAYA_PACKAGES_PATH" "/tmp"))))))
+ (native-inputs
+ (list python-flaky
+ python-pytest
+ python-pytest-xdist
+ python-setuptools
+ python-wheel))
+ (propagated-inputs
+ (list python-dill
+ python-fuzzywuzzy
+ python-getdist
+ python-numpy
+ python-packaging
+ python-pandas
+ python-portalocker
+ python-py-bobyqa
+ python-pyyaml
+ python-scipy
+ python-tqdm
+ python-typing-extensions))
+ (home-page "https://github.com/CobayaSampler/cobaya")
+ (synopsis "Code for Bayesian analysis in Cosmology")
+ (description
+ "@acronym{Cobaya, COde for BAYesian Analysis}, and Spanish for Guinea
+Pig) is a framework for sampling and statistical modelling: it allows you to
+explore an arbitrary prior or posterior using a range of Monte Carlo
+samplers (including the advanced MCMC sampler from CosmoMC, and the advanced
+nested sampler PolyChord). The results of the sampling can be analysed with
+GetDist. It supports MPI parallelization (and very soon HPC containerization
+with Docker/Shifter and Singularity).")
+ (license license:lgpl3+)))
+
(define-public python-colossus
;; There is no source distribution in PyPI and no version tags, use the
;; commit pointing to the version 1.3.8.
@@ -3251,13 +3314,13 @@ Spectrograph}.")
(define-public python-crds
(package
(name "python-crds")
- (version "12.1.10")
+ (version "12.1.11")
(source
(origin
(method url-fetch)
(uri (pypi-uri "crds" version))
(sha256
- (base32 "07nahxxnw89l8lk8grampdni46a3l52098qdf5vkcfqs1kkq80wz"))))
+ (base32 "1h4n5wyv23pa1fld2nfqph6app8zxb8zkzv5p1w6dm11n7zbnxih"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -3330,7 +3393,7 @@ files and provide related services.")
(define-public python-czml3
(package
(name "python-czml3")
- (version "2.3.4")
+ (version "2.3.5")
(source
(origin
(method git-fetch)
@@ -3341,7 +3404,7 @@ files and provide related services.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1ws26kx975c48s6zzj57fyi1d0aiv0arxcrb4hg7jdvhrcyh3nlk"))))
+ (base32 "1c2nw1rdllla76z8gkfv2a1dqc302cayhhkqn3xn4b0vgsn1z1k2"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
@@ -3365,13 +3428,13 @@ Cesium.")
(define-public python-dkist
(package
(name "python-dkist")
- (version "1.13.0")
+ (version "1.14.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "dkist" version))
(sha256
- (base32 "07mnm9fl6igbhblg4dihg5w187n6ily5aglg40qjxl6yvxr63b2x"))))
+ (base32 "061hgrg69cpnn2j6gaivjbkxwiz6rpmyf6igxq58h82g4r7yl6ya"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -3416,7 +3479,7 @@ Cesium.")
python-sunpy
python-tqdm))
(home-page "https://github.com/DKISTDC/dkist")
- (synopsis "Library for obtaining, processing and interacting with calibrated DKIST data")
+ (synopsis "Obtaining, processing and interacting with calibrated DKIST data")
(description
"The @acronym{DKIST, Daniel K. Inouye Solar Telescope} package aims to
help you search, obtain and use DKIST data as part of your Python software.")
@@ -3425,16 +3488,16 @@ help you search, obtain and use DKIST data as part of your Python software.")
(define-public python-drizzle
(package
(name "python-drizzle")
- (version "2.0.1")
+ (version "2.1.0")
(source
(origin
- (method git-fetch) ;PyPi doesn't have the test data sets
+ (method git-fetch) ;no test data in PyPI archive
(uri (git-reference
(url "https://github.com/spacetelescope/drizzle")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "113fqr87glqkvh4szqvbv0b6brr3bwp4d65qy1r1q4b90318p2zf"))))
+ (base32 "1adp5bhzgrw0csn5wvpij7hzm5wh3zr4nkvpq0a8lb93ifk6k5gh"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -3451,7 +3514,7 @@ help you search, obtain and use DKIST data as part of your Python software.")
(list python-astropy-minimal
python-gwcs
python-pytest
- python-setuptools
+ python-setuptools-next
python-setuptools-scm
python-wheel))
(propagated-inputs
@@ -3886,31 +3949,32 @@ pick/FWHM, thumbnails, etc.")
(define-public python-glue-astronomy
(package
(name "python-glue-astronomy")
- (version "0.11.0")
+ (version "0.12.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "glue_astronomy" version))
(sha256
- (base32 "0qaaf3n69ird5b00igkxnwyh80nvwffvfmaz7gbkavxnf6km940p"))))
+ (base32 "0b65kybnknrnz1nh1kjvsh9k9smia0gyigwn5rc3zrg1qys3wlk4"))))
(build-system pyproject-build-system)
(arguments
(list
+ ;; 77 passed, 3 deselected
#:test-flags
#~(list "--pyargs" "glue_astronomy"
- ;; XXX: Findout why these tests fail to load:
- ;; E ModuleNotFoundError: No module named 'glue.qglue'
- ;; E ImportError: cannot import name 'make_2dspec_image' from
- ;; 'specreduce.utils.synth_data'
- "--ignore=glue_astronomy/io/spectral_cube/tests/test_spectral_cube.py"
- "--ignore=glue_astronomy/io/spectral_cube/tests/test_spectral_cube.py"
- "--ignore=glue_astronomy/translators/tests/test_trace.py"
- "--ignore=glue_astronomy/translators/tests/test_trace.py"
- ;; This is a Numpy DeprecationWarning, remove it on next update.
- "-k" "not test_spectral_cube_io")))
+ "-k" (string-join
+ ;; Not equal to tolerance rtol=1e-07, atol=0
+ (list "not test_from_spectrum1d[wcs3d]"
+ ;; ValueError: WCS is 1D but flux is
+ ;; multi-dimensional. Please specify
+ ;; spectral_axis_index.
+ "test_spectrum1d_2d_data[2]"
+ "test_spectrum1d_2d_data[3]")
+ " and not "))))
(propagated-inputs
(list python-astropy
python-glue-core
+ python-glue-qt
python-regions
python-specreduce
python-spectral-cube
@@ -4099,13 +4163,13 @@ specifically pulsar timing array signals.")
(define-public python-gwcs
(package
(name "python-gwcs")
- (version "0.24.0")
+ (version "0.25.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "gwcs" version))
(sha256
- (base32 "0q3f2rnl4d1p98kypr1jfkajwih22sbx3smn492yf9dbj92bv1v3"))))
+ (base32 "0zr2mmad7qk1almw3kc3xqdhfkxbjg7yfc5a9cif4l0m8r11gr0x"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -4120,7 +4184,8 @@ specifically pulsar timing array signals.")
(list python-pytest
python-pytest-astropy
python-pyyaml
- python-setuptools-scm
+ python-setuptools-next
+ python-setuptools-scm-next
python-wheel))
(propagated-inputs
(list python-asdf
@@ -4276,6 +4341,67 @@ is based on the Hierarchical Equal Area isoLatitude Pixelization (HEALPix)
scheme and builds with the HEALPix C++ library.")
(license license:gpl2+)))
+(define-public python-hierarc
+ (package
+ (name "python-hierarc")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch) ;no tests data in the PyPI archive
+ (uri (git-reference
+ (url "https://github.com/sibirrer/hierArc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "02078a745hrb3m8fj739rwzk4wwxrfk40sr4yvs722aj5xk8j00w"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ ;; Some tests are computation intensive and not thread safe, failing
+ ;; during parallel invocation:
+ ;; 109 passed, 32 deselected, 43 warnings in 634.59s
+ #~(list "--durations" "5"
+ ;; AttributeError: 'LambdaCDM' object has no attribute '_Ok0'.
+ "-k" (string-join
+ (list "not test_cosmo_instance"
+ "test_kde_likelihood_integration"
+ "test_log_likelihood"
+ "test_mcmc_emcee"
+ "test_sne_likelihood_integration")
+ " and not "))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; RuntimeError: cannot cache function 'rotate': no locator
+ ;; available for file '<...>/lenstronomy/Util/util.py'.
+ (setenv "NUMBA_CACHE_DIR" "/tmp"))))))
+ (native-inputs
+ (list python-pytest
+ python-setuptools
+ python-wheel))
+ (propagated-inputs
+ (list python-astropy
+ python-emcee
+ python-h5py
+ python-lenstronomy
+ python-matplotlib
+ python-mpmath
+ python-numpy
+ python-pandas
+ python-scikit-learn
+ python-scipy))
+ (home-page "https://github.com/sibirrer/hierarc")
+ (synopsis "Hierarchical analysis of strong lensing systems")
+ (description
+ "This package implements a funtionality for hierarchical analysis of
+strong lensing systems to infer lens properties and cosmological parameters
+simultaneously. It allows to fit lenses with measured time delays, imaging
+information, kinematics constraints and standardizable magnifications with
+parameters described on the ensemble level.")
+ (license license:bsd-3)))
+
(define-public python-holodeck
(package
(name "python-holodeck")
@@ -4378,13 +4504,13 @@ satellite.")
(define-public python-jwst
(package
(name "python-jwst")
- (version "1.18.1")
+ (version "1.19.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "jwst" version))
(sha256
- (base32 "1zhq9816zx0binny80blvwld8zwd52m29b8vspwr2j4nzq1ijyb5"))
+ (base32 "1bds1a8bgyac19bwr7kf6wcknkmmchji23svhr8mpciga8gm27gv"))
(modules '((guix build utils)))
(snippet
#~(begin
@@ -4409,12 +4535,8 @@ satellite.")
(add-before 'build 'relax-requirements
(lambda _
(substitute* "pyproject.toml"
- ;; stcal<1.13.0,>=1.12.0
- ((">=1.12.0,<1.13.0") "") ; main branch points to the latest commit
- ;; "stpipe>=0.8.1,<0.9.0",
- ((">=0.8.1,<0.9.0") "")
- ;; "stdatamodels>=3.0.1,<3.1.0",
- ((">=3.0.1,<3.1.0") "")
+ ;; drizzle>=2.0.1,<2.1.0
+ ((">=2.0.1,<2.1.0") ">=2.0.1")
;; scipy>=1.14.1
(("1.14.1") "1.12.0")
;; XXX: Can't detect opencv-python version. The input opencv
@@ -4432,7 +4554,7 @@ satellite.")
python-pytest-cov
python-pytest-doctestplus
python-requests-mock
- python-setuptools
+ python-setuptools-next
python-setuptools-scm
python-wheel))
(propagated-inputs
@@ -4540,6 +4662,94 @@ Telescope,JWST} from a set of input dark current files and a set of flat field
files.")
(license license:bsd-3)))
+(define-public python-lenstronomy
+ (package
+ (name "python-lenstronomy")
+ (version "1.13.2")
+ (source
+ (origin
+ (method git-fetch) ;no tests data in the PyPI tarball
+ (uri (git-reference
+ (url "https://github.com/lenstronomy/lenstronomy")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0j0qc8vw53n9sg5yncilkfd6n5s2jixrm83an0q1gv2m2yk5dsn7"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "--numprocesses" (number->string (parallel-job-count))
+ ;; TypeError: SparseSolverBase.__init__() got an
+ ;; unexpected keyword argument 'num_iter_lens'
+ "--ignore=test/test_ImSim/test_image_model_pixelbased.py"
+ "-k" (string-join
+ ;; AttributeError: 'FlatLambdaCDM' object has no attribute '_Ok0'
+ (list "not test_angular_diameter_distance"
+ "test_angular_diameter_distance_array"
+ "test_angular_diameter_distance_z1z2"
+ "test_geo_shapiro_delay"
+ "test_interpol"
+ "test_set_T_ij_stop"
+ "test_update_source_redshift"
+ ;; FileNotFoundError: [Errno 2] No such file or
+ ;; directory: '/tmp/.../coolest_template.json'
+ "test_full"
+ "test_load"
+ "test_pemd"
+ "test_pemd_via_epl"
+ "test_raise"
+ "test_update"
+ ;; _flapack.error: (liwork>=max(1,10*n)||liwork==-1)
+ ;; failed for 10th keyword liwork: dsyevr:liwork=1
+ "test_sampler"
+ ;; TypeError: SLIT_Starlets.function_2d() got an
+ ;; unexpected keyword argument 'n_pix_x'
+ "test_pixelbased_modelling"
+ ;; AssertionError: Arrays are not almost equal to 1
+ ;; decimals ACTUAL: 0.8382375738251702
+ "test_run_fit")
+ " and not "))))
+ (native-inputs
+ (list python-colossus
+ ;; python-nestcheck
+ ;; python-pymultinest
+ ;; python-starred-astro
+ python-coolest
+ python-pytest
+ python-pytest-xdist))
+ (propagated-inputs
+ (list python-astropy
+ python-cobaya
+ python-configparser
+ python-corner
+ python-dynesty
+ python-emcee
+ python-h5py
+ python-matplotlib
+ python-mpmath
+ python-multiprocess
+ python-nautilus-sampler
+ python-numba
+ python-numpy
+ python-pyxdg
+ python-pyyaml
+ python-schwimmbad
+ python-scikit-image
+ python-scikit-learn
+ python-scipy
+ python-slitronomy
+ python-zeus-mcmc))
+ (home-page "https://github.com/lenstronomy/lenstronomy")
+ (synopsis "Multi-purpose lens modeling software")
+ (description
+ "@code{lenstronomy} is a multi-purpose software package to model strong
+gravitational lenses. @code{lenstronomy} finds application for time-delay
+cosmography and measuring the expansion rate of the Universe, for quantifying
+lensing substructure to infer dark matter properties, morphological
+quantification of galaxies, quasar-host galaxy decomposition and much more.")
+ (license license:bsd-3)))
+
(define-public python-libstempo
(package
(name "python-libstempo")
@@ -4583,6 +4793,40 @@ files.")
pulsar timing tool.")
(license license:expat)))
+(define-public python-linetools
+ (package
+ (name "python-linetools")
+ (version "0.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "linetools" version))
+ (sha256
+ (base32 "1nljcaz0r60wvsy5dwb040wll2dd764dvib5xzkpc59cbw5lz85h"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-pytest-astropy
+ python-pytest-cov
+ python-setuptools
+ python-setuptools-scm
+ python-wheel))
+ (propagated-inputs
+ (list python-astropy
+ python-h5py
+ python-ipython
+ python-matplotlib
+ python-numpy
+ python-pyyaml
+ python-qtpy
+ python-scipy))
+ (home-page "http://linetools.readthedocs.org/")
+ (synopsis "Quasar and galaxy spectra 1-D analysis tool")
+ (description
+ "This package implements a functionality for analysing absorption and
+emission lines in 1-D spectra, especially galaxy and quasar spectra.")
+ (license license:bsd-3)))
+
(define-public python-lofar-h5plot
(package
(name "python-lofar-h5plot")
@@ -4724,13 +4968,13 @@ on:
(define-public python-mpl-animators
(package
(name "python-mpl-animators")
- (version "1.2.3")
+ (version "1.2.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "mpl_animators" version))
(sha256
- (base32 "15zsi9apfdj6csr3vpvcw9972xr7036nw6smiwfy0n514l1xh3b1"))))
+ (base32 "1lwh16f5dilnxjnchw2l2pz7iz3dby7ij6z0l7v3fm6aqhk6fwrg"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -4807,6 +5051,7 @@ Carlo.")
(build-system pyproject-build-system)
(arguments
(list
+ ;; 393 passed, 7 skipped, 31 deselected, 10 xfailed
#:test-flags
#~(list "--numprocesses" (number->string (parallel-job-count))
"-k" (string-join
@@ -4818,7 +5063,10 @@ Carlo.")
;; Introduced with astropy 6.1.3, see
;; <https://github.com/sunpy/ndcube/issues/758>.
"test_2d[celestial_2d_ape14_wcs]"
- "test_2d[celestial_2d_fitswcs]")
+ "test_2d[celestial_2d_fitswcs]"
+ ;; XXX: Not sure why it fails: ValueError: Too many input
+ ;; arguments - expected 1, got 2.
+ "test_slice_drop_dimensions")
" and not "))
#:phases
#~(modify-phases %standard-phases
@@ -5025,6 +5273,61 @@ position-frequency slice.")
(list python-setuptools
python-wheel)))))
+(define-public python-pyhalo
+ (package
+ (name "python-pyhalo")
+ (version "1.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyhalo" version))
+ (sha256
+ (base32 "06zdcr82fzzn6zkjralmv9qv7qjyjkni1p1rg60bvl8h013v3xp6"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; ValueError: The truth value of an array with more than one element is
+ ;; ambiguous. Use a.any() or a.all()
+ #:test-flags #~(list "-k" "not test_vmax")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-setupup.py
+ ;; XXX: ModuleNotFoundError: No module named 'pyHalo.cli'.
+ (lambda _
+ (substitute* "setup.py"
+ ((".pyHalo=pyHalo.cli:main.*") ""))))
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; RuntimeError: cannot cache function 'rotate': no locator
+ ;; available for file '<...>/lenstronomy/Util/util.py'.
+ (setenv "NUMBA_CACHE_DIR" "/tmp")
+ ;; PermissionError: [Errno 13] Permission denied:
+ ;; '/homeless-shelter'
+ (setenv "HOME" "/tmp"))))))
+ (native-inputs
+ (list python-pytest
+ python-setuptools
+ python-wheel))
+ (propagated-inputs
+ (list python-astropy
+ python-click
+ python-colossus
+ python-h5py
+ python-lenstronomy
+ python-mcfit
+ python-numpy
+ python-scipy))
+ (home-page "https://github.com/dangilman/pyHalo")
+ (synopsis "Render populations of dark matter halos")
+ (description
+ "pyHalo renders full mass distributions for substructure lensing
+simulations with gravitational lensing software package lenstronomy. The main
+purpose of the code is to quickly render full populations of dark matter
+subhalos and line of sight halos for gravitational lensing simulations. It
+also transltes halo properties (mass, concentration, redshift, etc) into
+angular units for lensing computations with lenstronomy.")
+ (license license:expat)))
+
(define-public python-pyregion
(package
(name "python-pyregion")
@@ -5291,13 +5594,13 @@ solar physics.")
(define-public python-regularizepsf
(package
(name "python-regularizepsf")
- (version "1.0.2")
+ (version "1.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "regularizepsf" version))
(sha256
- (base32 "1ial8i9nshhpn3lsgnjqm94dfrzxwz2qgpd8bjzmml1ls0j7sm9v"))))
+ (base32 "16kk2rfcs7dkasij225j9z99gwdnxxlamj704d7f3h1lj7yl3vdv"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
@@ -5320,6 +5623,104 @@ solar physics.")
PSF} describing how the optical system spreads light from sources.")
(license license:expat)))
+(define-public python-romancal
+ ;; The compatible version is not released yet, use the latest commit.
+ (let ((commit "ae864a407fc16001d3a0370779caa381f994f718")
+ (revision "0"))
+ (package
+ (name "python-romancal")
+ (version (git-version "0.19.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/spacetelescope/romancal")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0dxgwy6qva8ss7xb6hlkck6kysikgmn0byprvj4kx1l82gm1sk0g"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "--color=no"
+ "--numprocesses" (number->string (min 8 (parallel-job-count)))
+ ;; XXX: Tests requiring network access or additional setup,
+ ;; check how to run them locally.
+ "--ignore=romancal/assign_wcs/tests/test_wcs.py"
+ "--ignore=romancal/dark_current/tests/test_dark.py"
+ "--ignore=romancal/dq_init/tests/test_dq_init.py"
+ "--ignore=romancal/flatfield/tests/test_flatfield.py"
+ "--ignore=romancal/flux/tests/test_flux_step.py"
+ "--ignore=romancal/lib/engdb/tests/test_engdb_tools.py"
+ "--ignore=romancal/linearity/tests/test_linearity.py"
+ "--ignore=romancal/multiband_catalog/tests/test_multiband_catalog.py"
+ "--ignore=romancal/orientation/tests/test_set_telescope_pointing.py"
+ "--ignore=romancal/photom/tests/test_photom.py"
+ "--ignore=romancal/ramp_fitting/tests/test_ramp_fit_cas22.py"
+ "--ignore=romancal/ramp_fitting/tests/test_ramp_fit_likelihood.py"
+ "--ignore=romancal/refpix/tests/test_step.py"
+ "--ignore=romancal/resample/tests/test_resample.py"
+ "--ignore=romancal/saturation/tests/test_saturation.py"
+ "--ignore=romancal/skycell/tests/test_skycell.py"
+ "--ignore=romancal/skycell/tests/test_skycell_match.py"
+ "--ignore=romancal/skymatch/tests/test_skymatch.py"
+ "--ignore=romancal/source_catalog/tests/test_psf.py"
+ "--ignore=romancal/source_catalog/tests/test_source_catalog.py"
+ "--ignore=romancal/stpipe/tests/test_core.py"
+ "--ignore=romancal/tweakreg/tests/test_tweakreg.py")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "pyproject.toml"
+ ;; XXX: scipy >=1.14.1
+ ((" >=1.14.1") ""))))
+ (add-before 'build 'set-version
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION"
+ #$(version-major+minor+point version)))))))
+ (native-inputs
+ (list nss-certs-for-test
+ python-ci-watson
+ python-deepdiff
+ ;; python-edp ;not packaged
+ python-pytest
+ python-pytest-astropy
+ python-pytest-xdist
+ python-setuptools-next
+ python-setuptools-scm
+ python-stpreview
+ python-wheel))
+ (propagated-inputs
+ (list python-asdf
+ python-asdf-astropy
+ python-astropy
+ python-crds
+ python-drizzle
+ python-gwcs
+ python-jsonschema
+ python-numpy
+ python-pandas
+ python-photutils
+ python-pyarrow
+ python-pyparsing
+ python-requests
+ python-roman-datamodels
+ python-scipy
+ python-spherical-geometry
+ python-stcal
+ python-stpipe
+ python-stpsf
+ python-stsci-imagestats
+ python-tweakwcs))
+ (home-page "https://github.com/spacetelescope/romancal")
+ (synopsis "Nancy Grace Roman Space Telescope observations processing library")
+ (description
+ "This package implements a functionality for calibration of science
+observations from the Nancy Grace Roman Space Telescope.")
+ (license license:bsd-3))))
+
(define-public python-sep
(package/inherit libsep
(name "python-sep")
@@ -5677,6 +6078,63 @@ but has evolved to support other missions as well.")
;; known as New or Revised BSD).
(license license:bsd-3)))
+(define-public python-space-dolphin
+ (package
+ (name "python-space-dolphin")
+ (version "1.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "space_dolphin" version))
+ (sha256
+ (base32 "0qxpb6ss0w4f6mnisri3i3a5g5dfa12a7iimdchzqql7r53x7xiq"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:tests? #f ;TODO: Enable when tensorflow is fixed.
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; RuntimeError: cannot cache function 'rotate': no locator
+ ;; available for file '<...>/lenstronomy/Util/util.py'.
+ (setenv "NUMBA_CACHE_DIR" "/tmp"))))))
+ (native-inputs
+ (list ;; python-pytest
+ python-setuptools-next
+ python-wheel))
+ (propagated-inputs
+ (list python-astropy
+ python-corner
+ python-emcee
+ python-gdown
+ python-h5py
+ python-lenstronomy
+ python-matplotlib
+ python-numpy
+ python-pyyaml
+ python-schwimmbad
+ python-scipy
+ python-tqdm
+ #;tensorflow)) ;XXX: currenlty broken on master, see guix/guix#1436.
+ (home-page "https://github.com/ajshajib/dolphin")
+ (synopsis "Automated pipeline for lens modeling based on lenstronomy")
+ (description
+ "This package implements a functionality of AI-powered automated pipeline
+for lens modeling, with lenstronomy as the modeling engine.
+
+Features:
+@itemize
+@item AI-automated forward modeling for large samples of galaxy-scale lenses
+@item flexible: supports both fully automated and semi-automated (with user
+tweaks) modes
+@item multi-band lens modeling made simple
+@item supports both galaxy–galaxy and galaxy–quasar systems
+@item effortless syncing between local machines and @acronym{High-Performance
+Computing Cluster, HPCC}
+@end itemize")
+ (license license:bsd-3)))
+
(define-public python-specreduce
(package
(name "python-specreduce")
@@ -5690,6 +6148,10 @@ but has evolved to support other missions as well.")
(build-system pyproject-build-system)
(arguments
(list
+ ;; 21 failed, 55 passed, 24 skipped, 4 errors
+ ;;
+ ;; FIXME: More than a half tests are skipped or failed, check why.
+ #:tests? #f
#:test-flags
;; TODO: Try to link some test data availale in
;; specification-specreduce-data package.
@@ -6291,13 +6753,13 @@ of axis order, spatial projections, and spectral units that exist in the wild.
(define-public python-specutils
(package
(name "python-specutils")
- (version "1.19.0")
+ (version "2.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "specutils" version))
(sha256
- (base32 "1iwkrs436z8xrzwl5rkla8nimyfrx5ydklghm41xgzr27nkvqa12"))))
+ (base32 "0ngq4r7awkbwdbi7a8isj6iw66xk3s26yjp0c0qvl6wvf9hby59r"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -6315,6 +6777,12 @@ of axis order, spatial projections, and spectral units that exist in the wild.
" and not "))
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "setup.cfg"
+ ;; scipy>=1.14.1; all tests passed, it will remove after
+ ;; python-team is merged.
+ ((">=1.14") ">=1.12.0"))))
(add-before 'check 'set-home-env
(lambda _
;; Tests require HOME to be set.
@@ -6467,13 +6935,13 @@ over many parameters:
(define-public python-statmorph
(package
(name "python-statmorph")
- (version "0.6.1")
+ (version "0.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "statmorph" version))
(sha256
- (base32 "0q9h8yqd8w8ckakn3hx7r5mag3vpgaah077rvi3bdmkmix5ky7r9"))))
+ (base32 "0qrxm0aigsjsqv39vxc85jv1id8b7sry76dx44143ii9hpd9dg4l"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -6489,8 +6957,9 @@ over many parameters:
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "setup.py"
- ;; scikit-image>=0.25.0
- ((">=0.25.0") ">=0.23.2")))))))
+ ;; scikit-image>=0.25.0; tests passed, remove when python-team
+ ;; is merged.
+ ((">=0.25.2") ">=0.23.2")))))))
(native-inputs
(list python-pytest
python-setuptools
@@ -6512,13 +6981,13 @@ and CAS statistics), as well as fitting 2D Sérsic profiles.")
(define-public python-stcal
(package
(name "python-stcal")
- (version "1.13.0")
+ (version "1.14.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "stcal" version))
(sha256
- (base32 "00xfx7hpcadwf3dm0lddh1raw7qnr5nrg30dclmjcrxhsp27spjg"))))
+ (base32 "1y3w1nlb4f56f9w7ql1al35mj2xv53cagrnpqknl1kh6r6qg7pqj"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -6561,11 +7030,11 @@ and CAS statistics), as well as fitting 2D Sérsic profiles.")
python-pytest
python-pytest-xdist
python-pytest-doctestplus
- python-setuptools
+ python-setuptools-next
python-setuptools-scm
python-wheel))
(propagated-inputs
- (list opencv ;Provides OpenCV-Python
+ (list opencv ;Provides OpenCV-Python
python-asdf
python-astropy
python-drizzle
@@ -6583,16 +7052,17 @@ and CAS statistics), as well as fitting 2D Sérsic profiles.")
(define-public python-stdatamodels
(package
(name "python-stdatamodels")
- (version "3.1.0")
+ (version "4.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "stdatamodels" version))
(sha256
- (base32 "03r9nv3d3rjm70ihqg03aj6ydl91527abfmx7nbf6g9598s01fg1"))))
+ (base32 "1lyxwfq55ngnsjr25bj3v6mjibx17074z28qi3xc9wpib5dn887i"))))
(build-system pyproject-build-system)
(arguments
(list
+ ;; 1571 passed
#:test-flags
#~(list "--numprocesses" (number->string (parallel-job-count))
;; Disable tests requiring access to CRDS servers to download
@@ -6631,13 +7101,13 @@ implemented in the @acronym{JWST, James Webb Space Telescope} and
(define-public python-stpipe
(package
(name "python-stpipe")
- (version "0.9.0")
+ (version "0.10.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "stpipe" version))
(sha256
- (base32 "0am7bb7msa3pa694lsh6q461zybczki806a8llfns0hx721wzipq"))
+ (base32 "1z5y8sbpkzxccvxwv19as2a8c69f3l01kgmicsk472p91bbm8v31"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -6668,6 +7138,36 @@ implementing calibration pipeline software.")
;; LICENSE Association of Universities for Research in Astronomy (AURA)
(license license:bsd-3)))
+(define-public python-stpreview
+ (package
+ (name "python-stpreview")
+ (version "0.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "stpreview" version))
+ (sha256
+ (base32 "1z7zpqyg7rl2sf311idzwckdshm86mkbbpknvq90gkxmqdaqas9q"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-roman-datamodels
+ python-setuptools-next
+ python-setuptools-scm
+ python-wheel))
+ (propagated-inputs
+ (list python-asdf
+ python-astropy
+ python-gwcs
+ python-matplotlib
+ python-numpy
+ python-scikit-image))
+ (home-page "https://github.com/spacetelescope/stpreview")
+ (synopsis "Build downsampled previews of STScI")
+ (description
+ "This package provides build downsampled previews of Space Telescope products.")
+ (license license:bsd-3)))
+
(define-public python-stpsf
(package
(name "python-stpsf")
@@ -7407,16 +7907,17 @@ and the use of a modern programming language, techniques, and libraries
(define-public python-rad
(package
(name "python-rad")
- (version "0.25.0")
+ (version "0.26.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "rad" version))
(sha256
- (base32 "07pkz0fybhpzrlch5gcw4c90rd2y2mypli23h2lz1pa7q6gyaifd"))))
+ (base32 "0vxkjsj9bdl84076lbric4jn531jv46i2wwfxak50i5mik8r7zjg"))))
(build-system pyproject-build-system)
(arguments
(list
+ ;; 1131 passed, 1 skipped
#:test-flags
;; Ignore tests requiring python-crds to break cycle:
;; python-rad -> python-roman-datamodels -> python-crds -> python-rad
@@ -7428,7 +7929,6 @@ and the use of a modern programming language, techniques, and libraries
"--ignore=tests/test_latest.py")))
(native-inputs
(list python-pytest
- python-pytest
python-pytest-doctestplus
python-semantic-version
python-setuptools-next
@@ -7530,13 +8030,13 @@ channels
(define-public python-roman-datamodels
(package
(name "python-roman-datamodels")
- (version "0.25.0")
+ (version "0.26.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "roman_datamodels" version))
(sha256
- (base32 "0sb2zpanklyh5j2rgm27lrscl51fwyny4f6c9gisj373pp7w6h2c"))))
+ (base32 "0kiv139q6q3pjlalb16nqcyib8hmd9svr4y24s7g0as08x09d7zl"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -8266,17 +8766,38 @@ object.")
(define-public python-synphot
(package
(name "python-synphot")
- (version "1.5.0")
+ (version "1.6.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "synphot" version))
(sha256
- (base32 "0xifg0fbh2rj3jn5i504c0qh51dlzgr1l2k962nh38synjhq9csc"))))
+ (base32 "0vcai5kdfv6286qdyhg58i6f980s028dh5r4fmlhdk872qci574r"))))
(build-system pyproject-build-system)
(arguments
(list
- #:test-flags #~(list "--pyargs" "synphot")))
+ ;; 394 passed, 29 skipped, 12 deselected, 4 xfailed
+ #:test-flags
+ #~(list "--pyargs" "synphot"
+ ;; Not harmful deprecation warning as synphot is compatible with
+ ;; specutils now, remove or silent error in the next refresh
+ ;; cycle.
+ ;;
+ ;; See: <https://github.com/spacetelescope/synphot_refactor/issues/411>.
+ "-k" (string-join
+ (list "not test_from_spectrum1d_Empirical1D_bandpass"
+ "test_from_spectrum1d_Empirical1D_bandpass_masked"
+ "test_from_spectrum1d_Empirical1D_source"
+ "test_from_spectrum1d_Empirical1D_source_masked"
+ "test_spectrum1d_source"
+ "test_to_spectrum1d_Const1D"
+ "test_to_spectrum1d_ConstFlux1D"
+ "test_to_spectrum1d_Empirical1D_bandpass"
+ "test_to_spectrum1d_Empirical1D_source"
+ "test_to_spectrum1d_GaussianFlux1D"
+ "test_to_spectrum1d_compound_bandpass"
+ "test_to_spectrum1d_compound_source")
+ " and not "))))
(native-inputs
(list python-pytest
python-pytest-astropy
@@ -8288,7 +8809,7 @@ object.")
python-dust-extinction
python-numpy
python-scipy
- python-specutils ))
+ python-specutils))
(home-page "https://github.com/spacetelescope/synphot_refactor")
(synopsis "Synthetic photometry using Astropy")
(description
@@ -8395,13 +8916,13 @@ using (multivariate) polynomials.")
(define-public python-yt
(package
(name "python-yt")
- (version "4.4.0")
+ (version "4.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "yt" version))
(sha256
- (base32 "1mf084wp0wrhi17npzbyz42lh3xwlc2hggr8h4pmighsnafdy58f"))))
+ (base32 "099w4n38c13vk98wsj698wxmskw3pr7zcf56dqiwl8c3nhjn9wrd"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -8763,7 +9284,7 @@ It can be used to calculate the trajectory of satellites.")
(define-public siril
(package
(name "siril")
- (version "1.3.3")
+ (version "1.4.0-beta3")
(source
(origin
(method git-fetch)
@@ -8771,7 +9292,7 @@ It can be used to calculate the trajectory of satellites.")
(url "https://gitlab.com/free-astro/siril")
(commit version)))
(sha256
- (base32 "1fxjfr9kak9vb899xpgr1vmiv3cc2l4apyp0mn0ghg7mqlyl9qmw"))
+ (base32 "1frvi6879zh4bzm5smdy0scpjmj5pg2i81wb2wa4ikq1dq227x8k"))
(file-name (git-file-name name version))))
(build-system meson-build-system)
(arguments
@@ -8810,6 +9331,7 @@ It can be used to calculate the trajectory of satellites.")
ffms2
fftwf
gdk-pixbuf
+ gtksourceview-4
gsl
gtk+
json-glib
@@ -8831,7 +9353,8 @@ It can be used to calculate the trajectory of satellites.")
lz4
opencv
pugixml
- wcslib))
+ wcslib
+ yyjson))
(home-page "https://siril.org/")
(synopsis "Image processing software for amateur astronomy")
(description
@@ -8868,11 +9391,14 @@ large number of image formats.")
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda _
- ;; Two tests fail with SegFAilt: "Cannot allocate GPU memory:
- ;; The processing function library was compiled without CUDA
- ;; support".
(substitute* "tests/CMakeLists.txt"
- (("clean") "# clean")))))))
+ ;; Two tests fail with SegFAilt: "Cannot allocate GPU memory:
+ ;; The processing function library was compiled without CUDA
+ ;; support".
+ (("clean") "# clean")
+ ;; test_weighting fails with error: sdp_weighting_uniform:
+ ;; Expected 'output_weight' not to be read-only.
+ (("visibility") "# visibility")))))))
(home-page "https://developer.skao.int/projects/ska-sdp-func/en/latest/")
(synopsis "SDP Processing Function Library")
(description
@@ -8945,7 +9471,7 @@ astronomical fields. SkyMaker is part of the
(define-public splash
(package
(name "splash")
- (version "3.11.3")
+ (version "3.11.4")
(source
(origin
(method git-fetch)
@@ -8954,7 +9480,7 @@ astronomical fields. SkyMaker is part of the
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0vyshywwbk2746jdhrnn7vn1gj336zzwcifrfyf38byj41691svm"))))
+ (base32 "13p4hjdpr0yacgh8v3lf5vy1d0hdh5axbwpgi91wafm0xx6zpgkv"))))
(build-system gnu-build-system)
(arguments
;; FIXME: Tests failed
@@ -9077,7 +9603,6 @@ deconvolution). Such post-processing is not performed by Stackistry.")
(list
;; FIXME: Tests keep failing on 100% when preparing test-suit for INDI.
#:tests? #f
- #:test-target "test"
#:configure-flags
#~(list "-DENABLE_GPS=1"
;; TODO: Enable when all of the dependencies are available for Qt6.
@@ -9129,33 +9654,45 @@ objects.")
(license license:gpl2+))))
(define-public stuff
- (package
- (name "stuff")
- (version "2.0.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/astromatic/stuff")
- ;; XXX: No version tag available in GitHub.
- ;; See: https://github.com/astromatic/stuff/issues/6
- (commit "9008dc022ef53331092da248cf0a794abd6783bf")))
- (file-name (git-file-name name version))
- (sha256
- (base32 "004sry5lqqm7s9x4l3agysp3n63y3ga35x1rwwda4m6dc6zvla6b"))))
- (build-system gnu-build-system)
- (native-inputs
- (list autoconf automake libtool pkg-config))
- (home-page "https://www.astromatic.net/software/stuff")
- (synopsis "Astronomical catalogue simulation")
- (description
- "Stuff is a program that simulates \"perfect\" astronomical catalogues.
-It generates object lists in ASCII which can read by the SkyMaker program to
-produce realistic astronomical fields. Stuff is part of the
+ ;; XXX: No version tag available in GitHub.
+ ;; See: https://github.com/astromatic/stuff/issues/6
+ (let ((commit "9cf363216a0d5c3d41b3dc759994feee3be0fc4e")
+ (revision "0"))
+ (package
+ (name "stuff")
+ (version (git-version "2.0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/astromatic/stuff")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1n7f2f7llwf1fbliypblia3xyrh69yy1rqbwwhz897qd92fxnl5i"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ (list autoconf automake libtool pkg-config))
+ (home-page "https://www.astromatic.net/software/stuff")
+ (synopsis "Astronomical catalogue simulation")
+ (description
+ "Stuff is a program that simulates \"perfect\" astronomical
+catalogues. It generates object lists in ASCII which can read by the SkyMaker
+program to produce realistic astronomical fields. Stuff is part of the
@uref{https://www.astromatic.net/projects/efigi, EFIGI} development project.")
- (license license:gpl3+)))
+ (license license:gpl3+))))
-(define-public sunclock
+;; TODO: This is not an original source, and currently fails to build:
+;; <https://directory.fsf.org/wiki/Sunclock>
+;; -> <https://github.com/mdoege/Sunclock> dead link
+;; -> <http://www.arvernes.com/wiki/index.php/Sunclock> dead link
+;; <https://github.com/nongiach/Sunclock> is unmaintained.
+;;
+;; Maybe use Debian's fork instead
+;; <https://salsa.debian.org/debian/sunclock>, it would need to apply 12
+;; patches from <debian/patches>?
+;; Mark as not public for now.
+(define sunclock
(let ((commit "f4106eb0a81f7594726d6b2859efd8fc64cc1225")
(revision "1"))
(package
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index bbfeff0cec..c481b5a3de 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015-2025 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015, 2025 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016-2022, 2024 Efraim Flashner <efraim@flashner.co.il>
@@ -55,6 +55,7 @@
;;; Copyright © 2025 Andrew Wong <wongandj@icloud.com>
;;; Copyright © 2025 Kjartan Oli Agustsson <kjartanoli@outlook.com>
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2025 Antoine Côté <antoine.cote@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1169,7 +1170,7 @@ engineers, musicians, soundtrack editors and composers.")
(define-public audacity
(package
(name "audacity")
- (version "3.7.3")
+ (version "3.7.4")
(source
(origin
(method git-fetch)
@@ -1178,7 +1179,7 @@ engineers, musicians, soundtrack editors and composers.")
(commit (string-append "Audacity-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0mryrjw76jz16hmqd161frkld75yhy9cxlpykwk08p078mqxnylg"))
+ (base32 "184hak52p00qid0i581gky7076fl5rjxwqly0fw7ix8yi6j8li4h"))
(patches (search-patches "audacity-ffmpeg-fallback.patch"))
(modules '((guix build utils)))
(snippet
@@ -1772,6 +1773,11 @@ generators of mostly elementary and occasionally exotic nature.")
(string-append #$output:doc "/share/doc/")))))
(add-after 'install-manual 'chdir
(lambda _ (chdir "Plugin")))
+ (add-after 'chdir 'fix-includes
+ (lambda _
+ (substitute* "modules/JUCE/modules/juce_core/juce_core.h"
+ (("#define JUCE_CORE_H_INCLUDED" all)
+ (string-append all "\n#include <utility>")))))
(replace 'check
(lambda* (#:key tests? build-type #:allow-other-keys)
(when tests?
@@ -2157,11 +2163,14 @@ object library.")
(sha256
(base32 "1lgasyk8j4cl9178vci1dph63nks3cgwhf8y1d04z9dc8gg15dyn"))))
(build-system cmake-build-system)
+ (arguments
+ '(#:configure-flags '("-DBUILD_STATIC_LIBRARY=ON"))) ; required to build tests
(native-inputs
(list bison flex gettext-minimal zlib))
(inputs
(list alsa-lib
boost
+ cunit
jack-1
ladspa
liblo
@@ -3998,8 +4007,10 @@ buffers, and audio capture.")
(patches (search-patches "alure-dumb-2.patch"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ;no tests
- #:configure-flags '("-DMODPLUG=ON")))
+ (list
+ #:cmake cmake-3.25
+ #:tests? #f ;no tests
+ #:configure-flags #~(list "-DMODPLUG=ON")))
(native-inputs (list pkg-config))
(inputs (list dumb
flac
@@ -4210,6 +4221,9 @@ link REQUIRED)"))))))
"-DFORTIFY=ON"
"-DLIBSCSYNTH=ON"
"-DSC_EL=OFF") ;scel is packaged individually as emacs-scel
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
;; HOME must be defined otherwise supercollider throws a "ERROR:
@@ -4237,6 +4251,7 @@ link REQUIRED)"))))))
(lambda _
(system "Xvfb &")
(setenv "DISPLAY" ":0")))
+ (replace 'install (assoc-ref gnu:%standard-phases 'install))
(add-before 'install 'install-ide
(lambda _
(let* ((ide #$output:ide)
@@ -4320,7 +4335,6 @@ using Guix System.")
(build-system cmake-build-system)
(arguments
(list
- #:cmake cmake-next
#:build-type "Release"
;; The build system uses CMake modules features that are only available
;; when using Ninja.
@@ -4582,6 +4596,11 @@ for loudness normalisation.")
(assoc-ref %outputs "out") "/etc/timidity"))
#:phases
(modify-phases %standard-phases
+ (add-after 'configure 'fix-config.h
+ (lambda _
+ (substitute* "config.h"
+ (("/\\* #undef STDC_HEADERS \\*/")
+ "#define STDC_HEADERS 1"))))
(add-after 'install 'install-config
(lambda _
(let ((out (string-append (assoc-ref %outputs "out")
@@ -4893,15 +4912,18 @@ surround and reverb.")
(define-public libxmp
(package
(name "libxmp")
- (version "4.4.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/xmp/libxmp/" version "/"
- name "-" version ".tar.gz"))
- (sha256
- (base32
- "1kycz4jsyvmf7ny9227b497wc7y5ligydi6fvvldmkf8hk63ad9m"))))
+ (version "4.6.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libxmp/libxmp")
+ (commit (string-append "libxmp-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0mb54n2cqr8wvq02x9v8vdanvn01bhy0j1pyq2n3iykfnpjx4f2m"))))
(build-system gnu-build-system)
+ (native-inputs (list autoconf))
(home-page "https://xmp.sourceforge.net/")
(synopsis "Module player library")
(description
@@ -4913,19 +4935,19 @@ Scream Tracker 3 (S3M), Fast Tracker II (XM), and Impulse Tracker (IT).")
(define-public xmp
(package
(name "xmp")
- (version "4.1.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/xmp/xmp/" version "/"
- name "-" version ".tar.gz"))
- (sha256
- (base32
- "17i8fc7x7yn3z1x963xp9iv108gxfakxmdgmpv3mlm438w3n3g8x"))))
+ (version "4.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libxmp/xmp-cli")
+ (commit (string-append "xmp-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0c015v8r91g5nspfn6lldkw76dg3xjyg3x6s2sbiw6b3n7bf8znk"))))
(build-system gnu-build-system)
- (native-inputs
- (list pkg-config))
- (inputs
- (list libxmp pulseaudio))
+ (native-inputs (list autoconf automake pkg-config))
+ (inputs (list libxmp pulseaudio))
(home-page "https://xmp.sourceforge.net/")
(synopsis "Extended module player")
(description
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 4909a375a1..320081d818 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
-;;; Copyright © 2016, 2017, 2019-2023 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2019-2023, 2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2020, 2023, 2024, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
@@ -369,10 +369,15 @@ differences.")
;; XXX: On 32-bit Hurd platforms, 'time_t' is defined as a 32-bit
;; integer in 'hurd_types.defs', so this Gnulib test always fails.
#:make-flags
- #~#$(if (and (not (%current-target-system))
- (string=? (%current-system) "i586-gnu"))
- #~'("XFAIL_TESTS=test-year2038")
- #~'())
+ #~#$(cond ((and (not (%current-target-system))
+ (string=? (%current-system) "i586-gnu"))
+ #~'("XFAIL_TESTS=test-year2038"))
+ ;; TODO: Figure out why these gnulib tests are failing.
+ ((and (not (%current-target-system))
+ (target-ppc64le?))
+ #~'("XFAIL_TESTS=test-float-h large-subopt"))
+ (else
+ #~'()))
#:configure-flags
#~#$(if (%current-target-system)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 62d0dc93e1..4f8c266a3b 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -7271,8 +7271,6 @@ bases are detected.")
(bin (string-append #$output "/bin/")))
(mkdir-p bin)
(copy-recursively "." share)
- (delete-file (string-append share "/Chrysalis/build/CMakeFiles/CMakeOutput.log"))
- (delete-file (string-append share "/Inchworm/build/CMakeFiles/CMakeOutput.log"))
(wrap-program (string-append share "Trinity")
`("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))
@@ -7326,7 +7324,7 @@ bases are detected.")
(list coreutils
gzip
which))
- (native-inputs (list cmake))
+ (native-inputs (list cmake-minimal))
(home-page "https://github.com/trinityrnaseq/trinityrnaseq/wiki")
(synopsis "Trinity RNA-Seq de novo transcriptome assembly")
(description "Trinity assembles transcript sequences from Illumina RNA-Seq
@@ -8455,7 +8453,7 @@ comment or quality sections.")
(define-public gemma
(package
(name "gemma")
- (version "0.98.3")
+ (version "v0.98.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -8464,7 +8462,7 @@ comment or quality sections.")
(file-name (git-file-name name version))
(sha256
(base32
- "1p8a7kkfn1mmrg017aziy544aha8i9h6wd1x2dk3w2794wl33qb7"))
+ "1dm8pf1fbdmv2yiz5aybcvk3050m5350gq8xlr4j6swzm3wwhydn"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -11370,7 +11368,6 @@ seamless support for BCF and VCF files.")
(list
#:configure-flags
'(list "-DMORPHEUS_GUI=OFF"
- "-DBUILD_TESTING=ON"
"-DDOWNLOAD_XTENSOR=OFF")
#:phases
'(modify-phases %standard-phases
@@ -15138,28 +15135,6 @@ used to obtain robust estimates of the predominant fragment length or
characteristic tag shift values in these assays.")
(license license:bsd-3))))
-(define-public r-r4rna
- (package
- (name "r-r4rna")
- (version "0.1.4")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://www.e-rna.org/r-chie/files/R4RNA_"
- version ".tar.gz"))
- (sha256
- (base32
- "1p0i78wh76jfgmn9jphbwwaz6yy6pipzfg08xs54cxavxg2j81p5"))))
- (build-system r-build-system)
- (propagated-inputs
- (list r-optparse r-rcolorbrewer))
- (home-page "https://www.e-rna.org/r-chie/index.cgi")
- (synopsis "Analysis framework for RNA secondary structure")
- (description
- "The R4RNA package aims to be a general framework for the analysis of RNA
-secondary structure and comparative analysis in R.")
- (license license:gpl3+)))
-
(define-public rcas-web
(let ((commit "71c93e3835653beb4eaa6e89b860bee3779729b8")
(revision "2"))
@@ -16252,7 +16227,7 @@ dispersal. Its output can be processed by treeannotator (from the
(define-public imp
(package
(name "imp")
- (version "2.15.0")
+ (version "2.23.0")
(source
(origin
(method url-fetch)
@@ -16260,7 +16235,7 @@ dispersal. Its output can be processed by treeannotator (from the
version "/download/imp-" version ".tar.gz"))
(sha256
(base32
- "05hsrnkpkajppa3f45x4qsarnkj616hlby749zxg4is3bv4i6b5y"))))
+ "080z50iq1f3nmkccy2i5hj0i34j26sbwcaqizcbljji9mvp0nc0q"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #false ; The test suite is notoriously fickle
@@ -16285,6 +16260,7 @@ dispersal. Its output can be processed by treeannotator (from the
(list python-wrapper swig))
(inputs
(list boost-for-mysql
+ cereal
cgal
gsl
hdf5
@@ -18845,6 +18821,9 @@ Thus the per-base error rate is similar to the raw input reads.")
(build-system qt-build-system)
(arguments
(list
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
;; TODO: Once <https://issues.guix.gnu.org/47475> is fixed,
;; consider uncommenting the following:
;;
@@ -18865,6 +18844,7 @@ Thus the per-base error rate is similar to the raw input reads.")
(with-directory-excursion "tests"
(setenv "XDG_RUNTIME_DIR" (getcwd))
(invoke "./bandage_command_line_tests.sh")))))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
(replace 'install
(lambda _
(install-file "Bandage" (string-append #$output "/bin")))))))
@@ -23488,8 +23468,7 @@ The output is in SAM format.")
"0slkagrk3nfi2qsksv6b1brj6zhx4bj4bkib2sdycvrcd10ql2lh"))))
(build-system cmake-build-system)
(arguments
- `(#:test-target "test"
- #:configure-flags
+ `(#:configure-flags
,#~(list "-DWITH_CHECK=ON"
(string-append "-DLIBXML_LIBRARY="
#$(this-package-input "libxml2")
@@ -24617,14 +24596,20 @@ both types of files.")
(build-system cmake-build-system)
(arguments
(list
- #:test-target "simple_test"
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
- '(modify-phases %standard-phases
- (add-after 'unpack 'fix-tests
- (lambda _
- (substitute* "src/megahit"
- (("os.path.join\\(script_path, '..'\\)")
- "os.path.join(script_path, '../source')")))))))
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+ (lambda _
+ (substitute* "src/megahit"
+ (("os.path.join\\(script_path, '..'\\)")
+ "os.path.join(script_path, '../source')"))))
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "simple_test" args))))))
(inputs (list python-wrapper zlib))
(home-page "https://www.ncbi.nlm.nih.gov/pubmed/25609793")
(synopsis "Meta-genome assembler")
@@ -25210,33 +25195,33 @@ module capable of computing base-level alignments for very large sequences.")
(outputs '("out" "doc"))
(arguments
(list
+ #:test-exclude (string-join (list "TestFileMetaInformation"
+ "TestElement2"
+ "TestSCUValidation"
+ "TestWriter"
+ "TestAnonymizer4"
+ "TestPrinter1"
+ "TestEcho"
+ ;; The scanner tests depend on TestWriter output.
+ "TestStrictScanner1"
+ "TestStrictScanner2_1"
+ "TestStrictScanner2"
+ "TestStrictScanner2_2"
+ "TestFind")
+ "|")
+ #:configure-flags
+ #~(list "-DGDCM_BUILD_TESTING=true"
+ "-DGDCM_DOCUMENTATION:BOOL=ON"
+ "-DGDCM_PDF_DOCUMENTATION:BOOL=OFF"
+ (string-append "-DGDCM_INSTALL_DOC_DIR="
+ #$output:doc "/share/doc/" #$name))
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-HOME
;; The build spams ‘Fontconfig error: No writable cache
;; directories’ in a seemingly endless loop otherwise.
(lambda _
- (setenv "HOME" "/tmp"))))
- #:configure-flags
- #~(list "-DGDCM_BUILD_TESTING=true"
- (string-append "-DCMAKE_CTEST_ARGUMENTS=-E;"
- "'TestFileMetaInformation"
- "|TestElement2"
- "|TestSCUValidation"
- "|TestWriter"
- "|TestAnonymizer4"
- "|TestPrinter1"
- "|TestEcho"
- ;; The scanner tests depend on TestWriter output
- "|TestStrictScanner1"
- "|TestStrictScanner2_1"
- "|TestStrictScanner2"
- "|TestStrictScanner2_2"
- "|TestFind'")
- "-DGDCM_DOCUMENTATION:BOOL=ON"
- "-DGDCM_PDF_DOCUMENTATION:BOOL=OFF"
- (string-append "-DGDCM_INSTALL_DOC_DIR="
- #$output:doc "/share/doc/" #$name))))
+ (setenv "HOME" "/tmp"))))))
(native-inputs (list docbook-xsl doxygen graphviz libxslt))
(home-page "https://gdcm.sourceforge.net/wiki/index.php/Main_Page")
(synopsis "Grassroots DICOM library")
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index f11f854375..ac8e496201 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -81,6 +81,7 @@
#: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-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
@@ -90,7 +91,8 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
- #:use-module (gnu packages xml))
+ #:use-module (gnu packages xml)
+ #:use-module (gnu packages xorg))
(define-public transmission
(package
@@ -508,7 +510,7 @@ desktops.")
(define-public qbittorrent
(package
(name "qbittorrent")
- (version "5.0.4")
+ (version "5.1.2")
(source
(origin
(method git-fetch)
@@ -517,12 +519,18 @@ desktops.")
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0myab81g3qvldfxl1ijbc5qz9nk74xcr173ndy929l1i0r99417j"))))
+ (base32 "087l8fnr83bvvinsp1m27rsskc9wx9si3hh8alqrr8rhngd0c5ys"))))
(build-system qt-build-system)
(arguments
(list #:qtbase qtbase
#:configure-flags #~(list "-DTESTING=ON")
- #:test-target "check"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:rest args)
+ ;; Fix for "enable_testing" not in the top-level directory.
+ (with-directory-excursion "test"
+ (apply (assoc-ref %standard-phases 'check) args)))))))
(native-inputs
(list qttools))
(inputs
@@ -563,7 +571,7 @@ features.")
(package
(inherit qbittorrent)
(name "qbittorrent-enhanced")
- (version "5.0.4.10")
+ (version "5.1.2.10")
(source
(origin
(method git-fetch)
@@ -573,7 +581,7 @@ features.")
(file-name (git-file-name name version))
(sha256
(base32
- "1y5pm4ljzdl06sacz63dl2cjfwfvx5c808f73rh9c19q90y870d9"))))
+ "17yvx8k1fnawfkyhhzhl458l1bjg2dhnc6a456hkh2qr32jj4y23"))))
(home-page "https://github.com/c0re100/qBittorrent-Enhanced-Edition")
(description
"qBittorrent Enhanced is a bittorrent client based on qBittorrent with
@@ -630,19 +638,42 @@ the following features:
python-twisted
python-zope-interface))
(native-inputs
- (list intltool python-setuptools python-wheel))
+ (list intltool
+ python-pytest
+ python-pytest-twisted
+ python-setuptools
+ python-wheel
+ xorg-server-for-tests))
(native-search-paths
(list $SSL_CERT_DIR
$SSL_CERT_FILE))
- ;; TODO: Enable tests.
- ;; After "pytest-twisted" is packaged, HOME is set, and an X server is
- ;; started, some of the tests still fail. There are likely some tests
- ;; that require a network connection.
(arguments
(list
- #:tests? #f
+ #:test-flags
+ #~(list "-m" "not internet and not slow" ;; Ignore these markers.
+ "-k" (string-append "not "
+ (string-join
+ ;; Tests below require a running daemon.
+ (list "TestClient"
+ "TestJSON"
+ "TestJSONCustomUserCase"
+ "TestRPCRaiseDelugeErrorJSON"
+ "TestConsoleScriptEntryWithDaemon"
+ ;; These need a connection.
+ "TestWebAPI"
+ "TestWebServer"
+ ;; These failed with AssertionError.
+ "test_is_interface_name"
+ "test_is_interface")
+ " and not ")))
#:phases
#~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; Setup X server for tests and a writable HOME.
+ (system "Xvfb &")
+ (setenv "DISPLAY" ":0")
+ (setenv "HOME" "/tmp")))
(add-before 'wrap 'wrap-deluge
(lambda _
(for-each
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 77c64fb1a3..7121cec4d4 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -17,6 +17,7 @@
;;; Copyright © 2022, 2023 Juliana Sims <juli@incana.org>
;;; Copyright © 2024 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2025 Aiden Isik <aidenisik+git@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -328,7 +329,7 @@ files and generates build instructions for the Ninja build system.")
import sys
sys.path.insert(0, '~a')
# EASY-INSTALL-ENTRY-SCRIPT" (site-packages inputs outputs)))))))))
- (inputs (list python ninja))
+ (inputs (list python ninja/pinned))
(home-page "https://mesonbuild.com/")
(synopsis "Build system designed to be fast and user-friendly")
(description
@@ -358,7 +359,7 @@ resembles Python.")
"-k" "not test_pep518")))
(propagated-inputs
(list meson
- ninja
+ ninja/pinned
python-colorama
python-cython-3
python-pyproject-metadata
@@ -487,7 +488,7 @@ other lower-level build files.")
(define-public premake5
(package
(inherit premake4)
- (version "5.0.0-alpha15")
+ (version "5.0.0-beta7")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/premake/premake-core/"
@@ -495,13 +496,29 @@ other lower-level build files.")
"/premake-" version "-src.zip"))
(sha256
(base32
- "0lyxfyqxyhjqsb3kmx1fyrxinb26i68hb7w7rg8lajczrgkmc3w8"))))
+ "0q287af75d6w3c7dbfq7rmbh9isqzs9v30fjpm37lcafs2p7966k"))))
(arguments
(substitute-keyword-arguments (package-arguments premake4)
- ((#:phases phases)
- `(modify-phases ,phases
+ ((#:phases phases)
+ `(modify-phases ,phases
(replace 'enter-source
- (lambda _ (chdir "build/gmake2.unix") #t))
+ ;; For some reason we end up in the .github subdir of the source,
+ ;; which is why we first go back a dir unlike in premake4.
+ (lambda _ (chdir "..") #t))
+ (add-after 'enter-source 'enter-build-dir
+ (lambda _ (chdir "build/gmake.unix") #t))
+ (add-after 'enter-source 'patch-builtin-uuidgen
+ ;; Use built-in UUID generation
+ (lambda _
+ (substitute* "src/host/os_uuid.c"
+ (("#elif PLATFORM_LINUX")
+ "#elif 0"))
+ (substitute* "build/gmake.unix/Premake5.make"
+ (("-luuid")
+ ""))
+ (substitute* "premake5.lua"
+ (("filter \"system:linux or macosx\"")
+ "filter \"system:macosx\""))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(install-file "../../bin/release/premake5"
diff --git a/gnu/packages/busybox.scm b/gnu/packages/busybox.scm
index 053994a52a..fea4531620 100644
--- a/gnu/packages/busybox.scm
+++ b/gnu/packages/busybox.scm
@@ -47,7 +47,8 @@
(base32
"1923f21rnlbv1qjvk2qhgqnki5mkgr6z0p8dvzs9jr3l5vrxy49k"))
(patches
- (search-patches "busybox-add-missing-sha-NI-guard.patch"))))
+ (search-patches "busybox-add-missing-sha-NI-guard.patch"
+ "busybox-no-cbq.patch"))))
(build-system gnu-build-system)
(arguments
(list #:phases
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 06b333ef32..d25777fdd5 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2016, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 2020–2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
-;;; Copyright © 2019, 2020, 2022-2024 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019, 2020, 2022-2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019, 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2020, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
@@ -60,6 +60,7 @@
#:use-module (gnu packages bison)
#:use-module (gnu packages check)
#:use-module (gnu packages flex)
+ #:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages perl)
#:use-module (gnu packages texinfo)
@@ -1016,7 +1017,12 @@ portability.")
version ".tgz"))
(sha256
(base32
- "0il4w1vwbglayakywyghiqhcjpg1yvv5ww2p8ylz32bi05wpg2gj"))))
+ "0il4w1vwbglayakywyghiqhcjpg1yvv5ww2p8ylz32bi05wpg2gj"))
+ (snippet
+ #~(begin (delete-file "btyaccpar.c")
+ (delete-file "yaccpar.c")))))
+ (native-inputs
+ (list gawk))
(build-system gnu-build-system)
(home-page "https://invisible-island.net/byacc/byacc.html")
(synopsis "Berkeley Yacc LALR parser generator")
diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index faf7779ce7..da8b558c6f 100644
--- a/gnu/packages/calendar.scm
+++ b/gnu/packages/calendar.scm
@@ -126,10 +126,12 @@ available in French.")
(build-system cmake-build-system)
(arguments
(list
- #:test-target "testit"
#:configure-flags
#~(list "-DUSE_SYSTEM_TZ_DB=ON" "-DBUILD_SHARED_LIBS=ON"
"-DBUILD_TZ_LIB=ON" "-DENABLE_DATE_TESTING=ON")
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-bin-bash
@@ -148,7 +150,11 @@ available in French.")
(lambda _
(for-each delete-file
'("test/solar_hijri_test/parse.pass.cpp"
- "test/tz_test/zoned_time_deduction.pass.cpp")))))))
+ "test/tz_test/zoned_time_deduction.pass.cpp"))))
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "testit" args))))))
(synopsis "Date and time library for C++11 and C++14")
(description
"Date is a header only C++ library that extends the chrono date
@@ -172,6 +178,7 @@ algorithms library for calendar dates and durations. It also provides the
(build-system cmake-build-system)
(arguments
(list
+ #:parallel-tests? #f
#:configure-flags #~(list "-DSHARED_ONLY=true"
;; required by evolution-data-server
"-DGOBJECT_INTROSPECTION=true"
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 47428c451c..3e04fce75d 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -56,6 +56,7 @@
;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com>
;;; Copyright © 2025 Jordan Moore <lockbox@struct.foo>
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
+;;; Copyright © 2025 nomike Postmann <nomike@nomike.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -425,49 +426,6 @@ Makefiles. It allows for a set of configurable rules being run
against a @file{Makefile} or a set of @file{*.mk} files.")
(license license:expat)))
-;;; XXX: This project is abandoned upstream, and included in modern catch2
-;;; releases. It is still depended by the restinio test suite at this time,
-;;; so keep it (see: https://github.com/Stiffstream/restinio/issues/181).
-(define-public clara
- (package
- (name "clara")
- (version "1.1.5")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/catchorg/Clara")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "08mlm9ax5d7wkmsihm1xnlgp7rfgff0bfl4ly4850xmrdaxmmkl3"))
- (modules '((guix build utils)))
- (snippet '(begin
- ;; Un-bundle catch2.
- (delete-file-recursively "third_party")
- (substitute* "CMakeLists.txt"
- (("include_directories\\( include third_party )")
- "include_directories( include )"))))))
- (build-system cmake-build-system)
- (arguments
- (list
- #:configure-flags
- #~(list (string-append "-DCMAKE_CXX_FLAGS=-I"
- (search-input-directory %build-inputs
- "include/catch2")))
- #:phases
- #~(modify-phases %standard-phases
- (replace 'install
- (lambda _
- (install-file (string-append #$source "/single_include/clara.hpp")
- (string-append #$output "/include")))))))
- (native-inputs (list catch2))
- (home-page "https://github.com/catchorg/Clara")
- (synopsis "Simple command line parser for C++")
- (description "Clara is a simple to use, composable, command line parser
-for C++ 11 and beyond implemented as a single-header library.")
- (license license:boost1.0)))
-
(define-public clitest
(package
(name "clitest")
@@ -615,6 +573,34 @@ similar to @code{log4j}. It is designed to work in a similar manner to JUnit,
PyUnit and others.")
(license license:asl2.0)))
+(define-public snitch
+ (package
+ (name "snitch")
+ (version "1.3.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/snitch-org/snitch")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0mf55yi8ahpczl9jz2is3dnghfi3g9qz5vch7mx7akqx4gfhhviz"))))
+ (build-system cmake-build-system)
+ (arguments (list #:tests? #f
+ #:configure-flags
+ #~(list "-DBUILD_SHARED_LIBS=ON"
+ "-DSNITCH_DO_TEST=ON"
+ "-DSNITCH_USE_SYSTEM_DOCTEST=ON")))
+ (native-inputs (list doctest))
+ (home-page "https://github.com/snitch-org/snitch")
+ (synopsis "Lightweight C++20 testing framework")
+ (description "@code{snitch} aims to be a simple, cheap, non-invasive, and
+user-friendly testing framework. The design philosophy is to keep the testing
+API lean, including only what is strictly necessary to present clear messages
+when a test fails.")
+ (license license:boost1.0)))
+
;; When dependent packages upgraded to use newer version of catch, this one should
;; be removed.
(define-public catch-framework
@@ -768,20 +754,19 @@ It allows the specification of behaviour scenarios using a given-when-then
pattern.")
(license license:apsl2))))
-(define-public catch2-3
+(define-public catch2-3.8
(package
(name "catch2")
- (version "3.5.3")
- (home-page "https://github.com/catchorg/Catch2")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/catchorg/Catch2")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "11yla93vm2896fzhm3fz8lk3y3iz5iy7vd6wa7wnwvhsfd2dbfq3"))))
+ (version "3.8.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/catchorg/Catch2")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0v1k14n02aiw4rv5sxhc5612cjhkdj59cjpm50qfxhapsdv54n3f"))))
(build-system cmake-build-system)
(arguments
(list
@@ -790,11 +775,28 @@ pattern.")
"-DCATCH_ENABLE_WERROR=OFF"
"-DBUILD_SHARED_LIBS=ON")))
(inputs (list python-wrapper))
+ (home-page "https://github.com/catchorg/Catch2")
(synopsis "Automated test framework for C++ and Objective-C")
(description "Catch2 stands for C++ Automated Test Cases in Headers and is
a multi-paradigm automated test framework for C++ and Objective-C.")
(license license:boost1.0)))
+
+(define-public catch2-3
+ (package
+ (inherit catch2-3.8)
+ (name "catch2")
+ (version "3.5.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/catchorg/Catch2")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "11yla93vm2896fzhm3fz8lk3y3iz5iy7vd6wa7wnwvhsfd2dbfq3"))))))
+
(define-public cmdtest
(package
(name "cmdtest")
@@ -1144,7 +1146,8 @@ package.")
(base32 "1cv55x3amwrvfan9pr8dfnicwr8r6ar3yf6cg9v6nykd6m2v3qsv"))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
+ `(#:tests? #f
+ #:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
(native-inputs
`(("python" ,python-wrapper)))
(home-page "https://github.com/google/googletest/")
@@ -1357,7 +1360,9 @@ with the @code{klee} package.")
(arguments
(list
#:strip-directories #~(list "bin") ;don't strip LLVM bitcode in /lib
- #:test-target "check"
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch
@@ -1373,6 +1378,7 @@ with the @code{klee} package.")
(substitute* "test/lit.cfg"
(("addEnv\\('PWD'\\)" env)
(string-append env "\n" "addEnv('GUIX_PYTHONPATH')")))))
+ (replace 'check (assoc-ref gnu:%standard-phases 'check))
(add-after 'install 'wrap-programs
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -1731,38 +1737,6 @@ and many external plugins.")
python-wheel))
(arguments `(#:tests? #f))))
-(define-public python-pytest-assume
- (package
- (name "python-pytest-assume")
- (version "2.4.3")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "pytest-assume" version))
- (sha256
- (base32 "0zilqsy9fcjr6l2f9qzfxpkp40h24csnjm5mifhpmzb0fr9r0glq"))))
- (build-system python-build-system)
- (arguments
- `(#:phases (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest")))))))
- (propagated-inputs
- (list python-pytest python-six))
- (home-page "https://github.com/astraw38/pytest-assume")
- (synopsis "Pytest plugin that allows multiple failures per test")
-
- (description "This package provides a Pytest plugin that allows multiple
-failures per test. This is a fork from pytest-expect which includes the
-following improvements:
-@itemize
-@item showlocals support (the Pytest option)
-@item global usage support (a fixture is not required)
-@item output refinements and tweaks.
-@end itemize")
- (license license:expat)))
-
(define-public python-pytest-cov
(package
(name "python-pytest-cov")
@@ -2672,28 +2646,6 @@ to make testing async code easier.")
python-setuptools
python-wheel))))
-(define-public python-cov-core
- (package
- (name "python-cov-core")
- (version "1.15.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "cov-core" version))
- (sha256
- (base32
- "0k3np9ymh06yv1ib96sb6wfsxjkqhmik8qfsn119vnhga9ywc52a"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-coverage))
- (home-page "https://github.com/schlamar/cov-core")
- (synopsis "Coverage plugin core for pytest-cov, nose-cov and nose2-cov")
- (description
- "This is a library package for use by @code{pytest-cov}, @code{nose-cov}
-and @code{nose2-cov}. It is useful for developing coverage plugins for these
-testing frameworks.")
- (license license:expat)))
-
(define-public python-codecov
(package
(name "python-codecov")
@@ -2743,24 +2695,6 @@ and commands. It contains functions to check things on the file system, and
tools for mocking system commands and recording calls to those.")
(license license:expat)))
-(define-public python-testlib
- (package
- (name "python-testlib")
- (version "0.6.5")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "testlib" version ".zip"))
- (sha256
- (base32 "1mz26cxn4x8bbgv0rn0mvj2z05y31rkc8009nvdlb3lam5b4mj3y"))))
- (build-system python-build-system)
- (native-inputs
- (list unzip)) ; for unpacking the source
- (synopsis "Python micro test suite harness")
- (description "A micro unittest suite harness for Python.")
- (home-page "https://github.com/trentm/testlib")
- (license license:expat)))
-
;;; The software provided by this package was integrated into pytest 2.8.
(define-public python-pytest-cache
(package
@@ -2841,28 +2775,6 @@ enables you to test server connections locally.")
across test runs.")
(license license:expat)))
-(define-public python-pytest-subtesthack
- (package
- (name "python-pytest-subtesthack")
- (version "0.1.1")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "pytest-subtesthack" version))
- (sha256
- (base32
- "15kzcr5pchf3id4ikdvlv752rc0j4d912n589l4rifp8qsj19l1x"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-pytest))
- (synopsis "Set-up and tear-down fixtures for unit tests")
- (description "This plugin allows you to set up and tear down fixtures
-within unit test functions that use @code{py.test}. This is useful for using
-@command{hypothesis} inside py.test, as @command{hypothesis} will call the
-test function multiple times, without setting up or tearing down fixture state
-as is normally the case.")
- (home-page "https://github.com/untitaker/pytest-subtesthack/")
- (license license:unlicense)))
-
(define-public python-pytest-sugar
(package
(name "python-pytest-sugar")
@@ -3301,69 +3213,6 @@ pragmas to control it from within your code. Additionally, it is
possible to write plugins to add your own checks.")
(license license:gpl2+)))
-(define-public python-setuptools-lint
- (package
- (name "python-setuptools-lint")
- (version "0.6.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "setuptools-lint" version))
- (sha256
- (base32
- "16a1ac5n7k7sx15cnk03gw3fmslab3a7m74dc45rgpldgiff3577"))))
- (build-system python-build-system)
- (propagated-inputs (list python-tomli python-pylint))
- (home-page "https://github.com/johnnoone/setuptools-pylint")
- (synopsis "Run pylint with @command{python setup.py lint}")
- (description "This package expose pylint as a lint command into
-setup.py.")
- (license license:bsd-3)))
-
-(define-public python-paramunittest
- (package
- (name "python-paramunittest")
- (version "0.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "ParamUnittest" version))
- (sha256
- (base32
- "0kp793hws5xv1wvycxq7jw2pwy36f35k39jg8hx5qikij5a0jid1"))))
- (build-system python-build-system)
- (home-page
- "https://github.com/rik0/ParamUnittest")
- (synopsis
- "Simple extension to have parametrized unit tests")
- (description
- "This package creates parameterized unit-tests that work with the standard
-unittest package. A parameterized test case is automatically converted to multiple test
-cases. Since they are TestCase subclasses, they work with other test suites that
-recognize TestCases.")
- (license license:bsd-2)))
-
-(define-public python-pytest-warnings
- (package
- (name "python-pytest-warnings")
- (version "0.2.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "pytest-warnings" version))
- (sha256
- (base32
- "0gf2dpahpl5igb7jh1sr9acj3z3gp7zahqdqb69nk6wx01c8kc1g"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-pytest))
- (home-page "https://github.com/fschulze/pytest-warnings")
- (synopsis "Pytest plugin to list Python warnings in pytest report")
- (description
- "Python-pytest-warnings is a pytest plugin to list Python warnings in
-pytest report.")
- (license license:expat)
- (properties `((superseded unquote python-pytest)))))
-
(define-public python-pytest-capturelog
(package
(name "python-pytest-capturelog")
@@ -3534,32 +3383,6 @@ JSON APIs with Behave.")
directories to be excluded from testing.")
(license license:lgpl2.1+)))
-(define-public python-nose-random
- (package
- (name "python-nose-random")
- (version "1.0.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/fzumstein/nose-random")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1dvip61r2frjv35mv6mmfjc07402z73pjbndfp3mhxyjn2zhksw2"))))
- (build-system python-build-system)
- (native-inputs
- (list python-nose))
- (home-page "https://github.com/fzumstein/nose-random")
- (synopsis "Nose plugin to facilitate randomized unit testing with
-Python")
- (description "Python nose-random is designed to facilitate
-Monte-Carlo style unit testing. The idea is to improve testing by
-running your code against a large number of randomly generated input
-scenarios.")
- (license license:expat)))
-
(define-public python-nose-timer
(package
(name "python-nose-timer")
@@ -3792,12 +3615,11 @@ tests. The output format is JSON.")
(list)
(list #:configure-flags #~(list "-DTROMPELOEIL_BUILD_TESTS=yes")))
(list
- #:test-target "test/self_test"
#:phases #~(modify-phases %standard-phases
(replace 'check
- (lambda* (#:key tests? test-target #:allow-other-keys)
+ (lambda* (#:key tests? #:allow-other-keys)
(when tests?
- (invoke test-target))))))))
+ (invoke "test/self_test"))))))))
(native-inputs (list catch2-3))
(home-page "https://github.com/rollbear/trompeloeil")
(synopsis "Header only C++14 mocking framework")
@@ -4245,41 +4067,6 @@ to mark some tests as dependent from other tests. These tests will then be
skipped if any of the dependencies did fail or has been skipped.")
(license license:asl2.0)))
-(define-public python-pytest-pudb
- ;; PyPi does not include tests
- (let ((commit "a6b3d2f4d35e558d72bccff472ecde9c9d9c69e5"))
- (package
- (name "python-pytest-pudb")
- ;; Version mentioned in setup.py version field.
- (version "0.7.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/wronglink/pytest-pudb")
- (commit commit)))
- (file-name (git-file-name name commit))
- (sha256
- (base32
- "1c0pypxx3y8w7s5bz9iy3w3aablnhn81rnhmb0is8hf2qpm6k3w0"))))
- (build-system python-build-system)
- (propagated-inputs (list pudb))
- (native-inputs (list python-pytest))
- (arguments
- `(#:phases (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key inputs outputs tests? #:allow-other-keys)
- (when tests?
- (add-installed-pythonpath inputs outputs)
- (invoke "pytest" "-v")))))))
- (home-page "https://github.com/wronglink/pytest-pudb")
- (synopsis "Pytest PuDB debugger integration")
- (description
- "@code{python-pytest-pudb} provides PuDB debugger integration based
-on pytest PDB integration. For example, the software developer can
-call pudb by running @code{py.test --pudb} from the command line or by
-including @code{pudb.set_trace} in their test file(s).")
- (license license:expat))))
-
(define-public python-pytest-datadir
(package
(name "python-pytest-datadir")
diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm
index 9e9f3bf660..5cbdad2822 100644
--- a/gnu/packages/chemistry.scm
+++ b/gnu/packages/chemistry.scm
@@ -578,34 +578,46 @@ usual algorithms you expect from a modern molecular dynamics implementation.")
(package
(name "openbabel")
(version "3.1.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/openbabel/openbabel/"
- "releases/download/openbabel-"
- (string-replace-substring version "." "-")
- "/openbabel-" version "-source.tar.bz2"))
- (sha256
- (base32
- "0s0f4zib8vshfaywsr5bjjz55jwsg6yiz2qw4i5jm8wysn0q7v56"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/openbabel/openbabel")
+ (commit (string-append
+ "openbabel-"
+ (string-replace-substring version "." "-")))))
+ (sha256
+ (base32 "1ijl4px8nw9824znrsw9nsv4qf9xy0zgd8wrw8hhl15jy1sn02n1"))
+ (file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
- `(;; FIXME: Disable tests on i686 to work around
- ;; https://github.com/openbabel/openbabel/issues/2041.
- #:tests? ,(or (%current-target-system)
- (not (string=? "i686-linux" (%current-system))))
- #:configure-flags
- (list "-DOPENBABEL_USE_SYSTEM_INCHI=ON"
- (string-append "-DINCHI_LIBRARY="
- (assoc-ref %build-inputs "inchi")
- "/lib/inchi/libinchi.so.1")
- (string-append "-DINCHI_INCLUDE_DIR="
- (assoc-ref %build-inputs "inchi") "/include/inchi"))
- #:test-target "test"))
+ (list
+ ;; FIXME: Disable tests on i686 to work around
+ ;; https://github.com/openbabel/openbabel/issues/2041.
+ #:tests? (or (%current-target-system)
+ (not (string=? "i686-linux" (%current-system))))
+ #:configure-flags
+ '(list
+ "-DOPENBABEL_USE_SYSTEM_INCHI=ON"
+ (string-append
+ "-DINCHI_LIBRARY="
+ (search-input-file %build-inputs "/lib/inchi/libinchi.so.1"))
+ (string-append "-DINCHI_INCLUDE_DIR="
+ (search-input-directory %build-inputs "/include/inchi")))
+ #:phases
+ '(modify-phases %standard-phases
+ ;; Fixed upstream:
+ ;; https://github.com/openbabel/openbabel/commit/c0570bfeb2d7e0a6a6de1f257cf28e7f3cac8739
+ (add-after 'unpack 'fix-time-check
+ (lambda _
+ (substitute* "src/config.h.cmake"
+ (("(#ifdef HAVE_(SYS_)?TIME)(.*)$" _ old _ suffix)
+ (string-append old "_H" suffix))))))))
(native-inputs
(list pkg-config))
(inputs
- (list eigen inchi libxml2 zlib))
- (home-page "http://openbabel.org/wiki/Main_Page")
+ (list eigen inchi libxml2 rapidjson zlib))
+ (home-page "https://openbabel.org/")
(synopsis "Chemistry data manipulation toolbox")
(description
"Open Babel is a chemical toolbox designed to speak the many languages of
@@ -974,7 +986,7 @@ integrals for Gaussian type functions.")
(define-public gemmi
(package
(name "gemmi")
- (version "0.6.4")
+ (version "0.7.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -983,10 +995,9 @@ integrals for Gaussian type functions.")
(file-name (git-file-name name version))
(sha256
(base32
- "0wciqqswc4p4v4kglfv36gnvyyimqn4lnywdzd0pgrjn443i860y"))
+ "01fdpb695gqsl5xznrlqjydnrckqbfndzr8fj66pryzv8d0fdfsg"))
(patches
- (search-patches "gemmi-fix-sajson-types.patch"
- "gemmi-fix-pegtl-usage.patch"))
+ (search-patches "gemmi-fix-pegtl-usage.patch"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -1010,24 +1021,28 @@ integrals for Gaussian type functions.")
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-includes
(lambda _
- (substitute* (list "src/sprintf.cpp"
+ (substitute* (list "src/json.cpp"
+ "src/sprintf.cpp"
"include/gemmi/dirwalk.hpp"
"include/gemmi/cif.hpp"
"include/gemmi/json.hpp"
"python/gemmi.cpp"
+ "python/serial.h"
"include/gemmi/atof.hpp"
"include/gemmi/numb.hpp"
"include/gemmi/fourier.hpp")
(("<stb/stb_sprintf.h>") "<stb_sprintf.h>")
(("\"third_party/tinydir.h\"") "<tinydir.h>")
(("\"third_party/tao/pegtl.hpp\"") "<tao/pegtl.hpp>")
- (("\"third_party/sajson.h\"") "<sajson.h>")
+ (("\"\\.\\./third_party/sajson.h\"") "<sajson.h>")
(("\"gemmi/third_party/tao/pegtl/parse_error.hpp\"")
"<tao/pegtl/parse_error.hpp>")
(("\"third_party/fast_float.h\"")
"<fast_float/fast_float.h>")
(("\"third_party/pocketfft_hdronly.h\"")
- "<pocketfft_hdronly.h>"))))
+ "<pocketfft_hdronly.h>")
+ (("\"\\.\\./third_party/serializer.h\"")
+ "<zpp/serializer.h>"))))
(add-after 'unpack 'change-bin-prefix
(lambda _
(substitute* "CMakeLists.txt"
@@ -1039,7 +1054,7 @@ integrals for Gaussian type functions.")
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-directory-excursion "../source"
- (setenv "PYTHONPATH" "../build")
+ (setenv "PYTHONPATH" "../build/py")
(invoke "python3" "-m" "unittest" "discover" "-v"
"-s" "tests"))))))))
(inputs (list python zlib))
@@ -1048,10 +1063,11 @@ integrals for Gaussian type functions.")
optionparser
pegtl
pocketfft-cpp
- pybind11
+ python-nanobind
sajson-for-gemmi
stb-sprintf
- tinydir))
+ tinydir
+ zpp-serializer))
(home-page "https://gemmi.readthedocs.io/en/latest/")
(synopsis "Macromolecular crystallography library and utilities")
(description "GEMMI is a C++ library for macromolecular crystallography.
@@ -1119,6 +1135,12 @@ It can be used for working with
(string-append "AM_PROG_LIBTOOL\n" inst)))
(substitute* "tests/Makefile.am"
(("libfreesasa\\.a") "libfreesasa.la"))))
+ (add-after 'unpack 'fix-new-gemmi
+ (lambda _
+ (substitute* "src/cif.cc"
+ (("models\\[i\\]\\.name")
+ "std::to_string(models[i].num)")
+ (("convert_pair_to_loop") "ensure_loop"))))
(add-before 'build 'build-lexer-and-parser
(lambda _
(with-directory-excursion "src"
@@ -1235,6 +1257,8 @@ emphasis on quality rather than speed.")
#:configure-flags
#~(list
"-DUSE_BLAS_LAPACK=ON"
+ ;; Some functions are written in Fortran.
+ "-DCMAKE_C_FLAGS=-Wno-implicit-function-declaration"
(string-append "-DPARM_FILE_LOC=" #$output
"/share/" #$name "-" #$version "/eht_parms.dat")
"-DBIND_EXE_NAME=yaehmop-bind")
diff --git a/gnu/packages/cluster.scm b/gnu/packages/cluster.scm
index 866cfdce5b..4cf11d673a 100644
--- a/gnu/packages/cluster.scm
+++ b/gnu/packages/cluster.scm
@@ -47,14 +47,14 @@
(define-public drbd-utils
(package
(name "drbd-utils")
- (version "9.25.0")
+ (version "9.31.0")
(source (origin
(method url-fetch)
(uri (list (string-append "https://pkg.linbit.com/downloads/drbd"
"/utils/drbd-utils-" version ".tar.gz")))
(sha256
(base32
- "01vbghs4vyl3jvxkid59bqv73dya98k6jx5zhni2yx2xf8msynvf"))
+ "0z6iqc18r5y65c0zk9xr0nzr1cjy3d4zzklfs4158k0zh3ga0y3r"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 608080954f..b269365d5a 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2024 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2024 dan <i@dan.games>
;;; Copyright © 2024 Charles <charles@charje.net>
+;;; Copyright © 2024 Greg Hogan <code@greghogan.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -131,6 +132,7 @@ using the CMake build system.")
'("Modules/CompilerId/Xcode-3.pbxproj.in"
"Modules/Internal/CPack/CPack.RuntimeScript.in"
"Source/cmGlobalXCodeGenerator.cxx"
+ "Source/cmLocalNinjaGenerator.cxx"
"Source/cmLocalUnixMakefileGenerator3.cxx"
"Source/cmExecProgramCommand.cxx"
"Tests/CMakeLists.txt"
@@ -172,14 +174,16 @@ using the CMake build system.")
;; ELF headers.
"Utilities/cmelf"
;; CMake header wrappers.
- "Utilities/cm3p"))
+ "Utilities/cm3p"
+ ;; Pkg-config file format parser based on llparse.
+ "Utilities/cmllpkgc"))
;;; The "bootstrap" CMake. It is used to build 'cmake-minimal' below, as well
;;; as any dependencies that need cmake-build-system.
(define-public cmake-bootstrap
(package
(name "cmake-bootstrap")
- (version "3.24.2")
+ (version "3.31.8")
(source (origin
(method url-fetch)
(uri (string-append "https://cmake.org/files/v"
@@ -187,8 +191,7 @@ using the CMake build system.")
"/cmake-" version ".tar.gz"))
(sha256
(base32
- "1ny8y2dzc6fww9gzb1ml0vjpx4kclphjihkxagxigprxdzq2140d"))
- (patches (search-patches "cmake-curl-certificates-3.24.patch"))))
+ "1akcmx9w5wbygq088hrr13l6n4b5npqvh9jk20934bfwhg5f7kg3"))))
(build-system gnu-build-system)
(arguments
(list
@@ -211,7 +214,10 @@ using the CMake build system.")
;; By default CMake is built without any optimizations. Use
;; the recommended Release target for a ~2.5x speedup.
- "--" "-DCMAKE_BUILD_TYPE=Release"))
+ "--" "-DCMAKE_BUILD_TYPE=Release"
+
+ ;; The debugger creates a circular dependency on cppdap.
+ "-DCMake_ENABLE_DEBUGGER=OFF"))
#:make-flags
#~(let ((skipped-tests
(list #$@%common-disabled-tests
@@ -251,7 +257,15 @@ using the CMake build system.")
"!defined(__GNU__)")))))
#~()))))
(inputs
- (list libuv bzip2 curl expat file jsoncpp libarchive rhash zlib))
+ (list bzip2
+ curl
+ expat
+ file
+ jsoncpp/pinned
+ libarchive
+ libuv
+ rhash
+ zlib))
(native-search-paths
(list (search-path-specification
(variable "CMAKE_PREFIX_PATH")
@@ -318,6 +332,8 @@ and workspaces that can be used in the compiler environment of your choice.")
(list
#:configure-flags
#~(list "-DCMAKE_USE_SYSTEM_LIBRARIES=ON"
+ ;; The debugger creates a circular dependency on cppdap.
+ "-DCMake_ENABLE_DEBUGGER=OFF"
(string-append "-DCMAKE_DOC_DIR=share/doc/cmake-"
#$(version-major+minor (package-version
cmake-bootstrap))))
@@ -349,6 +365,7 @@ and workspaces that can be used in the compiler environment of your choice.")
(invoke "ctest" "-j" (if parallel-tests?
(number->string (parallel-job-count))
"1")
+ "--output-on-failure"
"--exclude-regex"
(string-append "^(" (string-join skipped-tests "|") ")$")))
(format #t "test suite not run~%"))))))
@@ -361,7 +378,7 @@ and workspaces that can be used in the compiler environment of your choice.")
(package
(inherit cmake-minimal)
(name "cmake")
- (version "3.25.1")
+ (version "4.0.3")
(source (origin
(inherit (package-source cmake-minimal))
(method url-fetch)
@@ -376,8 +393,7 @@ and workspaces that can be used in the compiler environment of your choice.")
,@rest))))
(sha256
(base32
- "1n4inb3fvk70sni5gmkljqw3cyllalyg3fnr9rlr7x3aa44isl8w"))
- (patches (search-patches "cmake-curl-certificates-3.24.patch"))))
+ "1yrzkwkr2nxl8hcjkk333l9ycbw9prkg363k4km609kknyvkfdcd"))))
(outputs '("out" "doc"))
(arguments
(substitute-keyword-arguments (package-arguments cmake-minimal)
@@ -414,58 +430,28 @@ and workspaces that can be used in the compiler environment of your choice.")
(delete-file-recursively (string-append #$output html)))))))))
(inputs
(modify-inputs (package-inputs cmake-minimal)
- (prepend ncurses))) ;required for ccmake
+ (prepend ncurses) ;required for ccmake
+ ;; Avoid circular dependency with (gnu packages debug).
+ (prepend (module-ref (resolve-interface '(gnu packages debug))
+ 'cppdap))))
;; Extra inputs required to build the documentation.
(native-inputs
(modify-inputs (package-native-inputs cmake-minimal)
(append python-sphinx
- texinfo)))
- (properties (alist-delete 'hidden? (package-properties cmake-minimal)))))
+ texinfo)))))
-(define-public cmake-next
- (package
- (inherit cmake)
- (version "4.0.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://cmake.org/files/v"
- (version-major+minor version)
- "/cmake-" version ".tar.gz"))
- (sha256
- (base32
- "1q9119wg68vz3ki4g3yw3dkb90zpbr13vy2raar21rb31vhafc6n"))))
- (native-inputs
- (modify-inputs (package-native-inputs cmake)
- ;; Avoid circular dependency with (gnu packages debug). Note: cppdap
- ;; is built with cmake, so when the default cmake is updated to this
- ;; version this circular dependency will need to be worked around.
- (prepend (module-ref (resolve-interface '(gnu packages debug))
- 'cppdap))))))
-
-(define-public cmake-minimal-3.30
- (package
- (inherit cmake-minimal)
- (version "3.30.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://cmake.org/files/v"
- (version-major+minor version)
- "/cmake-" version ".tar.gz"))
- (sha256
- (base32
- "1r48zym4dy4mvwzk704zh1vx9gb4a910f424ypvis28mcxdy2pbd"))))
- (arguments
- (substitute-keyword-arguments (package-arguments cmake-minimal)
- ((#:phases phases)
- #~(modify-phases #$phases
- (delete 'delete-help-documentation)))))
- (native-inputs
- (modify-inputs (package-native-inputs cmake-minimal)
- ;; Avoid circular dependency with (gnu packages debug). Note: cppdap
- ;; is built with cmake, so when the default cmake-minimal is updated to
- ;; this version this circular dependency will need to be worked around.
- (prepend (module-ref (resolve-interface '(gnu packages debug))
- 'cppdap))))))
+(define-public cmake-3.25
+ (hidden-package
+ (package/inherit cmake
+ (version "3.25.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://cmake.org/files/v"
+ (version-major+minor version)
+ "/cmake-" version ".tar.gz"))
+ (sha256
+ (base32
+ "074hw6pr7w4j6mfnpm3xh99cm6chjf4rjpi4qkmnvjlhsl0mg6fc")))))))
(define-public cmake-minimal-cross
(package
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index c4c423c846..7d081e3e3f 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -23,6 +23,8 @@
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024 Jordan Moore <lockbox@struct.foo>
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
+;;; Copyright © 2025 Ada Stevenson <adanskana@gmail.com>
+;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -40,15 +42,16 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages code)
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix git-download)
- #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
- #:use-module (guix build-system python)
+ #:use-module ((guix build-system python) #:select (pypi-uri))
+ #:use-module (guix build-system pyproject)
#:use-module (guix build-system trivial)
#:use-module (guix build-system go)
#:use-module (gnu packages)
@@ -57,7 +60,9 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages c)
+ #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages curl)
@@ -71,27 +76,78 @@
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages graphviz)
- #:use-module (gnu packages llvm)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages llvm)
+ #:use-module (gnu packages logging)
#:use-module (gnu packages lua)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-compression)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages pretty-print)
#: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)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages regex)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
- #:use-module (gnu packages xml))
+ #:use-module (gnu packages xml)
+ #:use-module (srfi srfi-1))
;;; Tools to deal with source code: metrics, cross-references, etc.
+(define-public amalgamate
+ (let* ((commit "c91f07eea1133aa184f652b8f1398eaf03586208")
+ (revision "0")
+ (version (git-version "1.1.1" revision commit)))
+ (package
+ (name "amalgamate")
+ (version version)
+ (home-page "https://github.com/edlund/amalgamate")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (sha256
+ (base32
+ "0cllaraw8mxs8q2nr28nhgzkb417gj2wcklqg59w84f4lc78k3yb"))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (snippet
+ '(substitute* "test.sh"
+ (("test_command \"cc -Wall -Wextra -o source.out source.c\"" all)
+ "test_command \"gcc -Wall -Wextra -o source.out source.c\"")))))
+ (build-system gnu-build-system)
+ (inputs (list python-wrapper))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (install-file "amalgamate.py" bin))))
+ (replace 'check
+ (lambda _
+ (invoke "./test.sh"))))))
+ (synopsis "Tool for amalgamating C source and header files")
+ ;; The package is indeed a script file, and the term "amalgamate.py" is
+ ;; used by upstream.
+ (description "amalgamate.py aims to make it easy to use SQLite-style C
+source and header amalgamation in projects.")
+ (license license:bsd-3))))
+
(define-public automatic-component-toolkit
(package
(name "automatic-component-toolkit")
@@ -134,14 +190,14 @@ desired software component.")
(define-public cflow
(package
(name "cflow")
- (version "1.7")
+ (version "1.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/cflow/cflow-"
version ".tar.bz2"))
(sha256
(base32
- "11khr78090jjyqa2l26bdz0myjx6b212lz216dhjc7h0z754c4fh"))))
+ "1f4s979phyjz8qss10d0fqa4paa6z3wwdz23d9zqgixnamxn48c3"))))
(build-system gnu-build-system)
;; Needed to have cflow-mode.el installed.
@@ -191,6 +247,35 @@ may help in learning or reviewing unfamiliar code or perhaps
highlighting your own code that seemed comprehensible when you wrote it.")
(license license:gpl3+)))
+(define-public cscope
+ (package
+ (name "cscope")
+ (version "15.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/cscope/cscope/"
+ "v" version "/cscope-" version ".tar.gz"))
+ (sha256
+ (base32 "0ngiv4aj3rr35k3q3wjx0y19gh7i1ydqa0cqip6sjwd8fph5ll65"))))
+ (build-system gnu-build-system)
+ (inputs (list ncurses))
+ (arguments
+ `(#:configure-flags
+ ;; Specify the correct ncurses directory to prevent incorrect fallback
+ ;; on SysV curses.
+ (list (string-append "--with-ncurses="
+ (assoc-ref %build-inputs "ncurses")))))
+ (home-page "https://cscope.sourceforge.net")
+ (synopsis "Tool for browsing source code")
+ (description
+ "Cscope is a text screen based source browsing tool. Although it is
+primarily designed to search C code (including lex and yacc files), it can
+also be used for C++ code.
+
+Using cscope, you can easily search for where symbols are used and defined.")
+ (license license:bsd-3)))
+
(define-public global ; a global variable
(package
(name "global")
@@ -480,68 +565,6 @@ features that are not supported by the standard @code{stdio} implementation.")
(license (license:non-copyleft
"http://sourceforge.net/p/ctrio/git/ci/master/tree/README"))))
-(define-public universal-ctags
- (package
- (name "universal-ctags")
- (version "6.1.20250525.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/universal-ctags/ctags")
- (commit (string-append "p" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0nxhmpzkxixb303bsihd5j7n0d29ak2lgnqff920q3dm33y965sy"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Remove the bundled PackCC and associated build rules.
- (substitute* "Makefile.am"
- (("^PACKCC = .*")
- "PACKCC = packcc\n")
- (("\\$\\(PACKCC_FILES\\)")
- "")
- (("\\$\\(PEG_SRCS\\) \\$\\(PEG_HEADS\\): \\$\\(PACKCC\\)")
- "$(PEG_SRCS) $(PEG_HEADS):"))
- (delete-file-recursively "misc/packcc")))))
- (build-system gnu-build-system)
- (arguments
- '(;; Don't use the build-time TMPDIR (/tmp/guix-build-...) at runtime.
- #:configure-flags '("--enable-tmpdir=/tmp")
- #:test-target "units"
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'make-files-writable
- (lambda _
- (for-each make-file-writable (find-files "."))))
- (add-before 'bootstrap 'patch-misc
- (lambda _
- ;; The autogen.sh script calls out to these scripts, so
- ;; we cannot wait for the patch-source-shebangs phase.
- (for-each patch-shebang (find-files "misc"))))
- (add-before 'check 'patch-tests
- (lambda _
- (substitute* "misc/units"
- (("SHELL=/bin/sh")
- (string-append "SHELL=" (which "sh"))))
- (substitute* "Tmain/utils.sh"
- (("/bin/echo") (which "echo"))))))))
- (native-inputs
- (list autoconf automake packcc perl pkg-config python-docutils))
- (inputs
- (list jansson libseccomp libxml2 libyaml pcre2))
- (home-page "https://ctags.io/")
- (synopsis "Generate tag files for source code")
- (description
- "Universal Ctags generates an index (or tag) file of language objects
-found in source files for many popular programming languages. This index
-makes it easy for text editors and other tools to locate the indexed items.
-Universal Ctags improves on traditional ctags because of its multilanguage
-support, its ability for the user to define new languages searched by regular
-expressions, and its ability to generate emacs-style TAGS files.")
- (license license:gpl2+)))
-
(define-public lcov
(package
(name "lcov")
@@ -596,16 +619,21 @@ functionality such as HTML output.")
(define-public lcov-cobertura
(package
- (name "python-lcov-cobertura")
- (version "1.6")
+ (name "lcov-cobertura")
+ (version "2.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "lcov_cobertura" version))
(sha256
- (base32
- "02ar6yjazlxq4p64cz9gag08bvakmzjrp147jara9wlnlbc96j8g"))))
- (build-system python-build-system)
+ (base32 "13xmr249c6qygm14gilb0icrsgb35ghsrr14a1zvppmxy9jf5a7g"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-setuptools
+ python-setuptools-scm
+ python-wheel
+ python-xmldiff))
(home-page "https://eriwen.github.io/lcov-to-cobertura-xml/")
(synopsis "LCOV to Cobertura XML converter")
(description
@@ -683,8 +711,7 @@ possible to collect coverage information without special compiler switches.")
(arguments
'(#:build-type "RelWithDebInfo"
#:configure-flags
- '("-DRTAGS_NO_ELISP_FILES=1"
- "-DBUILD_TESTING=FALSE")
+ '("-DRTAGS_NO_ELISP_FILES=1")
#:tests? #f))
(native-inputs
(list pkg-config))
@@ -923,51 +950,6 @@ extensions over the standard utility.")
(properties '((lint-hidden-cves . ("CVE-2023-40305"
"CVE-2024-0911")))))))
-(define-public amalgamate
- (let* ((commit "c91f07eea1133aa184f652b8f1398eaf03586208")
- (revision "0")
- (version (git-version "1.1.1" revision commit)))
- (package
- (name "amalgamate")
- (version version)
- (home-page "https://github.com/edlund/amalgamate")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url home-page)
- (commit commit)))
- (sha256
- (base32
- "0cllaraw8mxs8q2nr28nhgzkb417gj2wcklqg59w84f4lc78k3yb"))
- (file-name (git-file-name name version))
- (modules '((guix build utils)))
- (snippet
- '(substitute* "test.sh"
- (("test_command \"cc -Wall -Wextra -o source.out source.c\"" all)
- "test_command \"gcc -Wall -Wextra -o source.out source.c\"")))))
- (build-system gnu-build-system)
- (inputs (list python-wrapper))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (delete 'build)
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin")))
- (install-file "amalgamate.py" bin))))
- (replace 'check
- (lambda _
- (invoke "./test.sh"))))))
- (synopsis "Tool for amalgamating C source and header files")
- ;; The package is indeed a script file, and the term "amalgamate.py" is
- ;; used by upstream.
- (description "amalgamate.py aims to make it easy to use SQLite-style C
-source and header amalgamation in projects.")
- (license license:bsd-3))))
-
(define-public cdecl
(package
(name "cdecl")
@@ -1050,34 +1032,157 @@ type casts and C++. It has command-line editing and history with the GNU
Readline library.")
(license license:public-domain)))
-(define-public cscope
+(define-public sourcetrail
(package
- (name "cscope")
- (version "15.9")
+ (name "sourcetrail")
+ (version "2.0.0")
(source
(origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/cscope/cscope/"
- "v" version "/cscope-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/OpenSourceSourceTrail/Sourcetrail")
+ (commit version)
+ (recursive? #t)))
+ (patches (search-patches "sourcetrail-fix-cmakelists-and-paths.patch"))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0ngiv4aj3rr35k3q3wjx0y19gh7i1ydqa0cqip6sjwd8fph5ll65"))))
- (build-system gnu-build-system)
- (inputs (list ncurses))
+ "06rp9ba9lkzwm8m7agzajg550h632kqb57bs9srvbgv411bkvgdd")
+ (modules '((guix build utils)))
+ (snippet #~(begin
+ (for-each delete-file-recursively
+ '(".conan" ".devcontainer"
+ ".github"
+ "conanfile.txt"
+ "scripts"
+ "bin/app/data/install"
+ "bin/app/user/log"))))))
+ (build-system cmake-build-system)
(arguments
- `(#:configure-flags
- ;; Specify the correct ncurses directory to prevent incorrect fallback
- ;; on SysV curses.
- (list (string-append "--with-ncurses="
- (assoc-ref %build-inputs "ncurses")))))
- (home-page "https://cscope.sourceforge.net")
- (synopsis "Tool for browsing source code")
+ (let* ((split-version (string-split version
+ (lambda (c)
+ (or (eqv? c #\.)
+ (eqv? c #\-)))))
+ (major-version (first split-version))
+ (minor-version (second split-version))
+ (version-patch (third split-version)))
+ (list #:configure-flags #~(list "-DENABLE_UNIT_TEST=true"
+ "-DENABLE_GUI_TEST=true"
+ "-DENABLE_INTERGRATION_TEST=true"
+ (string-append "-DVERSION_MAJOR="
+ #$major-version)
+ (string-append "-DVERSION_MINOR="
+ #$minor-version)
+ (string-append "-DVERSION_PATCH="
+ #$version-patch)
+ "-DLLVM_ENABLE_PROJECTS:STRING=clang"
+ "-DLLVM_ENABLE_RTTI:BOOL=ON"
+ "-DCLANG_LINK_CLANG_DYLIB:BOOL=ON"
+ "-DLLVM_LINK_LLVM_DYLIB:BOOL=ON"
+ "-DLLVM_TARGETS_TO_BUILD=host"
+ "-DBUILD_CXX_LANGUAGE_PACKAGE=ON"
+ (string-append "-DClang_DIR="
+ #$clang-19
+ "/lib/cmake/clang"))
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/lib_gui/tests/utilityAppTestSuite.cpp"
+ (("/usr/bin/bash")
+ (search-input-file inputs "/bin/bash")))
+ (substitute* "CMakeLists.txt"
+ (("@OUTPUT_DIR@")
+ #$output))))
+ (add-after 'install 'install-projects
+ (lambda _
+ (let ((src (string-append #$output
+ "/share/sourcetrail/user/projects"))
+ (dst (string-append #$output:projects
+ "/share/sourcetrail/user/projects")))
+ (copy-recursively src dst)
+ (delete-file-recursively src))))))))
+ (inputs (list boost
+ clang-19
+ expected-lite
+ qt5compat
+ qtbase
+ qtnetworkauth
+ qtsvg
+ qtwayland
+ range-v3
+ spdlog-1.13
+ sqlite
+ tinyxml))
+ (native-inputs (list googletest))
+ (home-page "https://github.com/OpenSourceSourceTrail/Sourcetrail")
+ (synopsis "Graphical cross-platform source code browser for C/C++")
(description
- "Cscope is a text screen based source browsing tool. Although it is
-primarily designed to search C code (including lex and yacc files), it can
-also be used for C++ code.
+ "Sourcetrail is a free and open-source cross-platform source explorer
+that helps you get productive on unfamiliar source code. It includes support
+for C/C++, providing a graphical means for discovering symbols and their place
+in a project.")
+ (license license:gpl3)))
-Using cscope, you can easily search for where symbols are used and defined.")
- (license license:bsd-3)))
+(define-public universal-ctags
+ (package
+ (name "universal-ctags")
+ (version "6.1.20250525.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/universal-ctags/ctags")
+ (commit (string-append "p" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0nxhmpzkxixb303bsihd5j7n0d29ak2lgnqff920q3dm33y965sy"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove the bundled PackCC and associated build rules.
+ (substitute* "Makefile.am"
+ (("^PACKCC = .*")
+ "PACKCC = packcc\n")
+ (("\\$\\(PACKCC_FILES\\)")
+ "")
+ (("\\$\\(PEG_SRCS\\) \\$\\(PEG_HEADS\\): \\$\\(PACKCC\\)")
+ "$(PEG_SRCS) $(PEG_HEADS):"))
+ (delete-file-recursively "misc/packcc")))))
+ (build-system gnu-build-system)
+ (arguments
+ '(;; Don't use the build-time TMPDIR (/tmp/guix-build-...) at runtime.
+ #:configure-flags '("--enable-tmpdir=/tmp")
+ #:test-target "units"
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'make-files-writable
+ (lambda _
+ (for-each make-file-writable (find-files "."))))
+ (add-before 'bootstrap 'patch-misc
+ (lambda _
+ ;; The autogen.sh script calls out to these scripts, so
+ ;; we cannot wait for the patch-source-shebangs phase.
+ (for-each patch-shebang (find-files "misc"))))
+ (add-before 'check 'patch-tests
+ (lambda _
+ (substitute* "misc/units"
+ (("SHELL=/bin/sh")
+ (string-append "SHELL=" (which "sh"))))
+ (substitute* "Tmain/utils.sh"
+ (("/bin/echo") (which "echo"))))))))
+ (native-inputs
+ (list autoconf automake packcc perl pkg-config python-docutils))
+ (inputs
+ (list jansson libseccomp libxml2 libyaml pcre2))
+ (home-page "https://ctags.io/")
+ (synopsis "Generate tag files for source code")
+ (description
+ "Universal Ctags generates an index (or tag) file of language objects
+found in source files for many popular programming languages. This index
+makes it easy for text editors and other tools to locate the indexed items.
+Universal Ctags improves on traditional ctags because of its multilanguage
+support, its ability for the user to define new languages searched by regular
+expressions, and its ability to generate emacs-style TAGS files.")
+ (license license:gpl2+)))
(define-public xenon
(package
@@ -1090,9 +1195,16 @@ Using cscope, you can easily search for where symbols are used and defined.")
(sha256
(base32
"1yj31bqz2bphvvyb0jkas7bxc2rw76rf1csz0mwmvah8pbc3hxaa"))))
- (build-system python-build-system)
- (arguments (list #:tests? #f)) ;test suite not shipped with the PyPI archive
- (inputs (list python-pyyaml python-radon python-requests))
+ (build-system pyproject-build-system)
+ ;; Test suite not shipped with the PyPI archive; tests in Git require
+ ;; network access.
+ (arguments (list #:tests? #f))
+ (native-inputs
+ (list python-setuptools-next))
+ (inputs
+ (list python-pyyaml
+ python-radon
+ python-requests))
(home-page "https://xenon.readthedocs.org/")
(synopsis "Monitor code metrics for Python on your CI server")
(description
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index cd3a9c49f1..1971417a95 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2529,6 +2529,7 @@ exec " gcc "/bin/" program
;; The libstdc++ that libcc1 links against.
("libstdc++" ,(match (%current-system)
("aarch64-linux" (make-libstdc++-boot0 gcc-5))
+ ("powerpc-linux" (make-libstdc++-boot0 gcc-5))
("powerpc64le-linux" (make-libstdc++-boot0 gcc-5))
("riscv64-linux" (make-libstdc++-boot0 gcc-7))
("i586-gnu" (make-libstdc++-boot0 gcc-5))
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index b0fd58ccfb..503fa18a55 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -33,7 +33,7 @@
;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net>
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
-;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021, 2024-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2021 Ahmad Jarara <git@ajarara.io>
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
@@ -862,7 +862,7 @@ with the sfArk algorithm.")
(define-public minizip-ng
(package
(name "minizip-ng")
- (version "4.0.5")
+ (version "4.0.10")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -871,12 +871,35 @@ with the sfArk algorithm.")
(file-name (git-file-name name version))
(sha256
(base32
- "0lgx4s4aykxn8x3b4m4c4isasd2608bbyfm4lxc2spcc4xqwhzkz"))))
+ "1y6yvswzl1gzrv1am3yhr6r2zpsh50d1l7g381ccccn9sz19jw13"))))
(build-system cmake-build-system)
(arguments
- (list #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
- "-DMZ_BUILD_TESTS=ON"
- "-DMZ_BUILD_UNIT_TESTS=ON")))
+ (list
+ #:parallel-tests? #f
+ #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
+ "-DMZ_BUILD_TESTS=ON"
+ "-DMZ_BUILD_UNIT_TESTS=ON"
+ "-DMZ_COMPAT=OFF")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'sanitize-config-file
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((minizip-config
+ (or (false-if-exception
+ (search-input-file
+ outputs
+ "lib/cmake/minizip-ng/minizip-ng-config.cmake"))
+ (search-input-file ;for the minizip variant
+ outputs
+ "lib/cmake/minizip/minizip-config.cmake"))))
+ (substitute* minizip-config
+ ;; The find_dependency calls appear useful only in a
+ ;; static library context, to ensure the transitive
+ ;; dependencies are available for linking. Remove these to
+ ;; avoid having to propagate all optional inputs (see:
+ ;; <https://github.com/zlib-ng/minizip-ng/issues/898>).
+ ((".*CMakeFindDependencyMacro.*") "")
+ ((".*find_dependency.*") ""))))))))
(native-inputs (list googletest pkg-config))
(inputs (list openssl zlib `(,zstd "lib")))
(home-page "https://github.com/zlib-ng/minizip-ng")
@@ -885,6 +908,31 @@ with the sfArk algorithm.")
C, forked from the zip manipulation library found in the zlib distribution.")
(license license:bsd-3)))
+(define-public minizip-ng-compat
+ (package/inherit minizip-ng
+ (name "minizip-ng-compat")
+ (arguments
+ (substitute-keyword-arguments (package-arguments minizip-ng)
+ ((#:configure-flags flags)
+ #~(delete "-DMZ_COMPAT=OFF" #$flags))))))
+
+;; The following package is needed for opencolorio@2.4.2, see
+;; https://github.com/AcademySoftwareFoundation/OpenColorIO/issues/2157
+;; https://github.com/NixOS/nixpkgs/pull/406607
+(define-public minizip-ng-4.0.9
+ (package/inherit minizip-ng
+ (name "minizip-ng")
+ (version "4.0.9")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zlib-ng/minizip-ng")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0bychb3ysbxdhgfvjvmy0rkzjd0ngfkha7d5jy6w8zam53xb0248"))))))
+
(define-public sfarkxtc
(let ((commit "13cd6f93725a90d91ec5ea75babf1dbd694ac463")
(revision "1"))
@@ -2120,6 +2168,15 @@ timestamps in the file header with a fixed time (1 January 2008).
(base32
"18578xbzj8j89srv4bwayjm11bg56fl34sya0znq4fwq3apm037i"))))
(build-system cmake-build-system)
+ (arguments
+ (list
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Avoid the integration test, which requires a system bus.
+ (replace 'check (assoc-ref gnu:%standard-phases 'check)))))
(inputs
(list zlib))
(native-inputs (list perl ; for the documentation
@@ -2825,7 +2882,8 @@ computations.")
"17kqwvw2n6bgzidi8f5906s5hc9wm1lbfbpd491gf7csxjck99sx"))))
(build-system cmake-build-system)
(arguments
- (list #:configure-flags #~(list "-DBUILD_STATIC=OFF"
+ (list #:parallel-tests? #f
+ #:configure-flags #~(list "-DBUILD_STATIC=OFF"
"-DDEACTIVATE_AVX2=ON"
"-DDEACTIVATE_AVX512=ON"
"-DPREFER_EXTERNAL_LZ4=ON"
@@ -2960,7 +3018,8 @@ can append files to the end of such compressed archives.")
"00ibddiy62kbs9wl52c35j0hbqanx6pi7lvzkpzmbsizkj8mhp1p"))))
(build-system cmake-build-system)
(arguments
- '(#:configure-flags
+ '(#:tests? #f
+ #:configure-flags
(let* ((out (assoc-ref %outputs "out"))
(lib (string-append out "/lib")))
(list
@@ -3031,7 +3090,7 @@ compression and decompression speed compared to Deflate using Zlib.")
(define-public unrar-free
(package
(name "unrar-free")
- (version "0.3.1")
+ (version "0.3.2")
(source
(origin
(method git-fetch)
@@ -3040,7 +3099,7 @@ compression and decompression speed compared to Deflate using Zlib.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1qf2fdr4bl10kys2fsb6090r9xj0ascrk7pn0iklsv1ajwcql3qf"))))
+ (base32 "13qkflwcdfnyrajs3hf2hgrzq4l0kqzngxwa5vyqhw4zz0r9djpm"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 3bb6b346cf..dfdf4c956d 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -49,6 +49,9 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
+ #:use-module (gnu packages golang-build)
+ #:use-module (gnu packages golang-compression)
+ #:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages guile)
#:use-module (gnu packages linux)
@@ -70,7 +73,7 @@
(define-public crun
(package
(name "crun")
- (version "1.22")
+ (version "1.23.1")
(source
(origin
(method url-fetch)
@@ -80,7 +83,7 @@
"/crun-" version ".tar.gz"))
(sha256
(base32
- "1cggwb5libxjx4x96hd2v1pd4rm7m7bll37j888khsc5s486q32z"))))
+ "1y23fz82d7zaa2svyzjhfhahl6l0a3yrasfbcfacplhkwk7bflnp"))))
(build-system gnu-build-system)
(arguments
(list
@@ -232,6 +235,53 @@ runtime (like runc or crun) for a single container.")
containers highly integrated with the hosts.")
(license license:gpl3)))
+(define-public dive
+ (package
+ (name "dive")
+ (version "0.12.0") ;newer version needs docker/docker@28+
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wagoodman/dive")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0p60bq0lc820p7x3nq8kxc8cx646c0z7zxqc7vav77zc4qbm3r8a"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.23
+ #:install-source? #f
+ #:build-flags
+ #~(list (string-append "-ldflags=-X main.version=" #$version))
+ #:import-path "github.com/wagoodman/dive"))
+ (native-inputs
+ (list go-github-com-awesome-gocui-gocui
+ go-github-com-awesome-gocui-keybinding
+ go-github-com-cespare-xxhash
+ go-github-com-docker-cli
+ go-github-com-docker-docker
+ go-github-com-dustin-go-humanize
+ go-github-com-fatih-color
+ go-github-com-google-uuid
+ go-github-com-logrusorgru-aurora
+ go-github-com-lunixbochs-vtclean
+ go-github-com-mitchellh-go-homedir
+ go-github-com-phayes-permbits
+ go-github-com-sergi-go-diff
+ go-github-com-sirupsen-logrus
+ go-github-com-spf13-afero
+ go-github-com-spf13-cobra
+ go-github-com-spf13-viper
+ go-golang-org-x-net))
+ (home-page "https://github.com/wagoodman/dive")
+ (synopsis "Tool for exploring each layer in a docker image")
+ (description
+ "This package provides a tool for exploring a Docker image, layer
+contents, and discovering ways to shrink the size of Docker/OCI image.")
+ (license license:expat)))
+
(define-public libslirp
(package
(name "libslirp")
@@ -633,7 +683,7 @@ being rootless and not requiring any daemon to be running.")
(define-public buildah
(package
(name "buildah")
- (version "1.40.1")
+ (version "1.41.0")
(source
(origin
(method git-fetch)
@@ -641,7 +691,7 @@ being rootless and not requiring any daemon to be running.")
(url "https://github.com/containers/buildah")
(commit (string-append "v" version))))
(sha256
- (base32 "109xvnx65gbajxipq2h0669bzzxyc6hfmdcijgngijxj5kwx5cgq"))
+ (base32 "12vl3g5h9m9pw0zpi88j7sjx0db8ardigh2x8h3a3qa9m5hlnqnb"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 1a991ac08c..3832b67aec 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -338,6 +338,8 @@ Segmentation and Registration Toolkit.")
(base32
"1nm6d87j11jc5617qk58a81ajxgrncr7xsf4dkyscrygi2n3dbgz"))))
(build-system cmake-build-system)
+ (arguments
+ (list #:tests? #f))
(home-page "https://github.com/Martchus/cpp-utilities/")
(synopsis "Useful C++ classes and routines")
(description
@@ -832,8 +834,7 @@ of XDG base directories, such as XDG_CONFIG_HOME.")
(build-system cmake-build-system)
(arguments
(list
- #:configure-flags #~(list "-DBUILD_TESTS=ON")
- #:test-target "xtest"))
+ #:configure-flags #~(list "-DBUILD_TESTS=ON")))
(native-inputs
(list doctest
googletest))
@@ -848,32 +849,30 @@ mathematical functions operating on batches.")
(license license:bsd-3)))
(define-public icecream-cpp
- ;; Last release was in 2020.
- (let ((commit "95c8b91c2214be76a2847cd4ab37dccd9250ed77")
- (revision "0"))
- (package
- (name "icecream-cpp")
- (version (git-version "0.3.1" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/renatoGarcia/icecream-cpp")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0zw4aj5xs13grf7qj6f33dq7md9hn5i9mf6kz66b5jsx2fly6xxs"))))
- (build-system cmake-build-system)
- (arguments
- (list #:configure-flags #~(list "-DBUILD_TESTING=ON")))
- (native-inputs (list boost catch2))
- (home-page "https://github.com/renatoGarcia/icecream-cpp")
- (synopsis "C++ library for @code{printf} debugging")
- (description
- "IceCream-Cpp is a C++ library for @code{printf} debugging. It is
+ (package
+ (name "icecream-cpp")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/renatoGarcia/icecream-cpp")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pl3qibxa9m7qkfpxszablwyhlnn9qz0cgms8kr2wwvxdzipr1p0"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:configure-flags #~(list "-DCMAKE_CXX_STANDARD=17")))
+ (native-inputs (list boost catch2))
+ (home-page "https://github.com/renatoGarcia/icecream-cpp")
+ (synopsis "C++ library for @code{printf} debugging")
+ (description
+ "IceCream-Cpp is a C++ library for @code{printf} debugging. It is
inspired by the @url{https://github.com/gruns/icecream, Python library} of the
same name.")
- (license license:expat))))
+ (license license:expat)))
(define-public google-highway
(package
@@ -927,7 +926,6 @@ library for SIMD (Single Instruction, Multiple Data) with runtime dispatch.")
"0q7bpywn8ljsj3dymvv19cm7n0r51vg5hj1jsapdl5bwpwf7bf41"))))
(build-system cmake-build-system)
(native-inputs (list gcc-15 pkg-config))
- (arguments (list #:cmake cmake-next))
(inputs (list cairo
hyprutils
libjpeg-turbo
@@ -1370,6 +1368,7 @@ a cooperatively interruptible thread that is joined upon destruction.")
(sha256
(base32 "090i2qg88iknldxd6v2mh3jfvkdkwc5m38czhrbm58r3y835fy0y"))))
(build-system cmake-build-system)
+ (arguments (list #:tests? #f))
(home-page "https://github.com/ToruNiina/toml11")
(synopsis "TOML for modern C++")
(description
@@ -1443,8 +1442,7 @@ for C++17.")
(build-system cmake-build-system)
(arguments
(list
- #:configure-flags #~(list "-DBUILD_TESTS=ON")
- #:test-target "xtest"))
+ #:configure-flags #~(list "-DBUILD_TESTS=ON")))
(native-inputs
(list doctest
googletest
@@ -1646,7 +1644,8 @@ tools:
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags
+ `(#:parallel-tests? #f
+ #:configure-flags
'("-DBUILD_SHARED_LIBS=ON"
"-DHTTPLIB_TEST=ON"
"-DHTTPLIB_COMPILE=ON"
@@ -1965,7 +1964,8 @@ hierarchies and multiple types of execution resources.")
(base32 "05g4dp1359rsx0y2wrg2yv4zx3aq5anxr8jgb2c5f1ay3nq3639s"))))
(build-system cmake-build-system)
(arguments
- (list #:configure-flags
+ (list #:tests? #f
+ #:configure-flags
#~(list "-DBUILD_SHARED_LIBS=ON")))
(inputs
(list kokkos
@@ -2593,10 +2593,17 @@ provides a number of utilities to make coding with expected cleaner.")
(sha256
(base32 "032rb84ahvdnc1m6sj4lflrwnk4p1f2jsq1pv03xbgizp2lr2pkx"))))
(build-system cmake-build-system)
- (arguments (list #:test-target "check"
- ;; -Werror appears to report false positives.
- ;; See <https://github.com/arximboldi/immer/issues/223>.
- #:configure-flags #~(list "-DDISABLE_WERROR=ON")))
+ (arguments
+ (list
+ ;; -Werror appears to report false positives.
+ ;; See <https://github.com/arximboldi/immer/issues/223>.
+ #:configure-flags #~'("-DDISABLE_WERROR=ON")
+ #:modules `((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check (assoc-ref gnu:%standard-phases 'check)))))
(inputs (list boost libgc c-rrb))
(native-inputs (list catch2-3 doctest fmt pkg-config))
(home-page "https://sinusoid.es/immer")
@@ -2621,7 +2628,14 @@ written in C++.")
(modules '((guix build utils)))
(snippet #~(delete-file-recursively "tools"))))
(build-system cmake-build-system)
- (arguments (list #:test-target "check"))
+ (arguments
+ (list
+ #:modules `((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check (assoc-ref gnu:%standard-phases 'check)))))
(native-inputs (list boost catch2))
(home-page "https://sinusoid.es/zug")
(synopsis "Higher-order sequence transformers")
@@ -2642,13 +2656,16 @@ composable sequential transformations.")
(sha256
(base32 "1by9d49qnkncifyjcq16zy605d7v4ps6hvc01q5nsp1nbswm94m4"))))
(build-system cmake-build-system)
- (arguments (list #:test-target "check"
- #:configure-flags #~(list "-Dlager_BUILD_EXAMPLES=no")
+ (arguments (list #:configure-flags #~(list "-Dlager_BUILD_EXAMPLES=no")
+ #:modules `((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'delete-failing-tests
(lambda _
- (delete-file-recursively "test/event_loop"))))))
+ (delete-file-recursively "test/event_loop")))
+ (replace 'check (assoc-ref gnu:%standard-phases 'check)))))
(inputs (list boost immer zug))
(native-inputs (list catch2 cereal))
(home-page "https://sinusoid.es/lager")
@@ -3228,95 +3245,87 @@ validation.")
"038i9nmk85vpxvs546w6cyci0ppdrrp5wnlv1kffxw29x71a3g5l"))))))
(define-public bloomberg-bde-tools
- (let ((commit "23217675939d434537ef74b91f71b63054e36572"))
- (package
- (name "bloomberg-bde-tools")
- ;; Recent releases are not tagged so commit must be used for checkout.
- (version "4.13.0.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/bloomberg/bde-tools")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1x440fa8fghigipn6w8zdr60kkvxrkxs2n9a5hf3y33b8aygh8iv"))
- (patches
- (search-patches
- "bloomberg-bde-tools-fix-install-path.patch"))))
- (build-system copy-build-system)
- ;; Unable to be an inline dependency of bloomberg-bde due to patch.
- (properties '((hidden? . #t)))
- (synopsis "Tools for developing and building libraries modeled on BDE")
- (description
- "This package provides the cmake imports needed to build bloomberg-bde.")
- (home-page "https://github.com/bloomberg/bde-tools")
- (license license:asl2.0))))
+ (package
+ (name "bloomberg-bde-tools")
+ (version "4.27.0.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bloomberg/bde-tools")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0zkf6vdvzp73h6bai6kmd062k0wyqwrrdv2z9m416kgxr6qickl2"))
+ (patches
+ (search-patches
+ "bloomberg-bde-tools-fix-install-path.patch"))))
+ (build-system copy-build-system)
+ ;; Unable to be an inline dependency of bloomberg-bde due to patch.
+ (properties '((hidden? . #t)))
+ (synopsis "Tools for developing and building libraries modeled on BDE")
+ (description
+ "This package provides the cmake imports needed to build bloomberg-bde.")
+ (home-page "https://github.com/bloomberg/bde-tools")
+ (license license:asl2.0)))
(define-public bloomberg-bde
- (let ((commit "445a8ac4223b90ee0a46749b87ffbbd21788e132"))
(package
- (name "bloomberg-bde")
- ;; Recent releases are not tagged so commit must be used for checkout.
- (version "4.14.0.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/bloomberg/bde")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1hf09d4fcn77s1vv6qrh0sa0rv9wijpk55km6p3zi2ymkb2cha3c"))
- (patches
- (search-patches
- "bloomberg-bde-cmake-module-path.patch"))
- ;;(modules '((guix build utils)))
- (snippet
- `(begin
- ;; FIXME: Delete bundled software. The third-party packages
- ;; may be patched or modified from upstream sources.
- ;;(for-each delete-file-recursively
- ;; (list "thirdparty"))
- ;; Delete failing tests.
- (for-each
- delete-file
- (list "groups/bal/balcl/balcl_commandline.t.cpp"
- "groups/bal/balst/balst_resolver_filehelper.t.cpp"
- "groups/bal/balst/balst_stacktraceprintutil.t.cpp"
- "groups/bal/balst/balst_stacktraceutil.t.cpp"
- "groups/bsl/bslh/bslh_hash.t.cpp"
- "groups/bsl/bsls/bsls_timeutil.t.cpp"))
- #t))))
- (build-system cmake-build-system)
- (arguments
- `(#:parallel-tests? #f ; Test parallelism may fail inconsistently.
- ;; Set UFID to build shared libraries. Flag descriptions can be found at
- ;; https://bloomberg.github.io/bde-tools/bbs/reference/bbs_build_configuration.html#ufid
- #:configure-flags '("-DUFID=opt_dbg_exc_mt_64_shr_cpp20")
- #:phases
- (modify-phases %standard-phases
- ;; Explicitly build tests separate from the main build.
- (add-after 'build 'build-tests
- (lambda* (#:key make-flags #:allow-other-keys)
- (apply invoke "make" "all.t"
- `(,@(if #:parallel-build?
- `("-j" ,(number->string (parallel-job-count)))
- '())
- ,@make-flags)))))))
- (native-inputs
- (list bloomberg-bde-tools pkg-config python))
- (synopsis "Foundational C++ libraries used at Bloomberg")
- (description
- "The BDE Development Environment libraries provide an enhanced
+ (name "bloomberg-bde")
+ (version "4.27.0.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bloomberg/bde")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "17315r9j20pvv4ccnd59m85miq96hp07pysfr64glb7r4f4zjkfs"))
+ ;;(modules '((guix build utils)))
+ (snippet
+ `(begin
+ ;; FIXME: Delete bundled software. The third-party packages
+ ;; may be patched or modified from upstream sources.
+ ;;(for-each delete-file-recursively
+ ;; (list "thirdparty"))
+ ))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ ;; Set UFID to build shared libraries. Flag descriptions can be found at
+ ;; https://bloomberg.github.io/bde-tools/bbs/reference/bbs_build_configuration.html#ufid
+ #:configure-flags #~(list "-DUFID=opt_dbg_exc_mt_64_shr_cpp20")
+ #:test-exclude (string-join (list "balcl_commandline.t"
+ "balst_stacktraceprintutil.t"
+ "bslalg_numericformatterutil.t"
+ "bslh_hash.t"
+ "bslstl_deque.0[1345].t"
+ "bslstl_queue.t"
+ "bslstl_stack.t")
+ "|")
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Explicitly build tests after the main build.
+ (add-after 'build 'build-tests
+ (lambda* (#:key make-flags #:allow-other-keys #:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'build)
+ (list #:make-flags (list "all.t"))))))))
+ (native-inputs
+ (list bloomberg-bde-tools pkg-config python))
+ (synopsis "Foundational C++ libraries used at Bloomberg")
+ (description
+ "The BDE Development Environment libraries provide an enhanced
implementation of STL containers, vocabulary types for representing common
concepts (like dates and times), and building blocks for developing
multi-threaded applications and network applications.")
- (home-page "https://github.com/bloomberg/bde")
- ;; Out-of-memory on i686-linux, compile errors with non-x86.
- (supported-systems '("x86_64-linux"))
- (license license:asl2.0))))
+ (home-page "https://github.com/bloomberg/bde")
+ ;; Out-of-memory on i686-linux, compile errors with non-x86.
+ (supported-systems '("x86_64-linux"))
+ (license license:asl2.0)))
(define-public gulrak-filesystem
(package
@@ -3562,6 +3571,11 @@ different floating point sizes and complex transformations.")
(string-append #$(this-package-native-input "unittest-cpp")
"/lib")
"', LIBS=['UnitTest++'])")))))
+ (add-after 'unpack 'fix-example
+ (lambda _
+ (substitute* "example/main.cpp"
+ (("fclose\\(file\\);")
+ "if (file != nullptr) {fclose(file); file = nullptr;}"))))
(replace 'build
(lambda* (#:key tests? #:allow-other-keys #:rest args)
(when tests?
@@ -4026,7 +4040,8 @@ based on the implementation of std::variant in libc++.")
(base32 "15l0jy3v4p6rgg9dk8zr80lqp51s32ii62cm4s90400ragdgh10v"))))
(build-system cmake-build-system)
(arguments
- '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
+ '(#:tests? #f
+ #:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
(native-inputs (list pkg-config))
(inputs (list gtk+))
(home-page "https://github.com/btzy/nativefiledialog-extended")
@@ -4538,3 +4553,26 @@ written in C99.")
(properties `((tunable? . #t)))
(home-page "https://github.com/aklomp/base64")
(license license:bsd-2)))
+
+(define-public zpp-serializer
+ (package
+ (name "zpp-serializer")
+ (version "0.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/eyalz800/serializer")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0cmk3xx9885zgg3g96ka6cdaibi10fbpf1bi7q8lqsli6z07x4zj"))))
+ (build-system copy-build-system)
+ (arguments
+ (list
+ #:install-plan #~'(("serializer.h" "include/zpp/"))))
+ (home-page "https://github.com/eyalz800/serializer")
+ (synopsis "Single header standard C++ serialization framework")
+ (description "This package provides a single-header C++14 library for
+saving and loading C++ objects using a binary format.")
+ (license license:expat)))
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 6b81eb2937..48adf3aaac 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -6409,10 +6409,10 @@ by R (also native code).")
"056ki0z22wqsp5d89ihrsb3xf2h1jiabgy420vc51qcikl27vk7f"))))
(properties
'((upstream-name . "proj4")
- (updater-extra-inputs . ("proj-7"))
+ (updater-extra-inputs . ("proj"))
(updater-ignored-inputs . ("curl" "openssh" "openssl"))))
(build-system r-build-system)
- (inputs (list proj-7 zlib))
+ (inputs (list proj zlib))
(native-inputs (list pkg-config))
(home-page "https://www.rforge.net/proj4/")
(synopsis "Simple interface to the PROJ.4 cartographic projections library")
diff --git a/gnu/packages/crates-tls.scm b/gnu/packages/crates-tls.scm
index d130d76350..c0fb956741 100644
--- a/gnu/packages/crates-tls.scm
+++ b/gnu/packages/crates-tls.scm
@@ -465,7 +465,7 @@ version of AWS-LC.")
(add-after 'unpack 'set-home-directory
(lambda _
(setenv "HOME" "/tmp"))))))
- (native-inputs (list cmake-minimal go perl))
+ (native-inputs (list cmake-minimal go-1.23 perl))
(home-page "https://github.com/aws/aws-lc-rs")
(synopsis
"AWS-LC is a general-purpose cryptographic library (FIPS version)")
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 5c0c7e232f..a7fc19f5c1 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -219,6 +219,7 @@
(base32 "1dg3g66az17z4snxxw7cslqdkrvbx2nnyry73yi77yp0vpri1lz8"))))
(arguments
(list
+ #:tests? #f
#:configure-flags
#~(list "-DBUILD_EXTENSIONS=autocomplete;icu;json;parquet;tpch;"
;; There is no git checkout from which to read the version tag.
@@ -1676,11 +1677,12 @@ pictures, sounds, or video.")
(list #:imported-modules `((guix build union)
,@%cmake-build-system-modules)
#:modules `(,@%cmake-build-system-modules
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils)
(guix build union)
(ice-9 match))
#:configure-flags #~(list "-DAPACHE_ONLY=ON"
"-DSEND_TELEMETRY_DEFAULT=OFF")
- #:test-target "regresschecklocal"
#:phases
#~(modify-phases (@ (guix build cmake-build-system) %standard-phases)
(add-after 'unpack 'patch-install-location
@@ -1749,7 +1751,9 @@ pictures, sounds, or video.")
(("histogram_test\\.sql\\.in")
"#histogram_test.sql.in")))))))
(add-after 'prepare-tests 'check
- (assoc-ref %standard-phases 'check)))))
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "regresschecklocal" args))))))
(inputs (list openssl postgresql))
(home-page "https://www.timescale.com/")
(synopsis "Time-series extension for PostgreSQL")
@@ -3734,16 +3738,19 @@ can autogenerate peewee models using @code{pwiz}, a model generator.")
(define-public python-pypika-tortoise
(package
(name "python-pypika-tortoise")
- (version "0.1.6")
+ (version "0.3.2")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "pypika-tortoise" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tortoise/pypika-tortoise")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0dmzpsnlqjjz0vm0r9xjk69xfsm235bpnk3jccr8ww4s8y7qc0nq"))))
+ (base32 "1pz7i9vgjwzzvacjjkvr5xbcmphn52xv993zbks602is844k0pp0"))))
(build-system pyproject-build-system)
(native-inputs
- (list poetry python-setuptools))
+ (list python-poetry-core python-pytest))
(home-page "https://github.com/tortoise/pypika-tortoise")
(synopsis "Pypika fork for tortoise-orm")
(description "Pypika-tortoise is a fork of pypika which has been
@@ -3818,6 +3825,34 @@ reuses most of @code{pymysql} and @code{aiomysql} but rewrites the core
protocol with Cython for performance.")
(license license:asl2.0)))
+(define-public python-asyncodbc
+ (package
+ (name "python-asyncodbc")
+ (version "0.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tortoise/asyncodbc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0fdcvx2r09vsxx3zw8zvj7ww6wyby8sk3r2a3174nfngiajbi6g1"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ;tests fail similarly to python-pyodbc
+ (native-inputs
+ (list python-poetry-core
+ unixodbc))
+ (propagated-inputs
+ (list python-pyodbc))
+ (home-page "https://github.com/tortoise/asyncodbc")
+ (synopsis "Access ODBC databases with asyncio")
+ (description "This package provides an improved fork of
+@code{python-aioodbc}, and makes it possible to Access ODBC databases with
+@code{python-asyncio}.")
+ (license license:asl2.0)))
+
(define-public python-aiomysql
(package
(name "python-aiomysql")
@@ -3843,7 +3878,7 @@ of PyMySQL. @code{aiomysql} tries to preserve the same API as the
(define-public python-tortoise-orm
(package
(name "python-tortoise-orm")
- (version "0.20.0")
+ (version "0.22.2")
(source
(origin
(method git-fetch)
@@ -3852,16 +3887,31 @@ of PyMySQL. @code{aiomysql} tries to preserve the same API as the
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "19rgyvs2y9gn27x71y7djdz6rb6bszgvprv55q1hr4266wy6g999"))))
+ (base32 "1xzwywvb3898hm41vwkzn785ziqprxh6lcf0lpmrgfcsc9qnnhzk"))))
(build-system pyproject-build-system)
- ;; The test suite relies on asynctest, which is abandoned and doesn't
- ;; support Python >= 3.8.
- (arguments '(#:tests? #f))
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-k" (string-join
+ (list "not test_enum" ; Fixed in the next release.
+ ;; tortoise.exceptions.OperationalError
+ "test_delete"
+ "test_delete_limit"
+ "test_delete_limit_order_by"
+ "test_update_with_limit_ordering")
+ " and not "))))
(native-inputs
- (list poetry))
+ (list python-asyncodbc
+ python-fastapi
+ python-poetry-core
+ python-psycopg
+ python-psycopg-pool
+ python-pydantic-2
+ python-pyodbc
+ python-pytest))
(propagated-inputs
(list python-aiomysql
- python-aiosqlite-0.17
+ python-aiosqlite
python-asyncmy
python-asyncpg
python-ciso8601
@@ -3974,30 +4024,24 @@ development.")
(define-public python-pyodbc
(package
(name "python-pyodbc")
- (version "4.0.35")
+ (version "5.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyodbc" version))
(sha256
- (base32 "1j7577acd2f16zifw49ajg0aw7vm0pdg6jxrr1dlaa5rx14azfcj"))
+ (base32 "1xd88k6rngm9n8z3klb0g94csa9m8sk7df544vpfxpf816cf72yy"))
(modules '((guix build utils)))
(snippet
;; Delete precompiled binaries. The corresponding source is included.
#~(for-each delete-file (find-files "." "\\.pyc$")))))
- (build-system python-build-system)
- (inputs
- (list unixodbc))
+ (build-system pyproject-build-system)
+ (inputs (list unixodbc))
+ (native-inputs (list python-pytest python-setuptools python-wheel))
(arguments
- ;; XXX Tests fail with ‘Can't open lib 'SQL Server Native Client 10.0' :
- ;; file not found (0) (SQLDriverConnect)")’.
- (list #:tests? #f
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "python3" "tests3/test.py")))))))
+ ;; XXX Tests fail with [unixODBC][Driver Manager]Data source name not
+ ;; found and no default driver specified (0) (SQLDriverConnect)
+ (list #:tests? #f))
(home-page "https://github.com/mkleehammer/pyodbc")
(synopsis "Python ODBC Library")
(description "@code{python-pyodbc} provides a Python DB-API driver
@@ -4595,33 +4639,6 @@ async versions of all the standard connection and cursor methods, and context
managers for automatically closing connections.")
(license license:expat)))
-(define-public python-aiosqlite-0.17
- (package
- (inherit python-aiosqlite)
- (version "0.17.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/omnilib/aiosqlite")
- (commit (string-append "v" version))))
- (file-name (git-file-name (package-name python-aiosqlite)
- version))
- (sha256
- (base32
- "1agh7b9g7rgryvb8flph85i8m80ai1rinpljxzlsrs0s0y616qgg"))))
- (build-system pyproject-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (if tests?
- (invoke "python" "-m" "unittest" "aiosqlite.tests")
- (format #t "test suite not run~%")))))))
- (propagated-inputs
- (list python-typing-extensions))
- (native-inputs
- (list python-flit-core python-aiounittest))))
-
(define-public python-databases
(package
(name "python-databases")
@@ -5276,7 +5293,6 @@ with integrated support for finding required rows quickly.")
(build-system cmake-build-system)
(arguments
(list
- #:cmake cmake ;needs 3.25+
#:tests? #f
#:phases
#~(modify-phases %standard-phases
diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm
index 485cd03b7d..2f64467bf1 100644
--- a/gnu/packages/datastructures.scm
+++ b/gnu/packages/datastructures.scm
@@ -325,7 +325,8 @@ to the structure and choosing one or more fields to act as the key.")
"0m542xpys54bni29zibgrfpgpd0zgyny4h131virxsanixsbz52z")))))))
(build-system cmake-build-system)
(arguments
- `(#:phases
+ `(#:tests? #f
+ #:phases
(modify-phases %standard-phases
(add-after 'install 'install-static-library
(lambda* (#:key outputs #:allow-other-keys)
diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm
index ebf0316080..4d1121f476 100644
--- a/gnu/packages/diffoscope.scm
+++ b/gnu/packages/diffoscope.scm
@@ -78,7 +78,7 @@
(define-public diffoscope
(package
(name "diffoscope")
- (version "301")
+ (version "302")
(source
(origin
(method git-fetch)
@@ -87,7 +87,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1rbghly9kpp4ddlqydlwzhhaqmz1k3m9wyi05r4h5b6376vaz4pz"))))
+ (base32 "1h7qkmy8q2l864f4vlpxclxljh7dqr51pwvwra5lfr92bjcy5mdr"))))
(build-system pyproject-build-system)
(arguments
(list
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index b01cd91581..a1767a3ea5 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -349,7 +349,11 @@ tables. It includes a library and command-line utility.")
#:make-flags (list (string-append "CPPFLAGS="
" -I../common/include "
" -I../debug/include "
- " -I../exception/include"))))
+ " -I../exception/include")
+ (string-append
+ "CFLAGS="
+ "-Wno-error=implicit-function-declaration "
+ "-Wno-error=incompatible-pointer-types"))))
(home-page "https://www.gnu.org/software/fdisk/")
(synopsis "Low-level disk partitioning and formatting")
(description
@@ -1402,7 +1406,7 @@ LVM D-Bus API).")
(define-public rmlint
(package
(name "rmlint")
- (version "2.10.2")
+ (version "2.10.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1411,7 +1415,7 @@ LVM D-Bus API).")
(file-name (git-file-name name version))
(sha256
(base32
- "0sk4v1chnk2hvzi92svyf8qgamfs4fvial90qwx4a7dayxhkbsm4"))))
+ "1033h99z443wqb66rrh34gmnlnlbjsm5j1sqpg069jdih2ffi6a3"))))
(build-system scons-build-system)
(arguments
(list
@@ -1805,11 +1809,17 @@ wrapper for disk usage querying and visualisation.")
(build-system qt-build-system)
(arguments
(list
+ #:tests? #f
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda _
(system* "qmake" (string-append "INSTALL_PREFIX=" #$output))))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'install (assoc-ref gnu:%standard-phases 'install))
(add-after 'install 'wrap
(lambda _
(wrap-program (string-append #$output
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index f81eaef356..4d428d4686 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -59,6 +59,84 @@
#:use-module (gnu packages time)
#:use-module (gnu packages xml))
+(define-public daphne
+ (package
+ (name "daphne")
+ (version "4.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "daphne" version))
+ (sha256
+ (base32 "1crircpk2g26y02q8xmxlyb5wh86hqr7q7aly7fpmnhz19q8x2az"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; AssertionError("Could not find site-packages in sys.path")
+ ;; This test checks for the presence of fd_endpoint.py in the Pytest
+ ;; store path, but it is in Daphne's path.
+ #:test-flags #~(list "-k" "not test_fd_endpoint_plugin_installed")))
+ (propagated-inputs (list python-asgiref
+ python-autobahn
+ ;; Twisted plugins should be propagated from
+ ;; python-twisted.
+ python-pyopenssl ; twisted plugin
+ python-service-identity ; twisted plugin
+ python-twisted))
+ (native-inputs (list python-django
+ python-pytest
+ python-pytest-asyncio
+ python-setuptools
+ python-wheel))
+ (home-page "https://github.com/django/daphne")
+ (synopsis "Django ASGI (HTTP/WebSocket) server")
+ (description "Daphne is a HTTP, HTTP2 and WebSocket protocol server for
+@url{https://github.com/django/asgiref/blob/main/specs/asgi.rst,ASGI} and
+@url{https://github.com/django/asgiref/blob/main/specs/www.rst,ASGI-HTTP},
+developed to power Django Channels.
+
+It supports automatic negotiation of protocols; there's no need for URL
+prefixing to determine WebSocket endpoints versus HTTP endpoints.")
+ (license license:bsd-3)))
+
+(define-public python-channels
+ (package
+ (name "python-channels")
+ (version "4.2.2")
+ (source
+ (origin
+ (method git-fetch) ; no tests in PyPI
+ (uri (git-reference
+ (url "https://github.com/django/channels")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0x7w29qpj2acrzf8hcgymsyr5gk3aj2wkbvlwcr01ygd6as8h7hz"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-asgiref python-django))
+ ;; Channels develops and maintains Daphne but any other ASGI server can be
+ ;; used, so keep it in native-inputs for tests.
+ (native-inputs (list daphne
+ python-async-timeout
+ python-pytest
+ python-pytest-asyncio
+ python-pytest-django
+ python-setuptools
+ python-wheel))
+ (home-page "https://github.com/django/channels")
+ (synopsis "Async, event-driven capabilities on Django")
+ (description
+ "Channels wraps Django's native asynchronous view support, allowing Django
+projects to handle not only HTTP, but protocols that require long-running
+connections too - WebSockets, MQTT, chatbots, amateur radio, and more. It does
+this while preserving Django's synchronous nature, allowing you to choose how
+you write your code - synchronous, fully asynchronous, or a mixture of both.
+
+Channels also bundles this event-driven architecture with @emph{channel layers},
+a system that allows you to easily communicate between processes, and separate
+your project into different processes.")
+ (license license:bsd-3)))
+
(define-public python-django-4.2
(package
(name "python-django")
@@ -742,17 +820,18 @@ example, explicit calls to callables from templates and better performance.")
(define-public python-dj-database-url
(package
(name "python-dj-database-url")
- (version "2.3.0")
+ (version "3.0.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "dj_database_url" version))
(sha256
(base32
- "11w7532lq05c3wysbn7f5jf82yj0vjjmsi2ylkjmfsqq6kkfhlmf"))))
- (build-system python-build-system)
+ "1y7ghizjni3imbmqh63mra8pcvqzr5q0hma1ijzwd3w8zcg9d549"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools python-wheel))
(propagated-inputs
- (list python-django python-typing-extensions))
- (home-page "https://github.com/kennethreitz/dj-database-url")
+ (list python-django))
+ (home-page "https://github.com/jazzband/dj-database-url")
(synopsis "Use Database URLs in your Django Application")
(description
"This simple Django utility allows you to utilize the 12factor inspired
diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm
index dc01277976..0eebedd503 100644
--- a/gnu/packages/documentation.scm
+++ b/gnu/packages/documentation.scm
@@ -216,7 +216,6 @@ markup) can be customized and extended by the user.")
(assoc-ref %build-inputs "cross-libc")
"/include"))
#~'())
- #:test-target "tests"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-bibtex-test
diff --git a/gnu/packages/dotnet.scm b/gnu/packages/dotnet.scm
index b22721075a..047967428a 100644
--- a/gnu/packages/dotnet.scm
+++ b/gnu/packages/dotnet.scm
@@ -809,11 +809,11 @@ a C-style programming language from Microsoft that is very similar to Java.")
(replace 'set-cflags
(lambda _
(setenv "CFLAGS"
- (string-append "-O2 -g"
- "-Wno-error=implicit-function-declaration"
- "-Wno-error=incompatible-pointer-types"
- "-Wno-error=implicit-int"
- "-Wno-error=return-mismatch"
+ (string-append "-O2 -g "
+ "-Wno-error=implicit-function-declaration "
+ "-Wno-error=incompatible-pointer-types "
+ "-Wno-error=implicit-int "
+ "-Wno-error=return-mismatch "
"-Wno-error=int-conversion"))))
(add-after 'unpack 'set-TZ
(lambda _
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index d772d5244c..8deb82aa40 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -405,6 +405,9 @@ accessing and converting various ebook file formats.")
#:tests? #f ; no test suite
#:make-flags
#~(list (string-append "PREFIX=" #$output))
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'prefix-opt
@@ -414,7 +417,9 @@ accessing and converting various ebook file formats.")
#$output))))
(replace 'configure
(lambda* (#:key make-flags #:allow-other-keys)
- (apply invoke (cons "qmake" make-flags)))))))
+ (apply invoke (cons "qmake" make-flags))))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'install (assoc-ref gnu:%standard-phases 'install)))))
(native-inputs
(list qtbase-5))
(synopsis "EBook reader")
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 8fea1e1716..6490002680 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -242,8 +242,7 @@ of categories with some of the activities available in that category.
(setenv "DISPLAY" ":1")
;; The test suite wants to write to /homeless-shelter
(setenv "HOME" (getcwd)))))
- #:configure-flags #~(list "-DQML_BOX2D_MODULE=disabled"
- "-DBUILD_TESTING=TRUE")))
+ #:configure-flags #~(list "-DQML_BOX2D_MODULE=disabled")))
(native-inputs
(list extra-cmake-modules
gettext-minimal
@@ -516,6 +515,9 @@ specialized device.")
(arguments
(list
#:tests? #f ;no tests
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-initial-values
@@ -544,6 +546,7 @@ specialized device.")
(replace 'configure
(lambda _
(invoke "qmake" "OpenBoard.pro")))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
(replace 'install
(lambda* (#:key inputs #:allow-other-keys)
(let* ((share (string-append #$output "/share"))
@@ -694,6 +697,7 @@ language and very flexible regarding to new or unknown keyboard layouts.")
(build-system qt-build-system)
(native-inputs (list extra-cmake-modules))
(inputs (list qtdeclarative-5))
+ (arguments (list #:tests? #f))
(home-page "https://invent.kde.org/libraries/kqtquickcharts")
(synopsis "QtQuick plugin to render beautiful and interactive charts")
(description
@@ -738,6 +742,7 @@ charts.")
qtquickcontrols2-5
qtx11extras
qtxmlpatterns-5))
+ (arguments (list #:tests? #f))
(home-page "https://edu.kde.org/ktouch/")
(synopsis "Touch typing tutor")
(description
diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index b1a02f8f9e..a13ad2196a 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -8,6 +8,9 @@
;;; Copyright © 2024 Juliana Sims <juli@incana.org>
;;; Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2022 Konstantinos Agiannis <agiannis.kon@gmail.com>
+;;; Copyright © 2018-2021 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2015-2025 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,6 +30,7 @@
(define-module (gnu packages electronics)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix download)
@@ -45,12 +49,16 @@
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
+ #:use-module (gnu packages engineering)
#:use-module (gnu packages embedded)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages fpga)
+ #:use-module (gnu packages gawk)
+ #:use-module (gnu packages gd)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libftdi)
@@ -74,6 +82,7 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages toolkits)
#:use-module (gnu packages version-control)
+ #:use-module (gnu packages xorg)
#:use-module (gnu packages xml))
(define-public comedilib
@@ -97,6 +106,44 @@ individual low-level driver modules.")
(home-page "https://www.comedi.org/")
(license license:lgpl2.1)))
+(define-public librnd
+ (package
+ (name "librnd")
+ (version "4.3.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.repo.hu/projects/librnd/"
+ "releases/librnd-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1qjv6gg9fb3rpvr1y9l5nbzz2xk2sa4nqz0dgwvds5hc1bmd97mf"))))
+ (build-system glib-or-gtk-build-system)
+ (arguments
+ (list
+ #:tests? #false ;no check target
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; The configure script doesn't tolerate most of our configure
+ ;; flags.
+ (replace 'configure
+ (lambda _
+ (setenv "CC" #$(cc-for-target))
+ (invoke "./configure" (string-append "--prefix=" #$output)))))))
+ (inputs
+ (list gd glib glu gtk gtkglext libepoxy))
+ (native-inputs
+ (list pkg-config))
+ (home-page "http://repo.hu/projects/librnd/")
+ (synopsis "Two-dimensional CAD engine")
+ (description "This is a flexible, modular two-dimensional CAD engine
+@itemize
+@item with transparent multiple GUI toolkit support;
+@item a flexible, dynamic menu system;
+@item a flexible, dynamic configuration system; and
+@item support for user scripting in a dozen languages.
+@end itemize")
+ (license license:gpl2+)))
+
(define-public libserialport
(package
(name "libserialport")
@@ -424,6 +471,37 @@ such as:
@end itemize")
(license license:expat)))
+(define-public pcb-rnd
+ (package
+ (name "pcb-rnd")
+ (version "3.1.7b")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://repo.hu/projects/pcb-rnd/"
+ "releases/pcb-rnd-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1djsa0w53l6nvhwv28rlhpva55ir9n3xdvjgnjj8fgvcmrqlzrsl"))))
+ (build-system glib-or-gtk-build-system)
+ (arguments
+ (list
+ #:test-target "test"
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ ;; The configure script doesn't tolerate most of our configure
+ ;; flags.
+ (lambda _
+ (setenv "CC" #$(cc-for-target))
+ (setenv "LIBRND_PREFIX" #$(this-package-input "librnd"))
+ (invoke "./configure" (string-append "--prefix=" #$output)))))))
+ (inputs (list librnd))
+ (home-page "http://repo.hu/projects/pcb-rnd/")
+ (synopsis "Modular layout editor")
+ (description "@code{Pcb-rnd} is a @acronym{Printed Circuit Board} layout
+editor, part of the RiNgDove EDA suite.")
+ (license license:gpl2+)))
+
(define-public prjtrellis
;; The last release is 2 years old; use the latest commit for now.
(let ((commit "898329dddf6ce6463299973081f109d645b9c55f")
@@ -793,6 +871,47 @@ design.")
to enforce it.")
(license license:gpl3+)))
+(define-public xschem
+ (package
+ (name "xschem")
+ (version "3.4.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/StefanSchippers/xschem")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0g9qrzm2mjd7nfg8iyc5az2bs8n5gjv1mrjjdja5vn1yjia7pvy9"))))
+ (native-inputs (list flex bison pkg-config))
+ (inputs (list gawk
+ tcl
+ tk
+ libxpm
+ cairo
+ libxrender
+ libxcb)) ; Last 3 are optional, but good to have.
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'setenv
+ (lambda* (#:key outputs #:allow-other-keys)
+ (setenv "CC" #$(cc-for-target))
+ (invoke "./configure" (string-append "--prefix=" #$output)))))))
+ (synopsis "Hierarchical schematic editor")
+ (description
+ "Xschem is an X11 schematic editor written in C and focused on
+hierarchical and parametric design. It can generate VHDL, Verilog or Spice
+netlists from the drawn schematic, allowing the simulation of the circuit.")
+ (home-page "https://xschem.sourceforge.io/stefan/index.html")
+ (license license:gpl2+)))
+
(define-public sigrok-cli
(package
(name "sigrok-cli")
diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index 9ee51a0918..096c8b22a4 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2022 Daniel Maksymow <daniel.maksymow@tuta.io>
;;; Copyright © 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -304,6 +305,18 @@ static analysis of the ELF binaries at hand.")
(description "Libelf is a C library to access ELF object files.")
(license lgpl2.0+)))
+
+;; This is a shared library version of libelf, currently only needed for ROCm
+;; packages in (gnu packages rocm).
+(define-public libelf-shared
+ (package
+ (inherit libelf)
+ (arguments
+ (substitute-keyword-arguments (package-arguments libelf)
+ ((#:make-flags flags #~'())
+ #~(append #$flags '("CFLAGS=-fPIC")))))
+ (properties `((hidden? . #t) ,@(package-properties libelf)))))
+
(define-public patchelf
(package
(name "patchelf")
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 3c9a3c195c..222d065db3 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -367,42 +367,52 @@ buffer, a file on your disk, or a string from the kill ring.")
(license license:gpl3+))))
(define-public emacs-elisp-autofmt
- (let ((commit "5b1fdc2761a80674123769ebf8a43fe312c0fa3f")
+ (let ((commit "fa30ffc2320c41fc3827e2a800d40d7d5bcaddbe")
(revision "0"))
(package
- (name "emacs-elisp-autofmt")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://codeberg.org/ideasman42/emacs-elisp-autofmt")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "09wxrrqzccq3wv51n0blcln1zggmlm4fzrnj0svv8gir5q5g6l3h"))))
- (build-system emacs-build-system)
- (inputs (list python))
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'patch-dependencies
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "elisp-autofmt.el"
- (("\"python\"")
- (string-append "\""
- (search-input-file inputs "/bin/python3")
- "\"")))))
- (add-after 'install 'install-python-module
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((destination (elpa-directory (assoc-ref outputs "out"))))
- (install-file "elisp-autofmt.py" destination)
- (install-file "elisp-autofmt.overrides.json" destination)))))))
- (home-page "https://codeberg.org/ideasman42/emacs-elisp-autofmt")
- (synopsis "Auto-format Emacs lisp")
- (description "This is a package to auto-format Emacs lisp.")
- (license license:gpl3+))))
+ (name "emacs-elisp-autofmt")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/ideasman42/emacs-elisp-autofmt")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "174cmqszhx42blqc6fjjf3lgaz2hasj15743hcrzj6a97nhx4wsj"))))
+ (build-system emacs-build-system)
+ (inputs (list python))
+ (arguments
+ (list
+ #:test-command #~(list "make" "tests")
+ #:include #~(cons* "elisp-autofmt.py"
+ "elisp-autofmt.overrides.json"
+ %default-include)
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-dependencies
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "elisp-autofmt.el"
+ (("\"python\"")
+ (string-append "\""
+ (search-input-file inputs "/bin/python3")
+ "\"")))))
+ ;; TODO Remove when fixed upstream. See:
+ ;; https://codeberg.org/ideasman42/emacs-elisp-autofmt/issues/36
+ (add-before 'check 'fix-tests
+ (lambda _
+ (setenv "HOME" (getenv "TMPDIR"))
+ (with-atomic-file-replacement "Makefile"
+ (lambda (in out)
+ (dump-port in out)
+ (display "\n.PHONY: tests\n" out)))
+ (substitute* "Makefile"
+ (("python") "python3")))))))
+ (home-page "https://codeberg.org/ideasman42/emacs-elisp-autofmt")
+ (synopsis "Auto-format Emacs lisp")
+ (description "This is a package to auto-format Emacs lisp.")
+ (license license:gpl3+))))
(define-public emacs-ac-php
(package
@@ -589,7 +599,7 @@ input via a small child-frame spawned at the position of the cursor.")
(define-public emacs-arei
(package
(name "emacs-arei")
- (version "0.9.5")
+ (version "0.9.6")
(source
(origin
(method git-fetch)
@@ -599,7 +609,7 @@ input via a small child-frame spawned at the position of the cursor.")
(file-name (git-file-name name version))
(sha256
(base32
- "0laj9gbwhr0n8jf0y7fb3a564rsi8kghpk1g95xhckr4fggz997r"))))
+ "1m8ic5pcshz2y2maxvbgg70n4k2kgxvj98zisqal15j7djz0hzji"))))
(build-system emacs-build-system)
(arguments (list #:tests? #f)) ; no tests
(propagated-inputs (list emacs-eros emacs-sesman emacs-queue))
@@ -681,6 +691,32 @@ just one-off queries and multiple independent sessions. It requires an OpenAI
API key.")
(license license:gpl3+)))
+(define-public emacs-gptel-prompts
+ ;; No releases.
+ (let ((commit "deca98e1aff1b0570cd1672addfb6dcc74402332")
+ (revision "0"))
+ (package
+ (name "emacs-gptel-prompts")
+ (version (git-version "1.0" revision commit))
+ (source
+ (origin
+ (uri (git-reference
+ (url "https://github.com/jwiegley/gptel-prompts/")
+ (commit commit)))
+ (method git-fetch)
+ (sha256
+ (base32 "0wh2ydiy1k6j0hdw7n7qyzx6c2g4mcpd3gp79h1ay1hh0f85596b"))
+ (file-name (git-file-name name version))))
+ (build-system emacs-build-system)
+ (arguments (list #:tests? #f)) ;no tests
+ (propagated-inputs (list emacs-gptel))
+ (home-page "https://github.com/jwiegley/gptel-prompts/")
+ (synopsis "Alternative Gptel directives management")
+ (description
+ "This package offers an advanced way to manage Gptel directives, using
+files rather than customizing the variable directly.")
+ (license license:gpl2+))))
+
(define-public emacs-gptel-quick
(let ((commit "d7a3aedefdc656a136d5664f2dac165a1f6ebf0e")
(revision "1"))
@@ -1897,6 +1933,31 @@ while the ones that are not being actively edited will be reduced to a smaller
size.")
(license license:expat))))
+(define-public emacs-zoom
+ (package
+ (name "emacs-zoom")
+ (version "0.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cyrus-and/zoom")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1zzm8kchm5wwxras4bfl46flyfj44bf7qazc5yyahx9qr2ksfnhd"))))
+ (build-system emacs-build-system)
+ (arguments (list #:tests? #f)) ;no tests
+ (home-page "https://github.com/cyrus-and/zoom")
+ (synopsis "Fixed and automatic balanced window layout for Emacs")
+ (description
+ "This minor mode takes care of managing the window sizes by
+enforcing a fixed and automatic balanced layout where the currently
+selected window is resized according to @code{zoom-size} which can be
+an absolute value in lines/columns, a ratio between the selected window
+and frame size or even a custom callback.")
+ (license license:expat)))
+
(define-public emacs-git-modes
(package
(name "emacs-git-modes")
@@ -2080,7 +2141,7 @@ syntax for short lambda.")
(define-public emacs-llm
(package
(name "emacs-llm")
- (version "0.24.2")
+ (version "0.27.0")
(source
(origin
(method git-fetch)
@@ -2089,12 +2150,13 @@ syntax for short lambda.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0kza3jzabp5ilapi3a0ycrc26gvj6s2nf3x1ly4c8d3si6fdlx61"))))
+ (base32 "0ribldwvgr6ij79xap7606rnaiyl34d7qvpg06p8q2nwi5k8z3dc"))))
(build-system emacs-build-system)
(arguments
(list
- ;; there are no tests
- #:tests? #f))
+ #:test-command #~(list "emacs" "--batch"
+ "-l" "llm-test.el"
+ "-f" "ert-run-tests-batch-and-exit")))
(propagated-inputs (list emacs-plz emacs-plz-event-source
emacs-plz-media-type))
(home-page "https://github.com/ahyatt/llm")
@@ -4845,8 +4907,8 @@ the @code{Dracula} theme for Emacs and the @code{Gloom} theme for Atom.")
(license license:expat))))
(define-public emacs-reverso
- (let ((commit "d1b39da3c7df1541f98435f3172a7ff4f3123634")
- (revision "0"))
+ (let ((commit "40ed3d83c4f04c39e05d69d84595761ae2956a64")
+ (revision "1"))
(package
(name "emacs-reverso")
(version (git-version "0.1.2" revision commit))
@@ -4858,9 +4920,10 @@ the @code{Dracula} theme for Emacs and the @code{Gloom} theme for Atom.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "1fpk5wyzlssfrm4jbsrflxvlfn80yh6y1nh63ml8barf1nypsx55"))))
+ (base32 "1agsscrkqnmz8shibfy8df5f34xwixiyfad381k04aibadh742yb"))))
(build-system emacs-build-system)
- (propagated-inputs (list emacs-fedi emacs-request emacs-transient))
+ (arguments (list #:tests? #f)) ; no tests
+ (propagated-inputs (list emacs-request))
(home-page "https://github.com/SqrtMinusOne/reverso.el")
(synopsis "Translation, grammar checking, context search")
(description "Reverso is an emacs client for the reverso.net service.")
@@ -5675,7 +5738,7 @@ within emacs.")
(define-public emacs-bm
(package
(name "emacs-bm")
- (version "202309")
+ (version "202506")
(source
(origin
(method git-fetch)
@@ -5684,14 +5747,14 @@ within emacs.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1a47dcda196sb6qx45w94d0vfzyfprfs3g7yj0scjmna79rr3fqa"))))
+ (base32 "0298hjdgx03y028pql6z3jcym47ji10hv66zydn1kicsjds0r45l"))))
(build-system emacs-build-system)
(arguments
(list
#:test-command #~(list "emacs" "-Q" "--batch"
"-l" "bm-tests.el"
"-f" "ert-run-tests-batch-and-exit")))
- (home-page "https://github.com/joodland/bm")
+ (home-page "https://joodland.github.io/bm/")
(synopsis "Visual bookmarks for Emacs")
(description "This package provides visible, buffer local bookmarks and
the ability to jump forward and backward to the next bookmark.")
@@ -11307,6 +11370,7 @@ described on the homepage.")
(name "emacs-irony-mode-server")
(arguments
(list
+ #:tests? #f
#:phases
#~(modify-phases %standard-phases
(replace 'configure
@@ -25887,16 +25951,16 @@ highlighting and indentation support.")
(define-public emacs-terraform-mode
(package
(name "emacs-terraform-mode")
- (version "1.0.1")
+ (version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/syohex/emacs-terraform-mode")
+ (url "https://github.com/hcl-emacs/terraform-mode")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "10wndnlsv7f2yn83n1wamnhiwyhxkdlmwld9yk0m2kkxx4pwfgfj"))))
+ (base32 "15xgjyl864crx3vpalds68x0vn1qzibkqdcjlbp87xiq88dx2q1x"))))
(build-system emacs-build-system)
(arguments
(list #:test-command #~(list "emacs" "--batch"
@@ -25907,7 +25971,7 @@ highlighting and indentation support.")
"-f" "ert-run-tests-batch-and-exit")))
(propagated-inputs
(list emacs-dash emacs-hcl-mode))
- (home-page "https://github.com/syohex/emacs-terraform-mode")
+ (home-page "https://github.com/hcl-emacs/terraform-mode")
(synopsis "Major mode for Terraform")
(description
"@code{emacs-terraform-mode} provides a major mode for working with
@@ -36873,140 +36937,69 @@ You might want to use this to globally set dir-local variables that apply to
all of your projects, then override or add variables on a per-project basis.")
(license license:gpl3+))))
-(define-public emacs-casual-avy
+(define-public emacs-casual
(package
- (name "emacs-casual-avy")
- (version "2.0.1")
+ (name "emacs-casual")
+ (version "2.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/kickingvegas/casual-avy")
- (commit version)))
+ (url "https://github.com/kickingvegas/casual/")
+ (commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0p4ljzgcr51wpcfs4r0nnpv4rgaivzcq4lbcyr9sfvgqhr1yr271"))))
+ (base32 "1jf12j92h88a624lg9vg82xf3djij3xkac9ycj5vavkypb6jnih2"))))
(build-system emacs-build-system)
(arguments
(list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'build-info-manual
+ (lambda _
+ (invoke "emacs"
+ "--batch"
+ "--eval=(require 'ox-texinfo)"
+ "--eval=(find-file \"../docs/casual.org\")"
+ "--eval=(org-texinfo-export-to-info)")
+ (rename-file "../docs/casual.info" "casual.info")))
+ ;; FIXME: Remove when included in pr upstream. See: #261.
+ (add-after 'unpack 'patch-casual-lib-dir
+ (lambda _
+ (substitute* "Makefile--defines.make"
+ (("^CASUAL_LIB_DIR.*")
+ "CASUAL_LIB_DIR?=$(CASUAL_BASE_DIR)/casual\n"))))
+ ;; FIXME: These tests fail.
+ (add-before 'check 'remove-problematic-tests
+ (lambda _
+ (substitute* "Makefile"
+ (("editkit-tests.*")
+ "# editkit-tests")))))
#:lisp-directory "lisp"
- #:test-command #~(list "make" "tests")
- ;; Tests require “casual-lib-test-utils”, which are not installed.
- #:tests? #f))
- (propagated-inputs (list emacs-casual-lib emacs-avy))
- (home-page "https://github.com/kickingvegas/casual-avy")
- (synopsis "Transient-based porcelain for avy")
+ #:test-command #~(list "make" "tests"
+ (string-append " CASUAL_LIB_DIR=" (getcwd)
+ "/source"))))
+ (native-inputs (list texinfo))
+ ;; Casual relies on the latest stable release of `transient' which may
+ ;; differ from the version that is preinstalled as a built-in.
+ (propagated-inputs (list emacs-magit emacs-transient))
+ (home-page "https://github.com/kickingvegas/casual/")
+ (synopsis "Transient user interfaces for various modes")
(description
- "Casual Avy is an opinionated Transient-based porcelain for Emacs Avy.")
+ "Casual is a collection of opinionated Transient-based keyboard driven
+user interfaces for various built-in modes.")
(license license:gpl3+)))
(define-public emacs-casual-calc
- (package
- (name "emacs-casual-calc")
- (version "3.0.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/kickingvegas/casual-calc")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1zn281rr2z557ja5c9xvwhzx4isxkma4v6shl7acnqhczb8kpnr4"))))
- (build-system emacs-build-system)
- (arguments
- (list
- #:lisp-directory "lisp"
- ;; Tests require “casual-lib-test-utils”, which are not installed.
- #:tests? #f))
- (propagated-inputs (list emacs-casual-lib))
- (home-page "https://github.com/kickingvegas/casual-calc")
- (synopsis "Transient-based porcelain for calc")
- (description
- "Casual Calc is an opinionated Transient-based porcelain for Emacs Calc.")
- (license license:gpl3+)))
-
+ (deprecated-package "emacs-casual-calc" emacs-casual))
(define-public emacs-casual-dired
- (package
- (name "emacs-casual-dired")
- (version "2.0.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/kickingvegas/casual-dired")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0p4k626svcy6jc1mpsiifpsbacrz7nsgyrb2m0icvi65nxcysj9q"))))
- (build-system emacs-build-system)
- (arguments
- (list
- #:lisp-directory "lisp"
- ;; Tests require “casual-lib-test-utils”, which are not installed.
- #:tests? #f))
- (propagated-inputs (list emacs-casual-lib))
- (home-page "https://github.com/kickingvegas/casual-dired")
- (synopsis "Transient-based porcelain for Dired")
- (description
- "Casual Dired is an opinionated Transient-based porcelain for Emacs Dired.")
- (license license:gpl3+)))
-
+ (deprecated-package "emacs-casual-dired" emacs-casual))
(define-public emacs-casual-info
- (package
- (name "emacs-casual-info")
- (version "2.0.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/kickingvegas/casual-info")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1q8yk71xv2v2ls94dc834c988aj2hfq1jv6nbddjxy0qn2hwxd2n"))))
- (build-system emacs-build-system)
- (arguments
- (list
- #:lisp-directory "lisp"
- ;; Tests require “casual-lib-test-utils”, which are not installed.
- #:tests? #f))
- (propagated-inputs (list emacs-casual-lib))
- (home-page "https://github.com/kickingvegas/casual-info")
- (synopsis "Transient-based porcelain for info reader")
- (description
- "Casual Info is an opinionated Transient-based porcelain for Emacs Info reader.")
- (license license:gpl3+)))
-
+ (deprecated-package "emacs-casual-info" emacs-casual))
(define-public emacs-casual-lib
- (package
- (name "emacs-casual-lib")
- (version "2.0.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/kickingvegas/casual-lib")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1hmr0zzwm3f88786j8p8x39jn5b8jja37x1iww4vd83dsvkksbpa"))))
- (build-system emacs-build-system)
- (arguments
- (list #:test-command #~(list "make" "tests")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'move-source-files
- (lambda _
- (let ((el-files (find-files "./lisp" ".*\\.el$")))
- (for-each (lambda (f) (copy-file f (basename f)))
- el-files)))))))
- (native-inputs (list python-minimal))
- (home-page "https://github.com/kickingvegas/casual-lib")
- (synopsis "Library package for the Emacs Casual porcelains")
- (description
- "Casual Lib is a library package used to support the Casual porcelains.")
- (license license:gpl3+)))
+ (deprecated-package "emacs-casual-lib" emacs-casual))
+(define-public emacs-casual-avy
+ (deprecated-package "emacs-casual-avy" emacs-casual))
(define-public emacs-calibredb
(package
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 89e11b9ca6..130b2e0877 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -15,7 +15,7 @@
;;; Copyright © 2020 Christopher Howard <christopher@librehacker.com>
;;; Copyright © 2021 Felipe Balbi <balbi@kernel.org>
;;; Copyright © 2021, 2024 Felix Gruber <felgru@posteo.net>
-;;; Copyright © 2021, 2024, 2025 Maxim Cournoyer <maxim@guixotic.coop>
+;;; Copyright © 2021, 2024-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2023 c4droid <c4droid@foxmail.com>
;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
@@ -73,6 +73,7 @@
#:use-module (gnu packages digest)
#:use-module (gnu packages engineering)
#:use-module (gnu packages elf)
+ #:use-module (gnu packages file-systems)
#:use-module (gnu packages flex)
#:use-module (gnu packages fltk)
#:use-module (gnu packages fonts)
@@ -111,6 +112,7 @@
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages toolkits)
#:use-module (gnu packages upnp)
#:use-module (gnu packages video)
#:use-module (gnu packages vulkan)
@@ -129,6 +131,92 @@
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial))
+(define-public ares
+ (package
+ (name "ares")
+ (version "145")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ares-emulator/ares")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "074kkgrbiga7grkwhnhw51ih7krxgf91m9zrrwjkj4q1hdjhlz5a"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:tests? #f ; No tests
+ #:configure-flags
+ #~(list "-DARES_BUILD_LOCAL=FALSE"
+ "-DARES_BUILD_OFFICIAL=TRUE"
+ "-DARES_BUNDLE_SHADERS=FALSE"
+ "-DARES_SKIP_DEPS=TRUE"
+ (string-append "-DARES_VERSION_OVERRIDE=" #$version))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'avoid-libglvnd
+ (lambda _
+ ;; XXX: Our mesa doesn't have libglvnd support.
+ (substitute* "ruby/cmake/os-linux.cmake"
+ (("OpenGL::GLX") "OpenGL::GL")))))))
+ (native-inputs
+ (list pkg-config))
+ (inputs
+ (list alsa-lib
+ ao
+ gtk+
+ gtksourceview-3
+ libx11
+ libxv
+ mesa ; OpenGL
+ sdl3
+ vulkan-loader
+ zlib))
+ (synopsis "Multi-system accuracy-focused emulator")
+ (description
+ "@command{ares} is a multi-system emulator that began development
+on 2004-10-14. It is a descendant of higan and bsnes, and focuses on accuracy
+and preservation.
+Here are some supported systems:
+@itemize
+@item Arcade
+@item Atari 2600
+@item Bandai Wonderswan
+@item Bandai Wonderswan Color
+@item Benesse Pocket Challenge V2
+@item Colecovision
+@item MSX 1 and 2
+@item Nec Pc Engine Turbografx Cd
+@item Nec Pc Engine Supergrafx
+@item Nec Pc Engine Turbografx
+@item Nichibutsu My Vision
+@item Nintendo Famicom Disk System
+@item Nintendo Game Boy
+@item Nintendo Game Boy Advance
+@item Nintendo Game Boy Color
+@item Nintendo Nes Famicom
+@item Nintendo Nintendo 64
+@item Nintendo Nintendo 64DD
+@item Nintendo Satellaview
+@item Nintendo Snes Super Famicom
+@item Nintendo Sufami Turbo
+@item Sega 32x
+@item Sega Game Gear
+@item Sega Master System Mark Iii
+@item Sega Mega Cd
+@item Sega Mega Drive Genesis
+@item Sega Sg 1000
+@item Sinclair Zx Spectrum
+@item Snk Neo Geo Aesmvs
+@item Snk Neo Geo Pocket
+@item Snk Neo Geo Pocket Color
+@item Sony Playstation
+@end itemize
+")
+ (home-page "https://ares-emu.net/")
+ (license license:isc)))
+
(define-public vice
(package
(name "vice")
@@ -322,97 +410,99 @@ console.")
It aims to support Nintendo DSi and 3DS as well.")
(license license:gpl3+)))
-;; Building from recent Git because the official 5.0 release no longer builds.
-;; Following commits and revision numbers of beta versions listed at
-;; https://dolphin-emu.org/download/.
+(define dolphin-rcheevos-submodule
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/RetroAchievements/rcheevos")
+ (commit "b443902b1cdfee5a66b09fec20a94d2d2afaf2ec")))
+ (file-name "dolphin-rcheevos-submodule-checkout")
+ (sha256
+ (base32
+ "1118l6ln73rjj7hw45712lm2i24m96nygiiw57hlcyaxijppl1vj"))))
+
(define-public dolphin-emu
- (let ((commit "f9deb68aee962564b1495ff04c54c015e58d086f")
- (revision "13669"))
+ ;; Note: make sure to update the above rcheevos commit to match that of the
+ ;; corresponding git submodule in dolphin (see:
+ ;; <https://github.com/dolphin-emu/dolphin/tree/master/Externals/>).
+ (let ((commit "64d4c4020cf444d5afea708b38d1b363e532c7ba")
+ (revision "0"))
(package
(name "dolphin-emu")
- (version (git-version "5.0" revision commit))
+ (version (git-version "2506" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/dolphin-emu/dolphin")
- (commit commit)))
+ (url "https://github.com/dolphin-emu/dolphin")
+ (commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "1p8qsxlabgmz3nic0a9ghh9d3lzl5f8i3kmdrrvx6w8kdlp33018"))
+ (base32 "095326n1dznaplll5crlfdg2d39qxxlhgch5fn7vz8majz0qb5pg"))
(modules '((guix build utils)
- (ice-9 regex)))
+ (ice-9 ftw)
+ (ice-9 regex)
+ (srfi srfi-26)))
(snippet
- '(begin
- ;; Remove external stuff we don't need.
- (for-each (lambda (dir)
- (delete-file-recursively
- (string-append "Externals/" dir)))
- '("LZO" "OpenAL" "Qt" "SFML" "bzip2"
- ;; XXX: Attempting to use the vulkan-headers package
- ;; results in "error:
- ;; ‘VK_PRESENT_MODE_RANGE_SIZE_KHR’ was not declared
- ;; in this scope".
- ;;"Vulkan"
- "cubeb" "curl" "enet"
- "ffmpeg" "fmt" "gettext"
- ;; XXX: Attempting to use an unbundled glslang at the
- ;; exact commit used by Dolphin still results in
- ;; "error: ‘DefaultTBuiltInResource’ is not a member
- ;; of ‘glslang’".
- ;;"glslang"
- ;; XXX: Googletest cannot currently easily be
- ;; unbundled, as there are missing linking
- ;; directives.
- ;;"gtest"
- "hidapi" "libpng" "libusb" "mbedtls"
- "miniupnpc" "minizip" "MoltenVK" "pugixml"
- "soundtouch"
- "xxhash" "zlib" "zstd"))
- ;; Clean up the source.
- (for-each delete-file
- (find-files
- "."
- (lambda (file _)
- (and (string-match "\\.(bin|dsy|exe|jar|rar)$" file)
- ;; Preserve the important wc24 .bin
- ;; configuration *data* files.
- (not (member (basename file)
- '("misc.bin"
- "nwc24dl.bin"
- "nwc24fl.bin"
- "nwc24fls.bin")))))))
- ;; Do not attempt to include now-missing directories.
- (substitute* "CMakeLists.txt"
- ((".*add_subdirectory.*Externals/enet.*") "")
- ((".*add_subdirectory.*Externals/soundtouch.*") "")
- ((".*add_subdirectory.*Externals/xxhash.*") ""))))
- (patches (search-patches "dolphin-emu-data.patch"))))
+ #~(begin
+ (define (delete-all-but directory . preserve)
+ (with-directory-excursion directory
+ (let* ((pred (negate (cut member <>
+ (cons* "." ".." preserve))))
+ (items (scandir "." pred)))
+ (for-each (cut delete-file-recursively <>) items))))
+
+ ;; Clean up the source from bundled libraries we don't need.
+ (delete-all-but "Externals"
+ ;; XXX: The build system is currently hard-coded
+ ;; to rely on these bundled copies.
+ "Bochs_disasm"
+ "FatFs"
+ "FreeSurround"
+ "cpp-optparse"
+ "expr"
+ "glslang"
+ "imgui"
+ "implot" ;submodule
+ "picojson"
+ "rangeset"
+ "rcheevos") ;submodule
+ (with-directory-excursion "Externals"
+ (copy-recursively #$dolphin-rcheevos-submodule
+ "rcheevos/rcheevos")
+ (copy-recursively #$(package-source implot)
+ "implot/implot"))
+
+ (for-each delete-file
+ (find-files
+ "."
+ (lambda (file _)
+ (and (string-match "\\.(bin|dsy|exe|jar|rar)$" file)
+ ;; Preserve the important wc24 .bin
+ ;; configuration *data* files.
+ (not (member (basename file)
+ '("misc.bin"
+ "nwc24dl.bin"
+ "nwc24fl.bin"
+ "nwc24fls.bin")))))))))
+ (patches (search-patches "dolphin-emu-unbundle-watcher.patch"
+ "dolphin-emu-unbundle-tinygltf.patch"))))
(build-system cmake-build-system)
(arguments
(list
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
- (add-before 'configure 'remove-unittests-target-post-build-command
- (lambda _
- ;; To skip a few problematic tests, CTest will be manually
- ;; invoked in the post-check phase.
- (with-directory-excursion "Source/UnitTests"
- (substitute* "CMakeLists.txt"
- (("add_custom_command\\(TARGET unittests POST_BUILD.*")
- "")))))
- (add-before 'configure 'generate-fonts&hardcore-libvulkan-path
+ (add-before 'configure 'generate-fonts&hardcode-libvulkan-path
(lambda* (#:key inputs #:allow-other-keys)
(let ((fontfile
- (search-input-file inputs
- "/share/fonts/truetype/wqy-microhei.ttc"))
+ (search-input-file
+ inputs "/share/fonts/truetype/wqy-microhei.ttc"))
(libvulkan
(search-input-file inputs "/lib/libvulkan.so")))
(chdir "docs")
- ;; Include a missing header, needed for gcc@14.
- (substitute* "gc-font-tool.cpp"
- (("#include <cstring>" all)
- (string-append all "\n#include <cstdint>")))
(invoke "bash" "-c" "g++ -O2 $(freetype-config \
--cflags --libs) gc-font-tool.cpp -o gc-font-tool")
(invoke "./gc-font-tool" "a" fontfile "font_western.bin")
@@ -424,21 +514,10 @@ It aims to support Nintendo DSi and 3DS as well.")
(("\"vulkan\", 1") (string-append "\"vulkan\""))
(("\"vulkan\"") (string-append "\"" libvulkan "\""))
(("Common::DynamicLibrary::GetVersionedFilename") "")))))
- (add-after 'check 'post-check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (with-directory-excursion "Source/UnitTests"
- (invoke "ctest" "-V" "--output-on-failure"
- ;; These tests fail due to libusb failing to
- ;; init inside the build container.
- "-E" (string-join
- '("MMIOTest"
- "PageFaultTest"
- "CoreTimingTest"
- "FileSystemTest"
- "PowerPCTest"
- "VertexLoaderTest")
- "|"))))))
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "unittests" args)))
(add-before 'install 'build-codeloader.bin
(lambda _
(with-directory-excursion "../source/docs"
@@ -462,26 +541,13 @@ It aims to support Nintendo DSi and 3DS as well.")
(with-directory-excursion "../source"
(invoke "python3" "docs/DSP/free_dsp_rom/generate_coefs.py")
(rename-file "dsp_coef.bin" "Data/Sys/GC/dsp_coef.bin")))))
- ;; The FindGTK2 cmake script only checks hardcoded directories for
- ;; glib/gtk headers. Also add some include directories via the CXX
- ;; flags to let GCC find some headers not actively searched by the
- ;; build system.
#:configure-flags
- #~(list (string-append "-DCMAKE_CXX_FLAGS="
- "-I" (search-input-directory
- %build-inputs "include/soundtouch"))
- "-DDSPTOOL=ON"
- (string-append "-DX11_INCLUDE_DIR="
- #$(this-package-input "libx11")
- "/include")
- (string-append "-DX11_LIBRARIES="
- (search-input-file %build-inputs
- "lib/libX11.so"))
- "-DX11_FOUND=1")
- #:test-target "unittests"))
+ #~(list "-DUSE_DISCORD_PRESENCE=OFF" ;avoid bundled discord-rpc lib
+ "-DDSPTOOL=ON")))
(native-inputs
(list (cross-gcc "powerpc-linux-gnu")
gettext-minimal
+ googletest
pkg-config
python-minimal
python-numpy))
@@ -494,14 +560,14 @@ It aims to support Nintendo DSi and 3DS as well.")
curl
enet
eudev
- ffmpeg-4
- fmt-7
+ ffmpeg
+ fmt-11
font-wqy-microhei
freetype
glew
glib
glu
- gtk+-2
+ gtk+
hidapi
libevdev
libpng
@@ -509,20 +575,28 @@ It aims to support Nintendo DSi and 3DS as well.")
libx11
libxi
libxrandr
+ lz4
lzo
mbedtls-lts
+ mgba-for-dolphin
mesa
miniupnpc
minizip-ng
openal
pugixml
pulseaudio
- qtbase-5
- sdl2
+ qtbase
+ qtsvg
+ sdl3
sfml
soil
- soundtouch-1/integer-samples
+ spirv-cross
+ spng
+ tinygltf
+ vulkan-headers ;references loader
vulkan-loader
+ vulkan-memory-allocator
+ watcher
xxhash
zlib
`(,zstd "lib")))
@@ -536,36 +610,102 @@ turbo speed, networked multiplayer, and graphical enhancements.")
;; dolphin/Data/Sys/GC/font_*.bin: Licensed under ASL2.0.
(license (list license:gpl2+ license:asl2.0 license:fdl1.2+)))))
+;;; XXX: The libretro port is currently based on an old version of dolphin, so
+;;; its packaging/inputs are lagging behind.
(define-public libretro-dolphin-emu
;; There are no tag or release; use the latest commit.
- (let ((commit "89a4df725d4eb24537728f7d655cddb1add25c18")
- (revision "0"))
+ (let ((commit "a09f78f735f0d2184f64ba5b134abe98ee99c65f")
+ (revision "1"))
(package
(inherit dolphin-emu)
(name "libretro-dolphin-emu")
(version (git-version "5.0" revision commit))
- (source (origin
- (inherit (package-source dolphin-emu))
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/libretro/dolphin")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1fvm6hy0ihc0j3sgv88a7ak08c0kyikmmiif827j981fy7zvglvz"))
- (patches (search-patches "libretro-dolphin-emu-data.patch"))))
+ (source
+ (origin
+ (inherit (package-source dolphin-emu))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libretro/dolphin")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "15vv3kz1vcsk53m4b19ckx9xx9cx8l0lgpzalpy625iv7qvdcj9m"))
+ (modules '((guix build utils)
+ (ice-9 ftw)
+ (ice-9 regex)
+ (srfi srfi-26)))
+ (snippet
+ #~(begin
+ ;; XXX: 'delete-all-but' is copied from the turbovnc package.
+ (define (delete-all-but directory . preserve)
+ (define (directory? x)
+ (and=> (stat x #f)
+ (compose (cut eq? 'directory <>) stat:type)))
+ (with-directory-excursion directory
+ (let* ((pred
+ (negate (cut member <> (append '("." "..") preserve))))
+ (items (scandir "." pred)))
+ (for-each (lambda (item)
+ (if (directory? item)
+ (delete-file-recursively item)
+ (delete-file item)))
+ items))))
+
+ ;; Clean up the source from bundled libraries we don't need.
+ (delete-all-but "Externals"
+ ;; XXX: The build system is currently hard-coded
+ ;; to rely on these bundled copies.
+ "Bochs_disasm"
+ "FreeSurround"
+ "Libretro"
+ "cpp-optparse"
+ "glslang"
+ "imgui"
+ "picojson")
+ (for-each delete-file
+ (find-files
+ "."
+ (lambda (file _)
+ (and (string-match "\\.(bin|dsy|exe|jar|rar)$" file)
+ ;; Preserve the important wc24 .bin
+ ;; configuration *data* files.
+ (not (member (basename file)
+ '("misc.bin"
+ "nwc24dl.bin"
+ "nwc24fl.bin"
+ "nwc24fls.bin")))))))))
+ (patches
+ (search-patches "libretro-dolphin-emu-data.patch"
+ "libretro-dolphin-emu-gc-font-tool.patch"
+ "libretro-dolphin-emu-libusb-assert.patch"
+ "libretro-dolphin-emu-vulkan-headers.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments dolphin-emu)
((#:configure-flags flags ''())
- #~(cons "-DLIBRETRO=ON" #$flags))
+ #~(cons* (string-append "-DCMAKE_CXX_FLAGS="
+ "-I" (search-input-directory
+ %build-inputs "include/soundtouch"))
+ "-DLIBRETRO=ON"
+ "-DUSE_SHARED_ENET=ON"
+ #$flags))
((#:phases phases '%standard-phases)
#~(modify-phases #$phases
+ (add-after 'unpack 'link-unittest-to-gtest
+ (lambda _
+ ;; Otherwise, linking with the tests with gtest_main fails
+ ;; with a "DSO missing from command line"
+ (substitute* "Source/UnitTests/CMakeLists.txt"
+ (("PRIVATE core uicommon gtest_main" all)
+ (string-append all " gtest")))))
(add-after 'unpack 'deregister-bundled-sources
(lambda _
(substitute* "CMakeLists.txt"
((".*add_subdirectory.*Externals/curl.*") "")
- ((".*add_subdirectory.*Externals/libpng.*") ""))))
+ ((".*add_subdirectory.*Externals/gtest.*") "")
+ ((".*add_subdirectory.*Externals/libpng.*") "")
+ ((".*add_subdirectory.*Externals/soundtouch.*") "")
+ ((".*add_subdirectory.*Externals/xxhash.*") ""))))
(replace 'install
(lambda _
(install-file "dolphin_libretro.so"
@@ -581,11 +721,45 @@ turbo speed, networked multiplayer, and graphical enhancements.")
(copy-recursively "../source/Data/Sys"
(string-append sysdir "/Sys")))))))))
(inputs
- ;; Delete large and extraneous inputs.
- (modify-inputs (package-inputs dolphin-emu)
- (delete "ffmpeg"
- "gtk+"
- "qtbase")))
+ (list alsa-lib
+ ao
+ bluez
+ bzip2
+ cubeb
+ curl
+ enet
+ eudev
+ fmt
+ font-wqy-microhei
+ freetype
+ glew
+ glib
+ glu
+ googletest
+ hidapi
+ libevdev
+ libpng
+ libusb
+ libx11
+ libxi
+ libxrandr
+ lzo
+ mbedtls-lts
+ mesa
+ miniupnpc
+ minizip-ng-compat
+ openal
+ pugixml
+ pulseaudio
+ sdl2
+ sfml-2
+ soil
+ soundtouch-1/integer-samples
+ xxhash
+ vulkan-loader
+ vulkan-headers
+ zlib
+ `(,zstd "lib")))
(synopsis "Libretro port of Dolphin, the Nintendo Wii/GameCube emulator"))))
(define-public dosbox
@@ -699,39 +873,44 @@ emulate a serial nullmodem over TCP/IP.")
"1fal7a8y5g0rqqjrk795jh1l50ihz01ppjnrfjrk9vkjbd59szbp"))))
(build-system qt-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (invoke "qmake"
- (string-append "PREFIX=" (assoc-ref outputs "out"))
- "qtmips.pro")))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (substitute* "tests/test.sh"
- (("qtchooser.*") ""))
- (substitute* '("tests/cpu_trap/test.sh"
- "tests/registers/test.sh")
- (("sub-qtmips_cli") "qtmips_cli"))
- (if tests?
- (invoke "tests/run-all.sh")
- #t)))
- (replace 'install
- ;; There is no install target.
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- (apps (string-append out "/share/applications"))
- (icons (string-append out "/share/icons/hicolor")))
- (install-file "qtmips_gui/qtmips_gui" bin)
- (install-file "qtmips_cli/qtmips_cli" bin)
- (install-file "data/qtmips.desktop" apps)
- (install-file "data/icons/qtmips_gui.svg"
- (string-append icons "/scalable/apps"))
- (install-file "data/icons/qtmips_gui.png"
- (string-append icons "/48x48/apps"))
- #t))))
- #:tests? #f)) ; test suite wants mips toolchain
+ (list
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "qmake"
+ (string-append "PREFIX=" (assoc-ref outputs "out"))
+ "qtmips.pro")))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (substitute* "tests/test.sh"
+ (("qtchooser.*") ""))
+ (substitute* '("tests/cpu_trap/test.sh"
+ "tests/registers/test.sh")
+ (("sub-qtmips_cli") "qtmips_cli"))
+ (if tests?
+ (invoke "tests/run-all.sh")
+ #t)))
+ (replace 'install
+ ;; There is no install target.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (apps (string-append out "/share/applications"))
+ (icons (string-append out "/share/icons/hicolor")))
+ (install-file "qtmips_gui/qtmips_gui" bin)
+ (install-file "qtmips_cli/qtmips_cli" bin)
+ (install-file "data/qtmips.desktop" apps)
+ (install-file "data/icons/qtmips_gui.svg"
+ (string-append icons "/scalable/apps"))
+ (install-file "data/icons/qtmips_gui.png"
+ (string-append icons "/48x48/apps"))
+ #t))))
+ #:tests? #f)) ; test suite wants mips toolchain
(inputs
(list elfutils qtbase-5 qtwayland-5))
(home-page "https://github.com/cvut/QtMips")
@@ -913,34 +1092,41 @@ The following systems are supported:
(define-public mgba
(package
(name "mgba")
- (version "0.10.4")
+ (version "0.10.5")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/mgba-emu/mgba")
- (commit version)))
+ (url "https://github.com/mgba-emu/mgba")
+ (commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "0lfn5jhgqb06f1i1b8w8fvbi4fy4k8dvialblwg8h49qjqmf610q"))
- (modules '((guix build utils)))
+ "1scyvcp8l5z1sy1hcr0wgdf8zrirg07fzqjdmhkjnyhxmb9sibb5"))
+ (modules '((guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-26)))
(snippet
- ;; Make sure we don't use the bundled software.
- '(begin
- (for-each
- (lambda (subdir)
- (let ((lib-subdir (string-append "src/third-party/" subdir)))
- (delete-file-recursively lib-subdir)))
- '("libpng" "lzma" "sqlite3" "zlib"))))))
- (build-system cmake-build-system)
+ #~(begin
+ (define (delete-all-but directory . preserve)
+ (with-directory-excursion directory
+ (let* ((pred (negate (cut member <> (cons* "." ".." preserve))))
+ (items (scandir "." pred)))
+ (for-each (cut delete-file-recursively <>) items))))
+
+ (delete-all-but "src/third-party"
+ "blip_buf"
+ "inih")))))
+ (build-system qt-build-system)
(arguments
- `(#:tests? #f ;no "test" target
- #:configure-flags
- (list "-DBUILD_LTO=OFF" ;FIXME: <https://github.com/mgba-emu/mgba/issues/3115>
- "-DUSE_LZMA=OFF" ;do not use bundled LZMA
- "-DUSE_LIBZIP=OFF"))) ;use "zlib" instead
- (native-inputs (list pkg-config qttools-5))
+ (list
+ #:qtbase qtbase
+ #:configure-flags
+ #~(list "-DBUILD_SUITE=ON"
+ "-DUSE_DISCORD_RPC=OFF" ;avoid bundled copy
+ "-DUSE_LIBZIP=OFF" ;use "zlib" instead
+ "-DUSE_LZMA=OFF"))) ;do not use bundled LZMA
+ (native-inputs (list cmocka pkg-config qttools))
(inputs
(list ffmpeg
libedit
@@ -950,8 +1136,8 @@ The following systems are supported:
mesa
minizip
ncurses
- qtbase-5
- qtmultimedia-5
+ qtbase
+ qtmultimedia
sdl2
sqlite
zlib))
@@ -961,10 +1147,38 @@ The following systems are supported:
"mGBA is an emulator for running Game Boy Advance games. It aims to be
faster and more accurate than many existing Game Boy Advance emulators, as
well as adding features that other emulators lack. It also supports Game Boy
-and Game Boy Color games.")
- ;; Code is mainly MPL 2.0. "blip_buf.c" is LGPL 2.1+, "inih.c" is
- ;; BSD-3, and "discord-rpc" is Expat.
- (license (list license:mpl2.0 license:lgpl2.1+ license:bsd-3 license:expat))))
+and Game Boy Color games")
+ (license (list license:mpl2.0 ;mgba itself
+ license:lgpl2.1+ ;blip_buf bundled library
+ license:bsd-3)))) ;inih bundled library
+
+(define-public mgba-for-dolphin
+ ;; The commit should match that of the mgba git submodule in dolphin (see:
+ ;; <https://github.com/dolphin-emu/dolphin/tree/master/Externals/mGBA>).
+ (let ((commit "8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51")
+ (revision "0"))
+ (hidden-package
+ (package
+ (inherit mgba)
+ (name "mgba-for-dolphin")
+ (version (git-version "0.9.1" revision commit))
+ (source
+ (origin
+ (inherit (package-source mgba))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mgba-emu/mgba")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1bbcsikgcycf3cp9ciicg4yckjyamdfvgk4fgw079la59q8aw13q"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments mgba)
+ ((#:configure-flags flags ''())
+ ;; Relax error checks to avoid a build failure with GCC 14.
+ #~(cons "-DCMAKE_C_FLAGS=-Wno-error=incompatible-pointer-types"
+ #$flags))))))))
(define-public sameboy
(package
@@ -1758,8 +1972,8 @@ as RetroArch.")
(define-public libretro-mupen64plus-nx
;; There are no proper release; use the latest commit of the master branch
;; (their stable branch).
- (let ((commit "9d940bacb95c4d86733f42b67b57fc83046a6d39")
- (revision "0"))
+ (let ((commit "3a676196500545b637b83cb19fb393d2359e1f9d")
+ (revision "1"))
(package
(name "libretro-mupen64plus-nx")
(version (git-version "0" revision commit))
@@ -1771,7 +1985,7 @@ as RetroArch.")
(file-name (git-file-name name version))
(sha256
(base32
- "0s3l62mfkbzmv8g1y4r40iayfwdz68rq6l6khc0d8kw08qk7ggl9"))))
+ "0al0z52idssmvpn6400cmjlxg5qkp7wdb97i6yywip230xpjwlb8"))))
(build-system gnu-build-system)
(arguments
(list
@@ -3591,7 +3805,7 @@ Programming Interface} for emulators.")
(define-public jgrf
(package
(name "jgrf")
- (version "1.2.0")
+ (version "1.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3610,7 +3824,7 @@ Programming Interface} for emulators.")
(delete-file-recursively "deps/miniz")))
(sha256
(base32
- "1ivc8jj0majvgi0rj9nn429bmh7wp2nf87hq8xg05fjqwalfy3bl"))))
+ "06q3yiz8rwgyx7iri94lg51lcqwhz8zz8y890haw5x1vc7f7yn1v"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;no test suite
@@ -3657,7 +3871,7 @@ as a \"white-label\" frontend for statically linked standalone emulators.")
(define-public jg-bsnes
(package
(name "jg-bsnes")
- (version "2.0.0")
+ (version "2.0.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3677,7 +3891,7 @@ as a \"white-label\" frontend for statically linked standalone emulators.")
(delete-file-recursively "deps/libsamplerate")))
(sha256
(base32
- "0z1ka4si8vcb0j6ih087cni18vpgfd3qnaw24awycxz23xc0jkdv"))))
+ "1750ff70y9kiqa0mxxw6530fscana0wf2fslb0d801y5g4mymp73"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;no test suite
@@ -3763,8 +3977,8 @@ Advance.")
(define-public libretro-bsnes-jg
;; There aren't any release yet; use the latest commit.
- (let ((commit "0d42dea0cb20aba8bfec05b928e4aed2b295352a")
- (revision "0"))
+ (let ((commit "6400024854702110c4019f5b0a7336dca7112fdb")
+ (revision "1"))
(package
(inherit jg-bsnes)
(name "libretro-bsnes-jg")
@@ -3777,7 +3991,7 @@ Advance.")
(file-name (git-file-name name version))
(sha256
(base32
- "1dq2ypf4g4karayc9sgqn74bfnnsq2f4b3r615xyczchdaf2mi1n"))))
+ "1sbhq614rvcm01ln7883ivdhni1mg1v4lyyvcwsy92i9wbh8qd9i"))))
(arguments
(substitute-keyword-arguments (package-arguments jg-bsnes)
((#:make-flags flags)
@@ -3797,12 +4011,12 @@ Advance.")
((".*\\$\\(CORE_DIR)/deps/libsamplerate/.*")
""))))))))
(home-page "https://git.libretro.com/libretro/bsnes-jg")
- (synopsis "libretro port of bsnes-jg"))))
+ (synopsis "Libretro port of bsnes-jg"))))
(define-public jg-nestopia
(package
(name "jg-nestopia")
- (version "1.52.1")
+ (version "1.53.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3811,7 +4025,7 @@ Advance.")
(file-name (git-file-name name version))
(sha256
(base32
- "19qg9hgh25aaym7b81v5g7165v4fyymas6dmzc4z867mzaphbn6s"))))
+ "16saiwj4dmk6d0aqgczyrs9qpz7h79xxg3in11jnf2k7crzkk5ql"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;no test suite
@@ -3835,7 +4049,7 @@ of the Nestopia emulator.")
(define-public jg-cega
(package
(name "jg-cega")
- (version "0.6.0")
+ (version "0.6.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3846,7 +4060,7 @@ of the Nestopia emulator.")
(file-name (git-file-name name version))
(sha256
(base32
- "10qxfch08850zivxf4s1mhh0clx4h1cfn440acm6d7glb6wbv822"))))
+ "1zcxy6zkh3gg3kg050j21bqwf6wdq7q0xifqg3vs07s30yh042zc"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;no test suite
@@ -3926,7 +4140,7 @@ graphic filters. Some of its features include:
(("include\\(cmake/")
"include(")))))
(build-system pyproject-build-system)
- (native-inputs (list cmake pkg-config python-setuptools python-wheel))
+ (native-inputs (list cmake-minimal pkg-config python-setuptools python-wheel))
(home-page "https://www.unicorn-engine.org")
(synopsis "Generic CPU emulator framework")
(description
@@ -4375,7 +4589,7 @@ stack-machine, written in ANSI C. Graphical output is implemented using SDL2.")
(base32 "1xahdr6bh3dw5swrc2r8kqa8ljhqlb7k2kxv5mrw5rhcmcnzcyig"))))
(build-system pyproject-build-system)
(native-inputs
- (list cmake
+ (list cmake-minimal
python-setuptools
python-wheel))
(home-page "https://www.keystone-engine.org")
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 624c092a82..77383428b5 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -31,7 +31,6 @@
;;; Copyright © 2022 Olivier Dion <olivier.dion@polymtl.ca>
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
-;;; Copyright © 2022 Konstantinos Agiannis <agiannis.kon@gmail.com>
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022, 2024, 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2022, 2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
@@ -67,6 +66,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system emacs)
+ #:use-module (guix build-system guile)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
@@ -164,6 +164,7 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby-check)
+ #:use-module (gnu packages textutils)
#:use-module (gnu packages sagemath)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
@@ -180,6 +181,7 @@
#:use-module (gnu packages tree-sitter)
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
+ #:use-module (gnu packages webkit)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xiph)
@@ -309,21 +311,25 @@ their devices.")
(build-system qt-build-system)
(arguments
(list
- #:test-target "check"
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda _
(system* "qmake" (string-append "BOOST_DIR="
#$(this-package-input "boost")))))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((bin (string-append #$output "/bin"))
- (share (string-append #$output "/share/librecad")))
- (mkdir-p bin)
- (install-file "unix/librecad" bin)
- (mkdir-p share)
- (copy-recursively "unix/resources" share)))))))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'check (assoc-ref gnu:%standard-phases 'check))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append #$output "/bin"))
+ (share (string-append #$output "/share/librecad")))
+ (mkdir-p bin)
+ (install-file "unix/librecad" bin)
+ (mkdir-p share)
+ (copy-recursively "unix/resources" share)))))))
(inputs
(list bash-minimal boost muparser freetype qtbase-5 qtsvg-5))
(native-inputs
@@ -425,39 +431,42 @@ utilities.")
(license license:gpl2+)))
(define-public lepton-eda
- ;; This is a fork of gEDA/gaf started in late 2016. One of its goal is to
- ;; keep and to extend Guile support.
(package
- (inherit geda-gaf)
(name "lepton-eda")
(version "1.9.18-20220529")
- (home-page "https://github.com/lepton-eda/lepton-eda")
(source (origin
(method git-fetch)
(uri (git-reference
- (url home-page)
- (commit version)))
+ (url "https://github.com/lepton-eda/lepton-eda/")
+ (commit version)))
(sha256
(base32
"06plrcab3s2rpyf0qv2gzc1yp33627xi8105niasgixckk6glnc2"))
(file-name (git-file-name name version))))
+ (build-system gnu-build-system)
(arguments
(list
#:configure-flags
- #~(let ((pcb #$(this-package-input "pcb")))
- ;; When running "make", the POT files are built with the build time as
- ;; their "POT-Creation-Date". Later on, "make" notices that .pot
- ;; files were updated and goes on to run "msgmerge"; as a result, the
- ;; non-deterministic POT-Creation-Date finds its way into .po files,
- ;; and then in .gmo files. To avoid that, simply make sure 'msgmerge'
- ;; never runs. See <https://bugs.debian.org/792687>.
- (list "ac_cv_path_MSGMERGE=true" "--with-gtk3"
- (string-append "--with-pcb-datadir=" pcb
- "/share")
- (string-append "--with-pcb-lib-path=" pcb
- "/share/pcb/pcblib-newlib:"
- pcb "/share/pcb/newlib")
- "CFLAGS=-fcommon"))
+ #~(list
+ ;; When running "make", the POT files are built with the build time as
+ ;; their "POT-Creation-Date". Later on, "make" notices that .pot
+ ;; files were updated and goes on to run "msgmerge"; as a result, the
+ ;; non-deterministic POT-Creation-Date finds its way into .po files,
+ ;; and then in .gmo files. To avoid that, simply make sure 'msgmerge'
+ ;; never runs. See <https://bugs.debian.org/792687>.
+ "ac_cv_path_MSGMERGE=true"
+ (string-append "--with-pcb-datadir="
+ #$(this-package-input "pcb")
+ "/share")
+ (string-append "--with-pcb-lib-path="
+ #$(this-package-input "pcb")
+ "/share/pcb/pcblib-newlib:"
+ #$(this-package-input "pcb")
+ "/share/pcb/newlib")
+ "--with-gtk3"
+ "CFLAGS=-fcommon"
+ "--enable-guild"
+ "--enable-contrib")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
@@ -538,24 +547,28 @@ utilities.")
(unsetenv "LD_LIBRARY_PATH")
(invoke "make" "precompile"))))))
(native-inputs
- (modify-inputs (package-native-inputs geda-gaf)
- (prepend autoconf
- automake
- desktop-file-utils
- libtool
- gettext-minimal
- texinfo
- groff
- which)))
+ (list autoconf
+ automake
+ desktop-file-utils
+ flex
+ gettext-minimal
+ groff
+ gawk
+ libtool
+ pkg-config
+ m4
+ perl
+ texinfo))
(inputs
(list glib
gtk+
gtksheet
guile-3.0
guile-readline
- shared-mime-info
- m4
- pcb))
+ pcb
+ shared-mime-info))
+ (home-page "https://lepton-eda.github.io/")
+ (synopsis "GPL Electronic Design Automation")
(description
"Lepton EDA ia an @dfn{electronic design automation} (EDA) tool set
forked from gEDA/gaf in late 2016. EDA tools are used for electrical circuit
@@ -563,45 +576,7 @@ design, schematic capture, simulation, prototyping, and production. Lepton
EDA includes tools for schematic capture, attribute management, bill of
materials (BOM) generation, netlisting into over 20 netlist formats, analog
and digital simulation, and printed circuit board (PCB) layout, and many other
-features.")))
-
-(define-public librnd
- (package
- (name "librnd")
- (version "4.0.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://www.repo.hu/projects/librnd/releases/"
- "librnd-" version ".tar.bz2"))
- (sha256
- (base32
- "0z578x3sd8yjfbhivy1hz4hlgiy43qq6x7mnby872plpm08vgqxz"))))
- (build-system gnu-build-system)
- (arguments
- (list
- #:tests? #false ;no check target
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'cc-is-gcc
- (lambda _ (setenv "CC" #$(cc-for-target))))
- (replace 'configure
- ;; The configure script doesn't tolerate most of our configure flags.
- (lambda _
- (invoke "sh" "configure"
- (string-append "--prefix=" #$output)))))))
- (inputs
- (list gd gtk glib glu))
- (native-inputs
- (list pkg-config))
- (home-page "http://repo.hu/projects/librnd/")
- (synopsis "Two-dimensional CAD engine")
- (description "This is a flexible, modular two-dimensional CAD engine
-@itemize
-@item with transparent multiple GUI toolkit support;
-@item a flexible, dynamic menu system;
-@item a flexible, dynamic configuration system; and
-@item support for user scripting in a dozen languages.
-@end itemize")
+features.")
(license license:gpl2+)))
(define-public pcb
@@ -620,6 +595,13 @@ features.")))
(list
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'convert-encoding
+ (lambda _
+ (for-each
+ (lambda (name)
+ (invoke "iconv" "-f" "LATIN1" "-t" "UTF-8" name "-o" name))
+ '("src/pcb-menu.res.in"
+ "src/pcb-menu.res.h"))))
(add-before 'check 'pre-check
(lambda _
(system "Xvfb :1 &")
@@ -653,37 +635,6 @@ and design rule checking. It also includes an autorouter and a trace
optimizer; and it can produce photorealistic and design review images.")
(license license:gpl2+)))
-(define-public pcb-rnd
- (package (inherit pcb)
- (name "pcb-rnd")
- (version "3.1.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://repo.hu/projects/pcb-rnd/releases/"
- "pcb-rnd-" version ".tar.gz"))
- (sha256
- (base32
- "0szcsp2049wh3wslv7743wbjqllrmphi07yz0933sz4vf6f1c8dg"))))
- (arguments
- (list
- #:tests? #false ;no check target
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'cc-is-gcc
- (lambda _ (setenv "CC" #$(cc-for-target))))
- (replace 'configure
- ;; The configure script doesn't tolerate most of our configure flags.
- (lambda _
- (setenv "LIBRND_PREFIX" #$(this-package-input "librnd"))
- (invoke "sh" "configure"
- (string-append "--prefix=" #$output)))))))
- (inputs
- (modify-inputs (package-inputs pcb)
- (append librnd)))
- (home-page "http://repo.hu/projects/pcb-rnd/")
- (description "PCB RND is a fork of the GNU PCB circuit board editing tool
-featuring various improvements and bug fixes.")))
-
(define-public fastcap
(package
(name "fastcap")
@@ -959,6 +910,9 @@ required for Fritzing app.")
;; XXX: tests are built for the CMake build option but it seems to be
;; broken in 0.8.0.
(list #:tests? #f
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
@@ -966,7 +920,9 @@ required for Fritzing app.")
;; Patch hardcoded path before running qmake.
(substitute* "qelectrotech.pro"
(("\\/usr\\/local") #$output))
- (invoke "qmake"))))))
+ (invoke "qmake")))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'install (assoc-ref gnu:%standard-phases 'install)))))
(native-inputs
(list pkg-config qttools-5))
(inputs
@@ -980,10 +936,70 @@ such as those made in pneumatics, hydraulics, process industries, electronics,
and others.")
(license license:gpl2+)))
+(define-public qucsator-rf
+ (package
+ (name "qucsator-rf")
+ (version "1.0.6") ;required by qucs-s, keep in sync
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ra3xdh/qucsator_rf/")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0fx0kzj6hn0094jnvn6b1zqwjnkmd79xdr0zdyz5lmsyixlmxmvk"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:tests? #f ;no tests
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'run-tests
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Qucs-test is a collection of python scripts and data test
+ ;; cases. Its purpose is to test Qucs (GUI) and Qucsator;
+ ;; tests are under `testsuite` directory.
+ (copy-recursively
+ #$(origin
+ (method git-fetch)
+ (uri
+ ;; Using latest revision; refer to
+ ;; .github/workflows/cmake.yml to keep up to date.
+ (git-reference
+ (url "https://github.com/ra3xdh/qucs-test/")
+ (commit "ce69e05ceecab910175e6ea36b6e021a6d279947")))
+ (sha256
+ (base32
+ (string-append "1r3hx43wvd0s11mzsvj1chylzv"
+ "0lk9qhaw7205j9x316ly03bl08"))))
+ "qucs-test")
+ (with-directory-excursion "qucs-test"
+ (invoke "python3" "run.py" "--qucsator"
+ (format #f "--prefix=~a/bin" #$output)
+ "--exclude=skip.txt"))))))
+ #:configure-flags
+ #~(list (format #f "-DBISON_DIR=~a/bin"
+ #$(this-package-native-input "bison"))
+ (format #f "-DADMSXML_DIR=~a/bin"
+ #$(this-package-native-input "adms")))))
+ (native-inputs
+ (list adms bison dos2unix flex gperf python python-looseversion
+ python-numpy python-matplotlib))
+ (synopsis "RF and microwave circuits simulator")
+ (description
+ "@code{Qucsator-rf} is a command line driven circuit simulator targeted
+for RF and microwave circuits. It takes a network list in a certain format as
+input and outputs an XML dataset.")
+ (home-page "https://ra3xdh.github.io//")
+ (license license:gpl2+)))
+
(define-public qucs-s
(package
(name "qucs-s")
- (version "24.4.1")
+ (version "25.1.2") ;update qucsator-rf accordingly
(source (origin
(method git-fetch)
(uri (git-reference
@@ -992,13 +1008,11 @@ and others.")
(file-name (git-file-name name version))
(sha256
(base32
- "0307046h3vf6pprbvv47r46mpm764w49ci2cg0i3l1w9rbqlypln"))
- (patches (search-patches "qucs-s-qucsator-rf-search.patch"))))
+ "07wrpqgbj77rmh1yxy233lk1y4ys1x0721b3jsldp058dcgf24zv"))))
(build-system qt-build-system)
(arguments
(list
#:qtbase qtbase ;for Qt 6
- #:configure-flags #~(list "-DWITH_QT6=ON")
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
@@ -1008,9 +1022,18 @@ and others.")
(("\"ngspice\"")
(format #f "~s" (search-input-file inputs "bin/ngspice")))
(("\"octave\"")
- (format #f "~s" (search-input-file inputs "bin/octave")))))))))
+ (format #f "~s" (search-input-file inputs "bin/octave"))))))
+ (add-after 'install 'wrap-program
+ (lambda _
+ (wrap-program (string-append #$output "/bin/qucs-s")
+ `("PATH" ":" prefix
+ (,(string-append #$(this-package-input "ngspice") "/bin")
+ ,(string-append
+ #$(this-package-input "qucsator-rf") "/bin")))))))))
(native-inputs (list qttools))
- (inputs (list ngspice octave qtbase qtcharts qtsvg qtwayland))
+ (inputs
+ ;; TODO Add xyce-serial to the list.
+ (list bash-minimal octave qtbase qtcharts qtsvg qtwayland qucsator-rf ngspice))
(synopsis "GUI for different circuit simulation kernels")
(description
"@acronym{Qucs-S, Quite universal circuit simulator with SPICE} provides
@@ -1141,12 +1164,12 @@ fonts to gEDA.")
(build-system cmake-build-system)
(arguments
(list
+ #:tests? #f ; Several tests fail due to floating point error.
#:imported-modules `((guix build guile-build-system)
,@%cmake-build-system-modules)
#:modules '((guix build cmake-build-system)
((guix build guile-build-system) #:prefix guile:)
(guix build utils))
- #:test-target "libfive-test"
#:configure-flags #~(list
(string-append
"-DPYTHON_SITE_PACKAGES_DIR="
@@ -1195,6 +1218,10 @@ fonts to gEDA.")
(lambda args
(apply (assoc-ref guile:%standard-phases 'build)
#:source-directory "../source/libfive/bind/guile"
+ #:compile-flags '()
+ #:parallel-build? #f
+ #:scheme-file-regexp #$default-scheme-file-regexp
+ #:not-compiled-file-regexp #f
args)))
(add-after 'install 'wrap-studio
(lambda _
@@ -1398,14 +1425,11 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(file-name (git-file-name name version))
(sha256
(base32
- "0jhn4hq78cz07hsbyfyzy93gck88j04im1pmsl3sx87g2s215qzd"))))
+ "186nmy222m2k8snwk5i2f9igamflj9avfnhv5ksrbhx5wyrx7fy2"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_FORMATS=html")
- #:tests? #f ;no test suite
- #:phases
- (modify-phases %standard-phases
- (delete 'build))))
+ #:tests? #f)) ;no test suite
(native-inputs (list asciidoc
gettext-minimal
git-minimal
@@ -1432,7 +1456,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(file-name (git-file-name name version))
(sha256
(base32
- "134x4d5w89aahl4k9zai6vwcazibz17gsgzy04l9xn4zcf6v11qp"))))
+ "0r9aimyrv7p4ykqnwb9ac3fd0dv11zmv2ll6qkmm5s875s35hhfl"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; no tests exist
@@ -1461,7 +1485,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
- "0w44b7dzx6d3xw2vbw37k34zxy25bq46rsnv21x10227313vr2wm"))))
+ "1ysnj0973y05nn016hxrghccfv65cas772i369xflay0sns8anqf"))))
(synopsis "Official KiCad footprint libraries")
(description "This package contains the official KiCad footprint libraries.")))
@@ -1478,7 +1502,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
- "18cxlp5grvv5m63c3sb6m9l9cmijqqcjmxrkdzg63d5jp7w73smn"))))
+ "0njv4y31k62qhcx0xxcl94p34jgna8z4bs3hwjwzjfmp7ddl2dyx"))))
(synopsis "Official KiCad 3D model libraries")
(description "This package contains the official KiCad 3D model libraries.")))
@@ -3009,35 +3033,33 @@ specification can be downloaded at @url{http://3mf.io/specification/}.")
(license license:bsd-2)))
(define-public manifold
- (let ((commit "7c8fbe186aa1ac5eb73f12c28bdef093ee4d11c9")
- (version "3.0.1")
- (revision "0"))
- (package
- (name "manifold")
- (version (git-version version revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/elalish/manifold")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "09s4r4hlarl5lzbbihfd1fpfd3987lma5m26wkkvi7zssdbis9zc"))))
- (build-system cmake-build-system)
- (inputs (list tbb clipper2 assimp python-nanobind googletest))
- (arguments
- ;; can be removed once emscripten is packaged
- `(#:configure-flags '("-DMANIFOLD_JSBIND=OFF")))
- (synopsis "Geometry library for topological robustness")
- (description
- "Manifold is a geometry library dedicated to creating and operating on
+ (package
+ (name "manifold")
+ (version "3.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/elalish/manifold")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1vipfy68crvik3760jjmsqnyci6rabb26iiw22p2qpb3cj6r683l"))))
+ (build-system cmake-build-system)
+ (inputs (list tbb clipper2 assimp python-nanobind googletest))
+ (arguments
+ (list #:tests? #f
+ ;; can be removed once emscripten is packaged
+ #:configure-flags #~(list "-DMANIFOLD_JSBIND=OFF")))
+ (synopsis "Geometry library for topological robustness")
+ (description
+ "Manifold is a geometry library dedicated to creating and operating on
manifold triangle meshes. A manifold mesh is a mesh that represents a solid
object, and so is very important in manufacturing, CAD, structural analysis,
etc.. Manifold also supports arbitrary vertex properties and enables mapping
of materials for rendering use-cases.")
- (home-page "https://github.com/elalish/manifold")
- (license license:asl2.0))))
+ (home-page "https://github.com/elalish/manifold")
+ (license license:asl2.0)))
(define-public python-keithley2600
(package
@@ -3274,8 +3296,8 @@ ontinuous-time and discret-time expressions.")
(license license:lgpl2.1+)))
(define-public openscad
- (let ((commit "7245089d3226de41ab55faee62ffe326f6efcb69")
- (version "2025.06.01")
+ (let ((commit "6a8ab04bfd8bbe5cafab3efb74d2b46cb33fafe7")
+ (version "2025.07.25")
(revision "0"))
(package
(name "openscad")
@@ -3291,13 +3313,13 @@ ontinuous-time and discret-time expressions.")
;; deleted in the patch-source build phase.
(recursive? #t)))
(sha256
- (base32 "0lynjxa5y9wi443vxgaj2r8lr98dyfxinq7n4gcw9gz7cfc52a4a"))
- (patches (search-patches
- "openscad-fix-path-in-expected-test-results-to-acommodate-diff.patch"))
+ (base32 "0qvvi4qjadk2p5v2ca95hkkw0zi9vmzyac8hcxr14ijnk0f1ybd0"))
(file-name (git-file-name name version))))
- (build-system qt-build-system)
+ (build-system cmake-build-system)
(arguments
(list
+ ;; OpenSCAD doesn't cope well with out-of-source builds.
+ #:out-of-source? #f
#:configure-flags
#~(list "-DCMAKE_BUILD_TYPE=Release"
"-DUSE_BUILTIN_CLIPPER2=OFF"
@@ -3312,7 +3334,8 @@ ontinuous-time and discret-time expressions.")
(string-append "-DOPENSCAD_COMMIT="
#$commit)
"-DENABLE_EGL=ON"
- "-DENABLE_GLX=ON")
+ "-DENABLE_GLX=ON"
+ "-B./build")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-source
@@ -3340,20 +3363,15 @@ ontinuous-time and discret-time expressions.")
;; Use the system sanitizers-cmake module.
(("\\$\\{CMAKE_SOURCE_DIR\\}/submodules/sanitizers-cmake/cmake")
(string-append (assoc-ref inputs "sanitizers-cmake")
- "/share/sanitizers-cmake/cmake")))
- ;; Fix test-tool expecting build directory to be a direct
- ;; subdirectory of the source directory (see
- ;; https://github.com/openscad/openscad/issues/5937).
- (substitute* "tests/test_cmdline_tool.py"
- (("build_to_test_sources = \"../../tests\"")
- "build_to_test_sources = \"../../source/tests\""))))
+ "/share/sanitizers-cmake/cmake")))))
+ ;; Tests will fail if the build doesn't happen in a
+ ;; subdirectory of the source directory.
+ (add-before 'build 'create-build-dir
+ (lambda _
+ (mkdir-p "./build")
+ (chdir "./build")))
(add-before 'check 'patch-tests
(lambda _
- ;; Fix tests expecting build directory to be a direct descendant
- ;; of the source dir (see
- ;; https://github.com/openscad/openscad/issues/5938).
- (copy-recursively "../source/color-schemes" "./color-schemes")
- (copy-recursively "../source/shaders" "./shaders")
;; Required for fontconfig
(setenv "HOME" "/tmp"))))))
(inputs (list boost
@@ -3427,6 +3445,72 @@ models in the STL and OFF file formats.")
(home-page "https://openscad.org/")
(license license:gpl2+))))
+(define-public pythonscad
+ (let ((commit "e2641ca1a208a9a54a034a8818a9774ad4d5867c")
+ (version "0.0.0")
+ (revision "0"))
+ (package
+ (inherit openscad)
+ (name "pythonscad")
+ (version (git-version version revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pythonscad/pythonscad")
+ (commit commit)
+ ;; Needed for libraries/MCAD, a library specific to OpenSCAD
+ ;; which is included as a submodule. All other libraries are
+ ;; deleted in the patch-source build phase.
+ (recursive? #t)))
+ (sha256
+ (base32 "1i6yajamdrha2kpgyhn7jn6dv35qmgq0zsqv8cdzdqg5142v66ay"))
+ (modules '((guix build utils)))
+ (snippet #~(begin
+ ;; Delete all unbundled libraries to replace them with
+ ;; guix packages.
+ (delete-file-recursively "submodules")
+ (substitute* "CMakeLists.txt"
+ ;; Remove bundled libraries from cmake.
+ (("add_subdirectory\\(submodules\\)")
+ ""))))
+ (file-name (git-file-name name version))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments openscad)
+ ((#:configure-flags flags
+ '())
+ #~(append #$flags
+ (list "-DENABLE_LIBFIVE=ON" "-DUSE_BUILTIN_LIBFIVE=OFF"
+ (string-append "-DPYTHON_VERSION="
+ #$(version-major+minor
+ (package-version python))))))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (replace 'patch-source
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "CMakeLists.txt"
+ ;; Fix detection of EGL (see
+ ;; https://github.com/openscad/openscad/issues/5880).
+ (("target_link_libraries\\(OpenSCAD PRIVATE OpenGL::EGL\\)")
+ "find_package(ECM REQUIRED NO_MODULE)
+ list(APPEND CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
+ find_package(EGL REQUIRED)
+ target_link_libraries(OpenSCAD PRIVATE EGL::EGL)")
+ ;; Use the system sanitizers-cmake module.
+ (("\\$\\{CMAKE_SOURCE_DIR\\}/submodules/sanitizers-cmake/cmake")
+ (string-append (assoc-ref inputs "sanitizers-cmake")
+ "/share/sanitizers-cmake/cmake")))))))))
+ (inputs (modify-inputs (package-inputs openscad)
+ (append curl libfive)))
+ (synopsis "Script-based 3D modeling app whith Python support")
+ (description
+ "PythonSCAD is a programmatic 3D modeling application. It allows you
+to turn simple code into 3D models suitable for 3D printing. It is a fork of
+OpenSCAD which not only adds support for using Python as a native language,
+but also adds new features and improves existing ones.")
+ (home-page "https://pythonscad.org/")
+ (license license:gpl2+))))
+
(define-public emacs-scad-mode
(package
(name "emacs-scad-mode")
@@ -3649,7 +3733,8 @@ extension and customization.")
(build-system cmake-build-system)
(inputs (list hdf5-1.10))
(arguments
- `(#:phases
+ `(#:parallel-tests? #f
+ #:phases
(modify-phases %standard-phases
(add-after 'install 'remove-test-output
(lambda* (#:key outputs #:allow-other-keys)
@@ -4104,6 +4189,7 @@ calibration of the milling depth.")
(arguments
(list
#:build-type "Release"
+ #:tests? #f
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'unpack-libdxfrw
(lambda _
@@ -4572,10 +4658,10 @@ visualization, matrix manipulation.")
(license (list license:gpl3 license:mpl2.0))))
(define-public prusa-libbgcode
- ;; Use the latest commit since there are no proper releases nor tags, see
+ ;; Use the same commit as in the PrusaSlicer repository.
;; <https://github.com/prusa3d/libbgcode/issues/31>.
- (let ((commit "8ae75bd0eea622f0e34cae311b3bd065b55eae9b")
- (revision "0"))
+ (let ((commit "5041c093b33e2748e76d6b326f2251310823f3df")
+ (revision "1"))
(package
(name "prusa-libbgcode")
(version (git-version "0.0.0" revision commit))
@@ -4587,8 +4673,8 @@ visualization, matrix manipulation.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "0fjx2ijz9zqpqs486lcrrrhqvmfzrpb8j6v57l0jiynavwv3kznw"))))
- (native-inputs (list catch2))
+ (base32 "0ivc0zhpf0gz55jfj0gbkff6yw5gpwazk94asldzznn7x9jmbb0i"))))
+ (native-inputs (list catch2-3.8))
(propagated-inputs (list zlib boost heatshrink))
(build-system cmake-build-system)
(home-page "https://github.com/prusa3d/libbgcode")
@@ -4621,7 +4707,7 @@ G-codes to binary and vice versa.")
(define-public prusa-slicer
(package
(name "prusa-slicer")
- (version "2.7.4")
+ (version "2.9.2")
(source
(origin
(method git-fetch)
@@ -4630,8 +4716,8 @@ G-codes to binary and vice versa.")
(url "https://github.com/prusa3d/PrusaSlicer")
(commit (string-append "version_" version))))
(file-name (git-file-name name version))
- (sha256 (base32 "0s1cfvhfilyv0y98asr61c6rwlgyr1hf5v5hg8q9zwmzm2bkcql3"))
- (patches (search-patches "prusa-slicer-fix-tests.patch"))
+ (sha256 (base32 "05zwwhqv3fjg9rx6a4ga55f4ic1136f6lwms0kb4kaq50w9dvxwg"))
+ (patches (search-patches "prusa-slicer-add-cmake-module.patch"))
(modules '((guix build utils)))
(snippet
`(begin
@@ -4639,25 +4725,40 @@ G-codes to binary and vice versa.")
;; Most of them contain prusa-specific modifications (e.g. avrdude),
;; but others do not. Here we replace the latter with Guix packages.
;; Remove bundled libraries that were not modified by Prusa Slicer developers.
- (delete-file-recursively "src/hidapi")
- (delete-file-recursively "src/eigen")
- (delete-file-recursively "src/libigl/igl")
+ (delete-file-recursively "bundled_deps/hidapi")
+ (delete-file-recursively "bundled_deps/libigl/igl")
(substitute* "CMakeLists.txt"
+ (("target_link_libraries\\(libexpat INTERFACE EXPAT::EXPAT\\)")
+ "")
(("add_library\\(libexpat INTERFACE\\)")
""))
- (substitute* "src/libigl/CMakeLists.txt"
+ (substitute* "bundled_deps/CMakeLists.txt"
+ (("add_subdirectory\\(hidapi\\)")
+ ""))
+ (substitute* "bundled_deps/libigl/CMakeLists.txt"
(("target_link_libraries\\(libigl INTERFACE igl::core\\)") ""))
(substitute* "src/CMakeLists.txt"
(("add_subdirectory\\(hidapi\\)")
"pkg_check_modules(HIDAPI REQUIRED hidapi-hidraw)")
(("include_directories\\(hidapi/include\\)")
- "include_directories()"))
+ "include_directories()")
+ (("add_library\\(libexpat INTERFACE\\)")
+ "")
+ (("target_link_libraries\\(libexpat INTERFACE EXPAT::EXPAT\\)")
+ "")
+ (("list\\(APPEND wxWidgets_LIBRARIES libexpat\\)")
+ "list(APPEND wxWidgets_LIBRARIES expat)"))
+ (substitute* "src/libslic3r/CMakeLists.txt"
+ (("libexpat")
+ "expat"))
(substitute* "src/slic3r/CMakeLists.txt"
(("add_library\\(libslic3r_gui.*" all)
(string-append
+ "find_package(HidAPI REQUIRED)\n"
all
- "\ntarget_include_directories(libslic3r_gui PUBLIC ${HIDAPI_INCLUDE_DIRS})\n"))
- (("\\bhidapi\\b") "${HIDAPI_LIBRARIES}"))))))
+ "\ntarget_include_directories(libslic3r_gui PUBLIC ${HIDAPI_INCLUDE_DIR})\n"))
+ ((" hidapi")
+ " ${HIDAPI_LIBRARY}"))))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags
@@ -4679,7 +4780,7 @@ G-codes to binary and vice versa.")
(("#include <libigl/igl/qslim.h>")
"#include <igl/qslim.h>")))))))
(native-inputs
- (list pkg-config catch2))
+ (list pkg-config catch2-3.8))
(inputs
(list boost
cereal
@@ -4703,7 +4804,8 @@ G-codes to binary and vice versa.")
mpfr
nanosvg
nlopt
- opencascade-occt
+ opencascade-occt-7.6.1
+ openssl
openvdb
pango
prusa-libbgcode
@@ -4712,11 +4814,18 @@ G-codes to binary and vice versa.")
prusa-wxwidgets
qhull
tbb
+ webkitgtk-for-gtk3
+ webkitgtk-with-libsoup2
+ z3
zlib))
(home-page "https://www.prusa3d.com/prusaslicer/")
(synopsis "G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)")
- (description "PrusaSlicer takes 3D models (STL, OBJ, AMF) and converts them into
-G-code instructions for FFF printers or PNG layers for mSLA 3D printers.")
+ (description "PrusaSlicer takes 3D models (STL, OBJ, AMF) and converts
+them into G-code instructions for FFF printers or PNG layers for mSLA 3D
+printers. It is compatible with any modern printer based on the RepRap
+toolchain, including all those based on the Marlin, Prusa, Sprinter and
+Repetier firmware. It also works with Mach3, LinuxCNC and Machinekit
+controllers.")
(license license:agpl3)
;; Mark as tunable to take advantage of SIMD code in Eigen and in libigl.
@@ -5165,49 +5274,6 @@ python bindings. It belongs to the Cura project from Ultimaker.")
generates G-Code for 3D printers.")
(license license:lgpl3+)))
-(define-public xschem
- (let ((commit "f574539e21b297fa3bcebd52114555e162a5fc56")
- (revision "1"))
- (package
- (name "xschem")
- (version (git-version "3.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/StefanSchippers/xschem")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "129kj8m3wcf62plp74kml6pqwld4lnfmxy070a82lvj0rfiy77hb"))))
- (native-inputs (list flex bison pkg-config))
- (inputs (list gawk
- tcl
- tk
- libxpm
- cairo
- libxrender
- libxcb)) ; Last 3 are optional, but good to have.
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (add-before 'build 'setenv
- (lambda* (#:key outputs #:allow-other-keys)
- (setenv "CC" ,(cc-for-target))
- (invoke "./configure"
- (string-append "--prefix="
- (assoc-ref outputs "out"))))))))
- (synopsis "Hierarchical schematic editor")
- (description
- "Xschem is an X11 schematic editor written in C and focused on
-hierarchical and parametric design. It can generate VHDL, Verilog or Spice
-netlists from the drawn schematic, allowing the simulation of the circuit.")
- (home-page "https://xschem.sourceforge.io/stefan/index.html")
- (license license:gpl2+))))
-
(define-public bcnc
(package
(name "bcnc")
@@ -5598,13 +5664,7 @@ towards field theory.")
(commit commit)))
(sha256
(base32 "1c7vimy065908qs5nwhnrk9pp0wh8pjgdvz2hwb12a9wcsj50kf0"))
- (file-name (git-file-name name version))
- (modules '((guix build utils)))
- ;; make tests deterministic by seeding the random number generator
- (snippet '(substitute* '("orocos_kdl/tests/treeinvdyntest.cpp"
- "orocos_kdl/tests/solvertest.cpp")
- (("srand\\( \\(unsigned\\)time\\( NULL \\)\\)")
- "srand(0u)")))))
+ (file-name (git-file-name name version))))
(build-system cmake-build-system)
(native-inputs (list cppunit))
(propagated-inputs (list eigen))
@@ -5612,10 +5672,20 @@ towards field theory.")
(list
#:configure-flags
#~(list "-DENABLE_TESTS=ON")
- #:test-target "check"
#:phases
#~(modify-phases %standard-phases
- (add-after 'unpack 'chdir
+ (add-after 'unpack 'fix-tests
+ (lambda _
+ ;; Make tests deterministic by seeding the random number generator.
+ (substitute* '("orocos_kdl/tests/treeinvdyntest.cpp"
+ "orocos_kdl/tests/solvertest.cpp")
+ (("srand\\( \\(unsigned\\)time\\( NULL \\)\\)")
+ "srand(0u)"))
+ ;; CTest requires tests to be enabled in the top-level directory.
+ (substitute* "orocos_kdl/CMakeLists.txt"
+ (("IF\\( ENABLE_TESTS \\)" _all)
+ (string-append _all "\n" "enable_testing()")))))
+ (add-after 'fix-tests 'chdir
(lambda _
(chdir "orocos_kdl"))))))
(home-page "https://docs.orocos.org/kdl/overview.html")
diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm
index 7952f5cc4b..ac6c80a952 100644
--- a/gnu/packages/fcitx5.scm
+++ b/gnu/packages/fcitx5.scm
@@ -516,7 +516,9 @@ including input methods previous bundled inside Fcitx 4:
(sha256
(base32 "1kg0hddds7raqf5y4qw2x02hb4i5impv4hjfm2qvcn3g775rzrq6"))))
(build-system cmake-build-system)
- (arguments (list #:configure-flags #~(list "-DUSE_QT6=ON")))
+ (arguments
+ (list #:tests? #f
+ #:configure-flags #~(list "-DUSE_QT6=ON")))
(inputs
(list fcitx5
fcitx5-qt
diff --git a/gnu/packages/fediverse.scm b/gnu/packages/fediverse.scm
index 2a0068d012..5378c9437e 100644
--- a/gnu/packages/fediverse.scm
+++ b/gnu/packages/fediverse.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2021 Taiju HIGASHI <higashi@taiju.info>
;;; Copyright © 2024 Sergio Durigan Junior <sergiodj@sergiodj.net>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
+;;; Copyright © 2025 Herman Rimm <herman@rimm.ee>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -49,10 +50,69 @@
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages serialization)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages xml))
+(define-public cuttlefish
+ (package
+ (name "cuttlefish")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.shinice.net/artectrex/Cuttlefish")
+ (commit "9e9b97ccbb27562c86637e5b413c28beacd8cd4d")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0fdkag4j66zaf2shbw4j6hspk6bw6b0kbd5l6wzvh3p7id7yj6qi"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin (substitute* "data/ch.cuttlefish.app.gschema.xml"
+ ;; Instance does not work properly.
+ (("https://video.blender.org")
+ "https://tilvids.com"))
+ (substitute* "src/video-view.cpp"
+ ;; Top-level "files" key has an empty list.
+ (("\\[\"files\"\\]")
+ "[\"streamingPlaylists\"][0][\"files\"]"))))))
+ (build-system meson-build-system)
+ (arguments
+ (list #:glib-or-gtk? #t
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'glib-or-gtk-wrap 'wrap-gst-plugins
+ (lambda _
+ (wrap-program (string-append #$output "/bin/cuttlefish")
+ `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
+ (,(getenv "GST_PLUGIN_SYSTEM_PATH")))))))))
+ (native-inputs
+ (list desktop-file-utils
+ gettext-minimal ;msgfmt
+ (list glib "bin") ;glib-compile-resources
+ gsettings-desktop-schemas ;org.gnome.system.proxy schema
+ pkg-config))
+ (inputs (list bash-minimal
+ gst-plugins-bad
+ gst-plugins-good ;playbin plugin
+ gstreamer
+ gtk
+ jsoncpp
+ libadwaita
+ libsoup-minimal-2))
+ (home-page "https://cuttlefish.ch")
+ (synopsis "GTK client for PeerTube")
+ (description
+ "Cuttlefish is a desktop client for PeerTube, but will work on
+GNU/Linux-based phones (like the Librem 5 or Pinephone) as well. Cuttlefish
+aims to provide a better experience of watching PeerTube videos and using
+PeerTube in general, via an efficient native application that can hook into
+the federation of interconnected video hosting services.")
+ ;; Logo distributed under the Creative Commons CCBY license.
+ (license license:gpl3+)))
+
(define-public toot
(package
(name "toot")
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index 6b15952764..7408389b91 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -16,7 +16,7 @@
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2025 Julian Flake <flake@uni-koblenz.de>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
-;;; Copyright © 2020-2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2025 45mg <45mg.writes@gmail.com>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
@@ -2494,3 +2494,50 @@ filtering and ordering functionality.
+ecryptfs, cryfs, encfs, gocryptfs, fscrypt and securefs
+based encrypted folders.")
(license license:gpl3+)))
+
+(define-public watcher
+ (package
+ (name "watcher")
+ (version "0.13.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/e-dant/watcher")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ikcdskb3z3wggxb12vi0y3rng2hcswl0fpk6sjqqlz34nvwijcr"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:configure-flags
+ #~(list "-DBUILD_TESTING=ON"
+ ;; This is needed to find 'snitch' from the system.
+ "-DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=ALWAYS")
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (setenv "PATH" (string-append (getcwd) ":" (getenv "PATH")))
+ (substitute* "../source/tool/test/.ctx"
+ (("../../out")
+ "../../../build")
+ (("which") "command -v"))
+ (invoke "../source/tool/test/all"))))))
+ (native-inputs (list jq snitch))
+ (home-page "https://github.com/e-dant/watcher")
+ (synopsis "File system watcher program and library")
+ (description "Watcher may be used as a library or a program that can be
+used to efficiently watch a file system for changes. This package provides
+the following components:
+@table @asis
+@item @file{include/wtr/watcher.hpp}
+C++ header library
+@item @samp{watcher-c}
+C shared and static library
+@item @command{wtr.watcher}
+Command-line interface (CLI)
+@item @command{tw}
+Minimal, more human-readable CLI variant
+@end table")
+ (license license:expat)))
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index dcdc447a57..0e009f1abd 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -153,7 +153,7 @@
;; <https://bitcoincore.org/en/lifecycle/#schedule>.
(package
(name "bitcoin-core")
- (version "28.1")
+ (version "28.2")
(source (origin
(method url-fetch)
(uri
@@ -161,7 +161,7 @@
version "/bitcoin-" version ".tar.gz"))
(sha256
(base32
- "1fl312ns86syc6871il9l3lzf96nm6jhnj92qyvxkyf78782vbn5"))))
+ "0l23ff0z25v6fgxnldb7bgzhbd9z9kq3fgh86i7wv4w7spwxlxsr"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
@@ -1359,8 +1359,10 @@ agent.")
(inputs (list libzip qtsvg qtwebengine qt5compat))
(arguments
(list #:tests? #f ; tests do not even build with Qt6 anymore
- #:test-target "check"
#:qtbase qtbase ; use Qt6
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
@@ -1372,6 +1374,7 @@ agent.")
(substitute* "kitsasproject.pro"
((" *(unittest|testit).*") "")
(("\\\\") ""))))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
(replace 'install
(lambda* _
(install-file "kitsas/kitsas"
diff --git a/gnu/packages/fluidplug.scm b/gnu/packages/fluidplug.scm
new file mode 100644
index 0000000000..c731f295ba
--- /dev/null
+++ b/gnu/packages/fluidplug.scm
@@ -0,0 +1,480 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2025 Giacomo Leidi <goodoldpaul@autistici.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/>.
+
+(define-module (gnu packages fluidplug)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix download)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses)
+ #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix records)
+ #:use-module (guix utils)
+ #:use-module (gnu packages audio)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (srfi srfi-1)
+ #:export (fluidplug-plugin
+ fluidplug-plugin?
+ fluidplug-plugin-name
+ fluidplug-plugin-path
+ fluidplug-plugin-hash
+ fluidplug-plugin-license
+
+ fluidplug-lv2
+
+ fluidplug-plugin->package
+ fluidplug-airfont320-lv2
+ fluidplug-avl-drumkits-perc-lv2
+ fluidplug-black-pearl-4a-lv2
+ fluidplug-black-pearl-4b-lv2
+ fluidplug-black-pearl-5-lv2
+ fluidplug-red-zeppelin-4-lv2
+ fluidplug-red-zeppelin-5-lv2
+ fluidplug-fluidgm-lv2
+ fluidplug-fluidbass-lv2
+ fluidplug-fluidbrass-lv2
+ fluidplug-fluidchromperc-lv2
+ fluidplug-fluiddrums-lv2
+ fluidplug-fluidensemble-lv2
+ fluidplug-fluidethnic-lv2
+ fluidplug-fluidguitars-lv2
+ fluidplug-fluidorgans-lv2
+ fluidplug-fluidpercussion-lv2
+ fluidplug-fluidpianos-lv2
+ fluidplug-fluidpipes-lv2
+ fluidplug-fluidreeds-lv2
+ fluidplug-fluidsoundfx-lv2
+ fluidplug-fluidstrings-lv2
+ fluidplug-fluidsynthfx-lv2
+ fluidplug-fluidsynthleads-lv2
+ fluidplug-fluidsynthpads-lv2))
+
+(define-record-type* <fluidplug-plugin>
+ fluidplug-plugin make-fluidplug-plugin
+ fluidplug-plugin?
+ (name fluidplug-plugin-name) ;string
+ (hash fluidplug-plugin-hash) ;string
+ (path fluidplug-plugin-path) ;string
+ (license fluidplug-plugin-license ;license
+ (default license:cc-by-sa4.0)))
+
+(define (fluidplug-plugin->package-name record)
+ (string-append "fluidplug-"
+ (string-downcase
+ (string-replace-substring
+ (fluidplug-plugin-name record) "_" "-"))
+ "-lv2"))
+
+(define (fluidplug-plugin->origin record)
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://download.linuxaudio.org/"
+ "musical-instrument-libraries/sf2/"
+ (fluidplug-plugin-path record)))
+ (sha256
+ (base32 (fluidplug-plugin-hash record)))))
+
+(define (fluidplug-plugin->local-path record)
+ (string-append "./" (fluidplug-plugin-name record) ".lv2/"
+ (basename (fluidplug-plugin-path record))))
+
+(define airfont320
+ (fluidplug-plugin
+ (name "AirFont320")
+ (path "airfont_a340u.tar.7z")
+ (hash "1x4xzm4khq823i4p18ydbkjza2nv3hzwyxp7vf3gzqs374jdcqbw")
+ (license license:gpl2)))
+
+(define avl-drumkits-perc
+ (fluidplug-plugin
+ (name "AVL_Drumkits_Perc")
+ (path "AVL-Drumkits-1.1-SF2-splitted/AVL_Drumkits_Perc_1.1.tar.7z")
+ (hash "0l1zvzw9dg922wf9llcl9zlw5ybjmayg7yqacp253xcr2jz1hn7m")
+ (license license:cc-by-sa3.0)))
+
+(define black-pearl-4a
+ (fluidplug-plugin
+ (name "Black_Pearl_4A")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_4A-1.1.tar.7z")
+ (hash "0flzlg5m2r3df8dchydzg3xllcv7ignr7hx6qxzy51s6gzrlbzli")
+ (license license:cc-by-sa3.0)))
+
+(define black-pearl-4b
+ (fluidplug-plugin
+ (name "Black_Pearl_4B")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_4B-1.1.tar.7z")
+ (hash "1z5q8z4k81xnbcv0gpc2xgrzqm9fg4n2yly1kaw82q7sm29vi0z9")
+ (license license:cc-by-sa3.0)))
+
+(define black-pearl-5
+ (fluidplug-plugin
+ (name "Black_Pearl_5")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Black_Pearl_5-1.1.tar.7z")
+ (hash "0mg41wc912sfj2mydn86ychwk21l3ngbn7k3qsm6jgf1ipmsip9y")
+ (license license:cc-by-sa3.0)))
+
+(define red-zeppelin-4
+ (fluidplug-plugin
+ (name "Red_Zeppelin_4")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Red_Zeppelin_4-1.1.tar.7z")
+ (hash "0pcswg4hlyn8j6nghbwvxa71ibp6r0wxcbxjzxs4iim43vpxc659")
+ (license license:cc-by-sa3.0)))
+
+(define red-zeppelin-5
+ (fluidplug-plugin
+ (name "Red_Zeppelin_5")
+ (path "AVL-Drumkits-1.1-SF2-splitted/Red_Zeppelin_5-1.1.tar.7z")
+ (hash "18hhmi1d1i7gr2rp4wn28pnfwl825rmhmjnvxvvcwdmis6nad4gm")
+ (license license:cc-by-sa3.0)))
+
+(define fluidgm
+ (fluidplug-plugin
+ (name "FluidGM")
+ (path "fluidr3.tar.7z")
+ (hash "00ka1b2pxn0g2g0hm7kdg5w785pfx8f9585238d183wjdkc3a8m6")
+ (license license:expat)))
+
+(define fluidbass
+ (fluidplug-plugin
+ (name "FluidBass")
+ (path "fluidr3-splitted/fluidr3gm_bass.sf2.tar.7z")
+ (hash "1zhixrxkwvmn6xkpy9f8zkrwxmaqwdcx0jz7zg8lc2amqkx9wqan")))
+
+(define fluidbrass
+ (fluidplug-plugin
+ (name "FluidBrass")
+ (path "fluidr3-splitted/fluidr3gm_brass.sf2.tar.7z")
+ (hash "027l3q4q9011xzbzsrsp5nj3h05w9dj7d8b943xzck7q4sp9alkp")))
+
+(define fluidchromperc
+ (fluidplug-plugin
+ (name "FluidChromPerc")
+ (path "fluidr3-splitted/fluidr3gm_chromaticpercussion.sf2.tar.7z")
+ (hash "1233fh36wlifrawh57v8vycxc0g4pbvy3qr9f596g9n7mm4h51f7")))
+
+(define fluiddrums
+ (fluidplug-plugin
+ (name "FluidDrums")
+ (path "fluidr3-splitted/fluidr3gm_drums.sf2.tar.7z")
+ (hash "01pv3aj52pz8xy29acprwkb69jxhrn64kx7w29ch5bl091lccqgr")))
+
+(define fluidensemble
+ (fluidplug-plugin
+ (name "FluidEnsemble")
+ (path "fluidr3-splitted/fluidr3gm_ensemble.sf2.tar.7z")
+ (hash "0rswcgzapcjmwddh2hgicym27hqz3p43r2s8j7hy1s40hzk3nbax")))
+
+(define fluidethnic
+ (fluidplug-plugin
+ (name "FluidEthnic")
+ (path "fluidr3-splitted/fluidr3gm_ethnic.sf2.tar.7z")
+ (hash "0z1z37wn6lw1n919bkpfirachg5wwddi7f0g4l9vimazv34ds1b1")))
+
+(define fluidguitars
+ (fluidplug-plugin
+ (name "FluidGuitars")
+ (path "fluidr3-splitted/fluidr3gm_guitar.sf2.tar.7z")
+ (hash "1d5jxx4sgbyh9sqmfksggcsri9hal7mw83a6h1vqb9xf59gnmx1i")))
+
+(define fluidorgans
+ (fluidplug-plugin
+ (name "FluidOrgans")
+ (path "fluidr3-splitted/fluidr3gm_organ.sf2.tar.7z")
+ (hash "12zlq28cmr2hsgn1319hidzcm8yifx6vsqsqk544z3qkhc8cg4fr")))
+
+(define fluidpercussion
+ (fluidplug-plugin
+ (name "FluidPercussion")
+ (path "fluidr3-splitted/fluidr3gm_percussive.sf2.tar.7z")
+ (hash "1gql0g1zk09n6r90mav47khdc406jhmg5iql6i2zjmg9l7yg65n3")))
+
+(define fluidpianos
+ (fluidplug-plugin
+ (name "FluidPianos")
+ (path "fluidr3-splitted/fluidr3gm_piano.sf2.tar.7z")
+ (hash "06a817xvx7qj8plr1vhpanbdr97cbmzky0pp6xhff916s5k0jg2r")))
+
+(define fluidpipes
+ (fluidplug-plugin
+ (name "FluidPipes")
+ (path "fluidr3-splitted/fluidr3gm_pipe.sf2.tar.7z")
+ (hash "09wzvsabcif27687g71g4m75zz08zpwpm2dzwh8a7xsfi5qdynf2")))
+
+(define fluidreeds
+ (fluidplug-plugin
+ (name "FluidReeds")
+ (path "fluidr3-splitted/fluidr3gm_reed.sf2.tar.7z")
+ (hash "1yb0whi67wz7ag6hcfdns69m1ic3fq6firvbb893ilnx8h17yjak")))
+
+(define fluidsoundfx
+ (fluidplug-plugin
+ (name "FluidSoundFX")
+ (path "fluidr3-splitted/fluidr3gm_soundeffects.sf2.tar.7z")
+ (hash "0sg8gca9735gy0pna63vgsfnabk54dl30n1lnhcf976n7y0npzfx")))
+
+(define fluidstrings
+ (fluidplug-plugin
+ (name "FluidStrings")
+ (path "fluidr3-splitted/fluidr3gm_strings.sf2.tar.7z")
+ (hash "1nnxr62i3p3hhdpwlly62c4cvf7f3dzq818fmlnlxp25215h17bs")))
+
+(define fluidsynthfx
+ (fluidplug-plugin
+ (name "FluidSynthFX")
+ (path "fluidr3-splitted/fluidr3gm_syntheffects.sf2.tar.7z")
+ (hash "0rlq58v9m6wjk45kxmza54y8fkj1b8y1zg00r80nwyqz6rylgjh4")))
+
+(define fluidsynthleads
+ (fluidplug-plugin
+ (name "FluidSynthLeads")
+ (path "fluidr3-splitted/fluidr3gm_synthlead.sf2.tar.7z")
+ (hash "0axi5dyqf8zh1gn82qq0jpzr0cgbsjn4xm0yrlqld4k6h9ggj475")))
+
+(define fluidsynthpads
+ (fluidplug-plugin
+ (name "FluidSynthPads")
+ (path "fluidr3-splitted/fluidr3gm_synthpad.sf2.tar.7z")
+ (hash "1q4pd6ymb08yc6rz68wlidjp5kp7pygc2aw45djw9wr8id6pnadi")))
+
+(define fluidplug-plugins
+ (list airfont320
+ avl-drumkits-perc
+ black-pearl-4a
+ black-pearl-4b
+ black-pearl-5
+ red-zeppelin-4
+ red-zeppelin-5
+ fluidgm
+ fluidbass
+ fluidbrass
+ fluidchromperc
+ fluiddrums
+ fluidensemble
+ fluidethnic
+ fluidguitars
+ fluidorgans
+ fluidpercussion
+ fluidpianos
+ fluidpipes
+ fluidreeds
+ fluidsoundfx
+ fluidstrings
+ fluidsynthfx
+ fluidsynthleads
+ fluidsynthpads))
+
+(define fluidplug-lv2
+ (let ((version "0.0.5")
+ (revision "0")
+ ;; Latest commit from the default brach.
+ (commit "1cf494cb3a5b1f7f2a95f872768a1eef141c3e0a"))
+ (package
+ (name "fluidplug-lv2")
+ (version (git-version version revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/falkTX/FluidPlug")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0rqy4xzswkvmqa4mwyy5nz6r8w4bxjfg2rafbid4lb0izjnhma8q"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f ;there are no tests.
+ #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "DESTDIR=" #$output)
+ "PREFIX=")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'conditionally-enable-amd64-optimizations
+ (lambda _
+ (let ((system #$(or (%current-target-system)
+ (%current-system))))
+ (unless (string-prefix? "x86_64" system)
+ (substitute* "Makefile.mk"
+ (("-msse -msse2 -mfpmath=sse") ""))))))
+ (add-after 'conditionally-enable-amd64-optimizations
+ 'disable-plugin-download
+ (lambda _
+ ;; SoundFonts can't be downloaded at build time
+ ;; in Guix, so it is disabled.
+ (substitute* "Makefile"
+ (("wget") "# wget"))))
+ (add-after 'disable-plugin-download 'unpack-plugins
+ (lambda _
+ (use-modules (srfi srfi-1))
+ (for-each
+ (lambda (p)
+ (define source (first p))
+ (define target (second p))
+ (symlink source target))
+ '(#$@(map
+ (lambda (p)
+ (list (fluidplug-plugin->origin p)
+ (fluidplug-plugin->local-path p)))
+ fluidplug-plugins)))))
+ (delete 'configure))))
+ (native-inputs
+ (list gnu-make p7zip pkg-config))
+ (inputs (list fluidsynth lv2))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "LV2_PATH")
+ (files '("lib/lv2")))))
+ (synopsis
+ "SoundFonts as LV2 plugins via FluidSynth")
+ (description
+ "@code{FluidPlug} provides SoundFonts as LV2 plugins via FluidSynth.")
+ (home-page "https://github.com/falkTX/FluidPlug")
+ (license
+ (delete-duplicates
+ (map fluidplug-plugin-license fluidplug-plugins))))))
+
+(define (fluidplug-plugin->package record)
+ (package
+ (inherit fluidplug-lv2)
+ (name (fluidplug-plugin->package-name record))
+ (arguments
+ (substitute-keyword-arguments (package-arguments fluidplug-lv2)
+ ((#:make-flags make-flags)
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "DESTDIR=" #$output)
+ "PREFIX="))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (replace 'unpack-plugins
+ (lambda _
+ (symlink #$(fluidplug-plugin->origin record)
+ #$(fluidplug-plugin->local-path record))))
+ (replace 'build
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke `("make" ,@make-flags
+ #$(fluidplug-plugin-name record)))))
+ (replace 'install
+ (lambda _
+ (let* ((plugin-directory
+ (string-append #$(fluidplug-plugin-name record)
+ ".lv2"))
+ (lib (string-append #$output "/lib/lv2"))
+ (share/doc (string-append #$output "/share/doc"))
+ (plugin-lib (string-append lib "/" plugin-directory)))
+
+ ;; Install plugin
+ (for-each
+ (lambda (f)
+ (install-file f plugin-lib))
+ (find-files plugin-directory
+ "^.*\\.(sf2|so|ttl)$"))
+
+ ;; Install license
+ (for-each
+ (lambda (f)
+ (install-file f share/doc))
+ (find-files plugin-directory "(README|License\\.pdf)"))
+
+ ;; Install UI
+ (copy-recursively (string-append plugin-directory "/modgui")
+ (string-append plugin-lib "/modgui")))))))))
+ (description
+ (string-append (package-description fluidplug-lv2) "
+
+This package provides the @code{" (fluidplug-plugin-name record)
+ "} LV2 plugin."))
+ (license (fluidplug-plugin-license record))))
+
+(define fluidplug-airfont320-lv2
+ (fluidplug-plugin->package airfont320))
+
+(define fluidplug-avl-drumkits-perc-lv2
+ (fluidplug-plugin->package avl-drumkits-perc))
+
+(define fluidplug-black-pearl-4a-lv2
+ (fluidplug-plugin->package black-pearl-4a))
+
+(define fluidplug-black-pearl-4b-lv2
+ (fluidplug-plugin->package black-pearl-4b))
+
+(define fluidplug-black-pearl-5-lv2
+ (fluidplug-plugin->package black-pearl-5))
+
+(define fluidplug-red-zeppelin-4-lv2
+ (fluidplug-plugin->package red-zeppelin-4))
+
+(define fluidplug-red-zeppelin-5-lv2
+ (fluidplug-plugin->package red-zeppelin-5))
+
+(define fluidplug-fluidgm-lv2
+ (fluidplug-plugin->package fluidgm))
+
+(define fluidplug-fluidbass-lv2
+ (fluidplug-plugin->package fluidbass))
+
+(define fluidplug-fluidbrass-lv2
+ (fluidplug-plugin->package fluidbrass))
+
+(define fluidplug-fluidchromperc-lv2
+ (fluidplug-plugin->package fluidchromperc))
+
+(define fluidplug-fluiddrums-lv2
+ (fluidplug-plugin->package fluiddrums))
+
+(define fluidplug-fluidensemble-lv2
+ (fluidplug-plugin->package fluidensemble))
+
+(define fluidplug-fluidethnic-lv2
+ (fluidplug-plugin->package fluidethnic))
+
+(define fluidplug-fluidguitars-lv2
+ (fluidplug-plugin->package fluidguitars))
+
+(define fluidplug-fluidorgans-lv2
+ (fluidplug-plugin->package fluidorgans))
+
+(define fluidplug-fluidpercussion-lv2
+ (fluidplug-plugin->package fluidpercussion))
+
+(define fluidplug-fluidpianos-lv2
+ (fluidplug-plugin->package fluidpianos))
+
+(define fluidplug-fluidpipes-lv2
+ (fluidplug-plugin->package fluidpipes))
+
+(define fluidplug-fluidreeds-lv2
+ (fluidplug-plugin->package fluidreeds))
+
+(define fluidplug-fluidsoundfx-lv2
+ (fluidplug-plugin->package fluidsoundfx))
+
+(define fluidplug-fluidstrings-lv2
+ (fluidplug-plugin->package fluidstrings))
+
+(define fluidplug-fluidsynthfx-lv2
+ (fluidplug-plugin->package fluidsynthfx))
+
+(define fluidplug-fluidsynthleads-lv2
+ (fluidplug-plugin->package fluidsynthleads))
+
+(define fluidplug-fluidsynthpads-lv2
+ (fluidplug-plugin->package fluidsynthpads))
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 53707f751c..f081229d6a 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -256,16 +256,15 @@ mediums.")
(define-public font-lilex
(package
(name "font-lilex")
- (version "2.600")
+ (version "2.601")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/mishamyrt/Lilex/releases/download/"
- version
- "/Lilex.zip"))
+ version "/Lilex.zip"))
(sha256
(base32
- "0k0zh5d1nlknkjig16bxfx5g071h1cn3s7h63bkpm2cjjvgydk0v"))))
+ "0n4fwnbrx1fy1140hw0nn7vn3fnpas10jhzv5jmif4sqvha1ln5a"))))
(build-system font-build-system)
(home-page "https://github.com/mishamyrt/Lilex")
(synopsis "IBM Plex typeface with extended character sets and ligatures")
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 9b0dfa9479..294a2f2c38 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -1536,22 +1536,7 @@ translated keywords and acts.")
(list freetype))
(arguments
(if (system-hurd?)
- (list
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- ;; cmake-build-system ignores #:make-flags for make check
- (lambda* (#:key test-target tests? parallel-tests?
- #:allow-other-keys)
- (if tests?
- (let ((jobs (if parallel-tests?
- (number->string (parallel-job-count))
- "1")))
- (invoke "make"
- (string-append
- "ARGS=-j " jobs " --exclude-regex ^awamicmp3$")
- test-target))
- (format #t "test suite not run~%"))))))
+ (list #:test-exclude "awamicmp3")
'()))
(synopsis "Reimplementation of the SIL Graphite text processing engine")
(description
@@ -1731,69 +1716,54 @@ definitions.")
python
zlib))
(arguments
- (list
- #:configure-flags #~`(;; TODO: Provide GTK+ for the Wayland-friendly GDK
- ;; backend, instead of the legacy X11 backend.
- ;; Currently it introduces a circular dependency.
- "-DENABLE_X11=ON")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'do-not-override-RPATH
- (lambda _
- ;; Do not attempt to set a default RPATH, as our ld-wrapper
- ;; already does the right thing.
- (substitute* "CMakeLists.txt"
- (("^set_default_rpath\\(\\)")
- ""))))
- (add-after 'unpack 'do-not-use-msgfmt--check
- (lambda _
- ;; msgfmt --check from gettext-0.23 fails on fr.po:
- ;; 'msgstr' is not a valid C format string
- (substitute* "po/CMakeLists.txt"
- ((" --check") ""))))
- #$@(if (target-hurd?)
- #~((add-after 'unpack 'apply-hurd-patch
- (lambda _
- (let ((patch-file
- #$(local-file
- (search-patch "fontforge-hurd.patch"))))
- (invoke "patch" "--force" "-p1" "-i" patch-file)))))
- #~())
- #$@(if (system-hurd?)
- #~((replace 'check
- ;; cmake-build-system ignores #:make-flags for make check
- (lambda* (#:key test-target tests? parallel-tests?
- #:allow-other-keys)
- (let ((skip '("test0001_py" "test0001_pyhook")))
- (if tests?
- (let ((jobs
- (if parallel-tests?
- (number->string (parallel-job-count))
- "1")))
- (invoke "make"
- (string-append "ARGS=-j " jobs
- " --exclude-regex ^"
- (string-join skip "\\|")
- "$")
- test-target))
- (format #t "test suite not run~%"))))))
- #~())
- (add-after 'install 'set-library-path
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (potrace (dirname
- (search-input-file inputs "bin/potrace"))))
- (wrap-program (string-append out "/bin/fontforge")
- ;; Fontforge dynamically opens libraries.
- `("LD_LIBRARY_PATH" ":" prefix
- ,(map (lambda (input)
- (string-append (assoc-ref inputs input)
- "/lib"))
- '("libtiff" "libjpeg-turbo" "libpng" "libungif"
- "libxml2" "zlib" "libspiro" "freetype"
- "pango" "cairo" "fontconfig-minimal")))
- ;; Checks for potrace program at runtime
- `("PATH" ":" prefix (,potrace)))))))))
+ (append
+ (if (system-hurd?)
+ (list #:test-exclude "test0001_py|test0001_pyhook")
+ '())
+ (list
+ #:configure-flags #~`(;; TODO: Provide GTK+ for the Wayland-friendly GDK
+ ;; backend, instead of the legacy X11 backend.
+ ;; Currently it introduces a circular dependency.
+ "-DENABLE_X11=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'do-not-override-RPATH
+ (lambda _
+ ;; Do not attempt to set a default RPATH, as our ld-wrapper
+ ;; already does the right thing.
+ (substitute* "CMakeLists.txt"
+ (("^set_default_rpath\\(\\)")
+ ""))))
+ (add-after 'unpack 'do-not-use-msgfmt--check
+ (lambda _
+ ;; msgfmt --check from gettext-0.23 fails on fr.po:
+ ;; 'msgstr' is not a valid C format string
+ (substitute* "po/CMakeLists.txt"
+ ((" --check") ""))))
+ #$@(if (target-hurd?)
+ #~((add-after 'unpack 'apply-hurd-patch
+ (lambda _
+ (let ((patch-file
+ #$(local-file
+ (search-patch "fontforge-hurd.patch"))))
+ (invoke "patch" "--force" "-p1" "-i" patch-file)))))
+ #~())
+ (add-after 'install 'set-library-path
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (potrace (dirname
+ (search-input-file inputs "bin/potrace"))))
+ (wrap-program (string-append out "/bin/fontforge")
+ ;; Fontforge dynamically opens libraries.
+ `("LD_LIBRARY_PATH" ":" prefix
+ ,(map (lambda (input)
+ (string-append (assoc-ref inputs input)
+ "/lib"))
+ '("libtiff" "libjpeg-turbo" "libpng" "libungif"
+ "libxml2" "zlib" "libspiro" "freetype"
+ "pango" "cairo" "fontconfig-minimal")))
+ ;; Checks for potrace program at runtime
+ `("PATH" ":" prefix (,potrace))))))))))
(synopsis "Outline font editor")
(description
"FontForge allows you to create and modify postscript, truetype and
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 805983f6c7..7451082232 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -715,7 +715,14 @@ automated testing of HDL code.")
(base32 "1v5fg3h9ffdzq9f6zplvr9all00ssc1gpdvbg129xahkrbl53kvw"))))
(native-inputs (list perl))
(build-system cmake-build-system)
- (arguments '(#:test-target "check"))
+ (arguments
+ (list
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check (assoc-ref gnu:%standard-phases 'check)))))
(home-page "https://accellera.org/community/systemc")
(synopsis "Library for event-driven simulation")
(description
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 7f50cb0acd..55ece1d96f 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -3678,7 +3678,7 @@ supporting behavior like @samp{ssh -X}.")
(base32
"05rxchwzhnkm91kcr30mavizkp25wgjlhb6lcraa456pw7vgb04q"))))
(build-system meson-build-system)
- (native-inputs (list cmake pkg-config))
+ (native-inputs (list cmake-minimal pkg-config))
(inputs (list cairo
dbus
egl-wayland
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 61520575a8..4d60ff60d1 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -32,10 +32,11 @@
;;; Copyright © 2023, 2024 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022-2023, 2025 Adam Faiz <adam.faiz@disroot.org>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
-;;; Copyright © 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2024-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 宋文武 <iyzsong@envs.net>
;;; Copyright © 2025 Arnaud Lechevallier <arnaud.lechevallier@free.fr>
+;;; Copyright © 2025 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -81,6 +82,7 @@
#:use-module (gnu packages build-tools)
#:use-module (gnu packages c)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages cpp)
#:use-module (gnu packages check)
#:use-module (gnu packages curl)
#:use-module (gnu packages documentation)
@@ -756,7 +758,7 @@ support.")
(define-public slade
(package
(name "slade")
- (version "3.2.5a")
+ (version "3.2.7")
(source
(origin
(method git-fetch)
@@ -764,7 +766,7 @@ support.")
(url "https://github.com/sirjuddington/SLADE")
(commit version)))
(sha256
- (base32 "1pdrw5ysyh9s907gj6bwf16sf9nm89dlnwlpn0y8x49662kx41v3"))
+ (base32 "0yxy9dpgb5bgq6cc7b1k7f1bvs72mhifi9xpjgysznnfxkm78bps"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -1071,44 +1073,59 @@ It is capable of creating games for SCUMM version 6 and partially version 7.")
(define-public sfml
(package
(name "sfml")
- (version "2.5.1")
- (source (origin
- (method git-fetch)
- ;; Do not fetch the archives from
- ;; http://mirror0.sfml-dev.org/files/ because files there seem
- ;; to be changed in place.
- (uri (git-reference
- (url "https://github.com/SFML/SFML")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0abr8ri2ssfy9ylpgjrr43m6rhrjy03wbj9bn509zqymifvq5pay"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Ensure system libraries are used.
- (delete-file-recursively "extlibs")
- #t))))
+ (version "3.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ ;; Do not fetch the archives from
+ ;; http://mirror0.sfml-dev.org/files/ because files there seem
+ ;; to be changed in place.
+ (uri (git-reference
+ (url "https://github.com/SFML/SFML")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "12f1d45995qf5sazjmmfdydllcd6alhqs1s4xwv3jiq1fw66hcy9"))
+ (modules '((guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-26)))
+ (snippet
+ '(begin
+ ;; XXX: 'delete-all-but' is copied from the turbovnc package.
+ (define (delete-all-but directory . preserve)
+ (with-directory-excursion directory
+ (let* ((pred (negate (cut member <> (cons* "." ".." preserve))))
+ (items (scandir "." pred)))
+ (for-each (cut delete-file-recursively <>) items))))
+ (delete-all-but "extlibs/headers"
+ "glad"))))) ;pre-generated headers
(build-system cmake-build-system)
(arguments
- '(#:configure-flags
- (list "-DSFML_INSTALL_PKGCONFIG_FILES=TRUE"
- "-DSFML_OS_PKGCONFIG_DIR=lib/pkgconfig")
- #:tests? #f)) ; no tests
+ (list #:tests? #f ;attempts to fetch catch2 from the internet
+ #:configure-flags
+ #~(list "-DBUILD_SHARED_LIBS=ON"
+ (string-append "-DCMAKE_CXX_FLAGS=-I"
+ (search-input-directory %build-inputs
+ "include/vulkan")))))
(native-inputs
- (list pkg-config))
+ (list miniaudio ;header-only library
+ minimp3 ;header-only library
+ pkg-config))
(inputs
- `(("mesa" ,mesa)
- ("glew" ,glew)
- ("libx11" ,libx11)
- ("xcb-util-image" ,xcb-util-image)
- ("libxrandr" ,libxrandr)
- ("eudev" ,eudev)
- ("libjpeg" ,libjpeg-turbo)
- ("libsndfile" ,libsndfile)
- ("stb-image" ,stb-image)
- ("stb-image-write" ,stb-image-write)))
+ (list eudev
+ glew
+ libjpeg-turbo
+ libsndfile
+ libx11
+ libxcursor
+ libxi
+ libxrandr
+ mesa
+ stb-image
+ stb-image-write
+ vulkan-headers
+ xcb-util-image))
(propagated-inputs
;; In Requires.private of pkg-config files.
(list flac freetype libvorbis openal))
@@ -1120,10 +1137,29 @@ to ease the development of games and multimedia applications. It is composed
of five modules: system, window, graphics, audio and network.")
(license license:zlib)))
+(define-public sfml-2
+ (package
+ (inherit sfml)
+ (name "sfml")
+ (version "2.6.2")
+ (source (origin
+ (inherit (package-source sfml))
+ (method git-fetch)
+ ;; Do not fetch the archives from
+ ;; http://mirror0.sfml-dev.org/files/ because files there seem
+ ;; to be changed in place.
+ (uri (git-reference
+ (url "https://github.com/SFML/SFML")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "04qjfp23db0ga4lckil9jqigmjr3253p190r568kpaksrrf5bhcv"))))))
+
(define-public csfml
(package
(name "csfml")
- (version "2.5.1")
+ (version "2.6.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1132,13 +1168,13 @@ of five modules: system, window, graphics, audio and network.")
(file-name (git-file-name name version))
(sha256
(base32
- "1wj1p798myyavld2xdhvvflb5h4nf1vgxxzs6nh5qad44vj9b3kb"))))
+ "19xxlan0yy9f92bmzkzqg3hjc18g6ds4mhg0rrs62qg9434p8aqh"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags #~(list "-DCSFML_BUILD_DOC=TRUE")
#:tests? #f)) ;no tests
(native-inputs (list doxygen))
- (inputs (list sfml))
+ (inputs (list sfml-2))
(synopsis "C bindings for the SFML multimedia library")
(description
"CSFML is the official C binding to the SFML libraries. SFML provides a
@@ -1628,6 +1664,72 @@ While it aims to be used as a drop-in replacement, it appears to be
developed mainly for Ren'py.")
(license (list license:lgpl2.1 license:zlib)))))
+(define-public python-pygame-ce
+ (package
+ (name "python-pygame-ce")
+ (version "2.5.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pygame_ce" version))
+ (sha256
+ (base32 "0sxfchimdg606z65qychgvm66mq0aybs2isxsqb5zqy64g19gwm7"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-k" (string-join
+ ;; Ignore interactive tests first.
+ (list "not DisplayUpdateInteractiveTest"
+ "DisplayInteractiveTest"
+ "FullScreenToggleTestsInteractive"
+ "MessageBoxInteractiveTest"
+ "VisualTestsInteractive"
+ "TouchInteractiveTest"
+ ;; Pytest error reading from stdin
+ "test__get_count_interactive"
+ "test_get_count_interactive"
+ "test_set_source_location"
+ ;; Will not convert image with alpha channel to RGB
+ "testSavePNG24"
+ "testSavePNG8"
+ "testSavePaletteAsPNG8"
+ ;; Content could not be saved in clipboard
+ "test_get__owned_empty_type"
+ "test_init__reinit"
+ "test_put"
+ "test_put__bmp_image"
+ "test_put__text"
+ "test_issue_223"
+ ;; AssertionError
+ "test_palette_colorkey"
+ "test_palette_colorkey_fill"
+ "test_palette_colorkey_set_px"
+ "test_create_aliases"
+ ;; Possibly flaky tests
+ "test_multiple_timers"
+ "test_timer_common_reference")
+ " and not "))
+ #:phases #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ (setenv "HOME" "/tmp")
+ (setenv "SDL_VIDEODRIVER" "dummy")
+ (setenv "SDL_AUDIODRIVER" "disk"))))))
+ (native-inputs (list meson-python
+ pkg-config
+ python-cython-3
+ python-numpy
+ python-pytest
+ python-setuptools))
+ (inputs (list freetype portmidi sdl2 sdl2-image sdl2-mixer sdl2-ttf))
+ (home-page "https://pyga.me/")
+ (synopsis "Python Game Development")
+ (description "Pygame-CE is a fork of the upstream pygame project by its
+former core developers. It aims to offer more frequent releases, continuous
+bugfixes and enhancements, and a new governance model.")
+ (license license:lgpl2.1+)))
+
(define-public python-renpy
(package
(name "python-renpy")
@@ -3142,7 +3244,6 @@ is designed to be used in interactive 3D graphics applications.")
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DBUILD_DOCUMENTATION=ON"
- "-DBUILD_TESTING=ON"
"-DENABLE_DOUBLE_PRECISION=ON")))
(native-inputs
(list python-sphinx))
@@ -3255,9 +3356,19 @@ rigid body physics library written in C.")
"include <doctest/doctest.h>"))))))
(build-system cmake-build-system)
(arguments
- `(#:test-target "unit_test"
- #:configure-flags '("-DBUILD_SHARED_LIBS=ON"
- "-DBOX2D_BUILD_TESTBED=OFF")))
+ (list #:configure-flags #~'("-DBUILD_SHARED_LIBS=ON"
+ "-DBOX2D_BUILD_TESTBED=OFF")
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys #:rest args)
+ (when tests?
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:tests? tests? #:test-target "unit_test" args)
+ (invoke "bin/unit_test")))))))
(native-inputs
(list doctest)) ;for tests
(inputs
@@ -3288,11 +3399,13 @@ physics engine is just a system for procedural animation.")
(arguments
(substitute-keyword-arguments
(package-arguments box2d)
- ((#:test-target _) "") ; no check
((#:configure-flags original-flags)
- `(cons* "-DBOX2D_UNIT_TESTS=OFF" ; enkiTS need for all test apps
- "-DBOX2D_SAMPLES=OFF"
- (delete "-DBOX2D_BUILD_TESTBED=OFF" ,original-flags)))))))
+ #~(cons* "-DBOX2D_UNIT_TESTS=OFF" ; enkiTS need for all test apps
+ "-DBOX2D_SAMPLES=OFF"
+ (delete "-DBOX2D_BUILD_TESTBED=OFF" #$original-flags)))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (delete 'check))))))) ; no check
(define-public libtcod
(package
@@ -3647,7 +3760,8 @@ progresses the level, or you may regenerate tiles as the world changes.")
#:configure-flags
#~(list "-DBUILD_SHARED_LIBS=ON"
"-DUSE_EXTERNAL_GLFW=ON"
- "-DCMAKE_C_FLAGS=-lpulse")
+ (string-append "-DCMAKE_C_FLAGS=-lpulse "
+ "-Wno-error=incompatible-pointer-types"))
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'configure-miniaudio
@@ -3737,6 +3851,8 @@ progresses the level, or you may regenerate tiles as the world changes.")
#~'("-DBUILD_STATIC=ON" ;don't build runtimes as shared libraries
"-DPREFER_SYSTEM_LIBRARIES=ON"
"-DCMAKE_EXE_LINKER_FLAGS=-lpulse" ;for miniaudio
+ "-DCMAKE_C_FLAGS=-Wno-error=incompatible-pointer-types"
+ ;for miniaudio
;; TODO: moon, python, wren
"-DBUILD_WITH_FENNEL=ON"
"-DBUILD_WITH_JANET=ON"
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 8a93041f1d..12d4efff4a 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -94,6 +94,7 @@
;;; Copyright © 2025 Adrien 'neox' Bourmault <neox@gnu.org>
;;; Copyright © 2025 Ada Stevenson <adanskana@gmail.com>
;;; Copyright © 2025 Gabriel Santos <gabrielsantosdesouza@disroot.org>
+;;; Copyright © 2025 Aiden Isik <aidenisik+git@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1425,7 +1426,7 @@ more. This package does @emph{not} provide the game assets.")
;; us today is a bunch of fixes that other distros shipped as patches.
(package
(name "cowsay")
- (version "3.8.3")
+ (version "3.8.4")
(source
(origin
(method git-fetch)
@@ -1434,7 +1435,7 @@ more. This package does @emph{not} provide the game assets.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0xdrpqj0lf3x1aib4s1bqfq4p7dxxlw1560pp1kw6pk3mzyvxih5"))))
+ (base32 "0as4axm1v37d2bm86sksi6wrd0yc4jm2lyfdhr5k179b1mvnfx4v"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags
@@ -1553,6 +1554,9 @@ practise.")
(arguments
(list
#:tests? #f ;no tests
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
@@ -1562,6 +1566,8 @@ practise.")
#$output))
(invoke "qmake" "DoomRunner.pro" "-spec" "linux-g++"
"\"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 "Install/XDG"
@@ -3211,6 +3217,85 @@ and defeat them with your bubbles!")
;; GPL2+ is for code, CC0 is for art.
(license (list license:gpl2+ license:cc0))))
+(define-public serious-sam-classic
+ (package
+ (name "serious-sam-classic")
+ (version "1.10.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tx00100xt/SeriousSamClassic")
+ (commit version)))
+ (sha256
+ (base32 "1s1mbj2qpaxdrx0pfhdyk3v1vh7f2dp33w2i5ifpgphkchdx61jg"))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (patches (search-patches "serious-sam-classic-engine-patch-paths.patch"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:tests? #f ; no upstream tests
+ #:configure-flags
+ #~(list (string-append "-DCMAKE_INSTALL_PREFIX:PATH="
+ #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-cmake
+ (lambda _
+ (substitute* (list "CMakeLists.txt"
+ "SamTFE/Sources/CMakeLists.txt"
+ "SamTSE/Sources/CMakeLists.txt")
+ (("\"Install to systems directories\" Off")
+ "\"Install to systems directories\" On")
+ (("march=native") "mtune=generic")
+ (("CMAKE_SKIP_RPATH ON") "CMAKE_SKIP_RPATH OFF")
+ (("/usr") #$output)
+ (("lib64") "lib"))))
+ (add-after 'fix-cmake 'fix-paths
+ (lambda _
+ (substitute* (list "SamTFE/Sources/Engine/Engine.cpp"
+ "SamTSE/Sources/Engine/Engine.cpp")
+ (("@OUTPUT_DIR@") #$output)))))))
+ (inputs (list sdl2 libvorbis))
+ (native-inputs (list flex bison nasm imagemagick))
+ (home-page "https://github.com/tx00100xt/SeriousSamClassic")
+ (synopsis "SeriousSam engine and Serious Sam: TFE and TSE")
+ (description
+ "This is an open-source port of the Serious Engine from
+Serious Sam: The First Encounter and Serious Sam: The Second Encounter.
+To run, you must put your official game data, @code{Levels} and @code{Help} in
+@code{~/.local/share/Serious-Engine/{serioussam,serioussamse}/gamedata/}.}")
+ (license license:gpl2)))
+
+(define-public serious-sam-classic-vk
+ (package
+ (inherit serious-sam-classic)
+ (name "serious-sam-classic-vk")
+ (version "1.10.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tx00100xt/SeriousSamClassic-VK")
+ (commit version)))
+ (sha256
+ (base32 "1av3ll3pfdsadm10dz3srxfw9ld1xbg8i5xrgv7qynqsd0x8jxby"))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (patches (search-patches
+ "serious-sam-classic-engine-patch-paths.patch"))))
+ (inputs (modify-inputs (package-inputs serious-sam-classic)
+ (prepend vulkan-loader vulkan-headers)))
+ (synopsis
+ "SeriousSam engine and Serious Sam: TFE and TSE with Vulkan renderer")
+ (description
+ "This is an open-source port of the Serious Engine from
+Serious Sam: The First Encounter and Serious Sam: The Second Encounter.
+This variant includes a Vulkan renderer.
+To run, you must put your official game data, @code{Levels} and @code{Help} in
+@code{~/.local/share/Serious-Engine/{serioussam,serioussamse}/gamedata/}.}")))
+
(define-public solarus
(package
(name "solarus")
@@ -4443,9 +4528,7 @@ for common mesh file formats, and collision detection.")
(license license:zlib)))
(define-public mars
- ;; The latest release on SourceForge relies on an unreleased version of SFML
- ;; with a different API, so we take the latest version from the official
- ;; repository on Github.
+ ;; No official release since 2013: use the latest commit.
(let ((commit "84664cda094efe6e49d9b1550e4f4f98c33eefa2")
(revision "2"))
(package
@@ -4475,7 +4558,7 @@ for common mesh file formats, and collision detection.")
(assoc-ref outputs "out")
"/share/games/marsshooter/\";"))))))))
(inputs
- (list mesa fribidi taglib sfml))
+ (list mesa fribidi taglib sfml-2))
(home-page "https://mars-game.sourceforge.net/")
(synopsis "2D space shooter")
(description
@@ -4795,7 +4878,7 @@ Protocol).")
(native-inputs
(list pkg-config))
(inputs
- (list glu sfml))
+ (list glu sfml-2))
(synopsis "High-speed arctic racing game based on Tux Racer")
;; Snarfed straight from Debian.
(description "Extreme Tux Racer, or etracer as it is called for short, is
@@ -6528,7 +6611,7 @@ tactics.")
(define-public widelands
(package
(name "widelands")
- (version "1.2")
+ (version "1.2.1")
(source
(origin
(method git-fetch)
@@ -6537,7 +6620,7 @@ tactics.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1m9hn1sh1siggribzsq79k7p0lggdw41ji7zdl6h648cjak9mdsp"))
+ (base32 "1n8daxarwcagcxpzlxrrdy0piir1zinwnfbcsyyg4yd789pixhgw"))
(modules '((guix build utils)))
(snippet
#~(delete-file-recursively "src/third_party/minizip"))))
@@ -6928,7 +7011,7 @@ with the \"Stamp\" tool within Tux Paint.")
"-DUSE_SYSTEM_PHYSFS=ON")
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'patch-squirrel-path
+ (add-after 'unpack 'adapt-squirrel
(lambda* (#:key inputs #:allow-other-keys)
(let ((squirrel (assoc-ref inputs "squirrel")))
(substitute* "CMakeLists.txt"
@@ -6937,7 +7020,10 @@ with the \"Stamp\" tool within Tux Paint.")
(("add_dependencies\\(supertux2_lib squirrel\\)") "")
(("\\$\\{SQUIRREL_PREFIX\\}/include")
(string-append "${SQUIRREL_PREFIX}/include/squirrel"))))
- #t)))))
+ ;; Adapt to changed API between squirrel-3.1 and 3.2.
+ (substitute* "src/scripting/wrapper.cpp"
+ (("sq_getinstanceup\\(vm, 1, &data, nullptr" all)
+ (string-append all ", 0"))))))))
(build-system cmake-build-system)
(inputs (list boost
curl
@@ -7102,6 +7188,9 @@ colors, pictures, and sounds.")
(arguments
(list
#:tests? #f ;no test suite
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
@@ -7117,7 +7206,9 @@ colors, pictures, and sounds.")
((" h264bitstream.*\n") "")
((" app \\\\") " app")
(("app.depends") "INCLUDEPATH +="))
- (invoke "qmake" (string-append "PREFIX=" #$output)))))))
+ (invoke "qmake" (string-append "PREFIX=" #$output))))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'install (assoc-ref gnu:%standard-phases 'install)))))
(native-inputs (list pkg-config qttools-5))
(inputs (list ffmpeg
h264bitstream
@@ -7522,22 +7613,31 @@ screensaver.")))
(native-inputs
(list cppunit pkg-config))
(arguments
- `(#:configure-flags
- (list "-DCMAKE_CXX_FLAGS=-fcommon"
- "-DCMAKE_C_FLAGS=-fcommon"
- (string-append "-DCUSTOM_DATA_INSTALL_PATH="
- (search-input-directory %build-inputs
- "share/megaglest"))
- "-DBUILD_MEGAGLEST_TESTS=ON")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-ini-search-path
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "source/glest_game/global/config.cpp"
- (("/usr/share/megaglest/")
- (string-append (assoc-ref outputs "out")
- "/share/megaglest/"))))))
- #:test-target "megaglest_tests"))
+ (list
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:configure-flags
+ #~(list "-DCMAKE_CXX_FLAGS=-fcommon"
+ "-DCMAKE_C_FLAGS=-fcommon"
+ (string-append "-DCUSTOM_DATA_INSTALL_PATH="
+ (search-input-directory %build-inputs
+ "share/megaglest"))
+ "-DBUILD_MEGAGLEST_TESTS=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-ini-search-path
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "source/glest_game/global/config.cpp"
+ (("/usr/share/megaglest/")
+ (string-append (assoc-ref outputs "out")
+ "/share/megaglest/")))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys #:rest args)
+ (when tests?
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:tests? tests? #:test-target "megaglest_tests" args)
+ (invoke "source/tests/megaglest_tests")))))))
(home-page "https://megaglest.org/")
(synopsis "3D real-time strategy (RTS) game")
(description "MegaGlest is a cross-platform 3D real-time strategy (RTS)
@@ -7763,26 +7863,31 @@ small robot living in the nano world, repair its maker.")
#t))))
(build-system cmake-build-system)
(arguments
- `(#:test-target "run_tests"
+ (list
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-paths
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Embed path to assets.
- (substitute* "src/engine/shared/storage.cpp"
- (("#define DATA_DIR.*")
- (string-append "#define DATA_DIR \""
- (assoc-ref outputs "out")
- "/share/teeworlds/data"
- "\"")))
- #t))
- (add-after 'unpack 'replace-font
- (lambda* (#:key inputs #:allow-other-keys)
- (delete-file "datasrc/fonts/DejaVuSans.ttf")
- (symlink (string-append (assoc-ref inputs "font-dejavu")
- "/share/fonts/truetype/DejaVuSans.ttf")
- "datasrc/fonts/DejaVuSans.ttf")
- #t)))))
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-paths
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Embed path to assets.
+ (substitute* "src/engine/shared/storage.cpp"
+ (("#define DATA_DIR.*")
+ (string-append "#define DATA_DIR \""
+ (assoc-ref outputs "out")
+ "/share/teeworlds/data"
+ "\"")))))
+ (add-after 'unpack 'replace-font
+ (lambda* (#:key inputs #:allow-other-keys)
+ (delete-file "datasrc/fonts/DejaVuSans.ttf")
+ (symlink (string-append (assoc-ref inputs "font-dejavu")
+ "/share/fonts/truetype/DejaVuSans.ttf")
+ "datasrc/fonts/DejaVuSans.ttf")))
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "run_tests" args))))))
(inputs
(list freetype
font-dejavu
@@ -8119,7 +8224,7 @@ fight against their plot and save his fellow rabbits from slavery.")
(define-public 0ad-data
(package
(name "0ad-data")
- (version "0.0.26-alpha")
+ (version "0.27.1")
(source
(origin
(method url-fetch)
@@ -8127,7 +8232,7 @@ fight against their plot and save his fellow rabbits from slavery.")
version "-unix-data.tar.xz"))
(file-name (string-append name "-" version ".tar.xz"))
(sha256
- (base32 "0z9dfw2hn2fyrx70866lv5464fbagdb8dip321wq10pqb22y805j"))))
+ (base32 "16592xq1ncjxc072rd4lzn2bp941fmfj85r0q1gh52qkvxnjszl3"))))
(build-system trivial-build-system)
(native-inputs (list tar unzip xz))
(arguments
@@ -8167,7 +8272,7 @@ fight against their plot and save his fellow rabbits from slavery.")
(define-public 0ad
(package
(name "0ad")
- (version "0.0.26-alpha")
+ (version "0.27.1")
(source
(origin
(method url-fetch)
@@ -8175,7 +8280,7 @@ fight against their plot and save his fellow rabbits from slavery.")
version "-unix-build.tar.xz"))
(file-name (string-append name "-" version ".tar.xz"))
(sha256
- (base32 "0jzfq09ispi7740c01h6yqxqv9y3zx66d217z32pfbiiwgvns71f"))))
+ (base32 "1yvb04bxq1r7cva58xx0rgzdlx6ra1hp6w1p517x4s2rxdg3b9d0"))))
;; A snippet here would cause a build failure because of timestamps
;; reset. See https://bugs.gnu.org/26734.
(inputs
@@ -8185,7 +8290,7 @@ fight against their plot and save his fellow rabbits from slavery.")
fmt
freetype
gloox
- icu4c
+ icu4c-73
libidn
libpng
libsodium
@@ -8193,7 +8298,7 @@ fight against their plot and save his fellow rabbits from slavery.")
libxcursor
libxml2
miniupnpc
- mozjs-78
+ mozjs-115
openal
sdl2
wxwidgets
@@ -8204,7 +8309,8 @@ fight against their plot and save his fellow rabbits from slavery.")
cxxtest
mesa
pkg-config
- python-2))
+ python
+ premake5))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("config=release" "verbose=1" "-C" "build/workspaces/gcc")
@@ -8222,16 +8328,61 @@ fight against their plot and save his fellow rabbits from slavery.")
"\"")))))
(add-after 'unpack 'fix-mozjs-compatibility
;; 0ad only builds fine with a specific version of mozjs
- ;; (version 78.6 for 0ad-0.0.25).
- ;; Here we change the error in case of version mismatch to a warning,
- ;; and add some minor compatibility fixes.
+ ;; (version 115.16.1 for 0ad-0.27.1).
+ ;; Here we change the error in case of version mismatch to a warning.
(lambda _
(substitute* "source/scriptinterface/ScriptTypes.h"
(("#error Your compiler is trying to use")
- "#warning Your compiler is trying to use"))
- (substitute* "source/scriptinterface/ScriptContext.cpp"
- (("JS::PrepareZoneForGC\\(")
- "JS::PrepareZoneForGC(m_cx, "))))
+ "#warning Your compiler is trying to use"))))
+ (add-after 'unpack 'patch-python-shebangs
+ ;; A couple Python scripts point to 'python' rather than 'python3'.
+ ;; They work fine under python3, so let's fix that.
+ (lambda _
+ (substitute* "source/tools/webservices/maint_graphics.py"
+ (("#!/usr/bin/env python")
+ "#!/usr/bin/env python3"))
+ (substitute* "source/tools/webservices/manage.py"
+ (("#!/usr/bin/env python")
+ "#!/usr/bin/env python3"))))
+ (add-after 'unpack 'prepare-builtin-libs
+ ;; Builtin libraries are included in the tarball as other tarballs.
+ ;; They're usually extracted during the build, but then shebangs
+ ;; within the libs don't get patched, so we do it here ourselves.
+ (lambda _
+ (let ((fcollada-version "28209")
+ (nvtt-version "28209"))
+ (with-directory-excursion "libraries/source/fcollada"
+ (invoke "tar" "-xvf"
+ (string-append "fcollada-" fcollada-version ".tar.xz"))
+ (substitute* "build.sh"
+ (("rm -Rf fcollada-[$][{]PV[}]")
+ "")
+ (("\"[$][{]TAR[}]\" xf fcollada-[$][{]PV[}].tar.xz")
+ "")))
+ (with-directory-excursion "libraries/source/nvtt"
+ (invoke "tar" "-xvf"
+ (string-append "nvtt-" nvtt-version ".tar.xz"))
+ (substitute* "build.sh"
+ (("rm -Rf nvtt-[$][{]PV[}]")
+ "")
+ (("\"[$][{]TAR[}]\" xf nvtt-[$][{]PV[}].tar.xz")
+ ""))))))
+ (add-after 'unpack 'fix-gmake2-references
+ ;; The current version of 0AD expects premake action 'gmake2',
+ ;; this was renamed to just 'gmake', so we patch to reflect that.
+ ;; Remove this when updating to the next release (fixed in main).
+ (lambda _
+ (substitute* "build/premake/cxxtest/cxxtest.lua"
+ (("gmake2")
+ "gmake"))
+ (substitute* "build/premake/premake5.lua"
+ (("if _ACTION == \"gmake\" then")
+ "if _ACTION == \"gmakelegacy\" then")
+ (("if _ACTION == \"gmake2\" then")
+ "if _ACTION == \"gmake\" then"))
+ (substitute* "build/workspaces/update-workspaces.sh"
+ (("gmake2")
+ "gmake"))))
(replace 'configure
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(let* ((jobs (number->string (parallel-job-count)))
@@ -8239,15 +8390,25 @@ fight against their plot and save his fellow rabbits from slavery.")
(lib (string-append out "/lib"))
(data (string-append out "/share/0ad")))
(setenv "JOBS" (string-append "-j" jobs))
- (setenv "CC" "gcc")
+ (setenv "CC" ,(cc-for-target))
(with-directory-excursion "build/workspaces"
(apply invoke
`("./update-workspaces.sh"
,(string-append "--libdir=" lib)
,(string-append "--datadir=" data)
;; TODO: "--with-system-nvtt"
+ "--with-system-premake5"
"--with-system-mozjs"
,@(if tests? '() '("--without-tests"))))))))
+ (add-before 'build 'build-builtin-libs
+ (lambda _
+ (let ((jobs (number->string (parallel-job-count))))
+ (setenv "JOBS" (string-append "-j" jobs))
+ (setenv "CC" ,(cc-for-target))
+ (with-directory-excursion "libraries/source/fcollada"
+ (invoke "./build.sh"))
+ (with-directory-excursion "libraries/source/nvtt"
+ (invoke "./build.sh")))))
(delete 'check)
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -8271,6 +8432,7 @@ fight against their plot and save his fellow rabbits from slavery.")
(for-each (lambda (file)
(install-file file lib))
(find-files "system" "\\.so$"))
+ (copy-recursively "../libraries/source/nvtt/lib" lib)
;; binaries
(install-file "system/pyrogenesis" bin)
(with-directory-excursion bin
@@ -9608,7 +9770,7 @@ open-source FPS of its kind.")
(define-public frotz
(package
(name "frotz")
- (version "2.54")
+ (version "2.55")
(source (origin
(method url-fetch)
(uri (list (string-append
@@ -9619,7 +9781,7 @@ open-source FPS of its kind.")
"frotz/frotz-" version ".tar.gz")))
(sha256
(base32
- "1vsfq9ryyb4nvzxpnnn40k423k9pdy8k67i8390qz5h0vmxw0fds"))))
+ "0wfqhxwgjwhgnjh1byjzsfj3mqhy5hialngyb53p5jjbz4pr3mp3"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ; there are no tests
@@ -9707,7 +9869,7 @@ of lore accompanying everything from planets to equipment.")
(define-public frotz-dumb-terminal
(package
(name "frotz-dumb-terminal")
- (version "2.44")
+ (version "2.55")
(source (origin
(method url-fetch)
(uri (list (string-append
@@ -9718,8 +9880,9 @@ of lore accompanying everything from planets to equipment.")
"frotz/frotz-" version ".tar.gz")))
(sha256
(base32
- "1v735xr3blznac8fnwa27s1vhllx4jpz7kw7qdw1bsfj6kq21v3k"))))
+ "0wfqhxwgjwhgnjh1byjzsfj3mqhy5hialngyb53p5jjbz4pr3mp3"))))
(build-system gnu-build-system)
+ (native-inputs (list pkg-config which))
(arguments
`(#:tests? #f ; there are no tests
#:phases
@@ -9727,7 +9890,7 @@ of lore accompanying everything from planets to equipment.")
(delete 'configure)
(replace 'build
(lambda _
- (invoke "make" "dumb")))
+ (invoke "make" (string-append "CC=" ,(cc-for-target)) "dumb")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -10669,7 +10832,9 @@ a fortress beyond the forbidden swamp.")
(list
#:configure-flags
#~(list "-DAudio_TK=OpenAL")
- #:test-target "tests"
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'prepare-gmock
@@ -10700,7 +10865,13 @@ a fortress beyond the forbidden swamp.")
(substitute* "CMakeLists.txt"
(("share/games/openclonk") "share/openclonk")
(("TARGETS openclonk DESTINATION games")
- "TARGETS openclonk DESTINATION bin")))))))
+ "TARGETS openclonk DESTINATION bin"))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys #:rest args)
+ (when tests?
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:tests? tests? #:test-target "tests" args)
+ (invoke "tests/tests")))))))
(native-inputs
(list (package-source googletest)
googletest
@@ -10956,7 +11127,7 @@ current computer, the world, and eventually the universe itself.")
(install-file "MarbleMarcher" bin))
#t)))))
(inputs
- (list eigen mesa sfml))
+ (list eigen mesa sfml-2))
(native-inputs
(list pkg-config))
(home-page "https://codeparade.itch.io/marblemarcher")
@@ -10995,13 +11166,7 @@ levels to unlock.")
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DSYSTEM_EXPAT=ON")
- #:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- ;; Skip tests that require internet access.
- (invoke "ctest" "-E" "(http|dns)")))))))
+ #:test-exclude "(http|dns)"))
(inputs
`(("boost" ,boost)
("curl" ,curl)
@@ -11153,7 +11318,10 @@ attached joysticks and displays which buttons and axis are pressed.")
(base32
"1x5m6xvd1r9dhgzh6hp4vrszczbbxr04v7lyh4wjxxzrj3ahbmcq"))))
(build-system cmake-build-system)
- (arguments (list #:configure-flags #~(list "-DBUILD_TESTS=ON")))
+ (arguments
+ (list #:tests? #f
+ #:configure-flags
+ #~(list "-DBUILD_TESTS=ON")))
(native-inputs (list pkg-config))
(inputs (list gtkmm-3 libsigc++-2))
(home-page "https://github.com/Grumbel/jstest-gtk/")
@@ -11673,12 +11841,17 @@ can be downloaded from @url{https://zero.sjeng.org/best-network}.")
(arguments
(list
#:tests? #f
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda _
(invoke "qmake"
- (string-append "PREFIX=" #$output)))))))
+ (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))
(home-page "https://portnov.github.io/qcheckers/")
(synopsis "Qt-based checkers boardgame")
@@ -11865,35 +12038,36 @@ and chess engines.")
(inputs
(list qtbase-5 qtmultimedia-5 qtspeech-5 qtsvg-5 zlib))
(arguments
- `(#:tests? #f
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "chessx.pro"
- (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease")
- (search-input-file inputs "/bin/lrelease")))))
- (add-after 'fix-paths 'make-qt-deterministic
- (lambda _
- (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
- #t))
- (add-after 'make-qt-deterministic 'disable-versioncheck
- (lambda _
- (substitute* "src/database/settings.cpp"
- (("\"/General/onlineVersionCheck\", true")
- "\"/General/onlineVersionCheck\", false"))
- #t))
- (replace 'configure
- (lambda _
- (invoke "qmake")
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (install-file "release/chessx" (string-append out "/bin"))
- (install-file "unix/chessx.desktop"
- (string-append out "/share/applications")))
- #t)))))
+ (list
+ #:tests? #f
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "chessx.pro"
+ (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease")
+ (search-input-file inputs "/bin/lrelease")))))
+ (add-after 'fix-paths 'make-qt-deterministic
+ (lambda _
+ (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")))
+ (add-after 'make-qt-deterministic 'disable-versioncheck
+ (lambda _
+ (substitute* "src/database/settings.cpp"
+ (("\"/General/onlineVersionCheck\", true")
+ "\"/General/onlineVersionCheck\", false"))))
+ (replace 'configure
+ (lambda _
+ (invoke "qmake")))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (install-file "release/chessx" (string-append out "/bin"))
+ (install-file "unix/chessx.desktop"
+ (string-append out "/share/applications"))))))))
(synopsis "Chess game database")
(description
"ChessX is a chess database. With ChessX you can operate on your
@@ -12267,6 +12441,9 @@ game.") ;thanks to Debian for description
(arguments
(list
#:tests? #f ; No test suite
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
@@ -12289,7 +12466,9 @@ game.") ;thanks to Debian for description
(replace 'configure
(lambda _
(invoke "qmake" "pokerth.pro" "CONFIG+=client"
- (string-append "PREFIX=" #$output)))))))
+ (string-append "PREFIX=" #$output))))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'install (assoc-ref gnu:%standard-phases 'install)))))
(home-page "https://www.pokerth.net")
(synopsis "Texas holdem poker game")
(description
@@ -12739,7 +12918,7 @@ to start over several times to find the most satisfactory ending.")
`(#:tests? #f ; no tests
#:build-type "Release"))
(inputs
- (list sfml))
+ (list sfml-2))
(home-page "https://github.com/sandsmark/Schiffbruch/")
(synopsis "Pixelart survival game")
(description
@@ -13343,7 +13522,6 @@ virtual reality devices.")
(build-system cmake-build-system)
(arguments
(list
- #:cmake cmake-next
#:configure-flags
#~(list "-DUSE_TESTS=ON" "-DOPENGL_BACKEND=OpenGL")))
(native-inputs (list python-3.10 glibc-locales googletest))
diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm
index 14468e6b73..736bd60c04 100644
--- a/gnu/packages/gdb.scm
+++ b/gnu/packages/gdb.scm
@@ -205,7 +205,7 @@ written in C, C++, Ada, Objective-C, Pascal and more.")
gdb-14)
(define-public gdb-multiarch
- (package/inherit gdb-14
+ (package/inherit gdb-16
(name "gdb-multiarch")
(arguments
(substitute-keyword-arguments (package-arguments gdb-14)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index bcd7b60246..35700b2382 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -888,79 +888,6 @@ lets developers use the functionality of Proj in their own software.")
;; src/geodesic.*, src/tests/geodtest.cpp
license:x11))))
-; This is the last version of proj that provides the old proj.4 API.
-(define-public proj-7
- (package (inherit proj)
- (version "7.2.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://download.osgeo.org/proj/proj-"
- version ".tar.gz"))
- (sha256
- (base32
- "050apzdn0isxpsblys1shrl9ccli5vd32kgswlgx1imrbwpg915k"))
- (patches
- (search-patches "proj-7-initialize-memory.patch"))))
- (arguments
- `(#:configure-flags '("-DUSE_EXTERNAL_GTEST=ON")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-version
- (lambda _
- (substitute* "CMakeLists.txt"
- (("MAJOR 7 MINOR 2 PATCH 0") "MAJOR 7 MINOR 2 PATCH 1")))))))))
-
-(define-public proj.4
- (package
- (name "proj.4")
- (version "4.9.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://download.osgeo.org/proj/proj-"
- version ".tar.gz"))
- (sha256
- (base32
- "1xw5f427xk9p2nbsj04j6m5zyjlyd66sbvl2bkg8hd1kx8pm9139"))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-test-paths
- (lambda _
- (substitute* '("nad/test27"
- "nad/test83"
- "nad/testvarious"
- "nad/testdatumfile"
- "nad/testflaky"
- "nad/testIGNF")
- (("/bin/rm") (which "rm")))
- #t))
- ;; Precision problems on i686 and other platforms. See:
- ;; https://web.archive.org/web/20151006134301/http://trac.osgeo.org/proj/ticket/255
- ;; Disable failing test.
- (add-after 'patch-test-paths 'ignore-failing-tests
- (lambda _
- (substitute* '("nad/Makefile.in")
- (("\tPROJ_LIB.*" all) (string-append "#" all)))
- #t)))))
- (inputs
- (list glib))
- (home-page "https://proj.org/")
- (synopsis "Cartographic Projections Library")
- (description
- "Proj.4 is a library for converting coordinates between cartographic
-projections.")
- (license (list license:expat
- ;; src/PJ_patterson.c
- license:asl2.0
- ;; src/geodesic.c/h
- license:x11
- ;; Embedded EPSG database.
- (license:non-copyleft "http://www.epsg.org/TermsOfUse")
- ;; cmake/*
- license:boost1.0))))
-
(define-public python-obspy
(package
(name "python-obspy")
@@ -1519,14 +1446,8 @@ development.")
(arguments
(list
#:configure-flags #~(list "-DUSE_EXTERNAL_GTEST=ON")
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "ctest" "-E"
- ;; This tests needs network .
- "pdal_io_(stac|copc)_reader_test")))))))
+ #:parallel-tests? #f
+ #:test-exclude "pdal_io_(stac|copc)_reader_test"))
(native-inputs (list python googletest))
(inputs (list gdal
h3
@@ -1808,14 +1729,14 @@ Shapely capabilities
(define-public postgis
(package
(name "postgis")
- (version "3.2.1")
+ (version "3.3.8")
(source (origin
(method url-fetch)
(uri (string-append "https://download.osgeo.org/postgis/source/postgis-"
version ".tar.gz"))
(sha256
(base32
- "0gl9d6xy2an82ldb9sixz5blyngjryq8m3509fr38ffawvfniazv"))))
+ "1w1jkb98rf22qz0x4wajp0cjwzcb928247169xk84az3adb0y9vf"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
@@ -2105,7 +2026,7 @@ visualizing and performing calculations with weather data.")
(define-public libosmium
(package
(name "libosmium")
- (version "2.19.0")
+ (version "2.22.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2114,7 +2035,7 @@ visualizing and performing calculations with weather data.")
(file-name (git-file-name name version))
(sha256
(base32
- "0d69xzd29hk846g049y2g668mr8kaf05f6a26s3qn6az062hxfa7"))))
+ "05djv6j3cgl2mqznycgwjbsz39imgbfhxran7l5z09x53qzdv23g"))))
(build-system cmake-build-system)
(propagated-inputs (list boost
bzip2
@@ -2122,7 +2043,7 @@ visualizing and performing calculations with weather data.")
gdal
geos
lz4
- proj-7
+ proj
protozero
zlib))
(native-inputs (list doxygen graphviz-minimal))
@@ -2136,7 +2057,7 @@ OpenStreetMap data.")
(define-public osmium-tool
(package
(name "osmium-tool")
- (version "1.15.0")
+ (version "1.18.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2145,13 +2066,9 @@ OpenStreetMap data.")
(file-name (git-file-name name version))
(sha256
(base32
- "0d90vz316xdl3c416nicgdw7ybw17l2125wgxglbzl7jaqngapy5"))
- (modules '((guix build utils)))
- (snippet
- ;; Remove bundled libraries.
- '(delete-file-recursively "include/rapidjson"))))
+ "13zqgniyl58m9gywfsi2wagrf0gh93d850krmx1ndd6r3jzgj978"))))
(build-system cmake-build-system)
- (inputs (list libosmium rapidjson))
+ (inputs (list libosmium nlohmann-json))
(native-inputs (list pandoc))
(home-page "https://osmcode.org/osmium-tool/")
(synopsis "Osmium command-line tool")
@@ -2375,6 +2292,7 @@ volunteers.")
(sha256
(base32
"02n5vjcyk04w0djidyp21hfbxfpbbara8ifd9nml6158rwqr8lja"))))
+ (arguments (list #:tests? #f))
(build-system cmake-build-system)
(home-page "https://libspatialindex.org")
(synopsis "Spatial indexing library")
@@ -4226,7 +4144,6 @@ and 2D images (photos taken using a 3D imaging system).")
#:configure-flags #~(list
;; Options
"-DOPTION_BUILD_CCVIEWER=NO"
- "-DBUILD_TESTING=ON"
"-DOPTION_USE_SHAPE_LIB=YES"
"-DOPTION_USE_DXF_LIB=YES"
"-DOPTION_USE_GDAL=YES"
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index f05e870335..865e0ab161 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -58,6 +58,7 @@
#:use-module (gnu packages llvm)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rust)
#:use-module (gnu packages tls)
@@ -74,6 +75,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
+ #:use-module (guix build-system pyproject)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix gexp)
@@ -238,7 +240,7 @@ generate a GL/GLES/EGL/GLX/WGL loader tailored for specific requirements.")
(package
(inherit glad-0.1)
(name "glad")
- (version "2.0.4")
+ (version "2.0.8")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -247,8 +249,8 @@ generate a GL/GLES/EGL/GLX/WGL loader tailored for specific requirements.")
(file-name (git-file-name name version))
(sha256
(base32
- "1pam6imhcmcyqrqi6wzzxprb23y8x6zdbvsjavnz26k72i9dbbja"))))
- (build-system python-build-system)
+ "0c9cygiq35aiq6bpdvbwqs0wxc2dvxsh4jnx50466savscxalsk9"))))
+ (build-system pyproject-build-system)
(arguments
(substitute-keyword-arguments (package-arguments glad-0.1)
((#:phases phases '%standard-phases)
@@ -257,7 +259,12 @@ generate a GL/GLES/EGL/GLX/WGL loader tailored for specific requirements.")
(lambda _
(let ((share (string-append #$output "/share/"
#$(package-name this-package))))
- (install-file "cmake/CMakeLists.txt" share))))))))
+ (install-file "cmake/CMakeLists.txt" share))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "xvfb-run" "utility/test.sh"))))))))
+ (native-inputs (list python-setuptools python-wheel xvfb-run))
(propagated-inputs (list python-jinja2))))
(define-public s2tc
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 2526e79a00..1efaa8b8ab 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -1269,18 +1269,11 @@ programming language. It also provides the @command{dbusxx-xml2cpp} and
(snippet '(delete-file-recursively "tools/libcppgenerate"))))
(build-system cmake-build-system)
(arguments
- (list #:configure-flags #~(list "-DBUILD_TESTING=ON"
- "-DENABLE_TOOLS=ON"
+ (list #:configure-flags #~(list "-DENABLE_TOOLS=ON"
"-DENABLE_GLIB_SUPPORT=ON"
"-DTOOLS_BUNDLED_CPPGENERATE=OFF")
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- ;; There is no /etc/machine-id file in the build
- ;; environment.
- (invoke "ctest" "-E" "test-machine-uuid-method")))))))
+ ;; There is no /etc/machine-id file in the build environment.
+ #:test-exclude "test-machine-uuid-method"))
;; These are propagated due to being referenced in headers and pkg-config
;; .pc files.
(propagated-inputs (list glib libsigc++))
@@ -1318,18 +1311,24 @@ Some codes examples can be find at:
(arguments
(list
;; Avoid the integration test, which requires a system bus.
- #:test-target "sdbus-c++-unit-tests"
#:configure-flags #~(list "-DSDBUSCPP_BUILD_CODEGEN=ON"
"-DSDBUSCPP_BUILD_TESTS=ON"
;; Do not install tests.
"-DSDBUSCPP_TESTS_INSTALL_PATH=/tmp"
"-DCMAKE_VERBOSE_MAKEFILE=ON")
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'do-not-install-tests
(lambda _
(substitute* "tests/CMakeLists.txt"
- (("/etc/dbus-1/system.d") "/tmp")))))))
+ (("/etc/dbus-1/system.d") "/tmp"))))
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "sdbus-c++-unit-tests" args))))))
(native-inputs (list googletest-1.17 pkg-config))
(inputs (list expat))
(propagated-inputs (list elogind)) ;required by sdbus-c++.pc
@@ -1608,6 +1607,7 @@ that uses asynchronous and future-based APIs.")
(build-system cmake-build-system)
(arguments
(list
+ #:tests? #f ; fail with GLib-CRITICAL errors
#:configure-flags
#~(list "-DINTERNAL_EXPECTED=OFF")))
(inputs (list boost fmt expected-lite))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 3a02945f11..e2af4d567b 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -11,7 +11,7 @@
;;; Copyright © 2015-2020, 2023, 2024 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2021 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 David Thompson <davet@gnu.org>
-;;; Copyright © 2015-2024 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015-2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
;;; Copyright © 2016, 2017, 2019 Kei Kebreau <kkebreau@posteo.net>
@@ -321,7 +321,9 @@
"brasero-" version ".tar.xz"))
(sha256
(base32
- "05gabybkl7xfinwx97i4scp9hic0dlxj7gh03dyj0hd16fp9wx47"))))
+ "05gabybkl7xfinwx97i4scp9hic0dlxj7gh03dyj0hd16fp9wx47"))
+ (patches
+ (search-patches "brasero-fix-gcc-14-build-failure.patch"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags (list
@@ -5049,6 +5051,23 @@ indicators etc).")
(base32
"17zhkf2pjwrghdgk5nhfvzqakb2xwk2jj19316xjr0s9n3djv3z4"))))
(build-system meson-build-system)
+ (arguments
+ (list
+ ;; Exclude flaky tests (see https://codeberg.org/guix/guix/issues/1377).
+ ;; Meson cannot exclude individual tests so the test suite is added in the
+ ;; phase below.
+ #:test-options #~(list "--no-suite" "connection")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'mark-tests-for-exclusion
+ (lambda _
+ ;; The test names are programmatically generated in the meson
+ ;; build file. The two failing tests are "connection-gnutls" and
+ ;; "connection-gnutls-tls1.2" and share program[0] == "common",
+ ;; so use that as the suite name.
+ (substitute* "tls/tests/meson.build"
+ (("test\\(([^)]*)\\)" _ args)
+ (string-append "test(" args ", suite: program[0])"))))))))
(native-inputs
(list `(,glib "bin") ; for gio-querymodules
pkg-config gettext-minimal))
@@ -5097,7 +5116,7 @@ from the GSettings schemas in gsettings-desktop-schemas.")
(native-inputs
(list gettext-minimal
pkg-config
- cmake
+ cmake-minimal
`(,glib "bin")
desktop-file-utils
itstool
@@ -8408,6 +8427,7 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
(build-system cmake-build-system)
(arguments
(list
+ #:parallel-tests? #f
#:configure-flags
#~(let* ((lib (string-append #$output "/lib"))
(runpaths (map (lambda (s)
@@ -8912,64 +8932,78 @@ Cisco's AnyConnect SSL VPN.")
(user-accounts . ("nm-openconnect"))))))
(define-public network-manager-fortisslvpn
- (package
- (name "network-manager-fortisslvpn")
- (version "1.4.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://gnome/sources/NetworkManager-fortisslvpn/"
- (version-major+minor version)
- "/NetworkManager-fortisslvpn-" version ".tar.xz"))
- (sha256
- (base32
- "1ynsqmv8xz1cffnai4hfh0ab0dmlazpv72krhlsv45mm95iy4mdh"))
- (modules '((guix build utils)))
- (snippet '(substitute* "Makefile.in"
- ;; do not try to make state directory
- (("\\$\\(DESTDIR\\)\\$\\(fortisslvpn_statedir\\)")
- "")
- ;; use state directory of the NetworkManager service
- (("\\$\\(fortisslvpn_statedir\\)")
- "/var/lib/NetworkManager")))))
- (build-system gnu-build-system)
- (arguments
- '(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var"
- "--with-gtk4=yes")
- #:phases (modify-phases %standard-phases
- (add-after 'configure 'patch-path
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((ovpn (search-input-file inputs
- "/bin/openfortivpn"))
- (pretty-ovpn (string-append "\"" ovpn "\"")))
- (for-each (lambda (file)
- (substitute* file
- (("\"/usr/local/bin/openfortivpn\"")
- pretty-ovpn)
- (("\"/usr/bin/openfortivpn\"")
- pretty-ovpn)))
- '("src/nm-fortisslvpn-service.c"
- "properties/nm-fortisslvpn-editor.c"))))))))
- (native-inputs (list intltool
- `(,glib "bin") pkg-config))
- (inputs (list gtk+
- gtk
- kmod
- libnma
- libsecret
- network-manager
- openfortivpn
-
- ;; ppp < 2.5.0 is currently required:
- ;; https://gitlab.gnome.org/GNOME/NetworkManager-fortisslvpn/-/commit/084ef529c5fb816927ca54866f66b340265aa9f6
- ppp-2.4.9))
- (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
- (synopsis "Fortinet SSLVPN plug-in for NetworkManager")
- (description
- "This extension of NetworkManager allows it to take care of connections
+ ;; Use the latest commit from the master branch to gain ppp >= 2.5.0
+ ;; support.
+ (let ((commit "0296450f9bb8b3f34e0032103a9c5ba359553320")
+ (revision "0"))
+ (package
+ (name "network-manager-fortisslvpn")
+ (version (git-version "1.4.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://gitlab.gnome.org/GNOME/NetworkManager-fortisslvpn")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0qgzm60y7kjvsda12m0sckd2v3x4nxf4g9k829sy2sqrmhhai7ws"))
+ (modules '((guix build utils)))
+ (snippet '(substitute* "Makefile.am"
+ ;; Use state directory of the NetworkManager service.
+ (("^(fortisslvpn_statedir = ).*" _ head)
+ (string-append head "/var/lib/NetworkManager"))
+ ;; Do not try to make state directory.
+ (("\\$\\(mkinstalldirs).*fortisslvpn_statedir)")
+ "true")))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:configure-flags
+ #~(list "--enable-absolute-paths"
+ "--localstatedir=/var"
+ "--with-gtk4=yes")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'configure 'patch-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((ovpn (search-input-file inputs "/bin/openfortivpn"))
+ (pretty-ovpn (string-append "\"" ovpn "\"")))
+ (for-each (lambda (file)
+ (substitute* file
+ (("\"/usr/local/bin/openfortivpn\"")
+ pretty-ovpn)
+ (("\"/usr/bin/openfortivpn\"")
+ pretty-ovpn)))
+ '("src/nm-fortisslvpn-service.c"
+ "properties/nm-fortisslvpn-editor.c"))))))))
+ (native-inputs
+ (list autoconf
+ automake
+ intltool
+ `(,glib "bin")
+ `(,gtk "bin")
+ libtool
+ libxml2
+ pkg-config))
+ (inputs
+ (list gtk+
+ gtk
+ kmod
+ libnma
+ libsecret
+ network-manager
+ openfortivpn
+ ppp))
+ (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
+ (synopsis "Fortinet SSLVPN plug-in for NetworkManager")
+ (description
+ "This extension of NetworkManager allows it to take care of connections
to virtual private networks (VPNs) via Fortinet SSLVPN.")
- (license license:gpl2+)
- (properties `((upstream-name . "NetworkManager-fortisslvpn")))))
+ (license license:gpl2+)
+ (properties `((upstream-name . "NetworkManager-fortisslvpn"))))))
(define-public mobile-broadband-provider-info
(package
@@ -9835,7 +9869,8 @@ easy, safe, and automatic.")
(arguments
(list
#:glib-or-gtk? #t
- #:test-options `(list ,@(if (target-riscv64?)
+ #:test-options `(list ,@(if (or (target-riscv64?)
+ (target-aarch64?))
`("--timeout-multiplier" "10")
'("--timeout-multiplier" "2")))
#:configure-flags
@@ -12340,6 +12375,7 @@ generic enough to work for everyone.")
(build-system cmake-build-system)
(arguments
(list
+ #:tests? #f
#:imported-modules `(,@%cmake-build-system-modules
(guix build glib-or-gtk-build-system))
#:modules '((guix build cmake-build-system)
@@ -14275,7 +14311,7 @@ historical battery usage and related statistics.")
;; This is done so we can override.
(("`set.PREFIX_BIN") "set(QPREFIX_BIN")))))))
(native-inputs
- (list cmake pkg-config intltool gettext-minimal))
+ (list cmake-minimal pkg-config intltool gettext-minimal))
(inputs
(list glib gtk+ libx11 libsm libxv libxaw libxcb libxkbfile
shared-mime-info))
diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm
index 9f2f677968..ee9fe5a366 100644
--- a/gnu/packages/gnucash.scm
+++ b/gnu/packages/gnucash.scm
@@ -78,13 +78,13 @@
(build-system cmake-build-system)
(arguments
(list
- #:test-target "check"
#:configure-flags #~(list "-DWITH_PYTHON=ON")
#:make-flags #~(list "GUILE_AUTO_COMPILE=0")
#:imported-modules `(,@%default-gnu-imported-modules
(guix build cmake-build-system)
(guix build glib-or-gtk-build-system))
#:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
(guix build utils))
#:phases
@@ -114,6 +114,7 @@
(invoke "localedef" "-i" "en_US" "-f" "UTF-8" "./en_US.UTF-8")
(invoke "localedef" "-i" "en_GB" "-f" "UTF-8" "./en_GB.UTF-8")
(invoke "localedef" "-i" "fr_FR" "-f" "UTF-8" "./fr_FR.UTF-8")))
+ (replace 'check (assoc-ref gnu:%standard-phases 'check))
;; There is about 100 MiB of documentation.
(add-after 'install 'install-docs
(lambda _
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index bfe599f6b1..7e5ebef0e9 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -269,11 +269,10 @@ fractional-second-digits-append-item.js")
in C/C++.")
(license license:mpl2.0))) ; and others for some files
-(define-public mozjs-78
+(define-public mozjs-115
(package
(inherit mozjs)
- (name "mozjs")
- (version "78.15.0")
+ (version "115.26.0")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.mozilla.org/pub/firefox"
@@ -281,86 +280,45 @@ in C/C++.")
version "esr.source.tar.xz"))
(sha256
(base32
- "0l91cxdc5v9fps79ckb1kid4gw6v5qng1jd9zvaacwaiv628shx4"))))
- (build-system gnu-build-system)
+ "0xvwk3vkbxnybpi3gwk48nxffg44lbv58mbk2xq6cz50ffq0k5k2"))))
(arguments
(substitute-keyword-arguments (package-arguments mozjs)
((#:phases phases)
#~(modify-phases #$phases
- (add-after 'unpack 'python-3.11-compatibility
- (lambda _
- (substitute* '("python/mozbuild/mozpack/files.py"
- "python/mozbuild/mozbuild/util.py"
- "python/mozbuild/mozbuild/action/process_define_files.py"
- "python/mozbuild/mozbuild/backend/base.py"
- "python/mozbuild/mozbuild/preprocessor.py"
- "python/mozbuild/mozbuild/virtualenv.py")
- (("'rU'") "'r'"))))
- (add-after 'unpack 'patch-for-python-3.10
- (lambda _
- ;; Some classes were moved from collections to collections.abc
- ;; in Python 3.10.
- (substitute* "python/mozbuild/mozbuild/util.py"
- (("collections\\.Sequence")
- "collections.abc.Sequence"))
- (substitute* "python/mozbuild/mozbuild/makeutil.py"
- (("from collections import Iterable")
- "from collections.abc import Iterable"))
- (substitute* "python/mozbuild/mozbuild/backend/configenvironment.py"
- (("from collections import Iterable, OrderedDict")
- "from collections import OrderedDict\n\
-from collections.abc import Iterable"))
- (substitute*
- "testing/mozbase/manifestparser/manifestparser/filters.py"
- (("from collections import defaultdict, MutableSequence")
- "from collections import defaultdict\n\
-from collections.abc import MutableSequence"))))
- (replace 'configure
- (lambda* (#:key configure-flags #:allow-other-keys)
- ;; The configure script does not accept environment variables as
- ;; arguments. It also must be run from a different directory,
- ;; but not the root directory either.
- (mkdir "run-configure-from-here")
- (chdir "run-configure-from-here")
- (setenv "SHELL" (which "sh"))
- (setenv "CONFIG_SHELL" (which "sh"))
- (setenv "AUTOCONF" (which "autoconf"))
- (apply invoke "../js/src/configure"
- (cons (string-append "--prefix=" #$output)
- configure-flags))))
(replace 'adjust-tests
(lambda _
(with-directory-excursion "../js/src/tests"
- ;; The test suite expects a lightly patched ICU 67. Since
- ;; Guix is about to switch to ICU 68, massage the tests to
- ;; work with that instead of patching ICU. Try removing this
- ;; phase for newer versions of mozjs.
+ ;; The test suite expects a lightly patched ICU. Disable tests
+ ;; that do not work with the system version. See
+ ;; "intl/icu-patches" for clues.
- ;; These tests look up locale names and expects to get
- ;; "GB" instead of "UK".
- (substitute* "non262/Intl/DisplayNames/language.js"
- (("Traditionell, GB")
- "Traditionell, UK"))
- (substitute* "non262/Intl/DisplayNames/region.js"
- (("\"GB\": \"GB\"")
- "\"GB\": \"UK\""))
+ ;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
+ ;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
+ ;; related patch for why this is failing.
+ (delete-file "non262/Intl/DateTimeFormat/\
+fractional-second-digits-append-item.js")
+ ;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
+ (delete-file "non262/Intl/DateTimeFormat/day-period-hour-cycle.js")
+ ;; FIXME: got "en-US-posix", expected "en-US-POSIX".
+ (delete-file "non262/Intl/available-locales-supported.js")
+ ;; FIXME: got "en-US", expected "en-US-POSIX"
+ (delete-file "non262/Intl/available-locales-resolved.js")
- ;; XXX: Some localized time formats have changed, and
- ;; substitution fails for accented characters, even though
- ;; it works in the REPL(?). Just delete these for now.
- (delete-file "non262/Intl/Date/toLocaleString_timeZone.js")
- (delete-file "non262/Intl/Date/toLocaleDateString_timeZone.js")
+ ;;; Since 115:
+ ;; Mismatching array lengths
+ (delete-file "non262/Intl/supportedValuesOf-timeZones-canonical.js")
+ ;; FIXME: got "America/Santa_Isabel", expected "America/Tijuana":
+ ;; America/Santa_Isabel -> America/Tijuana
+ (delete-file "non262/Intl/DateTimeFormat/timeZone_backward_links.js")
+ ;; TODO: tzdata 2024a expected – find a way to regenerate
+ ;; these generated tests
+ (delete-file "non262/Intl/DateTimeFormat/timeZone_version.js")
- ;; Similarly, these get an unexpected "A" suffix when looking
- ;; up a time in the "ar-MA-u-ca-islamicc" locale, which is
- ;; tricky to substitute.
- (delete-file "non262/Intl/DateTimeFormat/format_timeZone.js")
- (delete-file "non262/Intl/DateTimeFormat/format.js")
+ ;; FIXME: got "\uD840\uDDF2", expected "\u5047"
+ (delete-file "non262/Intl/Collator/implicithan.js")
+ ;; FIXME: got "\uD840\uDDF2", expected "\u3467"
+ (delete-file "non262/Intl/Collator/big5han-gb2312han.js"))))
- ;; This file compares a generated list of ICU locale names
- ;; with actual lookups. Some have changed slightly, i.e.
- ;; daf-Latn-ZZ -> daf-Latn-CI, so drop it for simplicity.
- (delete-file "non262/Intl/Locale/likely-subtags-generated.js"))))
(replace 'pre-check
(lambda _
(with-directory-excursion "../js/src/tests"
@@ -387,17 +345,8 @@ from collections.abc import MutableSequence"))))
(string-append "--worker-count="
(number->string
(parallel-job-count)))))))))))))
- (native-inputs
- (list autoconf-2.13
- automake
- llvm ;for llvm-objdump
- perl
- pkg-config
- python-3
- rust
- `(,rust "cargo")))
(inputs
- (list icu4c-69 readline zlib))))
+ (list icu4c-73 readline zlib))))
;;;
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 979224bc6d..60e43e2b7a 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -2131,6 +2131,58 @@ strategies, such as fixed delay, backoff delay, and random delay.")
(package-arguments go-github-com-avast-retry-go)
((#:import-path _) "github.com/avast/retry-go/v4")))))
+(define-public go-github-com-awesome-gocui-gocui
+ (package
+ (name "go-github-com-awesome-gocui-gocui")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/awesome-gocui/gocui")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "082ziwxj239nxcclv54d783933s6c5ks592mq3ilcvg1vfyfkjz8"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/awesome-gocui/gocui"))
+ (propagated-inputs
+ (list go-github-com-gdamore-tcell-v2
+ go-github-com-mattn-go-runewidth))
+ (home-page "https://github.com/awesome-gocui/gocui")
+ (synopsis "Console User Interface in Golang")
+ (description
+ "This package implements a functionality to create console user
+interfaces.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-awesome-gocui-keybinding
+ (package
+ (name "go-github-com-awesome-gocui-keybinding")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/awesome-gocui/keybinding")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0d1nvxs2pd6nc10gm3md2rsd0v33025b8dik1l1iy8klzhiqfd1q"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? #f ;broken tests
+ #:import-path "github.com/awesome-gocui/keybinding"))
+ (propagated-inputs (list go-github-com-awesome-gocui-gocui))
+ (home-page "https://github.com/awesome-gocui/keybinding")
+ (synopsis "Wrapper for parsing gocui keybindings in Golang")
+ (description
+ "This package provides a golang wrapper for parsing gocui keybindings.")
+ (license license:expat)))
+
(define-public go-github-com-axiomhq-hyperloglog
(package
(name "go-github-com-axiomhq-hyperloglog")
@@ -5817,8 +5869,8 @@ is an actively maintained fork of @url{https://github.com/ogier/pflag}.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/docker/cli")
- (commit (string-append "v" version))))
+ (url "https://github.com/docker/cli")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0gaz2pkivky94z8148aa27kdxn548j3r96xa3a9xfqpi6b1rhy27"))
@@ -5833,10 +5885,13 @@ is an actively maintained fork of @url{https://github.com/ogier/pflag}.")
#:embed-files #~(list ".*\\.json")
#:skip-build? #t
#:tests? #f))
- (propagated-inputs (list go-github-com-mitchellh-mapstructure
- go-gopkg-in-yaml-v2
- go-github-com-google-shlex
- go-github-com-docker-docker-credential-helpers))
+ (propagated-inputs
+ (list go-github-com-docker-docker-credential-helpers
+ go-github-com-fvbommel-sortorder
+ go-github-com-google-shlex
+ go-github-com-mitchellh-mapstructure
+ go-github-com-pkg-errors
+ go-gopkg-in-yaml-v2))
(home-page "https://github.com/docker/cli")
(synopsis "Docker command-line interface")
(description "This repository is the home of the Docker command-line
@@ -5894,8 +5949,8 @@ interact with distribution components.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/moby/moby")
- (commit (string-append "v" version))))
+ (url "https://github.com/moby/moby")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0852mrvs8602azqzx2zhb1xl0vs7baw8qfmkgrl625xm5hxrigvq"))
@@ -5911,6 +5966,8 @@ interact with distribution components.")
(propagated-inputs
(list go-github-com-containerd-containerd
go-github-com-containerd-log
+ go-github-com-distribution-reference
+ go-github-com-docker-go-connections
go-github-com-docker-go-units
go-github-com-gogo-protobuf
go-github-com-klauspost-compress
@@ -16013,6 +16070,30 @@ editor with history, inspired by @url{https://github.com/antirez/linenoise/,
linenoise}. Xterm as well as WIN32 terminal codes are supported.")
(license license:expat)))
+(define-public go-github-com-phayes-permbits
+ (package
+ (name "go-github-com-phayes-permbits")
+ (version "0.0.0-20190612203442-39d7c581d2ee")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/phayes/permbits")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1jixy4m65agyyly5mg4icszwzs5hjgj1x7cwvc9a3df6j5lwd41x"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/phayes/permbits"))
+ (home-page "https://github.com/phayes/permbits")
+ (synopsis "Easy file permissions for Golang")
+ (description
+ "This package makes it a breeze to check and modify file permission
+bits.")
+ (license license:expat)))
+
(define-public go-github-com-philhofer-fwd
(package
(name "go-github-com-philhofer-fwd")
@@ -22377,7 +22458,7 @@ recognizers) at run time.")
(list
#:import-path "mvdan.cc/editorconfig"))
(native-inputs
- (list cmake))
+ (list cmake-minimal))
(home-page "https://github.com/mvdan/editorconfig")
(synopsis "EditorConfig support in Go")
(description
diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm
index aefb993f79..8ee1515d6b 100644
--- a/gnu/packages/gps.scm
+++ b/gnu/packages/gps.scm
@@ -220,6 +220,9 @@ coordinates as well as partial support for adjustments in global coordinate syst
(list
#:qtbase qtbase
#:tests? #f ; no tests
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases #~(modify-phases %standard-phases
(replace 'configure
;; Use lrelease to convert TS translation files into QM files.
@@ -227,7 +230,9 @@ coordinates as well as partial support for adjustments in global coordinate syst
(apply invoke "lrelease"
(find-files "lang" "\\.ts"))
(invoke "qmake"
- (string-append "PREFIX=" #$output)))))))
+ (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))
(native-inputs (list qttools))
(home-page "https://www.gpxsee.org")
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index 2549889a11..239910ad1a 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -146,7 +146,9 @@ distributions in empirical data. SIAM Review 51, 661-703 (2009)}).")
;; Use the same integer width as suitesparse-cxsparse, which
;; uses int64_t in SuiteSparse v6.0.0 and later.
"-DIGRAPH_INTEGER_SIZE=64")
- #:test-target "check"
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'version-file
@@ -178,6 +180,7 @@ distributions in empirical data. SIAM Review 51, 661-703 (2009)}).")
(add-after 'build 'build-doc
(lambda _
(invoke "cmake" "--build" "." "--target" "html")))
+ (replace 'check (assoc-ref gnu:%standard-phases 'check))
(add-after 'install 'install-doc
(lambda _
(copy-recursively
@@ -536,8 +539,7 @@ intuitive way.")
(arguments
(list #:configure-flags
#~'("-DFAISS_ENABLE_GPU=OFF" ; thanks, but no thanks, CUDA.
- "-DFAISS_ENABLE_PYTHON=OFF"
- "-DBUILD_TESTING=ON")))
+ "-DFAISS_ENABLE_PYTHON=OFF")))
(inputs
(list openblas))
(native-inputs
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 25fe072936..37eb060a8f 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -205,7 +205,8 @@ framebuffer graphics, audio output and input event.")
(base32 "0bs3yzb7hy3mgydrj8ycg7pllrd2b6j0gxj596inyr7ihssr3i0y"))))
(build-system gnu-build-system)
(arguments
- `(#:configure-flags
+ `(#:parallel-build? #f
+ #:configure-flags
'("CFLAGS=-g -O2 -Wno-error=incompatible-pointer-types")
#:phases
(modify-phases %standard-phases
@@ -634,7 +635,8 @@ Please note that this version requires a processor with SSE2 support."))))
"0r6q7bl8513ggrvx3n73j1s3f7n5x1rxy5xi471qyrya95gy6c60"))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags
+ `(#:tests? #f
+ #:configure-flags
(list (string-append "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib"))))
(inputs
@@ -802,6 +804,18 @@ and export to various formats including the format used by Magicavoxel.")
(sha256
(base32
"097fxq0frb2nl6bp8wz7kjx6vq4i4117wwq9fnxzkiij9xwv3cq9"))))
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'enable-testing
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("IF \\( ASSIMP_BUILD_TESTS \\)" all)
+ (string-append all "\n enable_testing()")))
+ (substitute* "test/CMakeLists.txt"
+ ;; Leave the test binary where ctest will look for it.
+ (("TARGET_USE_COMMON_OUTPUT_DIRECTORY\\(unit\\)")
+ "")))))))
(build-system cmake-build-system)
(inputs
(list zlib))
@@ -1645,7 +1659,7 @@ with strong support for multi-part, multi-channel use cases.")
(define-public openimageio
(package
(name "openimageio")
- (version "2.5.13.0")
+ (version "2.5.19.0")
(source
(origin
(method git-fetch)
@@ -1655,7 +1669,7 @@ with strong support for multi-part, multi-channel use cases.")
(file-name (git-file-name name version))
(sha256
(base32
- "0bqalfcfjjk31a7zv2hyx0jz8jpdhpsmc3sqwmfl4zf431g45hpb"))))
+ "1s4275iik6gpbyzh703acm440csg9ff8w5l5drnz1gl6mx5946kz"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ; half the tests require online data or use redirection
@@ -1907,7 +1921,7 @@ in Julia).")
libjpeg-turbo
libpng
libtiff
- openexr-2
+ openexr
sdl
zlib))
(arguments
@@ -1947,7 +1961,7 @@ realistic reflections, shading, perspective and other effects.")
(define-public ctl
(package
(name "ctl")
- (version "1.5.3")
+ (version "1.5.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1956,11 +1970,11 @@ realistic reflections, shading, perspective and other effects.")
(file-name (git-file-name name version))
(sha256
(base32
- "1qhfp9b90czvxjkf66sbnqyw3wvmdvl1pkh6201fxhqg7grbfvwc"))))
+ "02fxvwm883wgzhf87harbvmfqvm2ry71cxr768jb8kxdnal5gyy4"))))
(build-system cmake-build-system)
;; Headers include OpenEXR and IlmBase headers.
- (propagated-inputs (list openexr-2))
+ (propagated-inputs (list openexr))
(inputs (list libtiff))
(home-page "https://ampasctl.sourceforge.net")
@@ -2787,11 +2801,15 @@ Some feature highlights:
(url "https://github.com/KhronosGroup/OpenXR-SDK")
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Delete bundled jsoncpp.
- (delete-file-recursively "src/external/jsoncpp")))
+ ;; When compiling against jsoncpp 1.9.6 the build fails with
+ ;; 'Unknown CMake command "check_required_components"'
+ ;; (see https://github.com/open-source-parsers/jsoncpp/issues/1568).
+ ;; When fixed uncomment the snippet and re-add jsoncpp as an input.
+ ;(modules '((guix build utils)))
+ ;(snippet
+ ; '(begin
+ ; ;; Delete bundled jsoncpp.
+ ; (delete-file-recursively "src/external/jsoncpp")))
(sha256
(base32 "0s66xgwkdj5vn05l493hqydrxfpxxidd6mcb8l7l5awhn88cy16f"))))
(build-system cmake-build-system)
@@ -2800,7 +2818,7 @@ Some feature highlights:
(native-inputs
(list pkg-config python shaderc vulkan-headers))
(inputs
- (list jsoncpp mesa vulkan-loader wayland))
+ (list mesa vulkan-loader wayland))
(home-page "https://www.khronos.org/openxr/")
(synopsis "Generated headers and sources for OpenXR loader")
(description "This package contains OpenXR headers, as well as source code
@@ -2811,7 +2829,7 @@ and build scripts for the OpenXR loader.")
(define-public tinygltf
(package
(name "tinygltf")
- (version "2.9.5")
+ (version "2.9.6")
(source
(origin
(method git-fetch)
@@ -2820,7 +2838,7 @@ and build scripts for the OpenXR loader.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0gx4wa0kxhig3wjn8v14dbjxl15xn0srkfxb5szzhrl06dv0nszc"))
+ (base32 "0xh94bnxz5dffq9g2fdfhxfy0lkyb9qhbnh583gbqkfysmyp3l6x"))
(modules '((guix build utils)))
(snippet #~(begin
(for-each delete-file-recursively
@@ -3067,7 +3085,6 @@ generated discrete signed distance field using the cubic spline kernel.
(string-append "-DCMAKE_INSTALL_MANDIR=" #$output "/share/man")
"-DBUILD_SHARED_LIBS=ON"
"-DBUILD_DOC=ON"
- "-DBUILD_TESTING=ON"
;; The longer tests are for continuous integration and
;; depend on input data which must be downloaded.
"-DONLY_VERY_SHORT_TESTS=ON"
@@ -3293,7 +3310,6 @@ desired local properties.")
#:configure-flags
#~(list (string-append "-DCMAKE_INSTALL_DOCDIR=" #$output
"/share/doc/" #$name "-" #$version)
- "-DBUILD_TESTING=OFF"
"-DF3D_LINUX_GENERATE_MAN=ON"
"-DF3D_USE_EXTERNAL_CXXOPTS=ON"
"-DF3D_USE_EXTERNAL_NLOHMANN_JSON=ON"
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 44620c186a..c0d54bfe18 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -2899,9 +2899,11 @@ library for drawing.")
"13jwr1vly4ga3f09dajwky1cdrz5bmggwga3vnnd6j6zzia7dpyr"))))
(build-system gnu-build-system)
(arguments
- `(#:configure-flags (list "--enable-glade"
- "--enable-introspection"
- "CFLAGS=-fcommon")
+ `(#:configure-flags
+ (list
+ "--enable-glade"
+ "--enable-introspection"
+ "CFLAGS=-fcommon -Wno-error=incompatible-pointer-types")
#:phases
(modify-phases %standard-phases
;; The "configure" script is present, but otherwise the project is
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 8e3a1ef499..b34570a810 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -1522,35 +1522,54 @@ order to provide IDE functionality for Guile Scheme.")
(license license:expat)))
(define-public guile-ares-rs
- ;; Commit to support Guile 3.9 + guile-custom-ports
- (let ((commit "6ccca2e21457c47917846e07c449d48c66b9420b")
- (revision "0"))
- (package
- (name "guile-ares-rs")
- (version (git-version "0.9.5" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.sr.ht/~abcdw/guile-ares-rs")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "04n42wn6jblhmcx5l43nl7nsy3s0qlsn09l4k9xwgw5hg9nkkmg7"))))
- (build-system guile-build-system)
- (arguments
- (list
- #:source-directory "src/guile"))
- (inputs (list guile-3.0))
- (propagated-inputs (list guile-fibers guile-custom-ports))
- (home-page "https://git.sr.ht/~abcdw/guile-ares-rs")
- (synopsis "Asynchronous Reliable Extensible Sleek RPC Server for Guile")
- (description "Asynchronous Reliable Extensible Sleek RPC Server for
+ (package
+ (name "guile-ares-rs")
+ (version "0.9.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~abcdw/guile-ares-rs")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1vkww3vc0lsh5f8yh6fnh402rx3rsm0ss69rdkmplhzp4c7c4z1d"))))
+ (build-system guile-build-system)
+ (arguments
+ (list
+ #:source-directory "src/guile"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'build 'install-script
+ (lambda _
+ (let* ((bin (string-append #$output "/bin"))
+ (oldpath (string-append
+ #$output
+ ;; This file will be named ares-nrepl.scm for
+ ;; the next version.
+ "/share/guile/site/3.0/ares/scripts/ares.scm"))
+ (newpath (string-append bin "/ares-nrepl")))
+ (mkdir bin)
+ (symlink oldpath newpath)
+ (wrap-program newpath
+ `("GUILE_LOAD_PATH" ":" =
+ ,(list (string-append #$output "/share/guile/site/3.0")
+ (getenv "GUILE_LOAD_PATH")))
+ `("GUILE_LOAD_COMPILED_PATH" ":" =
+ ,(list (string-append #$output "/lib/guile/3.0/site-ccache")
+ (getenv "GUILE_LOAD_COMPILED_PATH"))))
+ ;; Not needed since the wrapper followed the symlink.
+ (delete-file (string-append bin "/.ares-nrepl-real"))))))))
+ (inputs (list bash-minimal guile-3.0))
+ (propagated-inputs (list guile-fibers guile-custom-ports))
+ (home-page "https://git.sr.ht/~abcdw/guile-ares-rs")
+ (synopsis "Asynchronous Reliable Extensible Sleek RPC Server for Guile")
+ (description "Asynchronous Reliable Extensible Sleek RPC Server for
Guile. It's based on nREPL protocol and can be used for programmable
interactions with a running guile processes, for implementing REPLs, IDEs,
test runners or other tools.")
- (license license:gpl3+))))
+ (license license:gpl3+)))
(define-public guile-custom-ports
(package
diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm
index ed386371ce..9de7f7d63d 100644
--- a/gnu/packages/hardware.scm
+++ b/gnu/packages/hardware.scm
@@ -1149,6 +1149,9 @@ technology, such as head mounted displays with built in head tracking.")
#:tests? #f ; doesn't have tests
#:make-flags
#~(list (string-append "INSTALL_ROOT=" #$output ))
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'unbundle
@@ -1167,7 +1170,9 @@ technology, such as head mounted displays with built in head tracking.")
"/bin/chmod")))))
;; Call qmake instead of configure to create a Makefile.
(replace 'configure
- (lambda _ (invoke "qmake" "PREFIX=/" "OpenRGB.pro"))))))
+ (lambda _ (invoke "qmake" "PREFIX=/" "OpenRGB.pro")))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'install (assoc-ref gnu:%standard-phases 'install)))))
(inputs
(list coreutils
hidapi
@@ -1467,6 +1472,9 @@ management, attestation, encryption, and signing.")
(arguments
(list
#:configure-flags #~(list "-DLIBCPUID_ENABLE_TESTS=ON")
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'absolutize
@@ -1481,7 +1489,11 @@ management, attestation, encryption, and signing.")
(when (and #$(target-linux?)
#$(target-arm?))
(substitute* "drivers/arm/linux/CMakeLists.txt"
- (("/usr/src/") (string-append #$output "/src/")))))))))
+ (("/usr/src/") (string-append #$output "/src/"))))))
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "test" args))))))
(inputs
(append
(if (target-linux?)
@@ -1519,7 +1531,7 @@ confused with the @code{cpuid} command line utility from package @code{cpuid}.")
(base32 "1cc95ggs64jqq9lk5c8fm4nk6fdnv1x7lr3k4znamj0vv6w22bcd"))))
(build-system meson-build-system)
(native-inputs
- (list cmake pkg-config))
+ (list cmake-minimal pkg-config))
(inputs
(list avahi libtirpc libxml2))
(home-page "https://lxi-tools.github.io/")
@@ -1559,7 +1571,7 @@ your network, send SCPI commands, and receive responses.")
(("update-desktop-database") (which "true"))))))))
(native-inputs
(list bash-completion
- cmake
+ cmake-minimal
(list glib "bin")
pkg-config
python
diff --git a/gnu/packages/hexedit.scm b/gnu/packages/hexedit.scm
index 6f10fd1461..42f3398537 100644
--- a/gnu/packages/hexedit.scm
+++ b/gnu/packages/hexedit.scm
@@ -179,30 +179,6 @@ easily and conveniently compare two binary files. It is based on Ncurses
and is themeable.")
(license license:gpl2+)))
-(define-public ht
- (package
- (name "ht")
- (version "2.1.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://sourceforge.net/projects/hte/files/ht-source/"
- name "-" version ".tar.bz2"))
- (sha256
- (base32
- "0w2xnw3z9ws9qrdpb80q55h6ynhh3aziixcfn45x91bzrbifix9i"))))
- (build-system gnu-build-system)
- (inputs
- (list lzo ncurses))
- (synopsis "Viewer, editor, and analyzer for executable binaries")
- (description
- "ht is a terminal-based program to view, edit, and analyze any file, but
-with a special focus on executable binaries. Its goal is to combine the
-low-level functionality of a debugger with the usability of an @dfn{Integrated
-Development Environment} (IDE).")
- (home-page "https://hte.sourceforge.net/")
- (license license:gpl2)))
-
;; NOTE: The install target of imhex-pattern-language falls short in a few areas
;; that make this package difficult to use outside of ImHex. Neither header
;; files nor package information (using e.g. pkg-config or CMake files) are
diff --git a/gnu/packages/hyperledger.scm b/gnu/packages/hyperledger.scm
index 49955f0121..91e9493ea9 100644
--- a/gnu/packages/hyperledger.scm
+++ b/gnu/packages/hyperledger.scm
@@ -172,9 +172,8 @@ link-time. New implementations can be added as well.")
'("-DTESTING=OFF" ; The tests fail to link correctly to googletest.
;; Don't install the shared libraries of the dependencies:
"-DENABLE_LIBS_PACKAGING=OFF")
- #:tests? #f
;; https://iroha.readthedocs.io/en/latest/build/index.html#running-tests-optional
- #:test-target "."))
+ #:tests? #f))
;; https://github.com/hyperledger/iroha/blob/master/vcpkg/VCPKG_DEPS_LIST
(native-inputs
(list fmt-8
diff --git a/gnu/packages/i2p.scm b/gnu/packages/i2p.scm
index b4f0c8d639..bb5fa5fce8 100644
--- a/gnu/packages/i2p.scm
+++ b/gnu/packages/i2p.scm
@@ -54,8 +54,7 @@
#:configure-flags
#~(list (string-append "-S" #$source "/build")
"-DWITH_UPNP=ON"
- "-DBUILD_SHARED_LIBS=ON"
- "-DBUILD_TESTING=ON")))
+ "-DBUILD_SHARED_LIBS=ON")))
(home-page "https://i2pd.website/")
(synopsis "Router for an end-to-end encrypted and anonymous internet")
(description "i2pd is a client for the anonymous I2P network, upon which
diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm
index 6e2ef6b75b..952d550892 100644
--- a/gnu/packages/icu4c.scm
+++ b/gnu/packages/icu4c.scm
@@ -51,7 +51,7 @@
(string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
"-src.tgz"))
-(define-public icu4c
+(define-public icu4c-73
(package
(name "icu4c")
(version "73.1")
@@ -126,6 +126,8 @@ C/C++ part.")
(license x11)
(home-page "http://site.icu-project.org/")))
+(define-public icu4c icu4c-73)
+
(define-public icu4c-71
(package
(inherit icu4c)
diff --git a/gnu/packages/idutils.scm b/gnu/packages/idutils.scm
index 6d2f003734..7b954a9331 100644
--- a/gnu/packages/idutils.scm
+++ b/gnu/packages/idutils.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2015, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012-2013, 2015, 2021, 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
@@ -54,9 +54,6 @@
(substitute* "lib/stdio.in.h"
(("_GL_WARN_ON_USE \\(gets.*") ""))))))
(build-system gnu-build-system)
- (arguments
- ;; XXX: These Gnulib tests fail with GCC 10 and glibc 2.33; skip them.
- '(#:make-flags '("XFAIL_TESTS=test-sprintf-posix test-isnanl-nolibm")))
(native-inputs `(("emacs" ,emacs-minimal)))
(home-page "https://www.gnu.org/software/idutils/")
(synopsis "Identifier database utilities")
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index 632c00ac82..22ad2308a5 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -26,6 +26,7 @@
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 Jake Forster <jakecameron.forster@gmail.com>
;;; Copyright © 2025 Anderson Torres <anderson.torres.8519@gmail.com>
+;;; Copyright © 2025 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -49,6 +50,7 @@
#:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system qt)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
@@ -105,6 +107,7 @@
#:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite)
+ #:use-module (gnu packages ssh)
#:use-module (gnu packages swig)
#:use-module (gnu packages tbb)
#:use-module (gnu packages textutils)
@@ -169,6 +172,58 @@ The tools in this software implement various reconstruction algorithms for
Magnetic Resonance Imaging.")
(license license:bsd-3)))
+(define-public cimg
+ (package
+ (name "cimg")
+ (version "3.5.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/GreycLab/CImg")
+ (commit (string-append "v." version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01myf3bjbc46f977r7lvr9g1hcnpfygcv2xnqvhrl2nj7955sm5x"))))
+ (build-system copy-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'install 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "examples"
+ ;; This is from upstream CI but parallelized.
+ (invoke "make" "-j"
+ (number->string (parallel-job-count)) "mlinux")
+ (invoke "./image2ascii")
+ (invoke "./generate_loop_macros")
+ ;; Build an example that requires an external library.
+ ;; Running it requires a display.
+ (invoke "make" "use_jpeg_buffer"
+ (string-append "CONF_CFLAGS="
+ (string-join '("-Dcimg_display=0"
+ "-O3"
+ "-mtune=generic"
+ "-Dcimg_use_jpeg")
+ " "))
+ "CONF_LIBS=-ljpeg"))))))
+ #:install-plan
+ #~'(("CImg.h" "include/")
+ ("plugins" "include/CImg/plugins"))))
+ (native-inputs (list libjpeg-turbo)) ;for 'check
+ (home-page "https://cimg.eu")
+ (synopsis "Small C++ image processing library")
+ (description
+ "The @acronym{CImg, Cool Image} Library is a small C++ toolkit for
+image processing. It is made of a single header file @code{CImg.h}
+that can be compiled using a minimal set of standard C++ and system
+libraries. It includes a plugin mechanism to extend its functionality
+with external tools and libraries.")
+ ;; Dual-licensed, either license applies.
+ (license (list license:cecill-c license:cecill))))
+
(define-public dcmtk
(package
(name "dcmtk")
@@ -211,7 +266,7 @@ licences similar to the Modified BSD licence."))))
(define-public opencolorio
(package
(name "opencolorio")
- (version "2.3.2")
+ (version "2.4.2")
(source
(origin
(method git-fetch)
@@ -219,23 +274,32 @@ licences similar to the Modified BSD licence."))))
(url "https://github.com/AcademySoftwareFoundation/OpenColorIO")
(commit (string-append "v" version))))
(sha256
- (base32 "1h33s2pfy28nj836kx6xx3iks7v38g3kx7c4f6zn1dpskl0zf809"))
+ (base32 "1h5n1adm7hlblq4z9qdbnh5jy3f6aimlk96cn1k4ah3f8vqx7zpq"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
;; XXX: GPU tests are failing.
(list #:configure-flags #~(list "-DOCIO_BUILD_GPU_TESTS=false")
- #:phases #~(modify-phases %standard-phases
- (add-after 'install 'fix-OpenColorIOConfig
- (lambda _
- ;; Work around a CMake Zlib-detection bug:
- ;; https://gitlab.kitware.com/cmake/cmake/-/issues/25200
- ;; make OpenColorIOConfig.cmake is a normal cmake file
- (substitute*
- (string-append #$output
- "/lib/cmake/OpenColorIO/OpenColorIOConfig.cmake")
- (("\\.#define ZLIB_VERSION \"1\\.3\"")
- "")))))))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'disable-test
+ ;; The approach is somewhat desperate and removes not only
+ ;; line 1436 of the failing
+ ;; FileFormatCTF/difficult_xml_unknown_elements test,
+ ;; but also the identical line 1524 of the succeeding
+ ;; FileFormatCTF/unknown_elements test.
+ (lambda _
+ (substitute* "tests/cpu/fileformats/FileFormatCTF_tests.cpp"
+ (("OCIO_CHECK_NE.*ErrorOutputs.*")
+ ""))))
+ (add-after 'unpack 'fix-broken-test
+ (lambda _
+ ;; Replace the invalid multi-line list. It is unclear why
+ ;; this is now failing after only build system updates.
+ ;; (see https://github.com/AcademySoftwareFoundation/OpenColorIO/blob/v2.4.2/tests/cpu/Config_tests.cpp#L6227)
+ (substitute* "tests/cpu/Config_tests.cpp"
+ (("cs1\\\\t\\\\n \\\\n, \\\\ncs2")
+ "cs1, cs2")))))))
(native-inputs
;; XXX: OCIO has unit tests for OpenShadingLanguage, but they fail.
;; They also require OIIO, but OCIO is an optional dependency to it.
@@ -247,7 +311,8 @@ licences similar to the Modified BSD licence."))))
imath
lcms
libglvnd
- minizip-ng
+ ;; opencolorio@2.4.2 fails to build with minizip-ng@4.0.10
+ minizip-ng-4.0.9
openexr
pystring
yaml-cpp
@@ -269,7 +334,7 @@ many popular formats.")
(define-public vtk
(package
(name "vtk")
- (version "9.3.0")
+ (version "9.3.1")
(source (origin
(method url-fetch)
(uri (string-append "https://vtk.org/files/release/"
@@ -277,7 +342,7 @@ many popular formats.")
"/VTK-" version ".tar.gz"))
(sha256
(base32
- "1s8vd34nhrgnw1bf9zhfn062d53fwq3csjfwvm7lxcr5a8lvkizx"))
+ "1f6ac40db7wkb3bfh31d71qc5gy44cw29r6v4cyxrlm09q4fqm43"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -299,8 +364,7 @@ many popular formats.")
(arguments
(list #:build-type "Release" ;Build without '-g' to save space.
#:configure-flags
- #~'( ;;"-DBUILD_TESTING:BOOL=TRUE" ;not honored
- "-DVTK_USE_EXTERNAL=OFF" ;default
+ #~'("-DVTK_USE_EXTERNAL=OFF" ;default
"-DVTK_MODULE_USE_EXTERNAL_VTK_doubleconversion=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_eigen=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_expat=ON"
@@ -323,6 +387,7 @@ many popular formats.")
"-DVTK_MODULE_USE_EXTERNAL_VTK_tiff=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_zlib=ON"
"-DVTK_MODULE_ENABLE_VTK_RenderingExternal=YES" ;for F3D
+ "-DVTK_MODULE_ENABLE_VTK_GUISupportQt=YES" ;for itk-snap
"-DVTK_WRAP_PYTHON=ON"
"-DVTK_PYTHON_VERSION:STRING=3"
@@ -381,6 +446,7 @@ many popular formats.")
;("pugixml" ,pugixml)
sqlite
xorgproto
+ qtbase
zlib))
(propagated-inputs
;; VTK's 'VTK-vtk-module-find-packages.cmake' calls
@@ -401,38 +467,6 @@ a suite of 3D interaction widgets, supports parallel processing, and
integrates with various databases on GUI toolkits such as Qt and Tk.")
(license license:bsd-3)))
-(define-public vtk-7
- (package
- (inherit vtk)
- (version "7.1.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://vtk.org/files/release/"
- (version-major+minor version)
- "/VTK-" version ".tar.gz"))
- (sha256
- (base32
- "0nm7xwwj7rnsxjdv2ssviys8nhci4n9iiiqm2y14s520hl2dsp1d"))
- (patches (search-patches "vtk-7-python-compat.patch"
- "vtk-7-hdf5-compat.patch"
- "vtk-7-gcc-10-compat.patch"
- "vtk-7-gcc-11-compat.patch"))))
- (arguments
- (substitute-keyword-arguments (package-arguments vtk)
- ((#:configure-flags flags)
- ;; Otherwise, the build would fail with: "error: invalid conversion
- ;; from ‘const char*’ to ‘char*’ [-fpermissive]".
- #~(cons "-DCMAKE_CXX_FLAGS=-fpermissive" #$flags))
- ((#:phases phases)
- #~(modify-phases #$phases
- (add-after 'unpack 'remove-kernel-version
- ;; Avoid embedding the kernel version for reproducible builds
- (lambda _
- (substitute*
- "ThirdParty/hdf5/vtkhdf5/config/cmake/libhdf5.settings.cmake.in"
- (("Host system: \\@CMAKE_HOST_SYSTEM\\@")
- "Host system: @CMAKE_SYSTEM_NAME@"))))))))))
-
(define-public vktdiff
(package
(name "vtkdiff")
@@ -504,7 +538,8 @@ different data arrays similar to those available in the numdiff software.")
"1ha0230yw9ihybmg2b3mkk9vbnlgzlwx597v2hm14y403047zvgb"))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags
+ `(#:parallel-tests? #f
+ #:configure-flags
(list "-DWITH_ADE=OFF" ;we don't have a package for ade yet
"-DWITH_IPP=OFF"
"-DWITH_ITT=OFF"
@@ -1203,6 +1238,9 @@ programmatically.")
""))
#t))))
(build-system cmake-build-system)
+ (arguments
+ ;; Not an actual test, but is incorrectly generated by the build system.
+ (list #:test-exclude "vul_vul_test_driver"))
(inputs
(list libgeotiff libtiff libjpeg-turbo libpng zlib))
(home-page "https://github.com/vxl/vxl/")
@@ -1237,110 +1275,154 @@ libraries designed for computer vision research and implementation.")
(("add_subdirectory\\((tiff|png|jpeg|zlib|bzlib|geotiff)\\)")
""))))))
(arguments
- `(#:configure-flags
- ;; Needed for itk-snap
- (list "-DVNL_CONFIG_LEGACY_METHODS=ON"
- "-DCMAKE_CXX_STANDARD=14")))))
+ (substitute-keyword-arguments (package-arguments vxl)
+ ((#:configure-flags flags)
+ #~(cons* ;; Needed for itk-snap
+ "-DVNL_CONFIG_LEGACY_METHODS=ON"
+ "-DCMAKE_CXX_STANDARD=14"
+ #$flags))))))
(define-public insight-toolkit
- (package
- (name "insight-toolkit")
- (version "5.4.4")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/InsightSoftwareConsortium/ITK")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1l5rby8jj8726k380aivycmhn56cz56mr9k3r56c8hkkrfwwng50"))
- ;; This patch is required to build with both ITK_USE_GPU=ON and
- ;; ITK_WRAP_PYTHON=ON.
- ;; <https://github.com/InsightSoftwareConsortium/ITK/pull/4842>
- (patches (search-patches "insight-toolkit-fix-build.patch"))))
- (build-system cmake-build-system)
- (outputs '("out" "python"))
- (arguments
- (list #:tests? #f ; tests require network access and external data
- #:configure-flags
- #~(list "-DITK_USE_GPU=ON"
- "-DITK_USE_SYSTEM_LIBRARIES=ON"
- "-DITK_USE_SYSTEM_CASTXML=ON"
- "-DITK_USE_SYSTEM_SWIG=ON"
- (string-append "-DHDF5_DIR=" #$(this-package-input "hdf5")
- "/lib/cmake")
- "-DBUILD_SHARED_LIBS=ON"
- ;; Without this flag, there are shared libraries installed
- ;; in PY_SITE_PACKAGES_PATH/itk instead of #$output/lib and
- ;; RUNPATHs contain the *build directory* of
- ;; PY_SITE_PACKAGES_PATH/itk.
- "-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON"
- "-DITK_WRAPPING=ON"
- "-DITK_WRAP_PYTHON=ON"
- "-DITK_DYNAMIC_LOADING=ON"
- (let* ((python-version
- #$(version-major+minor
- (package-version (this-package-input "python"))))
- (python-lib-path
- (string-append #$output:python
- "/lib/python" python-version
- "/site-packages")))
- (string-append "-DPY_SITE_PACKAGES_PATH=" python-lib-path))
- ;; Python is not built with Py_LIMITED_API.
- "-DITK_USE_PYTHON_LIMITED_API=OFF"
- "-DCMAKE_CXX_STANDARD=17"
- "-DBUILD_TESTING=OFF")
+ ;; For information about ITK remote modules, see:
+ ;; https://insightsoftwareconsortium.github.io/ITKWikiArchive/Wiki/ITK/Policy_and_Procedures_for_Adding_Remote_Modules
+ ;; For a remote MODULE, use the commit in
+ ;; 'Modules/Remote/MODULE.remote.cmake'.
+ ;; MorphologicalContourInterpolation is required by itk-snap.
+ (let* ((module-commit "821bf9b3ef8eaaab10391ed060dc9ca5e4d37b39")
+ (module-file (git-file-name "ITKMorphologicalContourInterpolation"
+ module-commit)))
+ (package
+ (name "insight-toolkit")
+ (version "5.4.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/InsightSoftwareConsortium/ITK")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1l5rby8jj8726k380aivycmhn56cz56mr9k3r56c8hkkrfwwng50"))
+ ;; This patch is required to build with both ITK_USE_GPU=ON and
+ ;; ITK_WRAP_PYTHON=ON.
+ ;; <https://github.com/InsightSoftwareConsortium/ITK/pull/4842>
+ (patches (search-patches "insight-toolkit-fix-build.patch"))))
+ (build-system cmake-build-system)
+ (outputs '("out" "python"))
+ (arguments
+ (list
+ #:tests? #f ;tests require network access and external data
+ #:configure-flags
+ #~(list "-DITK_USE_GPU=ON"
+ "-DITK_USE_SYSTEM_LIBRARIES=ON"
+ "-DITK_USE_SYSTEM_CASTXML=ON"
+ "-DITK_USE_SYSTEM_SWIG=ON"
+ (string-append "-DHDF5_DIR="
+ #$(this-package-input "hdf5") "/lib/cmake")
+ "-DBUILD_SHARED_LIBS=ON"
+ ;; Without this flag, there are shared libraries installed
+ ;; in PY_SITE_PACKAGES_PATH/itk instead of #$output/lib and
+ ;; RUNPATHs contain the *build directory* of
+ ;; PY_SITE_PACKAGES_PATH/itk.
+ "-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON"
+ "-DITK_WRAPPING=ON"
+ "-DITK_WRAP_PYTHON=ON"
+ "-DITK_DYNAMIC_LOADING=ON"
+ (let* ((python-version
+ #$(version-major+minor
+ (package-version
+ (this-package-input "python"))))
+ (python-lib-path (string-append #$output:python
+ "/lib/python"
+ python-version
+ "/site-packages")))
+ (string-append "-DPY_SITE_PACKAGES_PATH="
+ python-lib-path))
+ ;; Python is not built with Py_LIMITED_API.
+ "-DITK_USE_PYTHON_LIMITED_API=OFF"
+ "-DModule_MorphologicalContourInterpolation=ON"
+ "-DCMAKE_CXX_STANDARD=17"
+ "-DBUILD_TESTING=OFF")
- #:phases #~(modify-phases %standard-phases
- (add-after 'unpack 'do-not-tune
- (lambda _
- (substitute* "CMake/ITKSetStandardCompilerFlags.cmake"
- (("-mtune=native")
- ""))))
- (add-after 'unpack 'ignore-warnings
- (lambda _
- (substitute* "Wrapping/Generators/Python/CMakeLists.txt"
- (("-Werror") ""))))
- (add-after 'unpack 'exclude-gtest-target
- (lambda _
- ;; Prevent ITKGoogleTest from being added to
- ;; ITK_MODULES_ENABLED in the installed
- ;; ITKConfig.cmake, which in turn prevents
- ;; 'GTest::GTest' from being added to the
- ;; ITK_LIBRARIES variable. This is necessary
- ;; because projects that use ITK fail to configure
- ;; otherwise. Fixes
- ;; <https://codeberg.org/guix/guix/issues/776>.
- ;; <https://github.com/microsoft/vcpkg/pull/27187>
- (substitute* "Modules/ThirdParty/GoogleTest/itk-module.cmake"
- (("DEPENDS") "DEPENDS\n EXCLUDE_FROM_DEFAULT")))))))
- (inputs
- (list eigen
- expat
- fftw
- fftwf
- hdf5
- libjpeg-turbo
- libpng
- libtiff
- mesa-opencl
- perl
- python
- tbb
- vxl-1
- zlib))
- (native-inputs
- (list castxml gcc-13 git-minimal pkg-config swig-next which))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'do-not-tune
+ (lambda _
+ (substitute* "CMake/ITKSetStandardCompilerFlags.cmake"
+ (("-mtune=native")
+ ""))))
+ (add-after 'unpack 'ignore-warnings
+ (lambda _
+ (substitute* "Wrapping/Generators/Python/CMakeLists.txt"
+ (("-Werror")
+ ""))))
+ (add-after 'unpack 'exclude-gtest-target
+ (lambda _
+ ;; Prevent ITKGoogleTest from being added to
+ ;; ITK_MODULES_ENABLED in the installed
+ ;; ITKConfig.cmake, which in turn prevents
+ ;; 'GTest::GTest' from being added to the
+ ;; ITK_LIBRARIES variable. This is necessary
+ ;; because projects that use ITK fail to configure
+ ;; otherwise. Fixes
+ ;; <https://codeberg.org/guix/guix/issues/776>.
+ ;; <https://github.com/microsoft/vcpkg/pull/27187>
+ (substitute* "Modules/ThirdParty/GoogleTest/itk-module.cmake"
+ (("DEPENDS")
+ "DEPENDS\n EXCLUDE_FROM_DEFAULT"))))
+ (add-after 'unpack 'prepare-remote-modules
+ (lambda _
+ ;; ITK module MorphologicalContourInterpolation
+ ;; is for ITK-SNAP.
+ (symlink #$(this-package-native-input module-file)
+ "Modules/Remote/MorphologicalContourInterpolation")
+ (delete-file
+ (string-append
+ "Modules/Remote/"
+ "MorphologicalContourInterpolation.remote.cmake")))))))
+ (inputs (list eigen
+ expat
+ fftw
+ fftwf
+ hdf5
+ libjpeg-turbo
+ libpng
+ libtiff
+ mesa-opencl
+ perl
+ python
+ tbb
+ vxl-1
+ zlib))
+ (native-inputs
+ (list castxml
+ gcc-13
+ git-minimal
+ pkg-config
+ swig-next
+ which
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url (string-append
+ "https://github.com/KitwareMedical/"
+ "ITKMorphologicalContourInterpolation"))
+ (commit module-commit)))
+ (file-name module-file)
+ (sha256
+ (base32
+ "00myhgvlk3n062i8bnknz1d10zkv3jlvs7f4jnk24727gd4v2n4i")))))
- ;; The 'CMake/ITKSetStandardCompilerFlags.cmake' file normally sets
- ;; '-mtune=native -march=corei7', suggesting there's something to be
- ;; gained from CPU-specific optimizations.
- (properties '((tunable? . #t)))
+ ;; The 'CMake/ITKSetStandardCompilerFlags.cmake' file normally sets
+ ;; '-mtune=native -march=corei7', suggesting there's something to be
+ ;; gained from CPU-specific optimizations.
+ (properties '((tunable? . #t)))
- (home-page "https://github.com/InsightSoftwareConsortium/ITK/")
- (synopsis "Scientific image processing, segmentation and registration")
- (description "The Insight Toolkit (ITK) is a toolkit for N-dimensional
+ (home-page "https://github.com/InsightSoftwareConsortium/ITK/")
+ (synopsis "Scientific image processing, segmentation and registration")
+ (description
+ "The Insight Toolkit (ITK) is a toolkit for N-dimensional
scientific image processing, segmentation, and registration. Segmentation is
the process of identifying and classifying data found in a digitally sampled
representation. Typically the sampled representation is an image acquired
@@ -1348,178 +1430,165 @@ from such medical instrumentation as CT or MRI scanners. Registration is the
task of aligning or developing correspondences between data. For example, in
the medical environment, a CT scan may be aligned with a MRI scan in order to
combine the information contained in both.")
- (license license:asl2.0)))
+ (license license:asl2.0))))
-(define-public insight-toolkit-4
- (package (inherit insight-toolkit)
- (version "4.13.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/InsightSoftwareConsortium/ITK/"
- "releases/download/v" version "/InsightToolkit-"
- version ".tar.xz"))
- (sha256
- (base32 "19cgfpd63gqrvc3m27m394gy2d7w79g5y6lvznb5qqr49lihbgns"))))
- (outputs '("out"))
- (arguments
- (list #:tests? #f ; tests require network access and external data
- #:configure-flags #~'("-DITKV3_COMPATIBILITY=ON" ; needed for itk-snap
- "-DITK_USE_GPU=ON"
- "-DITK_USE_SYSTEM_LIBRARIES=ON"
- "-DITK_USE_SYSTEM_GOOGLETEST=ON"
- "-DITK_USE_SYSTEM_VXL=ON")))
- (native-inputs
- (list googletest pkg-config))))
-
-(define-public insight-toolkit-4.12
- (package (inherit insight-toolkit-4)
- (version "4.12.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/itk/itk/4.12/"
- "InsightToolkit-" version ".tar.xz"))
- (sha256
- (base32 "1qw9mxbh083siljygahl4gdfv91xvfd8hfl7ghwii19f60xrvn2w"))))
- (arguments
- (substitute-keyword-arguments (package-arguments insight-toolkit-4)
- ((#:configure-flags cf #~'())
- ;; error: ISO C++17 does not allow dynamic exception specifications
- #~(cons* "-DCMAKE_CXX_FLAGS=-std=c++14" #$cf))))))
+;; Provide variant of insight-toolkit (ITK) built with ITK_LEGACY_REMOVE=OFF.
+;; ITK-SNAP version 4.2.2 and 4.4.0-alpha3 require ITK >= 5.4 and for ITK to
+;; be built this way. Note that enabling Python wrapping forces this option
+;; to ON, so Python wrapping is not enabled for this build.
+(define insight-toolkit-legacy
+ (hidden-package
+ (package/inherit insight-toolkit
+ ;; Unfortunately we cannot remove the 'python output because it is
+ ;; referenced in #:configure-flags below.
+ (name "insight-toolkit-legacy")
+ (arguments
+ (substitute-keyword-arguments (package-arguments insight-toolkit)
+ ((#:configure-flags cf '())
+ #~(filter (lambda (flag)
+ (not (or
+ ;; Remove these flags to restore the default
+ ;; ITK_LEGACY_REMOVE=OFF.
+ (string=? "-DITK_WRAPPING=ON" flag)
+ (string=? "-DITK_WRAP_PYTHON=ON" flag)
+ ;; These flags are now unused.
+ (string-prefix? "-DPY_SITE_PACKAGES_PATH=" flag)
+ (string-prefix? "-DITK_USE_PYTHON_LIMITED_API=" flag)
+ (string-prefix? "-DITK_USE_SYSTEM_CASTXML=" flag)
+ (string-prefix? "-DITK_USE_SYSTEM_SWIG=" flag))))
+ #$cf))))
+ (inputs (modify-inputs (package-inputs insight-toolkit)
+ (delete "python")))
+ (native-inputs (modify-inputs (package-native-inputs insight-toolkit)
+ (delete "castxml")
+ (delete "swig"))))))
(define-public itk-snap
+ ;; The latest release, 4.2.2, segmentation faults on startup.
+ ;; The commit is version 4.4.0-alpha3.
+ (let ((commit "65251254d44d68a6c0530984169784e35de020dd")
+ (revision "0"))
(package
(name "itk-snap")
- (version "3.8.0")
+ (version (git-version "4.2.2" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://git.code.sf.net/p/itk-snap/src")
- (commit (string-append "v" version))))
+ (url "https://github.com/pyushkevich/itksnap")
+ (commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "15i5ixpryfrbf3vrrb5rici8fb585f25k0v1ljds16bp1f1msr4q"))
- (patches (search-patches "itk-snap-alt-glibc-compat.patch"))))
+ (base32 "07dgcfklc55yj3ldcq6fc5fil8qfrv7z6c3xhbd293kz7kpjr4yc"))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags
- (list "-DSNAP_VERSION_GIT_SHA1=release"
- "-DSNAP_VERSION_GIT_BRANCH=release"
- "-DSNAP_VERSION_GIT_TIMESTAMP=0"
- "-DSNAP_PACKAGE_QT_PLUGINS=OFF"
- "-DCMAKE_POSITION_INDEPENDENT_CODE=ON"
- ;; ISO C++17 does not allow dynamic exception specifications.
- "-DCMAKE_CXX_STANDARD=14")
- #:phases
- (modify-phases %standard-phases
- ;; During the installation phase all libraries provided by all
- ;; dependencies will be copied to the lib directory. That's insane,
- ;; so we disable this.
- (add-after 'unpack 'do-not-copy-dependencies
- (lambda _
- (substitute* "CMakeLists.txt"
- (("install_qt5_executable\
+ (list
+ #:configure-flags
+ #~(list "-DSNAP_VERSION_GIT_BRANCH=release"
+ "-DSNAP_PACKAGE_QT_PLUGINS=OFF")
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; During the installation phase all libraries provided by all
+ ;; dependencies will be copied to the lib directory. That's insane,
+ ;; so we disable this.
+ (add-after 'unpack 'do-not-copy-dependencies
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("install_qt5_executable\
\\(\\$\\{SNAP_MAIN_INSTALL_DIR\\}/\\$\\{SNAP_EXE\\}\\)")
- ""))))
- (add-after 'unpack 'disable-gui-tests
- (lambda _
- ;; The GUI tests just time out.
- (substitute* "CMakeLists.txt"
- ((" (Workspace|DiffSpace|ProbeIntensity|RegionCompetition\
-|RandomForest|RandomForestBailOut)")
- ""))))
- (add-after 'unpack 'make-reproducible
- (lambda _
- (substitute* "CMakeLists.txt"
- (("TODAY\\(SNAP_VERSION_COMPILE_DATE\\)")
- "SET(SNAP_VERSION_COMPILE_DATE \"(removed for reproducibility)\")"))))
- (add-after 'unpack 'prepare-submodules
- (lambda* (#:key inputs #:allow-other-keys)
- (rmdir "Submodules/c3d")
- (copy-recursively (assoc-ref inputs "c3d-src")
- "Submodules/c3d")
- (substitute* '("Submodules/c3d/adapters/BiasFieldCorrectionN4.cxx"
- "Submodules/c3d/adapters/ApplyMetric.cxx")
- (("vcl_") "std::"))
- (rmdir "Submodules/greedy")
- (symlink (assoc-ref inputs "greedy-src")
- "Submodules/greedy")))
- (add-after 'unpack 'fix-includes
- (lambda _
- (substitute* "GUI/Model/RegistrationModel.cxx"
- (("<vnl_symmetric_eigensystem.h>")
- "<vnl/algo/vnl_symmetric_eigensystem.h>"))))
- (add-before 'check 'prepare-tests
- (lambda _
- ;; Needed by at least one test.
- (setenv "HOME" "/tmp")))
- (add-after 'install 'wrap-executable
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (wrap-program (string-append out "/bin/itksnap")
- `("QT_PLUGIN_PATH" ":" prefix
- ,(map (lambda (label)
- (string-append (assoc-ref inputs label)
- "/lib/qt5/plugins"))
- '("qtbase" "qtdeclarative"))))))))))
+ ""))))
+ (add-after 'unpack 'disable-gui-tests
+ (lambda _
+ ;; The GUI tests just segmentation fault.
+ (substitute* "CMakeLists.txt"
+ ((" (Workspace|DiffSpace|ProbeIntensity|RegionCompetition\
+|RandomForest|RandomForestBailOut|NaNs|4DContinuousRenderingD|EdgeAttraction\
+|EchoCartesianDicomLoading|LabelSmoothing|PreferencesDialog|MeshImport\
+|MeshWorkspace|SegmentationMesh|VolumeRendering|Reloading|4DToMC|MCTo4D\
+|DeformationGrid)")
+ ""))))
+ (add-after 'unpack 'make-reproducible
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("TODAY\\(SNAP_VERSION_COMPILE_DATE\\)")
+ "SET(SNAP_VERSION_COMPILE_DATE \"(removed for reproducibility)\")"))))
+ (add-after 'unpack 'prepare-submodules
+ (lambda _
+ (rmdir "Submodules/c3d")
+ (symlink #$(this-package-native-input "c3d-checkout")
+ "Submodules/c3d")
+ (rmdir "Submodules/digestible")
+ (symlink #$(this-package-native-input "digestible-checkout")
+ "Submodules/digestible")
+ (rmdir "Submodules/greedy")
+ (symlink #$(this-package-native-input "greedy-checkout")
+ "Submodules/greedy")))
+ (add-after 'unpack 'remove-bundled-jsoncpp
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ ((" Common/JSon/jsoncpp\\.cpp") ""))))
+ (add-before 'check 'prepare-tests
+ (lambda _
+ ;; Needed by at least one test.
+ (setenv "HOME" "/tmp")))
+ (add-after 'install 'wrap-executable
+ (lambda _
+ (wrap-program (string-append #$output "/bin/itksnap")
+ (list
+ "QT_PLUGIN_PATH"
+ 'suffix
+ (list (string-append #$(this-package-input "qtbase")
+ "/lib/qt6/plugins")
+ (string-append #$(this-package-input "qtdeclarative")
+ "/lib/qt6/plugins")))))))))
(inputs
- (list bash-minimal
- curl
- fftw
- fftwf
+ (list curl
+ freetype
+ glew
glu
- hdf5
+ insight-toolkit-legacy
+ jsoncpp
+ libssh
mesa-opencl
- ;; This package does not build with either insight-toolkit 5.0.0
- ;; and not with 4.13. It really needs to be 4.12.
- insight-toolkit-4.12
- vtk-7
- qtbase-5
- qtdeclarative-5
- vxl-1
- zlib))
+ qtbase
+ qtdeclarative
+ vtk))
(native-inputs
- `(("googletest" ,googletest)
- ("qttools-5" ,qttools-5)
- ("pkg-config" ,pkg-config)
- ("c3d-src"
- ,(let* ((commit "f521358db26e00002c911cc47bf463b043942ad3")
- (revision "1")
- (version (git-version "0" revision commit)))
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/pyushkevich/c3d")
- (commit commit)))
- (file-name (git-file-name "c3d" version))
- (sha256
- (base32
- "0kyv3rxrxwr8c3sa9zv01lsnhk95b27gx1s870k3yi8qp52h7bx3")))))
- ;; We are using an arbitrary commit from 2017 because the latest
- ;; version breaks the build...
- ("greedy-src"
- ,(let* ((commit "97e340f7e8e66597599144947775e6039e79a0d3")
- (revision "1")
- (version (git-version "0" revision commit)))
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/pyushkevich/greedy")
- (commit commit)))
- (file-name (git-file-name "greedy" version))
- (sha256
- (base32
- "0k5bc9za4jrc8z9dj08z1rkcp5xf0gnd1d2jmi1w9ny4vxh2q2ab")))))))
+ (list
+ doxygen
+ ;; Use the submodule commits in this version of ITK-SNAP.
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pyushkevich/c3d")
+ (commit "a86a2a32db8635c1535522332fee68bc56eacaa2")))
+ (file-name "c3d-checkout")
+ (sha256
+ (base32 "0da3ikx7pqlrmvhkmzil269j6kyd84pphy1mls8v69gmzl89piis")))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pyushkevich/digestible")
+ (commit "1b66709e99c43d280bb472e1a0e36185ef2ea412")))
+ (file-name "digestible-checkout")
+ (sha256
+ (base32 "1m1b954prq6l3byfdgxw2y17xsg81agd516g5n6ps60dqnxw8hqs")))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pyushkevich/greedy")
+ (commit "f10152c5374da08ee024c4c60ef8882876bd0808")))
+ (file-name "greedy-checkout")
+ (sha256
+ (base32 "0xk1l0h4wis4nkfwjnvh624bdlhy7l26djibk4l00wzv0vvq21qv")))))
(home-page "https://sourceforge.net/p/itk-snap/")
(synopsis "Medical image segmentation")
(description "ITK-SNAP is a tool for segmenting anatomical structures in
medical images. It provides an automatic active contour segmentation
pipeline, along with supporting a manual segmentation toolbox. ITK-SNAP has a
full-featured UI aimed at clinical researchers.")
- ;; This includes the submodules greedy and c3d.
- (license license:gpl3+)))
+ ;; This includes the submodules greedy, c3d and digestible.
+ (license license:gpl3+))))
(define-public metapixel
;; Follow stable branch.
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index 21b81617e6..3e1c30b8d7 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -342,15 +342,15 @@ collection. Geeqie was initially based on GQview.")
(define-public gpicview
(package
(name "gpicview")
- (version "0.2.5")
+ (version "0.3.1")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/lxde/"
- "GPicView%20%28image%20Viewer%29/0.2.x/"
- name "-" version ".tar.xz"))
+ (uri (string-append
+ "https://github.com/lxde/releases/raw/refs/heads/master/releases/"
+ name "-" version ".tar.xz"))
(sha256
(base32
- "0hi9v0rdx47nys0wvm9xasdrafa34r5kq6crb074a0ipwmc60iiq"))))
+ "0k7anzzaarzi4dmp4g4hrvy3wmzs2whqkrw6gisq2bnb0gl5dj0b"))))
(build-system gnu-build-system)
(arguments (list #:configure-flags #~(list "--enable-gtk3")))
(inputs (list gtk+ libjpeg-turbo))
@@ -822,6 +822,9 @@ Poppler-Qt5 binding, PDF documents.")
(list
#:qtbase qtbase
#:tests? #f ; test code doesn't compile
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
@@ -836,7 +839,9 @@ Poppler-Qt5 binding, PDF documents.")
(lambda _
(substitute* "src/qvaboutdialog.cpp"
(("qvApp->checkUpdates\\(\\);") "")
- (("updateText\\(\\);") "")))))))
+ (("updateText\\(\\);") ""))))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'install (assoc-ref gnu:%standard-phases 'install)))))
(native-inputs
(list qttools))
(inputs
@@ -1292,7 +1297,6 @@ any user may run. Everything is free and privacy is the first concern.")
(build-system cmake-build-system)
(arguments
(list #:tests? #f ; no tests.
- #:cmake cmake-next
#:configure-flags
#~ (list "-DMARCH_NATIVE=OFF"
"-DCMAKE_BUILD_TYPE=Release"
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 1598d33046..33e8b32c10 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -1036,7 +1036,6 @@ test suite, including conformance tests (following Rec. ITU-T T.803 | ISO/IEC
(list
"-DBUILD_STATIC_LIBS=OFF"
"-DBUILD_UNIT_TESTS=ON"
- "-DBUILD_TESTING=ON"
(string-append "-DOPJ_DATA_ROOT="
(assoc-ref %build-inputs "openjpeg-data")))
#:phases
@@ -1461,7 +1460,6 @@ from Lisp and S-expressions, building pixel perfect badges.")
(native-inputs (list doxygen python-nose python-sphinx))
(arguments
(list
- #:test-target "check"
#:configure-flags
#~(list "-Wno-dev" ;suppress developer mode with lots of warnings
(string-append
@@ -1477,7 +1475,11 @@ from Lisp and S-expressions, building pixel perfect badges.")
;; needs to be set.
(string-append "-DCMAKE_CXX_FLAGS=-I"
(assoc-ref %build-inputs "ilmbase")
- "/include/OpenEXR" " -ffloat-store"))))
+ "/include/OpenEXR" " -ffloat-store")
+ ;; Tests are not built by default.
+ "-DAUTOBUILD_TESTS=ON"
+ ;; Disable running tests during the build.
+ "-DAUTOEXEC_TESTS=OFF")))
(synopsis "Computer vision library")
(description
"VIGRA stands for Vision with Generic Algorithms. It is an image
@@ -1614,38 +1616,46 @@ channels.")
(base32 "1qm6bvj28l42km009nc60gffn1qhngc0m2wjlhf90si3mcc8d99m"))))
(build-system cmake-build-system)
(arguments
- `(#:test-target "tests"
- #:configure-flags (list "-DEXIV2_BUILD_UNIT_TESTS=ON"
- ;; darktable needs BMFF to support
- ;; CR3 files.
- "-DEXIV2_ENABLE_BMFF=ON")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-gcc-reference
- (lambda _
- ;; _GLIBCXX_ASSERTIONS brings reference to GCC.
- (substitute* "cmake/compilerFlags.cmake"
- (("add_compile_options[(]-Wp,-D_GLIBCXX_ASSERTIONS[)]")
- ""))))
- (add-after 'install 'delete-static-libraries
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (lib (string-append out "/lib")))
- (for-each delete-file (find-files lib "\\.a$")))))
+ (list
+ #:configure-flags
+ #~(list "-DEXIV2_BUILD_UNIT_TESTS=ON"
+ ;; darktable needs BMFF to support
+ ;; CR3 files.
+ "-DEXIV2_ENABLE_BMFF=ON")
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-gcc-reference
+ (lambda _
+ ;; _GLIBCXX_ASSERTIONS brings reference to GCC.
+ (substitute* "cmake/compilerFlags.cmake"
+ (("add_compile_options[(]-Wp,-D_GLIBCXX_ASSERTIONS[)]")
+ ""))))
+ (add-after 'install 'delete-static-libraries
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib")))
+ (for-each delete-file (find-files lib "\\.a$")))))
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "tests" args)))
- ,@(if (or (target-ppc64le?)
- (target-aarch64?)
- (target-riscv64?))
- '((add-after 'unpack 'adjust-tests
- (lambda _
- ;; Adjust test on ppc64 and aarch64, where no exception
- ;; is raised and thus the return value is different. See
- ;; <https://github.com/Exiv2/exiv2/issues/365> and
- ;; <https://github.com/Exiv2/exiv2/issues/933>.
- (substitute* "tests/bugfixes/github/test_CVE_2018_12265.py"
- (("\\$uncaught_exception \\$addition_overflow_message\n") "")
- (("retval = \\[1\\]") "retval = [0]")))))
- '()))))
+ #$@(if (or (target-ppc64le?)
+ (target-aarch64?)
+ (target-riscv64?))
+ '((add-after 'unpack 'adjust-tests
+ (lambda _
+ ;; Adjust test on ppc64 and aarch64, where no exception
+ ;; is raised and thus the return value is different. See
+ ;; <https://github.com/Exiv2/exiv2/issues/365> and
+ ;; <https://github.com/Exiv2/exiv2/issues/933>.
+ (substitute* "tests/bugfixes/github/test_CVE_2018_12265.py"
+ (("\\$uncaught_exception \\$addition_overflow_message\n") "")
+ (("retval = \\[1\\]") "retval = [0]")))))
+ '()))))
(propagated-inputs
(list expat zlib))
(native-inputs
diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm
index c75c4822b3..e3acf3fd71 100644
--- a/gnu/packages/inkscape.scm
+++ b/gnu/packages/inkscape.scm
@@ -160,7 +160,6 @@ endif()~%~%"
(build-system cmake-build-system)
(arguments
(list
- #:test-target "check" ;otherwise some test binaries are missing
#:disallowed-references (list imagemagick/stable)
#:imported-modules `(,@%cmake-build-system-modules
(guix build glib-or-gtk-build-system))
@@ -260,7 +259,7 @@ endif()~%~%"
'()))))
(invoke "make" "-j" job-count "tests")
(invoke "ctest" "-j" job-count
- "--output-on-error"
+ "--output-on-failure"
"-E" (string-append
"(" (string-join skipped-tests "|") ")"))))))
(add-after 'install 'glib-or-gtk-compile-schemas
@@ -358,6 +357,8 @@ as the native format.")
(build-system cmake-build-system)
(arguments
(substitute-keyword-arguments (package-arguments inkscape/pinned)
+ ((#:modules modules)
+ (append '(((guix build gnu-build-system) #:prefix gnu:)) modules))
((#:configure-flags flags ''())
;; Enable ImageMagick support.
#~(delete "-DWITH_IMAGE_MAGICK=OFF" #$flags))
@@ -371,11 +372,9 @@ as the native format.")
#$%inkscape-release-year)))))
#$@(if (target-x86-32?)
#~() ;XXX: there are remaining failures on i686
- #~((replace 'check
- ;; Re-instate the tests disabled in inkscape/pinned, now that
- ;; their ImageMagick requirement is satisfied.
- (assoc-ref %standard-phases 'check))))
-
+ ;; Re-instate the tests disabled in inkscape/pinned, now that
+ ;; their ImageMagick requirement is satisfied.
+ #~((replace 'check (assoc-ref gnu:%standard-phases 'check))))
(replace 'wrap-program
;; Ensure Python is available at runtime.
(lambda _
diff --git a/gnu/packages/instrumentation.scm b/gnu/packages/instrumentation.scm
index 81bbd5118e..be6373225e 100644
--- a/gnu/packages/instrumentation.scm
+++ b/gnu/packages/instrumentation.scm
@@ -698,7 +698,14 @@ bundled with python-3 and luajit that you can delete in a package variant.")
(base32
"1p4nqsq689hr2srdvg59v9yfig2aaq9psdy6fhwnya0vszssyvn5"))))
(build-system cmake-build-system)
- (arguments `(#:test-target "check"))
+ (arguments
+ (list
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check (assoc-ref gnu:%standard-phases 'check)))))
(native-inputs (list boost python-pytest))
(home-page "https://github.com/eepp/yactfr")
(synopsis "CTF reading library offering a C++14 API")
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index ae9acefcbe..0675213c26 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -293,8 +293,7 @@ setting @env{LUA_PATH} and @env{LUA_CPATH} in glirc's run-time environment.")
(arguments
;; The three binaries are not mutually exlusive, and are all built
;; by default.
- '(#:configure-flags '("-DBUILD_TESTING=ON"
- ;;"-DWANT_QTCLIENT=OFF"
+ '(#:configure-flags '(;;"-DWANT_QTCLIENT=OFF"
;;"-DWANT_CORE=OFF"
;;"-DWANT_MONO=OFF"
"-DWITH_KDE=OFF"
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 327272170c..989477c263 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -251,7 +251,6 @@ QSortFilterProxyModel conveniently exposed for QML.")
#:qtbase qtbase
#:configure-flags
#~(list "-DWITH_DAEMON_SUBMODULE=OFF"
- "-DBUILD_TESTING=ON"
(string-append "-DBUILD_VERSION=" #$version)
;; Disable the webengine since it grows the closure size by
;; about 450 MiB and requires more resources.
diff --git a/gnu/packages/jupyter.scm b/gnu/packages/jupyter.scm
index 5450a4fd9a..975366598f 100644
--- a/gnu/packages/jupyter.scm
+++ b/gnu/packages/jupyter.scm
@@ -515,9 +515,9 @@ extensions.")
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
- '(#:configure-flags '("-DBUILD_STATIC_LIBS=OFF"
- "-DDISABLE_ARCH_NATIVE=ON" ;no '-march=native'
- "-DBUILD_TESTING=ON")))
+ '(#:tests? #f
+ #:configure-flags '("-DBUILD_STATIC_LIBS=OFF"
+ "-DDISABLE_ARCH_NATIVE=ON"))) ;no '-march=native'
(native-inputs
(list pkg-config
;; The following inputs are used by the test suite.
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 2fa093b575..f8e80851f2 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -244,6 +244,31 @@ continuous display of high-volume data.")
(inputs (list qtbase-5 qtdeclarative-5 qtquickcontrols2-5
xorg-server-for-tests))))
+(define-public kquickimageeditor
+ (package
+ (name "kquickimageeditor")
+ (version "0.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/" name "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32 "0acv6cis7gjpnzpnlxfrf6rzhwyqdm234p6r7vx7gl7ad3rp30ph"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
+ (native-inputs
+ (list extra-cmake-modules))
+ (inputs
+ (list qtdeclarative))
+ (home-page "https://invent.kde.org/libraries/kquickimageeditor/")
+ (synopsis "QtQuick components for image editing")
+ (description "KQuickImageEditor is a set of QtQuick components providing
+image editing capabilities.")
+ (license license:lgpl2.1+)))
+
(define-public phonon
(package
(name "phonon")
@@ -293,7 +318,8 @@ continuous display of high-volume data.")
gst-plugins-base
libxml2))
(arguments
- `(#:configure-flags
+ `(#:tests? #f
+ #:configure-flags
'( "-DPHONON_BUILD_PHONON4QT5=ON")))
(home-page "https://community.kde.org/Phonon")
(synopsis "Phonon backend which uses GStreamer")
@@ -317,7 +343,8 @@ Phonon-GStreamer is a backend based on the GStreamer multimedia library.")
"19f9wzff4nr36ryq18i6qvsq5kqxfkpqsmsvrarr8jqy8pf7k11k"))))
(build-system cmake-build-system)
(arguments
- (list #:configure-flags
+ (list #:tests? #f
+ #:configure-flags
#~(list "-DPHONON_BUILD_QT5=OFF"
"-DPHONON_BUILD_QT6=ON")))
(native-inputs
@@ -803,15 +830,15 @@ propagate their changes to their respective configuration files.")
(list qtdeclarative-5))
(propagated-inputs '())
(arguments
- (list #:phases
+ (list #:test-exclude "(kconfigcore-kconfigtest|\
+kconfiggui-kstandardshortcutwatchertest)"
+ #:phases
#~(modify-phases %standard-phases
- (replace 'check
+ (add-before 'check 'pre-check
(lambda* (#:key tests? #:allow-other-keys)
(when tests? ;; kconfigcore-kconfigtest fails inconsistently!!
(setenv "HOME" (getcwd))
- (setenv "QT_QPA_PLATFORM" "offscreen")
- (invoke "ctest" "-E" "(kconfigcore-kconfigtest|\
-kconfiggui-kstandardshortcutwatchertest)")))))))))
+ (setenv "QT_QPA_PLATFORM" "offscreen")))))))))
(define-public kcoreaddons
(package
@@ -999,6 +1026,7 @@ as well as an API to create KDED modules.")
(inputs
(list avahi ; alternatively dnssd could be used
qtbase))
+ (arguments (list #:tests? #f))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Network service discovery using Zeroconf")
(description "KDNSSD is a library for handling the DNS-based Service
@@ -1050,6 +1078,7 @@ infrastructure.")
qt5compat))
(native-inputs
(list pkg-config extra-cmake-modules kdoctools))
+ (arguments (list #:tests? #f))
(home-page "https://apps.kde.org/kgraphviewer/")
(synopsis "Graphviz dot graph viewer for KDE")
(description "KGraphViewer is a Graphviz DOT graph file viewer, aimed to
@@ -1206,6 +1235,7 @@ translation scripting.")
(sha256
(base32 "1p766vi3xg07691dpac5wc4a1ynwnyb6iacv1q73j1ymrpvx65zf"))))
(build-system cmake-build-system)
+ (arguments (list #:tests? #f))
(native-inputs
(list extra-cmake-modules pkg-config
;; for wayland-scanner
@@ -1259,6 +1289,13 @@ or user activity.")
(base32
"0ac3k26xbl6kvchr9j8dmk51valwrbvim19729rypi7vp2ss2nnx"))))
(build-system cmake-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'set-offscreen-display
+ (lambda _
+ (setenv "QT_QPA_PLATFORM" "offscreen"))))))
(native-inputs
(list extra-cmake-modules qttools))
(inputs
@@ -1289,6 +1326,9 @@ of applications that follow the Kirigami Human Interface Guidelines.")
(sha256
(base32
"1q69b1qd2qs9hpwgw0y0ig93ag41l50dghribsnqhi0c9aklsn4b"))))
+ (arguments
+ ;; Tests require an OpenGL context
+ (list #:tests? #f))
(native-inputs
(list extra-cmake-modules qttools-5))
(inputs
@@ -1587,7 +1627,8 @@ protocols used in KDE Plasma.")
wayland
wayland-protocols))
(arguments
- (list #:qtbase qtbase))
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://invent.kde.org/plasma/kwayland")
(synopsis "Qt-style API to interact with the wayland client and server")
(description "As the names suggest they implement a Client respectively a
@@ -2162,7 +2203,8 @@ uses a job-based interface to queue tasks and execute them in an efficient way."
(list pkg-config extra-cmake-modules))
(inputs
(list libraw qtbase))
- (arguments (list #:configure-flags
+ (arguments (list #:tests? #f
+ #:configure-flags
#~(list #$(string-append
"-DQT_MAJOR_VERSION="
(version-major
@@ -2220,6 +2262,7 @@ decode RAW picture files.")
kxmlgui-5
qtdeclarative-5
solid-5))
+ (arguments (list #:tests? #f))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Core components for the KDE Activity concept")
(description "KActivities provides the infrastructure needed to manage a
@@ -2761,6 +2804,7 @@ formats.")
(list extra-cmake-modules qttools))
(inputs
(list libxkbcommon kcoreaddons knotifications kwidgetsaddons qtbase))
+ (arguments (list #:tests? #f))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Widgets for showing progress of asynchronous jobs")
(description "KJobWIdgets provides widgets for showing progress of
@@ -2800,6 +2844,7 @@ asynchronous jobs.")
(base32
"1pgrd42wgd6ffy52mfs9ii1l87lvx772w4blr05p03z898fjzcfj"))))
(build-system cmake-build-system)
+ (arguments (list #:tests? #f))
(native-inputs
(list extra-cmake-modules pkg-config qttools))
(propagated-inputs (list qtdeclarative))
@@ -3142,7 +3187,10 @@ maintaining an index of the contents of your files.")
kwindowsystem
qtdeclarative
solid))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list
+ #:tests? #f
+ #:qtbase qtbase))
(home-page "https://invent.kde.org/plasma/plasma-activities")
(synopsis "Core components for the KDE Activity System")
(description "KActivities provides the infrastructure needed to manage a
@@ -3166,6 +3214,7 @@ with other frameworks.")
(base32
"0kcbnajlmn6rf298x493sv8bjqh5966jzl1fyl7y3j1xk3mx6jq1"))))
(build-system cmake-build-system)
+ (arguments (list #:tests? #f))
(native-inputs
(list extra-cmake-modules))
(inputs
@@ -3470,6 +3519,7 @@ their settings.")
kwidgetsaddons
qtshadertools
qtbase))
+ (arguments (list #:tests? #f))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Integration of QML and KDE work spaces")
(description "KDeclarative provides integration of QML and KDE work spaces.
@@ -3548,6 +3598,7 @@ that offer bindings to some of the Frameworks.")
(base32
"1f0zjd0gigfd6rqlvnyg6yz5fjdkcvkh3srw7044nhhc0wns8xbh"))))
(build-system cmake-build-system)
+ (arguments (list #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -3680,7 +3731,10 @@ emoticons coming from different providers.")
kwindowsystem
libxkbcommon
qtdeclarative))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list
+ #:tests? #f
+ #:qtbase qtbase))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Global desktop keyboard shortcuts")
(description "KGlobalAccel allows you to have global accelerators that are
@@ -3750,6 +3804,11 @@ window does not need focus for them to be activated.")
(arguments
(list #:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'enable-testing
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("if \\(BUILD_TESTING\\)" all)
+ (string-append all "\n enable_testing()")))))
(add-before 'check 'check-setup
(lambda* (#:key inputs #:allow-other-keys)
(setenv "HOME" (getcwd))
@@ -3823,6 +3882,7 @@ in applications using the KDE Frameworks.")
(build-system cmake-build-system)
(arguments
(list
+ #:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
@@ -4124,7 +4184,10 @@ KIO enabled infrastructure.")
qtdeclarative
syndication))
(arguments
- (list #:phases
+ (list ;; This failing test is run by the cmake-build-system phases but not
+ ;; by the gnu-build-system phases.
+ #:test-exclude "knewstuff-atticaprovidertest"
+ #:phases
#~(modify-phases %standard-phases
(add-before 'check 'check-setup
(lambda _ ; XDG_DATA_DIRS isn't set
@@ -4192,6 +4255,7 @@ specification.")
(base32
"1d1rz0p270fwx84870kj7nih40kkxnpl3963mf52zs0xzkmkk6xb"))))
(build-system cmake-build-system)
+ (arguments (list #:tests? #f))
(native-inputs
(list extra-cmake-modules))
(inputs
@@ -4501,6 +4565,7 @@ typed.")
(list kcrash kdbusaddons kdoctools ki18n qtbase qtdeclarative))
(arguments
(list
+ #:parallel-tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch
@@ -4594,7 +4659,10 @@ types or handled by application specific code.")
(base32
"16nynk0b1bmbi4fjyppfavnw1m6jkfwnpvsnm4zvrdfwwgg7yf7d"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list
+ #:qtbase qtbase
+ #:tests? #f))
(native-inputs (list extra-cmake-modules qttools))
(inputs (list kwindowsystem libxkbcommon))
(home-page "https://community.kde.org/Frameworks")
@@ -5187,8 +5255,7 @@ script engines.")
qtdeclarative
prison))
(arguments
- (list #:tests? #f ;; seem to require network; don't find QTQuick components
- #:configure-flags #~'("-DBUILD_TESTING=OFF"))) ; not run anyway
+ (list #:tests? #f)) ;; seem to require network; don't find QTQuick components
(home-page "https://community.kde.org/Frameworks")
(synopsis "Offers available actions for a specific purpose")
(description "This framework offers the possibility to create integrate
@@ -5226,9 +5293,7 @@ need.")
qtbase-5
qtdeclarative-5))
(arguments
- (list #:tests? #f ;; seem to require network; don't find QTQuick components
- ;; not run anyway
- #:configure-flags #~'("-DBUILD_TESTING=OFF")))))
+ (list #:tests? #f)))) ;; seem to require network; don't find QTQuick components
(define-public ktextaddons
(package
diff --git a/gnu/packages/kde-games.scm b/gnu/packages/kde-games.scm
index 4d1e659198..b645538a8d 100644
--- a/gnu/packages/kde-games.scm
+++ b/gnu/packages/kde-games.scm
@@ -56,7 +56,9 @@
(sha256
(base32 "0hdn2rvi1v6jzvidqq6db38axiah7cg1jsmj0bdlpfjzbffi8mjl"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools perl))
(inputs
@@ -142,7 +144,9 @@ This package is part of the KDE games module.")
(sha256
(base32 "0pbq1v84j8jl64p4lv60x1gss28181594vlhcpqyjadxwgy5n37m"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -193,6 +197,7 @@ This package is part of the KDE games module.")
(arguments
(list
#:qtbase qtbase
+ #:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-tileset-dir
@@ -252,7 +257,9 @@ other Mah Jongg like games.")
libkmahjongg
qtdeclarative
qtsvg))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://apps.kde.org/kmahjongg/")
(synopsis "Tile laying patience")
(description "In KMahjongg the tiles are scrambled and staked on top of
@@ -318,6 +325,7 @@ This package is part of the KDE games module.")
(arguments
(list
#:qtbase qtbase
+ #:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
@@ -387,7 +395,9 @@ This package is part of the KDE games module.")
(sha256
(base32 "00qbyv7awf70dxid2m71izsl39mfvjgzrfqdpfgkgisfvrwwnw90"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -425,7 +435,9 @@ This package is part of the KDE games module.")
(sha256
(base32 "0qw460yp5g1ca21dl72mkdl7fidcbzs8ajvdsqyylrslh4aafxjq"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -463,7 +475,9 @@ This package is part of the KDE games module.")
(sha256
(base32 "1ks4x320q6di0f8w8r9bnayhmn11cnfqw86jx63a74vgkn4878w6"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -503,7 +517,9 @@ This package is part of the KDE games module.")
(sha256
(base32 "1kdrwn4i24kn9r3ardz92m2c2lfh2fla6x62g8wd8j30sd4q2i8j"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -583,7 +599,9 @@ This package is part of the KDE games module.")
(sha256
(base32 "0mhc56s59l2hqdb27jypdgd82l2li2lil9a7kb4zg8x245c42jhk"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -644,7 +662,9 @@ This package is part of the KDE games module.")
(sha256
(base32 "0xqddz0xzyn2j578v2clqsnqmqbf83787wkv54kpzdz3v6nbdswk"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -688,7 +708,9 @@ This package is part of the KDE games module.")
(sha256
(base32 "07mz92k9ggdfrl3hnpwg6xl70mjaklwrp26a282n1j66arawmkjv"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -730,7 +752,9 @@ This package is part of the KDE games module.")
(sha256
(base32 "1a2fgdfckmsz3ycrlbiddfd2vfhlhx8zn47zg5f2ic00jpp8wch4"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -769,7 +793,9 @@ This package is part of the KDE games module.")
(sha256
(base32 "05cddjavbhdn4bwmg6ik2q0y0vjl1pn2nrlpkivsn97m1aka57hl"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -809,7 +835,9 @@ This package is part of the KDE games module.")
(sha256
(base32 "1bj181is31hci056qxvf0wcqzggxxlszn65npm16038wa3bh95lw"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -904,7 +932,9 @@ This package is part of the KDE games module.")
kxmlgui
libkdegames
qtdeclarative))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://apps.kde.org/bomber/")
(synopsis "Arcade bombing game")
(description "Bomber is a single player arcade game.
@@ -950,7 +980,9 @@ This package is part of the KDE games module.")
libkdegames
qtdeclarative
qtsvg))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://apps.kde.org/granatier/")
(synopsis "Bomberman clone")
(description "Granatier is a clone of the classic Bomberman game,
@@ -990,7 +1022,9 @@ This package is part of the KDE games module.")
qtmultimedia
qtsvg
zlib))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://apps.kde.org/ksirk/")
(synopsis "Computerized version of the well known strategy board game
'Risk'")
@@ -1051,7 +1085,9 @@ This package is part of the KDE games module.")
qtdeclarative
qtsvg
shared-mime-info))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://apps.kde.org/palapeli/")
(synopsis "Jigsaw puzzle game")
(description "Palapeli is a jigsaw puzzle game. Unlike other games in
@@ -1090,7 +1126,9 @@ This package is part of the KDE games module.")
kxmlgui
libkdegames
qtdeclarative))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://apps.kde.org/kiriki/")
(synopsis "Yahtzee dice game")
(description "Kiriki is an addictive and fun dice game, designed to be
@@ -1117,6 +1155,7 @@ This package is part of the KDE games module.")
(arguments
(list
#:qtbase qtbase
+ #:tests? #f
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-gnugo-command
(lambda* (#:key inputs #:allow-other-keys)
@@ -1186,7 +1225,9 @@ This package is part of the KDE games module.")
qtbase
qtdeclarative
qtsvg))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://apps.kde.org/kubrick/")
(synopsis "Game based on Rubik's Cube")
(description "Kubrick is a game based on the Rubik's Cube puzzle.
@@ -1228,7 +1269,9 @@ This package is part of the KDE games module.")
libkdegames
qtdeclarative
qtsvg))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://apps.kde.org/lskat/")
(synopsis "Lieutnant Skat card game")
(description "Lieutnant Skat (from German \"Offiziersskat\") is a fun and
@@ -1267,7 +1310,9 @@ This package is part of the KDE games module.")
libkdegames
qtdeclarative
qtsvg))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://apps.kde.org/kapman/")
(synopsis "Pac-Man clone")
(description "Kapman is a clone of the well known game Pac-Man.
@@ -1306,7 +1351,9 @@ This package is part of the KDE games module.")
libkdegames
qtdeclarative
qtsvg))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://apps.kde.org/kspaceduel/")
(synopsis "Two player game with shooting spaceships flying around a sun")
(description "KSpaceduel is a space battle game for one or two players,
@@ -1340,7 +1387,9 @@ This package is part of the KDE games module.")
libkdegames
qtdeclarative
qtsvg))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://apps.kde.org/bovo/")
(synopsis "Classic pen and paper game: five in a line")
(description "Bovo is a Gomoku (from Japanese 五目並べ - lit. \"five
@@ -1364,7 +1413,9 @@ This package is part of the KDE games module.")
(sha256
(base32 "1h1j3n2wy641gp53m2rb8zbsn93ciprivfi718bcvwvr2k41ncga"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -1406,7 +1457,9 @@ This package is part of the KDE games module.")
(sha256
(base32 "0v7rh6zlf742gz6y8w440ap9zirv2yvmdybhz3qiwbxag5qvr5r0"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -1445,7 +1498,9 @@ This package is part of the KDE games module.")
(sha256
(base32 "0hh85zl2wid190bgp542msigjyvdwfgvzvfcl22sx15ydnp6v6ma"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -1483,7 +1538,9 @@ This package is part of the KDE games module.")
(sha256
(base32 "0dammn0a2z5valmbr3c85y6rsxh2isixl72wvfj6zvvp2s5lvsi1"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -1523,7 +1580,9 @@ This package is part of the KDE games module.")
(sha256
(base32 "01chrif9f73nxx4fdmipi3yl2r8dzi5wsgksrc6kqj12j6gpdpjy"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -1565,7 +1624,9 @@ This package is part of the KDE games module.")
(sha256
(base32 "0p1nc34n93mzdxih6799j25fic95mha311rifnghk9mlc6fw416n"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -1601,7 +1662,9 @@ This package is part of the KDE games module.")
(sha256
(base32 "058sbbx73kbm2ils6ay0g3n9q05lid8aixl81i0246cgi2kvwvwy"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -1640,7 +1703,8 @@ This package is part of the KDE games module.")
(base32 "0yrrbmiv9blpafwpa24w4farv76rqghqnrr6r01kkxrikcav9j0y"))))
(build-system qt-build-system)
(arguments
- (list #:qtbase qtbase))
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
diff --git a/gnu/packages/kde-internet.scm b/gnu/packages/kde-internet.scm
index c9eff787e3..b39bd77f6b 100644
--- a/gnu/packages/kde-internet.scm
+++ b/gnu/packages/kde-internet.scm
@@ -31,18 +31,22 @@
#:use-module (gnu packages)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages crypto)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages kde-pim)
#:use-module (gnu packages libidn)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages markup)
#:use-module (gnu packages messaging)
#:use-module (gnu packages mp3)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages rdesktop)
#:use-module (gnu packages serialization)
@@ -70,6 +74,8 @@
(sha256
(base32 "0zm4nkpmvd181xlkis7ydzx54p3vn0zgpdzgh54f1hsjy6ahsq16"))))
(build-system qt-build-system)
+ (arguments
+ (list #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools-5 pkg-config))
(inputs
@@ -328,6 +334,7 @@ Features are:
gnutls))
(arguments
(list #:configure-flags #~(list "-DQT_MAJOR_VERSION=6")
+ #:tests? #f
#:qtbase qtbase))
(home-page "https://apps.kde.org/krdc/")
(synopsis "Remote desktop client")
@@ -429,6 +436,115 @@ creation and downloaded data verification, magnet links, advanced peer
management, IP blocking lists.")
(license license:gpl2+)))
+(define-public kunifiedpush
+ (package
+ (name "kunifiedpush")
+ (version "25.04.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/release-service/"
+ version "/src/" name "-" version ".tar.xz"))
+ (sha256
+ (base32 "0hzhbn8rrlgkml47r6qqpcqg01az2za20kcsrasgmc5bf1cwclqw"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:qtbase qtbase
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "ctest" "-E" "connectortest")))))))
+ (native-inputs
+ (list extra-cmake-modules))
+ (inputs
+ (list kcmutils
+ kcoreaddons
+ ki18n
+ kservice
+ qtwebsockets))
+ (home-page "https://invent.kde.org/libraries/kunifiedpush")
+ (synopsis "UnifiedPush client components")
+ (description "KUnifiedPush is a @uref{https://unifiedpush.org/,
+UnifiedPush} client library and distributor daemon.")
+ (license license:lgpl2.0+)))
+
+(define-public neochat
+ (package
+ (name "neochat")
+ (version "25.04.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/release-service/"
+ version "/src/" name "-" version ".tar.xz"))
+ (sha256
+ (base32 "00kj66kij8vsmfhzr8cc6vz2bh7vi6w7r5aa0nrcpdgnxi7g30lg"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:qtbase qtbase
+ #:configure-flags
+ #~(list "-DSKIP_LICENSE_TESTS=ON")))
+ (native-inputs
+ (list extra-cmake-modules kdoctools pkg-config python-minimal))
+ (inputs
+ (list cmark
+ icu4c
+ kcolorscheme
+ kconfig
+ kcoreaddons
+ kcrash
+ kdbusaddons
+ ki18n
+ kiconthemes
+ kio
+ kirigami
+ kirigami-addons
+ kitemmodels
+ knotifications
+ kquickcharts
+ kquickimageeditor
+ kstatusnotifieritem
+ ksyntaxhighlighting
+ kunifiedpush
+ kwindowsystem
+ libqmatrixclient
+ olm
+ openssl
+ prison
+ purpose
+ qcoro-qt6
+ qqc2-desktop-style
+ qtkeychain-qt6
+ qtlocation
+ qtmultimedia
+ qtsvg
+ qtwayland
+ qtwebview
+ sonnet))
+ (home-page "https://apps.kde.org/neochat/")
+ (synopsis "Matrix client for KDE")
+ (description "Neochat is an instant messaging application using the Matrix
+protocol, supporting end-to-end encryption. Its features include:
+@itemize
+@item individual chats,
+@item rooms,
+@item spaces,
+@item stickers and emojis,
+@item spell checking,
+@item uploading auttachments,
+@item media playback,
+@item message URL previews,
+@item searching messages,
+@item showing unread message information,
+@item registering and configuring accounts,
+@item importing and exporting encryption keys,
+@item multiple accounts and
+@item notifications.
+@end itemize")
+ (license license:gpl3+)))
+
(define-public ruqola
(package
(name "ruqola")
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index 600a868238..1c3db87d95 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -87,7 +87,9 @@
libkcompactdisc
libvorbis
phonon))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://apps.kde.org/kio_audiocd/")
(synopsis "Transparent audio CD integration for applications using the KDE
Platform")
@@ -134,7 +136,9 @@ This package is part of the KDE multimedia module.")
phonon
phonon-backend-vlc
solid))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://apps.kde.org/dragonplayer/")
(synopsis "Simple video player")
(description "Dragon Player is a multimedia player where the focus is on
@@ -160,6 +164,7 @@ This package is part of the KDE multimedia module.")
(build-system qt-build-system)
(arguments
(list #:qtbase qtbase
+ #:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-yt-dlp-path
@@ -249,10 +254,10 @@ This package is part of the KDE multimedia module.")
(system "Xvfb :1 -screen 0 640x480x24 &")
(setenv "DISPLAY" ":1")))
(replace 'check
- (lambda* (#:key tests? test-target #:allow-other-keys)
+ (lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "CTEST_OUTPUT_ON_FAILURE" "1")
- (invoke "dbus-launch" "make" test-target)))))))
+ (invoke "dbus-launch" "make" "test")))))))
(home-page "https://apps.kde.org/elisa/")
(synopsis "Powerful music player for Plasma 5")
(description "Elisa is a simple music player aiming to provide a nice
@@ -280,6 +285,7 @@ its own database. You can build and play your own playlist.")
(inputs
(list ffmpeg kconfig ki18n kio taglib))
(arguments (list #:qtbase qtbase
+ #:tests? #f
#:configure-flags #~(list "-DQT_MAJOR_VERSION=6")))
(home-page "https://apps.kde.org/ffmpegthumbs/")
(synopsis "Video thumbnail generator for KDE using ffmpeg")
@@ -541,7 +547,8 @@ the available CD drives.")
v4l-utils ; libdvbv5
vlc))
(arguments
- (list #:phases
+ (list #:tests? #f
+ #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-code
(lambda _
@@ -647,7 +654,8 @@ camera. Use it to take pictures and make videos to share.")
vulkan-loader))
(arguments
(list
- #:qtbase qtbase))
+ #:qtbase qtbase
+ #:tests? #f))
(home-page "https://apps.kde.org/kasts/")
(synopsis "Convergent podcast client")
(description
@@ -847,6 +855,7 @@ Its features include:
solid))
(arguments (list
#:configure-flags #~(list "-DQT_MAJOR_VERSION=6")
+ #:tests? #f
#:qtbase qtbase))
(home-page "https://invent.kde.org/multimedia/libkcompactdisc")
(synopsis "KDE library for playing & ripping CDs")
diff --git a/gnu/packages/kde-office.scm b/gnu/packages/kde-office.scm
index ca0d6849cc..dc3241d7ec 100644
--- a/gnu/packages/kde-office.scm
+++ b/gnu/packages/kde-office.scm
@@ -67,8 +67,6 @@
(arguments
(list #:qtbase qtbase
;; XXX: 26/164 tests fail.
- #:configure-flags
- #~(list "-DBUILD_TESTING=OFF")
#:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools perl pkg-config))
@@ -166,8 +164,7 @@ Advanced plugins:
(arguments
(list #:qtbase qtbase
#:configure-flags
- #~(list "-DQT_MAJOR_VERSION=6"
- "-DBUILD_TESTING=ON")))
+ #~(list "-DQT_MAJOR_VERSION=6")))
(native-inputs
(list extra-cmake-modules kdoctools pkg-config qttools))
(inputs
diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm
index 3f713bb7c2..dcb1e8a4a3 100644
--- a/gnu/packages/kde-pim.scm
+++ b/gnu/packages/kde-pim.scm
@@ -395,7 +395,9 @@ Akonadi PIM data server. It uses Xapian for indexing and querying.")
(sha256
(base32 "1gv2jxy1xc6b70jax320rvk68qmgz1wpnrbx6wlxg1dmrafhby4d"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -616,7 +618,9 @@ information.")
breeze-icons ; default icon set, required for tests
prison
qgpgme-qt6))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://kontact.kde.org/components/kaddressbook/")
(synopsis "Address Book application to manage your contacts")
(description "KAddressBook stores all the personal details of your family,
@@ -648,7 +652,9 @@ CalDAV server.")
libaccounts-qt6
qcoro-qt6
signond-qt6))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://invent.kde.org/network/kaccounts-integration")
(synopsis "Online account management system")
(description "The Kaccounts Integration library provides online account
@@ -678,7 +684,9 @@ management system and its Plasma integration components.")
qtwebengine
qcoro-qt6
signond-qt6))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://invent.kde.org/network/kaccounts-providers")
(synopsis "Online account providers for the KAccounts system")
(description "This package provides online account providers for the
@@ -1873,7 +1881,9 @@ Features:
kwindowsystem
kxmlgui
libxkbcommon))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://api.kde.org/kdepim/kontactinterface/html/index.html")
(synopsis "Kontact interface library")
(description "This library provides the glue necessary for
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 7742a3ffbf..d1926c3426 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -112,7 +112,8 @@
(base32
"1fhgqxrqbm20liap57h35qq6wvh7x5r980r2ibv3k0k7naqp16sm"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs (list extra-cmake-modules pkg-config qttools))
(inputs (list kcoreaddons
kcmutils
@@ -167,6 +168,7 @@
kcolorscheme
qtsvg))
(arguments (list #:qtbase qtbase
+ #:tests? #f
#:configure-flags #~(list "-DBUILD_QT5=OFF")))
(home-page "https://invent.kde.org/plasma/breeze")
(synopsis "Default KDE Plasma theme")
@@ -188,7 +190,10 @@ the Plasma Desktop. Breeze is the default theme for the KDE Plasma desktop.")
kiconthemes-5
kpackage-5
kwindowsystem-5))
- (arguments (list #:configure-flags #~(list "-DBUILD_QT6=OFF")))))
+ (arguments
+ (list #:tests? #f
+ #:configure-flags
+ #~(list "-DBUILD_QT6=OFF")))))
(define-public breeze-gtk
(package
@@ -239,7 +244,8 @@ Breeze is the default theme for the KDE Plasma desktop.")
kpeople
qtdeclarative
qtsvg))
- (arguments (list #:qtbase qtbase))
+ (arguments (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://invent.kde.org/plasma-mobile/calindori")
(synopsis "Calendar for Plasma Mobile")
(description
@@ -413,7 +419,8 @@ games, and tools.")
(base32
"00kmx5zdfvg0w18hcc4wi1xqfi3n8x46664khf48mcl3gzjval2g"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs (list extra-cmake-modules))
(inputs (list boost
kcompletion
@@ -443,6 +450,7 @@ concept.")
"1g4c4p2ydm2xvfy8li8zk8ldy45xqaxbf47hmwx2w5ysidkg1g44"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase
+ #:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'hardcode-openssl
@@ -496,6 +504,7 @@ RDP server.")
(arguments
(list
#:qtbase qtbase
+ #:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-gsettings-schemas-path
@@ -662,7 +671,9 @@ KDE Frameworks 5 to better interact with the system.")
(base32
"1nsdkqnrhl20g6giaglk22vzh2zs1v5qjkhy8zq7z050xsqn2g7w"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs (list extra-cmake-modules kdoctools))
(inputs (list kauth
kcoreaddons
@@ -841,7 +852,8 @@ computer's hardware.")
(base32
"0plvzwp7p0l9sp6ga7xbszh6hm3bzdb1wyd3vbidlpjwkigd37by"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs (list extra-cmake-modules kdoctools))
(inputs (list kcrash
ki18n
@@ -890,7 +902,9 @@ computer's hardware.")
kiconthemes
qtdeclarative
qtsvg))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://apps.kde.org/kongress/")
(synopsis "Companion application for conferences")
(description "This application provides list of upcoming conferences with
@@ -989,7 +1003,9 @@ KDE Plasma Workspaces.")
(base32
"15ar4lx46y92hy3cirls17jya6w7hnvbpk4qx7nfqf6g2bdl2cvr"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -1098,7 +1114,9 @@ an elegant and intuitive experience for your tasks and plasmoids.")
(base32
"0ik3l9lqqh9s2574swv045zj1kk8fg33zsacd3bfzayk90zrh37q"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules pkg-config))
(inputs
@@ -1596,7 +1614,9 @@ conjunction with the KDE Plasma Desktop.")
(build-system qt-build-system)
(native-inputs (list extra-cmake-modules))
(inputs (list kcoreaddons ki18n kpty knotifications))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://invent.kde.org/plasma/kwrited")
(synopsis "System notification daemon")
(description
@@ -1627,7 +1647,8 @@ conjunction with the KDE Plasma Desktop.")
krunner
ksvg
qtdeclarative))
- (arguments (list #:qtbase qtbase))
+ (arguments (list #:qtbase qtbase
+ #:tests? #f))
(synopsis "Dedicated search application built on top of Baloo")
(description "This package provides a dedicated search application built
on top of Baloo.")
@@ -1648,7 +1669,8 @@ on top of Baloo.")
"1ipra7srk3xdq8b1jls46jkhbn1dcyadbl5gjm0lxqlivr49j87f"))))
(build-system qt-build-system)
(arguments
- (list #:qtbase qtbase))
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules))
(inputs (list qtdeclarative
@@ -1672,6 +1694,7 @@ on top of Baloo.")
(base32
"0r90hrwib31wfv0mj42vf19c13642vb79m152rgps590i89yrkj9"))))
(build-system cmake-build-system)
+ (arguments (list #:tests? #f))
(native-inputs (list extra-cmake-modules))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Sounds for the KDE desktop")
@@ -1691,6 +1714,7 @@ on top of Baloo.")
(base32
"1v51qhcr0swbajc0skwscp2h3m4qr337l8s145nmiv2scsn7sc86"))))
(build-system cmake-build-system)
+ (arguments (list #:tests? #f))
(native-inputs (list extra-cmake-modules))
(inputs (list qtbase))
(home-page "https://invent.kde.org/plasma/ocean-sound-theme")
@@ -1856,7 +1880,8 @@ KF5/Qt5 to KF6/Qt6")
(propagated-inputs
(list mpv))
(arguments
- (list #:qtbase qtbase))
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://invent.kde.org/libraries/mpvqt")
(synopsis "libmpv wrapper for QtQuick2 and QML")
(description "This package provides a libmpv wrapper for QtQuick2 and QML.")
@@ -2242,6 +2267,7 @@ integration of Qt applications when running on a KDE Plasma workspace.")
kwindowsystem
kwayland
ki18n))
+ (arguments (list #:tests? #f))
(home-page "https://plasma-mobile.org/")
(synopsis "Minimal Plasma Shell package")
(description
@@ -2356,6 +2382,7 @@ customizable platform for mobile devices.")
(base32
"1br6kzicrr45vgg0ciqczxlcid21n5lfjm6zc06rw86ys7fx7bpi"))))
(build-system cmake-build-system)
+ (arguments (list #:tests? #f))
(native-inputs (list extra-cmake-modules pkg-config))
(home-page "https://plasma-mobile.org/")
(synopsis "Sounds for Plasma Mobile devices")
@@ -2430,6 +2457,7 @@ PulseAudio.")
;; $QML_IMPORT_PATH.
(list kirigami libplasma qtdeclarative))
(arguments (list #:qtbase qtbase
+ #:tests? #f
#:configure-flags #~(list "-DQT_MAJOR_VERSION=6")))
(home-page "https://invent.kde.org/plasma/plasma-pass")
(synopsis "Plasma applet for the Pass password manager")
@@ -2450,7 +2478,8 @@ PulseAudio.")
(base32
"1f2z3djq8q2z90vrn18k5qbiw8crhs69c5qvdnzxmp3s3f63bk4l"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs (list extra-cmake-modules pkg-config))
(inputs (list kpeople
kirigami
@@ -2498,6 +2527,7 @@ adding, modifying and removing contacts.")
(arguments
(list
#:qtbase qtbase
+ #:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch
@@ -2558,7 +2588,9 @@ vaults.")
libksysguard
qqc2-desktop-style
qtdeclarative))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(synopsis "System sensors, process information and other system resources
monitor")
(description "This package provides an interface for monitoring system
@@ -2605,7 +2637,9 @@ sensors, process information and other system resources.")
libplasma
qtdeclarative
qtsvg))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(synopsis "Plasma welcome screen")
(description
"This package provides a wizard for Plasma to configure settings.")
@@ -2809,6 +2843,11 @@ deviceerrormonitor_p.cpp"
"shelltest"
"tasksmodeltest"
"tasktoolstest"
+
+ ;; Failure in TestDesktop::testRename:
+ ;; 'spyFileRenamed.count() >= 1' returned FALSE.
+ "testdesktop"
+
"testimagebackend"
"testimagefinder"
"testimagefrontend"
@@ -2850,6 +2889,7 @@ hardware management, and a high degree of customizability.")
(base32
"0jccrbpg0qdfys2gj789zfn0yilkwckd81d9nvpkppljv94p0gfa"))))
(build-system cmake-build-system)
+ (arguments (list #:tests? #f))
(native-inputs (list extra-cmake-modules))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Oxygen wallpapers for the KDE desktop")
@@ -2887,7 +2927,9 @@ hardware management, and a high degree of customizability.")
kwindowsystem
libplasma
qtdeclarative))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://invent.kde.org/plasma/print-manager")
(synopsis "Manage print jobs and printers")
(description
@@ -2906,7 +2948,8 @@ hardware management, and a high degree of customizability.")
(base32
"1ky4k1z24r6rbx3bg69w609nbdcnwzjpajm1xmhgr8li4khgd5x7"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs (list extra-cmake-modules))
(inputs (list ki18n
kwindowsystem
diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm
index 32c02874a9..f1b0001f0f 100644
--- a/gnu/packages/kde-systemtools.scm
+++ b/gnu/packages/kde-systemtools.scm
@@ -134,7 +134,9 @@ The main features of Dolphin are:
kxmlgui
breeze-icons ;; default icon set
qt5compat))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://www.kde.org/")
(synopsis "VCS-Plugins for Dolphin")
(description "This package contains plugins that offer integration in
@@ -253,6 +255,7 @@ This package is part of the KDE base applications module.")
(base32 "1m3f4lpzwbrbdmp9237186x4p0w2rk1cz4a7nin38c8ll9sgrfb2"))))
(build-system qt-build-system)
(arguments (list #:qtbase qtbase
+ #:tests? #f
#:configure-flags
#~(list (string-append "-DQtWaylandScanner_EXECUTABLE="
#$(this-package-native-input "qtwayland")
@@ -373,7 +376,9 @@ This package is part of the KDE administration module.")
kwallet
kwindowsystem
kxmlgui))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://apps.kde.org/kwalletmanager5/")
(synopsis "Tool to manage passwords on KWallet")
(description
@@ -397,11 +402,15 @@ This package is part of the KDE administration module.")
(arguments
(list #:qtbase qtbase
#:tests? #f ;no tests
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda _
(invoke "qmake" (string-append "PREFIX=" #$output))))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
(replace 'install
(lambda _
(install-file "spectacle-ocr-screenshot"
@@ -455,7 +464,9 @@ as well as QR codes.")
kwindowsystem
libxkbcommon
qtsvg))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://apps.kde.org/yakuake/")
(synopsis "Quad-style terminal emulator for KDE")
(description "Yakuake is a drop-down terminal emulator based on KDE Konsole
diff --git a/gnu/packages/kde-utils.scm b/gnu/packages/kde-utils.scm
index bc79975bef..4b1d067c28 100644
--- a/gnu/packages/kde-utils.scm
+++ b/gnu/packages/kde-utils.scm
@@ -150,6 +150,7 @@ well as CD-ROM images.")
(base32
"00jccpwvksyp2vr3fjxajs8d9d30rspg4zj6rnj8dai96alp303k"))))
(build-system qt-build-system)
+ (arguments (list #:tests? #f))
(native-inputs (list extra-cmake-modules pkg-config))
(inputs (list ki18n-5
kxmlgui-5
@@ -254,7 +255,8 @@ well as CD-ROM images.")
ksyntaxhighlighting
qtdeclarative
qtsvg))
- (arguments (list #:qtbase qtbase))
+ (arguments (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://invent.kde.org/utilities/fielding")
(synopsis "REST API testing tool")
(description
@@ -344,7 +346,8 @@ your computer.")
kcrash
solid
kwidgetsaddons))
- (arguments (list #:qtbase qtbase))
+ (arguments (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://invent.kde.org/utilities/isoimagewriter")
(synopsis "Write hybrid ISO files onto USB disks")
(description
@@ -364,7 +367,8 @@ your computer.")
"1448kiykab4lm2xkimapj11m7iqj6x7y2ly5mrw3c1092p56kvs2"))))
(build-system qt-build-system)
(arguments
- (list #:qtbase qtbase))
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -512,7 +516,8 @@ Kate's features include:
libarchive
shared-mime-info
qt5compat))
- (arguments (list #:qtbase qtbase))
+ (arguments (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://apps.kde.org/kbackup/")
(synopsis "Backup program with an easy-to-use interface")
(description
@@ -570,7 +575,9 @@ drive, USB stick, etc
(base32
"195lr8ik6w03kc6ma9zfz7ksg296rn48d1vryin087i9k783rrad"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs (list extra-cmake-modules))
(inputs (list kbookmarks kcoreaddons kcrash ki18n kwidgetsaddons kxmlgui))
(home-page "https://apps.kde.org/kcharselect/")
@@ -594,7 +601,8 @@ characters.")
(base32
"0ffnw3hc2xngxryiyanaid7nh51fymahg4jbqf3w684wrn1v6gan"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs (list extra-cmake-modules kdoctools))
(inputs (list ktextwidgets
knotifications
@@ -633,7 +641,8 @@ shell scripts.")
kio
kwidgetsaddons
kxmlgui))
- (arguments (list #:qtbase qtbase))
+ (arguments (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://invent.kde.org/utilities/keurocalc")
(synopsis "Currency conversion tool")
(description "This package provides a utility to handle currency
@@ -682,7 +691,8 @@ with support for QR scanning.")
(base32
"01dxajpx2959m3gk23cvjra1w7i70f49lvys3h034205dyi3qgnm"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs (list extra-cmake-modules kdoctools))
(inputs (list karchive
kcoreaddons
@@ -716,7 +726,8 @@ with support for QR scanning.")
"1gncfnwadh11ipynfcrsh1vnk2g02c7scd5wanphi8i95jzak9jd"))))
(build-system qt-build-system)
(arguments
- (list #:phases #~(modify-phases %standard-phases
+ (list #:tests? #f
+ #:phases #~(modify-phases %standard-phases
(add-after 'unpack 'fix-gstreamer
(lambda* _
(substitute* "CMakeLists.txt"
@@ -763,7 +774,8 @@ with support for QR scanning.")
(base32
"031jsvk060y9w0mh1ylq7cz9nzmikz7vm098nrb10m9bx2x4h13d"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs (list extra-cmake-modules kdoctools python-minimal))
(inputs (list kcrash
kirigami
@@ -799,6 +811,7 @@ combinations are distinct enough to be readable and accessible.")
(build-system qt-build-system)
(native-inputs (list extra-cmake-modules))
(inputs (list qtcharts-5 qtdeclarative-5 qtserialport-5))
+ (arguments (list #:tests? #f))
(home-page "https://invent.kde.org/libraries/atcore")
(synopsis "Library for connection and management of 3D printers")
(description
@@ -818,7 +831,9 @@ the computer and 3D Printers.")
(sha256
(base32 "0565x812jbq0j56750q03hmfai4fgdqjrxzw6k94c37ck0nvlfl5"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -867,7 +882,9 @@ artists to web-designers to people with low vision.")
libxt
phonon
qtmultimedia))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://apps.kde.org/kmousetool/")
(synopsis "Automatic mouse click and mouse manipulation tool for the
disabled")
@@ -903,7 +920,9 @@ whom pressing buttons hurts.")
kxmlgui
breeze-icons ;; default icon set
qtspeech))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://apps.kde.org/kmouth/")
(synopsis "Type-and-say frontend for speech synthesizers")
(description "KMouth is a program which enables persons that cannot speak
@@ -1027,7 +1046,8 @@ to save the times and resume them later.")
(base32 "012f75afp7vjpp7wps4lzvcszj6a5y9yzv21wgh9zikcvvx9pdy9"))))
(build-system qt-build-system)
(arguments
- (list #:qtbase qtbase))
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -1089,6 +1109,7 @@ great on your desktop.")
(list extra-cmake-modules kdoctools-5 pkg-config))
(inputs
(list ktexteditor-5 imagemagick qtbase-5 qtx11extras))
+ (arguments (list #:tests? #f))
(home-page "https://apps.kde.org/kxstitch/")
(synopsis "Create and print cross stitch patterns")
(description
@@ -1210,6 +1231,7 @@ remind you to take a break now and then.")
(build-system qt-build-system)
(arguments (list
#:qtbase qtbase
+ #:tests? #f
#:configure-flags #~(list "-DSMB4K_WITH_WS_DISCOVERY=ON")))
(native-inputs
(list extra-cmake-modules kdoctools))
@@ -1287,7 +1309,9 @@ Features:
(sha256
(base32 "0v7hwz6xnp52fysbmqwrhjjcsr96bmw0a70n2kr2bq1hhh0zvf3h"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 3e96f343db..4fccab09ef 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -379,8 +379,7 @@ annotating features.")
;; fails with an unexpected exception.
(list
#:qtbase qtbase
- #:configure-flags #~(list "-DBUILD_TESTING=off"
- "-DFETCH_OTIO=off")
+ #:configure-flags #~(list "-DFETCH_OTIO=off")
#:tests? #f
#:phases
#~(modify-phases %standard-phases
@@ -486,6 +485,7 @@ expressions and let you evaluate and draw them.")
(build-system qt-build-system)
(arguments
(list
+ #:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'wrap-qt-process-path
@@ -535,9 +535,7 @@ such as addition, trigonometric functions or derivatives.")
(base32 "1wiv509y80m6gf891yw55d9429a35axngi922k119zvxfk5641as"))))
(build-system qt-build-system)
(arguments
- (list #:qtbase qtbase
- #:configure-flags
- #~(list "-DBUILD_TESTING=ON")))
+ (list #:qtbase qtbase))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -891,7 +889,8 @@ and desktop experiences.")
(base32 "888q3kkv2wq426w000iq14wy3a45rrnn0bmsdks6caz4vq04ccay"))))
(build-system qt-build-system)
(arguments
- `(#:configure-flags (list "-DBUILD_TESTS=ON"))) ; disabled by default
+ `(#:tests? #f
+ #:configure-flags (list "-DBUILD_TESTS=ON"))) ; disabled by default
(native-inputs
(list bison doxygen extra-cmake-modules flex googletest))
(inputs
@@ -921,7 +920,9 @@ expression library, that is used in Krita.")
(list kcoreaddons
ki18n
kxmlgui))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://apps.kde.org/de/kcolorchooser/")
(synopsis "Color selector utility")
(description "KColorChooser is a utility to select a color.")
@@ -950,7 +951,9 @@ expression library, that is used in Krita.")
ktextwidgets
kwidgetsaddons
kxmlgui))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "http://kolourpaint.org/")
(synopsis "Paint program for KDE")
(description "KolourPaint is a paint program for KDE. It is useful for
@@ -974,7 +977,7 @@ painting, image manipulating and icon editing.")
(build-system qt-build-system)
(arguments
`(#:tests? #f
- #:configure-flags (list "-DBUILD_TESTING=OFF -DCMAKE_CXX_FLAGS=-fPIC")
+ #:configure-flags (list "-DCMAKE_CXX_FLAGS=-fPIC")
#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-raqm
(lambda _
@@ -1290,7 +1293,9 @@ submoduletest|cachetest|switchtest)")))))))
(base32
"1ajr7qaf4dcccl5pc09ywfa4mgrfpa3qq1w7x4lfmv82gvp7ld64"))))
(build-system qt-build-system)
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -1464,7 +1469,8 @@ multi-floor indoor maps.")
(base32 "17p63a9igpbcv0xdziaf3d30n88rj9474w9yx2cpvh0m2nrv3582"))))
(build-system qt-build-system)
(arguments
- (list #:qtbase qtbase))
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
@@ -1543,7 +1549,8 @@ transport data and for performing public transport journey queries.")
(base32 "06g43b1l72aghkhcn59ss8kjc4sammn5ii5x5sql34kmvgiwamwk"))))
(build-system qt-build-system)
(arguments
- (list #:qtbase qtbase))
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules))
(inputs
@@ -1569,7 +1576,8 @@ for scanner hardware.")
(base32 "1b0cbf4cq0ajl5xlpy75wj4p1zsri2igh23pswj8ysnrrk0pxg5w"))))
(build-system qt-build-system)
(arguments
- (list #:qtbase qtbase))
+ (list #:qtbase qtbase
+ #:tests? #f))
(native-inputs
(list extra-cmake-modules))
(inputs
@@ -1628,8 +1636,7 @@ different notification systems.")
(arguments
(list #:qtbase qtbase
#:configure-flags
- #~(list "-DBUILD_TESTING=ON"
- (string-append "-DQtWaylandScanner_EXECUTABLE="
+ #~(list (string-append "-DQtWaylandScanner_EXECUTABLE="
#$(this-package-native-input "qtwayland")
"/lib/qt6/libexec/qtwaylandscanner")
"-DKDE_INSTALL_LIBEXECDIR=libexec"
@@ -1805,7 +1812,9 @@ to perform data analysis.")
kstatusnotifieritem
kxmlgui
qt5compat))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://kde.org/applications/system/kdk")
(synopsis "View Disk Usage")
(description "KDiskFree displays the available file devices (hard drive
@@ -1838,7 +1847,9 @@ unmount drives and view them in a file manager.")
kconfigwidgets
kstatusnotifieritem
qt5compat))
- (arguments (list #:qtbase qtbase))
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f))
(home-page "https://kde.org/applications/utilities/ktimer")
(synopsis "Countdown Launcher")
(description "KTimer is a little tool to execute programs after some time.
@@ -1862,6 +1873,7 @@ timers for each task can be started, stopped, changed, or looped.")
(list extra-cmake-modules perl python qttools kdoctools))
(inputs
(list qtbase karchive ki18n kio kxmlgui kdbusaddons))
+ (arguments (list #:tests? #f))
;; Note: The 'hotshot2calltree' and 'pprof2calltree' scripts depend on
;; Python and PHP, respectively. These are optional and we ignore them
;; for now.
@@ -2112,7 +2124,9 @@ PO template files.")
(sha256
(base32 "0rpam31s5cvky4w3bb2qp1pjv0gm9f63a2jv6bcim7qnz050bvvn"))))
(build-system cmake-build-system)
- (arguments (list #:configure-flags #~(list "-DQT_MAJOR_VERSION=6")))
+ (arguments
+ (list #:tests? #f
+ #:configure-flags #~(list "-DQT_MAJOR_VERSION=6")))
(native-inputs
(list extra-cmake-modules))
(inputs
@@ -2135,7 +2149,10 @@ Mobipocket e-books in Dolphin and other KDE apps.")
(sha256
(base32 "073px490jvp5f2979ipzbjlw6qg55cfzisj1g3a1f9wwqshm3q5q"))))
(build-system cmake-build-system)
- (arguments (list #:configure-flags #~(list "-DQT_MAJOR_VERSION=6")))
+ (arguments
+ (list
+ #:tests? #f
+ #:configure-flags #~(list "-DQT_MAJOR_VERSION=6")))
(native-inputs
(list extra-cmake-modules))
(inputs
@@ -2163,6 +2180,7 @@ picture metadata as EXIF/IPTC and XMP.")
(inputs
(list kdbusaddons kdnssd ki18n kio))
(arguments (list #:qtbase qtbase
+ #:tests? #f
#:configure-flags
#~(list "-DQT_MAJOR_VERSION=6")))
(home-page "https://apps.kde.org/kio_zeroconf/")
diff --git a/gnu/packages/libftdi.scm b/gnu/packages/libftdi.scm
index 02efcbbbc0..25db26793d 100644
--- a/gnu/packages/libftdi.scm
+++ b/gnu/packages/libftdi.scm
@@ -87,7 +87,6 @@
(string-append share "/doc/"
#$name "-" #$version
"/html"))))))
- #:test-target "check"
#:tests? #f)) ; tests fail without access to USB
(native-inputs
(list doxygen graphviz pkg-config python swig))
diff --git a/gnu/packages/librewolf.scm b/gnu/packages/librewolf.scm
index b8dc32cf5e..271e732054 100644
--- a/gnu/packages/librewolf.scm
+++ b/gnu/packages/librewolf.scm
@@ -117,14 +117,14 @@
(define computed-origin-method (@@ (guix packages) computed-origin-method))
(define firefox-l10n
- (let ((commit "7b9249fcbe9801175bf83f592b083742da8cc998"))
+ (let ((commit "25c14798b15f9933b6c1e2bc655030842b6e0edd"))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mozilla-l10n/firefox-l10n.git")
(commit commit)))
(file-name (git-file-name "firefox-l10n" commit))
- (sha256 (base32 "0m85agr2zn0x7ail8lfizflix299sfkxhn1n9asw3zg3wqip2a4p")))))
+ (sha256 (base32 "06iymygkf94s04ixvk1mlis9p5lmypx5k8pmrd3z3jddpmawk0r1")))))
(define* (make-librewolf-source #:key version firefox-hash librewolf-hash l10n)
(let* ((ff-src (firefox-source-origin
@@ -212,17 +212,17 @@
;; It's used for cache validation and therefore can lead to strange bugs.
;; ex: date '+%Y%m%d%H%M%S'
;; or: (format-time-string "%Y%m%d%H%M%S")
-(define %librewolf-build-id "20250716174115")
+(define %librewolf-build-id "20250727200313")
(define-public librewolf
(package
(name "librewolf")
- (version "140.0.4-1")
+ (version "141.0-1")
(source
(make-librewolf-source
#:version version
- #:firefox-hash "0xz3b76av9va64b04w4bvikfg8n61rs1sfh5q2l4vkj39yrvw9s0"
- #:librewolf-hash "1cqk27jzdrmnzx4crkwxg6g3k8l7bxy2fyfhngkfy4la96vjgdpz"
+ #:firefox-hash "1j1m6niw47xi6aj9rlcny8jhqkppjvg22cq7mikim93wpf22m640"
+ #:librewolf-hash "18k3d09dr6jkhr6g8z8c3aa7jj0ynjalkmvc3nj7wd98mgvky2xj"
#:l10n firefox-l10n))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm
index eb6dc9a844..61c43ceccb 100644
--- a/gnu/packages/libusb.scm
+++ b/gnu/packages/libusb.scm
@@ -17,6 +17,7 @@
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; Copyright © 2024 hapster <o.rojon@posteo.net>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2025 Evgeny Pisemsky <mail@pisemsky.site>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -809,3 +810,39 @@ HID-Class devices.")
(license:non-copyleft
"https://github.com/trezor/cython-hidapi/blob/master/LICENSE-orig.txt"
"You are free to use cython-hidapi code for any purpose.")))))
+
+(define-public hidapitester
+ (package
+ (name "hidapitester")
+ (version "0.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/todbot/hidapitester")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0pilnq01yd4974xicy6as330f5b74pnj9mn5gvg1s21f78lxx4is"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda _
+ (install-file "hidapitester"
+ (string-append #$output "/bin")))))
+ #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "GIT_TAG=v" #$version))))
+ (native-inputs (list pkg-config))
+ (inputs (list hidapi eudev))
+ (home-page "https://github.com/todbot/hidapitester")
+ (synopsis "Command-line program to exercise hidapi")
+ (description
+ "The hidapitester program is a simple, low-dependency command-line tool to test
+out every API call in hidapi.")
+ (license license:gpl3)))
diff --git a/gnu/packages/lighting.scm b/gnu/packages/lighting.scm
index 4794400e6e..77f1aade53 100644
--- a/gnu/packages/lighting.scm
+++ b/gnu/packages/lighting.scm
@@ -50,31 +50,29 @@
(base32 "0mbf5dc309pqg9ckqgk2kh9p3mf9vqsjkxnwjzqw7yzzf17ij3zk"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
- (native-inputs
- (list bison
- cppunit
- flex
- pkg-config
- ;; For git repository bootstrapping.
- autoconf
- automake
- libtool))
- (inputs
- (list libftdi
- libmicrohttpd
- libusb
- `(,util-linux "lib")
- zlib))
- (propagated-inputs
- (list protobuf)) ; for pkg-config --libs libola
+ (native-inputs (list bison
+ cppunit
+ flex
+ pkg-config
+ ;; For git repository bootstrapping.
+ autoconf
+ automake
+ libtool))
+ (inputs (list libftdi libmicrohttpd libusb
+ `(,util-linux "lib") zlib))
+ (propagated-inputs (list protobuf)) ;for pkg-config --libs libola
(arguments
(list
;; G++ >= 4.8 macro expansion tracking requires lots of memory, causing
;; build to fail on low memory systems. We disable that with the
;; following configure flags.
- #:configure-flags #~(list "CXXFLAGS=-ftrack-macro-expansion=0")))
+ ;; We also have to omit: use of std::auto_ptr is deprecated, and template-id not allowed for constructor in C++20
+ #:configure-flags
+ #~(list
+ "CXXFLAGS=-ftrack-macro-expansion=0 -Wno-error=deprecated-declarations -Wno-template-id-cdtor")))
(synopsis "Framework for controlling entertainment lighting equipment")
- (description "The Open Lighting Architecture is a framework for lighting
+ (description
+ "The Open Lighting Architecture is a framework for lighting
control information. It supports a range of protocols and over a dozen USB
devices. It can run as a standalone service, which is useful for converting
signals between protocols, or alternatively using the OLA API, it can be used
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 9f01c6d318..9dd08c0843 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -164,7 +164,6 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages netpbm)
#:use-module (gnu packages networking)
- #:use-module (gnu packages ninja)
#:use-module (gnu packages nss)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages perl)
@@ -515,17 +514,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
-(define-public linux-libre-6.15-version "6.15.5")
+(define-public linux-libre-6.15-version "6.15.6")
(define-public linux-libre-6.15-gnu-revision "gnu")
(define deblob-scripts-6.15
(linux-libre-deblob-scripts
linux-libre-6.15-version
linux-libre-6.15-gnu-revision
- (base32 "0v0fsw3av42xbayy3g11cxyin3hda8s3b103sin05yc80r16584b")
+ (base32 "05fr8s00ljj7v26z3gb1yrfna42i7zy36x6wrg74ai5hwwc7jfnd")
(base32 "05153ci3sk9gsq8vgk6phvzszldaj2psmyp10cjivm3gl6qvkbhk")))
(define-public linux-libre-6.15-pristine-source
(let ((version linux-libre-6.15-version)
- (hash (base32 "1dc8qrwvvy34s5lgm43j295ipwaqm8wd8x4qchr14hqlkj9hg9rc")))
+ (hash (base32 "1z5l0b59q56qj6s56cxzv43lhfx9z9sp4vfziw60fz97ak4qdd9b")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.15)))
@@ -549,22 +548,22 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
-(define-public linux-libre-6.12-version "6.12.36")
+(define-public linux-libre-6.12-version "6.12.38")
(define-public linux-libre-6.12-gnu-revision "gnu")
(define deblob-scripts-6.12
(linux-libre-deblob-scripts
linux-libre-6.12-version
linux-libre-6.12-gnu-revision
(base32 "0y6i9ifax1a8bxih3rr9xzy3mj61ssgx9yfsy6fh94mni6wl51gp")
- (base32 "0g08l17f57wkh2jfj4n2k7f7ikm87aj55npljvwd1lns7v5p90xr")))
+ (base32 "1hc3fgc0wajlwbsjkvfcxvmjw4bcxfbrnbfbcasbczz7if4f0fvf")))
(define-public linux-libre-6.12-pristine-source
(let ((version linux-libre-6.12-version)
- (hash (base32 "135s057ya63zw4v1jr9lzjdxk60ahr9v38hbv6nima755pnql5ja")))
+ (hash (base32 "1k0gcwavn5iws3z1as39227i2hnc62qnfddjfqy7k7ymhf6zldgh")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.12)))
-(define-public linux-libre-6.6-version "6.6.96")
+(define-public linux-libre-6.6-version "6.6.98")
(define-public linux-libre-6.6-gnu-revision "gnu")
(define deblob-scripts-6.6
(linux-libre-deblob-scripts
@@ -574,12 +573,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1zzpk2hpv76lylip4j7jkn0jqcjj15h3jff22x22i73mwz2kiqgk")))
(define-public linux-libre-6.6-pristine-source
(let ((version linux-libre-6.6-version)
- (hash (base32 "1p8v49w7z8w3wc68mbw46cz9xqrllc8cpa7nqlm2xnrssi1mir4y")))
+ (hash (base32 "1raxyhvv0yay3k1izwcqdbq9322nflflfzcn9d1jrhmb032k8si9")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.6)))
-(define-public linux-libre-6.1-version "6.1.143")
+(define-public linux-libre-6.1-version "6.1.145")
(define-public linux-libre-6.1-gnu-revision "gnu")
(define deblob-scripts-6.1
(linux-libre-deblob-scripts
@@ -589,12 +588,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1hzjr44hy8px4n3x5my2syhd60chkfy79ajgzvlz04pc5yf6ihpi")))
(define-public linux-libre-6.1-pristine-source
(let ((version linux-libre-6.1-version)
- (hash (base32 "02ivq22hv42bcnssfpkkbqlhz1by9jrfrqlrz1wi0svysz2dlnz2")))
+ (hash (base32 "0qrkcrqb0migsrq6xl1idyz8n6vjbdk74z4sc9na97b6n5vp0r9i")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.1)))
-(define-public linux-libre-5.15-version "5.15.186")
+(define-public linux-libre-5.15-version "5.15.188")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
@@ -604,7 +603,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0rg65s6kd9gxxa3wl6180pr39rb6zbcicwjik4kygs2ns0247y56")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
- (hash (base32 "0anbf7v0m26da0c6d0z925im4x2kf8kswpbv056543amxvbzsklw")))
+ (hash (base32 "1nfcrdwa2mgih57ch9kh8gc6jl950a7vpqgr56xk1b02303km5f4")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
@@ -2662,7 +2661,7 @@ supported under @file{/sys/class/backlight/}.")
(define-public v4l2loopback-linux-module
(package
(name "v4l2loopback-linux-module")
- (version "0.15.0")
+ (version "0.15.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2671,7 +2670,7 @@ supported under @file{/sys/class/backlight/}.")
(file-name (git-file-name name version))
(sha256
(base32
- "1vp7f3ssvlbsxrwx6ix890yk589na6zhi0z3p1yl00fa813wcidh"))))
+ "00vkn4c1wlfmf8kqklklxj5kalwgiwwnxwbh4pw7dj9l1ivycm4f"))))
(build-system linux-module-build-system)
(arguments
(list #:tests? #f)) ; no test suite
@@ -7900,9 +7899,8 @@ from the ntfs-3g package. It is meant to be used in initrds.")
;; Upstream uses the "ninja" build system and encourage distros
;; to do the same for consistency.
- #:configure-flags (list "-GNinja"
-
- ,@(if (%current-target-system)
+ #:generator "Ninja"
+ #:configure-flags (list ,@(if (%current-target-system)
`((string-append
"-DPKG_CONFIG_EXECUTABLE="
(search-input-file
@@ -7912,18 +7910,9 @@ from the ntfs-3g package. It is meant to be used in initrds.")
'())
(string-append "-DRST2MAN_EXECUTABLE="
(search-input-file
- %build-inputs "/bin/rst2man.py")))
- #:phases
- (modify-phases %standard-phases
- (replace 'build
- (lambda _
- (invoke "ninja"
- "-j" (number->string (parallel-job-count)))))
- (replace 'install
- (lambda _
- (invoke "ninja" "install"))))))
+ %build-inputs "/bin/rst2man.py")))))
(native-inputs
- (list ninja pkg-config python-wrapper python-docutils)) ;for 'rst2man'
+ (list pkg-config python-wrapper python-docutils)) ;for 'rst2man'
(inputs
(list libnl eudev))
(home-page "https://github.com/linux-rdma/rdma-core")
@@ -7991,7 +7980,7 @@ The collection contains a set of bandwidth and latency benchmark such as:
(package
(name "rng-tools")
(home-page "https://github.com/nhorman/rng-tools")
- (version "6.16")
+ (version "6.17")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page)
@@ -7999,7 +7988,7 @@ The collection contains a set of bandwidth and latency benchmark such as:
(file-name (git-file-name name version))
(sha256
(base32
- "1rsk8nxs0j32b9hr88qk8hv029fb1q0hcrw0mfdywvm7dn2d15gn"))
+ "0vvqi9ha4jbk4086x2q98p4ip3z56sfdpyckdyknsd36zhp6z8n2"))
(patches
(search-patches "rng-tools-revert-build-randstat.patch"))
(patch-flags '("-p0"))))
@@ -8172,6 +8161,24 @@ not as a replacement for it.")
#:configure-flags #~(list "-DINSTALL_KAUTH_HELPER=OFF"
"-DQT6_BUILD=ON")
#:qtbase qtbase
+ ;; The 'tst_models' and 'tst_callgraphgenerator' fail, with
+ ;; the later seemingly requiring sudo or access to the kernel
+ ;; trace points.
+ #:test-exclude
+ (string-append
+ "("
+ (string-join
+ ;; The 'tst_models' expected output doesn't exactly
+ ;; match.
+ '("tst_models"
+ ;; The 'tst_callgraphgenerator' perf invocation
+ ;; fails when run in the build container.
+ "tst_callgraphgenerator"
+ ;; The 'tst_perfparser' test requires sudo/access
+ ;; to the kernel scheduler trace points.
+ "tst_perfparser")
+ "|")
+ ")")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-perfparser
@@ -8207,28 +8214,7 @@ not as a replacement for it.")
(substitute* "src/perfrecord.cpp"
(("\"perf( )?\"" _ space)
(string-append "\"" (search-input-file inputs "bin/perf")
- (or space "") "\"")))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- ;; The 'tst_models' and 'tst_callgraphgenerator' fail, with
- ;; the later seemingly requiring sudo or access to the kernel
- ;; trace points.
- (invoke "ctest" "-E"
- (string-append
- "("
- (string-join
- ;; The 'tst_models' expected output doesn't exactly
- ;; match.
- '("tst_models"
- ;; The 'tst_callgraphgenerator' perf invocation
- ;; fails when run in the build container.
- "tst_callgraphgenerator"
- ;; The 'tst_perfparser' test requires sudo/access
- ;; to the kernel scheduler trace points.
- "tst_perfparser")
- "|")
- ")"))))))))
+ (or space "") "\""))))))))
(native-inputs
(list extra-cmake-modules
vulkan-headers))
@@ -10771,7 +10757,9 @@ set as @code{LD_PRELOAD} to override the C library file system functions.")
#$(string-append "-DFALCOSECURITY_LIBS_VERSION=" version))
;; Only the libsinsp test suite is run, as the one for libscap requires
;; elevated privileges.
- #:test-target "run-unit-test-libsinsp"
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-problematic-tests
@@ -10781,6 +10769,10 @@ set as @code{LD_PRELOAD} to override the C library file system functions.")
;; exists in the build environment.
(("TEST_F\\(usergroup_manager_test, system_lookup)")
"TEST_F(usergroup_manager_test, DISABLED_system_lookup)"))))
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "run-unit-test-libsinsp" args)))
(add-after 'install 'delete-src
(lambda _
(delete-file-recursively
@@ -11310,11 +11302,7 @@ modification of BPF objects on the system.")
(build-system cmake-build-system)
(arguments
(list
- #:configure-flags #~(list "-DBUILD_TESTING=ON")
- ;; Only run the unit tests suite, as the other ones
- ;; (runtime_tests, tools-parsing-test) require to run as
- ;; 'root'.
- #:test-target "bpftrace_test"
+ #:test-exclude "(runtime_tests|tools-parsing-test)"
#:phases
#~(modify-phases %standard-phases
;; This patch also fixes broken compilation due to improper detection
@@ -11336,8 +11324,28 @@ modification of BPF objects on the system.")
"runtime/call"
"procmon.cpp")
(("/bin/ls")
- (which "ls")))))))))
- (native-inputs (list bison dwarves flex googletest xxd))
+ (which "ls"))))))
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* '("tests/child.cpp")
+ (("/bin/sleep")
+ (search-input-file inputs "bin/sleep")))))
+ (add-before 'check 'set-test-filter
+ (lambda _
+ (setenv "GTEST_FILTER"
+ (string-join
+ (list ; "-" disables all following tests
+ "-ast.probe_name_uprobe"
+ "bpftrace.add_probes_uprobe_wildcard_file"
+ "bpftrace.add_probes_uprobe_wildcard_file_uprobe_multi"
+ "bpftrace.add_probes_usdt_wildcard"
+ "Parser.multiple_attach_points_kprobe"
+ "Parser.uretprobe_offset"
+ "semantic_analyser.builtin_functions"
+ "semantic_analyser.call_func"
+ "semantic_analyser.call_uaddr")
+ ":")))))))
+ (native-inputs (list bison coreutils dwarves flex googletest xxd))
(inputs (list bcc clang-15 elfutils libbpf libiberty cereal))
(home-page "https://github.com/bpftrace/bpftrace")
(synopsis "High-level tracing language for Linux eBPF")
diff --git a/gnu/packages/lirc.scm b/gnu/packages/lirc.scm
index 0dc1046dca..2a90ec2e2d 100644
--- a/gnu/packages/lirc.scm
+++ b/gnu/packages/lirc.scm
@@ -71,6 +71,12 @@
(let ((headers (assoc-ref inputs "kernel-headers")))
(substitute* "tools/lirc-make-devinput"
(("/usr/include") (string-append headers "/include"))))))
+ (add-after 'unpack 'fix-gcc14-build
+ (lambda _
+ ;; Fix missing sys/sysmacros.h for major() and minor() macros
+ (substitute* "plugins/default.c"
+ (("#include <sys/types.h>" all)
+ (string-append all "\n#include <sys/sysmacros.h>")))))
(add-after 'unpack 'patch-doc/Makefile.in
(lambda _
;; Lirc wants to install several images and a useless html page
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index b1cee9b73d..83e408b972 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -19485,8 +19485,8 @@ building block for higher level libraries.")
(sbcl-package->clasp-package sbcl-json-streams))
(define-public sbcl-jsonrpc
- (let ((commit "a43dd933838bb9596a2bf40e821af0bafd3d5356")
- (revision "1"))
+ (let ((commit "2af1e0fad429ee8c706b86c4a853248cdd1be933")
+ (revision "2"))
(package
(name "sbcl-jsonrpc")
(version (git-version "0.3.2" revision commit))
@@ -19498,7 +19498,7 @@ building block for higher level libraries.")
(commit commit)))
(file-name (git-file-name "jsonrpc" version))
(sha256
- (base32 "1wsc6bv8xpzad0lgrlldzrpb9r4aksnw7ss2ifwa7ykbzfxcr8gi"))))
+ (base32 "0kd550fsklsc4h0fj8jl6g4z5ldb8ba9dn68s7ykv3myaiwgsy1p"))))
(build-system asdf-build-system/sbcl)
(native-inputs (list sbcl-rove))
(inputs (list sbcl-clack
@@ -20109,6 +20109,39 @@ needed. The low-level command API is fully mapped however.")
(define-public ecl-legit
(sbcl-package->ecl-package sbcl-legit))
+(define-public sbcl-lem-extension-manager
+ (let ((commit "cb19321345d6fd13dc3ca59d4d5b9a6b14cc00b1")
+ (revision "0"))
+ (package
+ (name "sbcl-lem-extension-manager")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lem-project/lem-extension-manager")
+ (commit commit)))
+ (sha256
+ (base32 "1g210cfrbjbdb395wnzb5hax2isq0d5990jhzcxj7kp171dydynf"))
+ (file-name (git-file-name "cl-lem-extension-manager" version))))
+ (build-system asdf-build-system/sbcl)
+ (inputs (list sbcl-alexandria))
+ (synopsis "Configuration library for the Lem editor")
+ (description
+ "This package provides a configuration library that adds the ability for
+Lem to manage packages within the user configuration directory.")
+ (home-page "https://lem-project.github.io/")
+ (license license:expat))))
+
+(define-public cl-lem-extension-manager
+ (sbcl-package->cl-source-package sbcl-lem-extension-manager))
+
+(define-public ecl-lem-extension-manager
+ (sbcl-package->ecl-package sbcl-lem-extension-manager))
+
+(define-public clasp-lem-extension-manager
+ (sbcl-package->clasp-package sbcl-lem-extension-manager))
+
(define-public sbcl-lem-mailbox
(let ((commit "12d629541da440fadf771b0225a051ae65fa342a")
(revision "0"))
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index ee03ed5ee8..6d0a742a08 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -1325,7 +1325,8 @@ not likely to change.")
(invoke #$(cc-for-target) "notcurses_s7.c"
"-I." "-O2" "-g"
"-shared" "-o" "libnotcurses_s7.so"
- "-lnotcurses-core" "-fPIC")
+ "-lnotcurses-core" "-fPIC"
+ "-Wno-error=implicit-function-declaration")
;; Need s7.o and ffitest for tests
(display "[BUILD] s7.o\n")
(invoke #$(cc-for-target) "-c" "s7.c" "-o"
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 0accbd4503..dd4f0ef791 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -22,7 +22,7 @@
;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2022, 2024 Greg Hogan <code@greghogan.com>
-;;; Copyright © 2022, 2024 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2022, 2024, 2025 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
@@ -277,7 +277,10 @@ until LLVM/Clang 14."
(propagated-inputs
(list llvm clang-runtime))
(arguments
- `(#:configure-flags
+ `(;; TODO: enable tests.
+ #:tests? #f
+
+ #:configure-flags
(list "-DCLANG_INCLUDE_TESTS=True"
;; TODO: Use --gcc-install-dir when GCC_INSTALL_PREFIX is
@@ -618,6 +621,7 @@ output), and Binutils.")
(outputs '("out" "opt-viewer"))
(arguments
(list
+ #:tests? (not (target-x86-32?))
#:configure-flags
#~(list
;; These options are required for cross-compiling LLVM according
@@ -659,11 +663,19 @@ output), and Binutils.")
"-DLLVM_PARALLEL_LINK_JOBS=1") ;cater to smaller build machines
;; Don't use '-g' during the build, to save space.
#:build-type "Release"
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'change-directory
(lambda _
(chdir "llvm")))
+ (replace 'check
+ (lambda* (#:rest args)
+ (setenv "HOME" "/tmp")
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "check-llvm" args)))
(add-after 'install 'install-opt-viewer
(lambda* (#:key outputs #:allow-other-keys)
(let* ((opt-viewer-share (string-append #$output:opt-viewer
@@ -701,6 +713,10 @@ of programming tools as well as libraries with equivalent functionality.")
(source (llvm-monorepo version))
(arguments
(list
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:tests? (not (target-x86-32?))
#:configure-flags
#~(list
;; These options are required for cross-compiling LLVM according
@@ -739,6 +755,11 @@ of programming tools as well as libraries with equivalent functionality.")
(add-after 'unpack 'change-directory
(lambda _
(chdir "llvm")))
+ (replace 'check
+ (lambda* (#:rest args)
+ (setenv "HOME" "/tmp")
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "check-llvm" args)))
(add-after 'install 'install-opt-viewer
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -749,9 +770,7 @@ of programming tools as well as libraries with equivalent functionality.")
(rename-file (string-append out "/share/opt-viewer")
opt-viewer-dir)))))))
- (native-inputs
- `(("python" ,python-wrapper)
- ("perl" ,perl)))))
+ (native-inputs (list perl python-wrapper which))))
(define-public clang-runtime-15
(clang-runtime-from-llvm llvm-15))
@@ -798,14 +817,20 @@ of programming tools as well as libraries with equivalent functionality.")
#~(list "-DLIBOMP_USE_HWLOC=ON"
"-DOPENMP_TEST_C_COMPILER=clang"
"-DOPENMP_TEST_CXX_COMPILER=clang++")
- #:test-target "check-libomp"
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir-to-source-and-install-license
(lambda _
(chdir "openmp")
(install-file "LICENSE.TXT"
- (string-append #$output "/share/doc")))))))
+ (string-append #$output "/share/doc"))))
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "check-libomp" args))))))
(native-inputs (list clang-15 llvm-15 perl pkg-config python))
(inputs (list `(,hwloc "lib")))
(home-page "https://openmp.llvm.org")
@@ -902,14 +927,14 @@ Library.")
"0kvbr4j6ldpssiv7chgqra5y77n7jwbyxlwcl7z32v31f49jcybb"))
(file-name (string-append "libomp-" version ".tar.xz"))))
(arguments
- '(#:configure-flags '("-DLIBOMP_USE_HWLOC=ON"
- "-DOPENMP_TEST_C_COMPILER=clang"
- "-DOPENMP_TEST_CXX_COMPILER=clang++"
-
- ;; Work around faulty target detection, fixed in 14:
- ;; https://github.com/llvm/llvm-project/issues/52910
- "-DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=OFF")
- #:test-target "check-libomp"))
+ (substitute-keyword-arguments (package-arguments libomp-14)
+ ((#:configure-flags flags)
+ ;; Work around faulty target detection, fixed in 14:
+ ;; https://github.com/llvm/llvm-project/issues/52910
+ #~(cons* "-DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=OFF" #$flags))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (delete 'chdir-to-source-and-install-license)))))
(native-inputs
(modify-inputs (package-native-inputs libomp-14)
(replace "clang" clang-13)
@@ -932,6 +957,8 @@ Library.")
(patches (search-patches "llvm-13-gcc-14.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments llvm-13)
+ ;; Disable tests for old releases now compiled with newer GCC.
+ ((#:tests? _ #false) #false)
((#:phases phases)
#~(modify-phases #$phases
#$@(if (assoc "config" (package-native-inputs this-package))
@@ -942,6 +969,9 @@ Library.")
"/bin/config.guess")))
(copy-file config.guess "cmake/config.guess")))))
#~())
+ (add-after 'unpack 'delete-failing-tests
+ (lambda _
+ (delete-file "test/DebugInfo/X86/vla-multi.ll")))
(add-before 'build 'shared-lib-workaround
;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen
;; doesn't seem to get the correct rpath to be able to run
@@ -983,10 +1013,9 @@ Library.")
"14dh0r6h2xh747ffgnsl4z08h0ri04azi9vf79cbz7ma1r27kzk0"))
(file-name (string-append "libomp-" version ".tar.xz"))))
(arguments
- '(#:configure-flags '("-DLIBOMP_USE_HWLOC=ON"
- "-DOPENMP_TEST_C_COMPILER=clang"
- "-DOPENMP_TEST_CXX_COMPILER=clang++")
- #:test-target "check-libomp"))
+ (substitute-keyword-arguments (package-arguments libomp-13)
+ ((#:configure-flags flags)
+ #~`(,@(delete "-DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=OFF" #$flags)))))
(native-inputs
(modify-inputs (package-native-inputs libomp-13)
(replace "clang" clang-12)
@@ -1271,7 +1300,12 @@ Library.")
(uri (llvm-uri "llvm" version))
(sha256
(base32
- "1qpls3vk85lydi5b4axl0809fv932qgsqgdgrk098567z4jc7mmn"))))))
+ "1qpls3vk85lydi5b4axl0809fv932qgsqgdgrk098567z4jc7mmn"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments llvm-7)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (delete 'delete-failing-tests)))))))
(define-public clang-runtime-6
(clang-runtime-from-llvm
@@ -1320,7 +1354,7 @@ Library.")
"1vi9sf7rx1q04wj479rsvxayb6z740iaz3qniwp266fgp5a07n8z"))))
(outputs '("out"))
(arguments
- (substitute-keyword-arguments (package-arguments llvm)
+ (substitute-keyword-arguments (package-arguments llvm-6)
((#:phases phases)
#~(modify-phases #$phases
(add-before 'build 'shared-lib-workaround
@@ -1661,30 +1695,30 @@ Library.")
(define-public llvm-for-rocm
(package
- ;; Based on LLVM 14 as of v5.0.0
- (inherit llvm-14)
+ ;; Currently based on LLVM 19.
+ (inherit llvm-19)
(name "llvm-for-rocm")
- (version "5.6.0") ;this must match '%rocm-version'
+ (version "6.4.2") ;this must match '%rocm-version'
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/RadeonOpenCompute/llvm-project.git")
+ (url "https://github.com/ROCm/llvm-project.git")
(commit (string-append "rocm-" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "1kg6q6aqijjrwaznj0gr3nd01gykrnqqnk8vz8wyfifr18l9jrgx"))))
+ "1j2cr362k7snsh5c1z38ikyihmjvy0088rj0f0dhng6cjwgysryp"))))
(arguments
- (substitute-keyword-arguments (package-arguments llvm-14)
+ (substitute-keyword-arguments (package-arguments llvm-19)
((#:configure-flags flags)
- #~(list"-DLLVM_ENABLE_PROJECTS=llvm;clang;lld"
- "-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86"
- "-DCMAKE_SKIP_BUILD_RPATH=FALSE"
- "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
- "-DBUILD_SHARED_LIBS:BOOL=TRUE"
- "-DLLVM_VERSION_SUFFIX="))))
+ #~(list "-DLLVM_ENABLE_PROJECTS=llvm;clang;lld"
+ "-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86"
+ "-DCMAKE_SKIP_BUILD_RPATH=FALSE"
+ "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
+ "-DBUILD_SHARED_LIBS:BOOL=TRUE"
+ "-DLLVM_VERSION_SUFFIX="))))
(properties `((hidden? . #t)
- ,@(package-properties llvm-14)))))
+ ,@(package-properties llvm-19)))))
@@ -1887,6 +1921,8 @@ misuse of libraries outside of the store.")))
(build-system cmake-build-system)
(arguments
(list
+ ;; No access to a compiled llvm-lit since compiled separately from llvm.
+ #:tests? #f
#:configure-flags #~(list "-DOPENMP_TEST_CXX_COMPILER=clang++")
#:phases
#~(modify-phases %standard-phases
@@ -1921,7 +1957,6 @@ which highly leverage existing libraries in the larger LLVM project.")
(build-system cmake-build-system)
(arguments
(list
- #:test-target "check-cxx"
#:tests? #f ;prohibitively expensive to run
#:implicit-inputs? #f ;to avoid conflicting GCC headers
#:configure-flags
@@ -1934,11 +1969,18 @@ which highly leverage existing libraries in the larger LLVM project.")
;; as RUNPATH and don't attempt to patch it.
;; See also: https://gitlab.kitware.com/cmake/cmake/-/issues/22963
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE")
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'enter-subdirectory
(lambda _
- (chdir "runtimes"))))))
+ (chdir "runtimes")))
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "check-cxx" args))))))
(native-inputs
(modify-inputs (standard-packages)
;; Remove GCC from the build environment, to avoid its C++
@@ -2480,7 +2522,6 @@ LLVM bitcode files.")
;; FIXME: 79 tests fail, out of ~200 (see:
;; https://github.com/root-project/cling/issues/534)
#:tests? #f
- #:test-target "check-cling"
#:configure-flags
#~(list (string-append "-DCLING_CXX_PATH="
(search-input-file %build-inputs "bin/g++"))
diff --git a/gnu/packages/lout.scm b/gnu/packages/lout.scm
index a9323fc4bb..f51476baf1 100644
--- a/gnu/packages/lout.scm
+++ b/gnu/packages/lout.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
@@ -20,21 +20,28 @@
(define-module (gnu packages lout)
#:use-module (guix licenses)
#:use-module (guix packages)
- #:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages ghostscript))
(define-public lout
(package
(name "lout")
- (version "3.40")
+ (version "3.43.2")
+
+ ;; The original version at <https://savannah.nongnu.org/projects/lout/> is
+ ;; effectively abandoned, not receiving build fixes and the likes, and
+ ;; most distros have been providing this one instead.
+ (home-page "https://github.com/william8000/lout")
+
(source (origin
- (method url-fetch)
- (uri (string-append "mirror://savannah/lout/lout-"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference (url home-page)
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1gb8vb1wl7ikn269dd1c7ihqhkyrwk19jwx5kd0rdvbk6g7g25ix"))))
+ "0lvk1ffzgydgj4csaclrh3a9nwla061clgf8lda6n47masg12qzi"))))
(build-system gnu-build-system) ; actually, just a makefile
(outputs '("out" "doc"))
(native-inputs
@@ -114,5 +121,4 @@ extended with definitions which are very much easier to write than troff of
TeX macros because Lout is a high-level, purely functional language, the
outcome of an eight-year research project that went back to the
beginning.")
- (license gpl3+)
- (home-page "https://savannah.nongnu.org/projects/lout/")))
+ (license gpl3+)))
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index 59598f20c5..7ebd79e6f6 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -984,7 +984,6 @@ spirit of the Lua C API and thus degrade performance.")
`(#:configure-flags
;; lua pc file in CMakeLists.txt is lua5.3.pc
'("-DLUA_PC_CFG=lua;lua-5.3;lua-5.1")
- #:test-target "all"
#:phases
;; This is a header only library
(modify-phases %standard-phases
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 7ad25e80c6..4d8ff4b5e3 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -128,6 +128,7 @@
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages qt)
#:use-module (gnu packages rdf)
#:use-module (gnu packages regex)
#:use-module (gnu packages rocm)
@@ -433,6 +434,42 @@ machine learning algorithms based on GPs.")
(list python))
(synopsis "Python bindings of libSVM")))
+(define-public python-mcfit
+ ;; PyPI variant fails during compile-bytecode phase: "IndentationError:
+ ;; expected an indented block after function definition on line 10
+ ;; (mkfit.py, line 15)".
+ ;; GitHub provides no release tags, use the latest commit from the master
+ ;; branch.
+ ;; See: <https://github.com/eelregit/mcfit/issues/5>.
+ (let ((commit "be3a5cf9c474e16875126adcd35ba785fb781ebb")
+ (revision "0"))
+ (package
+ (name "python-mcfit")
+ (version (git-version "0.0.22" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/eelregit/mcfit")
+ (commit commit)))
+ (sha256
+ (base32 "120ybwhrqpn9a9q96m6l8pw8a7cdz705vzqn3s87wnffa8nslbsi"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-setuptools
+ python-wheel))
+ (propagated-inputs
+ (list python-mpmath
+ python-numpy
+ python-scipy))
+ (home-page "https://github.com/eelregit/mcfit")
+ (synopsis "Multiplicatively convolutional fast integral transforms")
+ (description
+ "This package provides multiplicatively convolutional fast integral
+transforms.")
+ (license license:gpl3+))))
+
(define-public python-ml-collections
(package
(name "python-ml-collections")
@@ -646,7 +683,7 @@ Performance is achieved by using the LLVM JIT compiler.")
(deprecated-package "guile-aiscm-next" guile-aiscm))
(define-public llama-cpp
- (let ((tag "b5013"))
+ (let ((tag "b6056"))
(package
(name "llama-cpp")
(version (string-append "0.0.0-" tag))
@@ -658,7 +695,7 @@ Performance is achieved by using the LLVM JIT compiler.")
(commit tag)))
(file-name (git-file-name name tag))
(sha256
- (base32 "0s73dz871x53dr366lkzq19f677bwgma2ri8m5vhbfa9p8yp4p3r"))))
+ (base32 "1y9blrd7c8snazjmjkzj0148v328pigncvf1l9g1ih735b67zpd0"))))
(build-system cmake-build-system)
(arguments
(list
@@ -693,11 +730,23 @@ Performance is achieved by using the LLVM JIT compiler.")
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
- (substitute* "ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp"
- (("\"/bin/sh\"")
- (string-append "\"" (search-input-file inputs "/bin/sh") "\"")))))
+ (substitute* (format #f "~a~a"
+ "ggml/src/ggml-vulkan/vulkan-shaders/"
+ "vulkan-shaders-gen.cpp")
+ (("\"/bin/sh\"")
+ (string-append "\"" (search-input-file inputs "/bin/sh")
+ "\"")))))
(add-after 'unpack 'fix-tests
(lambda _
+ ;; test-thread-safety downloads ML model from network,
+ ;; cannot run in Guix build environment
+ (substitute* '("tests/CMakeLists.txt")
+ (("llama_build_and_test\\(test-thread-safety.cpp.*")
+ "")
+ ;; error while handling argument "-m": expected value for
+ ;; argument
+ (("llama_build_and_test\\(test-arg-parser.cpp.*")
+ ""))
;; test-eval-callback downloads ML model from network, cannot
;; run in Guix build environment
(substitute* '("examples/eval-callback/CMakeLists.txt")
@@ -730,7 +779,7 @@ independently to be able to run a LLaMA model.")
(define-public whisper-cpp
(package
(name "whisper-cpp")
- (version "1.7.5")
+ (version "1.7.6")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -739,7 +788,7 @@ independently to be able to run a LLaMA model.")
(file-name (git-file-name name version))
(sha256
(base32
- "0fs15rizz4psd3flfjpdivzvc9w19i3706flisn136ax0k8r7w5n"))))
+ "0gn64jw4pr4vfnn2hll7yd98r8yhaqg97hhg5z22vq4j423436kn"))))
(build-system cmake-build-system)
(arguments
(list
@@ -763,9 +812,15 @@ independently to be able to run a LLaMA model.")
"-DGGML_AVX2=OFF"
"-DGGML_AVX512=OFF"
"-DGGML_AVX512_VBMI=OFF"
- "-DGGML_AVX512_VNNI=OFF")
+ "-DGGML_AVX512_VNNI=OFF"
+ "-DGGML_VULKAN=ON")
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp"
+ (("\"/bin/sh\"")
+ (string-append "\"" (search-input-file inputs "/bin/sh") "\"")))))
#$@(if (not (target-64bit?))
'((add-after 'unpack 'skip-failing-tests
(lambda _
@@ -775,11 +830,21 @@ independently to be able to run a LLaMA model.")
(substitute* "tests/CMakeLists.txt"
(("LABELS \"large\"")
"DISABLED true")))))
- '()))))
+ '())
+ (add-after 'unpack 'skip-failing-vad-tests
+ (lambda _
+ (substitute* "tests/CMakeLists.txt"
+ ;; error: failed to read audio data as wav (Unknown error)
+ (("\\$\\{VAD_TEST\\} PROPERTIES LABELS \"unit\"")
+ "${VAD_TEST} PROPERTIES DISABLED true")
+ ;; error: failed to read audio data as wav (Unknown error)
+ (("\\$\\{VAD_TARGET\\} PROPERTIES LABELS \"base;en\"")
+ "${VAD_TEST} PROPERTIES DISABLED true")))))))
(native-inputs
- (list pkg-config))
+ (list pkg-config shaderc))
(inputs
- (list openblas sdl2 git))
+ (list openblas sdl2 git spirv-headers spirv-tools
+ vulkan-headers vulkan-loader))
(synopsis "OpenAI's Whisper model in C/C++")
(description
"This package is a high-performance inference of OpenAI's
@@ -797,7 +862,7 @@ without dependencies, with
@item C-style API
@end itemize")
(properties '((tunable? . #true))) ;use AVX512, FMA, etc. when available
- (home-page "https://github.com/ggerganov/whisper.cpp")
+ (home-page "https://github.com/ggml-org/whisper.cpp/")
(license license:expat)))
(define-public mcl
@@ -4754,7 +4819,6 @@ TensorFlow.js, PyTorch, and MediaPipe.")
(build-system cmake-build-system)
(arguments
(list
- #:cmake cmake-next
#:configure-flags
''("-DFBGEMM_LIBRARY_TYPE=shared")
;; Tests require AVX2 or AVX-512 instructions
@@ -4823,7 +4887,6 @@ the tensors contained therein.")
(build-system cmake-build-system)
(arguments
(list
- #:test-target "cpptest"
#:configure-flags
#~(list "-DUSE_OPENCL=ON"
"-DUSE_VULKAN=ON"
@@ -4843,11 +4906,11 @@ the tensors contained therein.")
#:phases
#~(modify-phases %standard-phases
(replace 'check
- (lambda* (#:key source test-target tests? #:allow-other-keys)
+ (lambda* (#:key source tests? #:allow-other-keys)
(when tests?
(begin
(invoke "make" "-j"
- (number->string (parallel-job-count)) test-target)
+ (number->string (parallel-job-count)) "cpptest")
;; Disable below the actual run of the tests because
;; several fail due to platform variations (for example,
;; fp16 tests fail because not supported on CPUs).
@@ -5143,6 +5206,10 @@ PyTorch.")
(substitute* "aten/src/ATen/native/vulkan/api/Allocator.h"
(("<include/vk_mem_alloc.h>")
"<vk_mem_alloc.h>"))
+ ;; Fix missing <algorithm> header for std::for_each in Vulkan API
+ (substitute* "aten/src/ATen/native/vulkan/api/QueryPool.cpp"
+ (("#include <utility>" all)
+ (string-append all "\n#include <algorithm>")))
;; For Vulkan
(substitute* "CMakeLists.txt"
(("append_cxx_flag.*-Werror=(return-type|range-loop-construct).*") ""))
@@ -6315,7 +6382,6 @@ Jax, PyTorch and TensorFlow — with a seamless integration between them.")
(build-system cmake-build-system)
(arguments
(list
- #:test-target "ctranslate2_test"
;; XXX: mkl and openblas seem incompatible.
#:configure-flags `(list "-DBUILD_TESTS=ON"
"-DWITH_ACCELERATE=OFF"
@@ -6324,7 +6390,16 @@ Jax, PyTorch and TensorFlow — with a seamless integration between them.")
"-DWITH_CUDA=OFF"
"-DWITH_CUDNN=OFF"
"-DWITH_MKL=OFF"
- "-DWITH_OPENBLAS=ON")))
+ "-DWITH_OPENBLAS=ON")
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "ctranslate2_test" args))))))
(native-inputs (list libomp
cxxopts
spdlog
@@ -7072,35 +7147,33 @@ performance library of basic building blocks for deep learning applications.")
(base32 "1zyw5rd8x346bb7gac9a7x3saviw3zvp6aqz2z1l9sv163vmjfz6"))))))
(define-public python-gguf
- ;; They didn't tag the commit
- (let ((commit "69050a11be0ae3e01329f11371ecb6850bdaded5"))
- (package
- (name "python-gguf")
- (version "0.16.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ggml-org/llama.cpp")
- (commit commit)))
- (file-name (git-file-name name commit))
- (sha256
- (base32 "1563mbrjykwpsbhghhzi4h1qv9qy74gq5vq4xhs58zk0jp20c7zz"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'chdir
- (lambda _
- (chdir "gguf-py"))))))
- (propagated-inputs (list python-numpy python-pyyaml python-sentencepiece
- python-tqdm))
- (native-inputs (list python-poetry-core python-pytest))
- (home-page "https://ggml.ai")
- (synopsis "Read and write ML models in GGUF for GGML")
- (description "A Python library for reading and writing GGUF & GGML format ML models.")
- (license license:expat))))
+ (package
+ (name "python-gguf")
+ (version "0.17.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ggml-org/llama.cpp")
+ (commit (string-append "gguf-v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0lrvj0ahhyj5paxfzk0brps2m8j7fy47n7k4v4xjg9xqqq6wqc2y"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "gguf-py"))))))
+ (propagated-inputs (list python-numpy python-pyyaml python-pyside-6
+ python-sentencepiece python-tqdm))
+ (native-inputs (list python-poetry-core python-pytest))
+ (home-page "https://ggml.ai")
+ (synopsis "Read and write ML models in GGUF for GGML")
+ (description "A Python library for reading and writing GGUF & GGML format ML models.")
+ (license license:expat)))
(define-public python-gymnasium
(package
diff --git a/gnu/packages/magic-wormhole.scm b/gnu/packages/magic-wormhole.scm
index 87b448e88b..ac8ba24949 100644
--- a/gnu/packages/magic-wormhole.scm
+++ b/gnu/packages/magic-wormhole.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2024, 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2024 TakeV <takev@disroot.org>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;; Copyright © 2025 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,6 +30,7 @@
#:use-module (guix packages)
#:use-module (gnu packages check)
#:use-module (gnu packages python-build)
+ #:use-module (gnu packages python-check)
#:use-module (gnu packages python-compression)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
@@ -37,22 +39,14 @@
(define-public magic-wormhole-mailbox-server
(package
(name "magic-wormhole-mailbox-server")
- (version "0.4.1")
+ (version "0.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "magic-wormhole-mailbox-server" version))
(sha256
(base32
- "1yw8i8jv5iv1kkz1aqimskw7fpichjn6ww0fq0czbalwj290bw8s"))))
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'fix-read-mode-in-setup.py
- (lambda _
- (substitute* "setup.py"
- (("'rU'") "'r'")))))))
+ "18cc00dfmri648psx6kzqlbmhvax0h1gbnw1frjh8ci9f8va01x0"))))
(build-system pyproject-build-system)
(native-inputs
(list python-mock
@@ -64,9 +58,7 @@
python-autobahn
python-idna
python-service-identity
- python-six
- python-treq
- python-twisted))
+ python-treq))
(home-page "https://github.com/magic-wormhole/magic-wormhole-mailbox-server")
(synopsis "Magic-Wormhole central mailbox server")
(description
@@ -79,14 +71,14 @@ connection, or through a transit-relay.")
(define-public magic-wormhole-transit-relay
(package
(name "magic-wormhole-transit-relay")
- (version "0.2.1")
+ (version "0.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "magic-wormhole-transit-relay" version))
(sha256
(base32
- "0ppsx2s1ysikns1h053x67z2zmficbn3y3kf52bzzslhd2s02j6b"))))
+ "134yh50xyrr2jrws3w4q1gy660l0wnswj78ifxn2c48vl9fq6bci"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -98,14 +90,21 @@ connection, or through a transit-relay.")
(docs (string-append out "/share/doc/magic-wormhole-transit-relay")))
(for-each (lambda (file)
(install-file file docs))
- (find-files "docs/"))))))))
+ (find-files "docs/")))))
+ (add-before 'check 'fix-test
+ (lambda _
+ ;; Fix for failing test (test_buffer_fills).
+ (substitute* "src/wormhole_transit_relay/test/test_backpressure.py"
+ (("reactor\\.spawnProcess\\(proto, exe, args\\)")
+ "reactor.spawnProcess(proto, exe, args, None)")))))))
(native-inputs
(list python-mock
python-pytest
python-setuptools
python-wheel))
(propagated-inputs
- (list python-twisted))
+ ;; python-service-identity should be propagated from python-twisted.
+ (list python-autobahn python-service-identity python-twisted))
(home-page "https://github.com/magic-wormhole/magic-wormhole-transit-relay")
(synopsis "Magic-Wormhole relay server")
(description
@@ -119,19 +118,20 @@ together, allowing them to pretend they have a direct connection.")
(define-public magic-wormhole
(package
(name "magic-wormhole")
- (version "0.16.0")
+ (version "0.19.2")
(source
(origin
(method url-fetch)
- (uri (pypi-uri "magic-wormhole" version))
+ (uri (pypi-uri "magic_wormhole" version))
(sha256
(base32
- "1jcldlyj6bdd9bb39r77cd9ra6cllqijc9lhs6kaggcdi53c3rhl"))))
+ "0wbwz5kzqgr4352xbp08z8syg9cl8dkqy8rsa3y4rzq9ry5agd5j"))))
(build-system pyproject-build-system)
(arguments
(list
- ;; One test fails with error: twisted.trial.unittest.FailTest: 1 != 0
- #:test-flags #~(list "-k" "not test_log_other_errors")
+ #:test-flags #~(list "-k" (string-append
+ "not test_receive_send"
+ " and not test_receive_receive"))
#:phases
#~(modify-phases %standard-phases
;; XXX I can't figure out how to build the docs properly.
@@ -143,6 +143,7 @@ together, allowing them to pretend they have a direct connection.")
(native-inputs
(list python-mock
python-pytest
+ python-pytest-twisted
python-setuptools
python-wheel
magic-wormhole-mailbox-server
@@ -150,12 +151,13 @@ together, allowing them to pretend they have a direct connection.")
(propagated-inputs
(list python-attrs
python-autobahn
+ python-automat
python-click
- python-hkdf
python-humanize
python-iterable-io
python-noiseprotocol
python-pynacl
+ python-qrcode
python-spake2
python-tqdm
python-twisted
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 68611d32f2..0627370086 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -149,7 +149,6 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages networking)
- #:use-module (gnu packages ninja)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages openldap)
#:use-module (gnu packages pcre)
@@ -1012,49 +1011,30 @@ mailpack. What can alterMIME do?
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "17m99llggkg7xg72k8xaf7iipax7sgfhqa2a1qnlylndwa42f57b"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; https://github.com/astroidmail/astroid/pull/685
- (substitute* "tests/test_composed_message.cc"
- (("\\\\n\\.\\.\\.") "\\n...\\n"))))))
+ (base32 "17m99llggkg7xg72k8xaf7iipax7sgfhqa2a1qnlylndwa42f57b"))))
(build-system cmake-build-system)
(arguments
- `(#:modules ((guix build cmake-build-system)
+ `(#:parallel-tests? #f
+ ;; This test relies on the plugins and the test suite
+ ;; cannot find the Astroid module.
+ ;; gi.require_version ('Astroid', '0.2')
+ ;; ValueError: Namespace Astroid not available
+ #:test-exclude "markdown"
+ #:modules ((guix build cmake-build-system)
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
(guix build utils)
(ice-9 match))
#:imported-modules ((guix build glib-or-gtk-build-system)
,@%cmake-build-system-modules)
- #:configure-flags (list "-GNinja")
+ #:generator "Ninja"
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'skip-markdown-test
- ;; This test relies on the plugins and the test suite
- ;; cannot find the Astroid module.
- ;; gi.require_version ('Astroid', '0.2')
- ;; ValueError: Namespace Astroid not available
- (lambda _
- (substitute* "tests/CMakeLists.txt"
- ((".*markdown.*") ""))))
- (replace 'build
- (lambda _
- (invoke "ninja" "-j" (number->string (parallel-job-count)))))
(add-before 'check 'start-xserver
(lambda* (#:key inputs #:allow-other-keys)
(let ((xorg-server (assoc-ref inputs "xorg-server")))
(setenv "HOME" (getcwd))
(system (format #f "~a/bin/Xvfb :1 &" xorg-server))
(setenv "DISPLAY" ":1"))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
- (invoke "ctest" "."))))
- (replace 'install
- (lambda _
- (invoke "ninja" "install")))
(add-after 'install 'wrap-with-GI_TYPELIB_PATH
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
@@ -1077,7 +1057,6 @@ mailpack. What can alterMIME do?
(list glib-networking
gsettings-desktop-schemas
gnupg
- ninja
pkg-config
ronn-ng
w3m
@@ -2808,7 +2787,8 @@ separation to safely deliver mail in multi-user setups.")
;; patch 24.
(patches (search-patches "procmail-ambiguous-getline-debian.patch"
"procmail-CVE-2014-3618.patch"
- "procmail-CVE-2017-16844.patch"))))
+ "procmail-CVE-2017-16844.patch"
+ "procmail-gcc-14.patch"))))
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'configure
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index bc7eefb267..e12dc29230 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -225,6 +225,11 @@ the traditional flat-text whatis databases.")
#:make-flags #~(list (string-append "bindir=" #$output "/bin")
"manhtml")
#:phases #~(modify-phases %standard-phases
+ (add-before 'configure 'fix-includes
+ (lambda _
+ (substitute* "src/makemsg.c"
+ (("#include <unistd.h>" all)
+ (string-append all "\n#include <string.h>")))))
(replace 'configure
(lambda _
(setenv "CC" #$(cc-for-target))
diff --git a/gnu/packages/markup.scm b/gnu/packages/markup.scm
index 85a9db1a3c..a85b695883 100644
--- a/gnu/packages/markup.scm
+++ b/gnu/packages/markup.scm
@@ -485,8 +485,6 @@ convert HTML to Markdown.")
(base32
"0llj68l9rxdhral0zyv0bz6yzqsxgq8d3730082sl3kx78lsq5qq"))))
(build-system cmake-build-system)
- (arguments
- '(#:test-target "test"))
(native-inputs (list python))
(synopsis "CommonMark Markdown reference implementation")
(description
@@ -543,8 +541,7 @@ CommonMark C library libcmark. It closely follows the original API.")
(base32
"1apy9i76rgs0bmgdlpjszv0fpqhlap2s12m68wvnsv8j3fsqc90y"))))
(arguments
- (list #:test-target "test"
- #:phases #~(modify-phases %standard-phases
+ (list #:phases #~(modify-phases %standard-phases
(add-after 'install 'install-config
(lambda _
;; XXX: cmark-gfm-core-extensions.h includes this file.
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index c6584330e6..dad9d4c4d5 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -70,6 +70,7 @@
;;; Copyright © 2025 Luca Cirrottola <luca.cirrottola@inria.fr>
;;; Copyright © 2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2025 Sören Tempel <soeren@soeren-tempel.net>
+;;; Copyright © 2025 nomike Postmann <nomike@nomike.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -480,9 +481,7 @@ enough to be used effectively as a scientific calculator.")
"0csy4pjw1p8rp6g5qxi2h0ychhhp1fldv7gb761627fs2mclw9gv"))))
(build-system cmake-build-system)
(arguments
- '(#:test-target "test"
- #:configure-flags '("-DBUILD_SHARED_LIBS=ON"
- "-DBUILD_TESTING=ON")))
+ '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
(synopsis "Conversion routines for IEEE doubles")
(description
"The double-conversion library provides binary-decimal and decimal-binary
@@ -1199,8 +1198,7 @@ large scale eigenvalue problems.")
"-DCBLAS=ON"
"-DLAPACKE=ON"
;; Build the 'LAPACKE_clatms' functions.
- "-DLAPACKE_WITH_TMG=ON"
- "-DBUILD_TESTING=ON")))
+ "-DLAPACKE_WITH_TMG=ON")))
(synopsis "Library for numerical linear algebra")
(description
"LAPACK is a Fortran 90 library for solving the most commonly occurring
@@ -3242,7 +3240,7 @@ includes a complete LAPACK implementation.")
(define-public hpcombi
(package
(name "hpcombi")
- (version "1.0.1")
+ (version "1.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3251,11 +3249,9 @@ includes a complete LAPACK implementation.")
(file-name (git-file-name name version))
(sha256
(base32
- "00mbxw5x6m61n0x68dsiyq97i7b08h3hkbj9is2w6gcg571jy319"))))
- (arguments
- (list #:configure-flags #~(list "-DBUILD_TESTING=ON")))
+ "0xxqjz4lba57vn65m2k5jxrz0v7y6jwnhxwg6njd4vrafv5w17yv"))))
(native-inputs
- (list catch2-3))
+ (list catch2-3.8))
(build-system cmake-build-system)
(home-page "https://libsemigroups.github.io/HPCombi/")
(synopsis "Fast combinatorics in C++ using SSE/AVX instruction sets")
@@ -3606,6 +3602,22 @@ This is the certified version of the Open Cascade Technology (OCCT) library.")
;; File src/NCollection/NCollection_StdAllocator.hxx:
license:public-domain))))
+;; PrusaSlicer has a hard dependency on this slightly older version of
+;; OpenCASCADE. According to them, all newer versions have a bug that causes
+;; chamfers to be triangulated incorrectly.
+;; See https://github.com/prusa3d/PrusaSlicer/commit/c6a02106fd1d3caa9a48a6b7c2bdd04546b24485.
+(define-public opencascade-occt-7.6.1
+ (hidden-package
+ (package/inherit opencascade-occt
+ (name "opencascade-occt")
+ (version "7.6.1")
+ (source
+ (origin
+ (inherit (package-source opencascade-occt))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1cc7n4rs26lm1awwn2bijvjq9b3kz204ffnks02lrpgs7pf8yk8b")))))))
+
(define-public fast-downward
(package
(name "fast-downward")
@@ -4641,6 +4653,40 @@ bindings to almost all functions of PETSc.")
;; <https://github.com/dimpase/primecountpy/issues/16>.
(license license:gpl2+)))
+(define-public python-py-bobyqa
+ (package
+ (name "python-py-bobyqa")
+ (version "1.5.0")
+ (source
+ (origin
+ (method git-fetch) ;no tests in PyPI release
+ (uri (git-reference
+ (url "https://github.com/numericalalgorithmsgroup/pybobyqa")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0k9iapdlbp1k2ck1550ckw0y75f71gxzqkv4clz89ym4fwqwszv2"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-setuptools
+ python-wheel))
+ (propagated-inputs
+ (list python-numpy
+ python-pandas
+ python-scipy
+ python-setuptools))
+ (home-page "https://github.com/numericalalgorithmsgroup/pybobyqa")
+ (synopsis "Derivative-free solver for general objective minimization")
+ (description
+ "Py-BOBYQA is a flexible package for solving bound-constrained general
+objective minimization, without requiring derivatives of the objective. At
+its core, it is a Python implementation of the BOBYQA algorithm by Powell,but
+Py-BOBYQA has extra features improving its performance on some problems.
+Py-BOBYQA is particularly useful when evaluations of the objective function
+are expensive and/or noisy.")
+ (license license:gpl3)))
+
(define-public python-pyglm
(package
(name "python-pyglm")
@@ -5403,7 +5449,8 @@ implemented in ANSI C, and MPI for communications.")
(list flex bison gfortran))
(outputs '("out" "metis"))
(arguments
- (list #:configure-flags #~'("-DBUILD_SHARED_LIBS=YES" "-DINTSIZE=64"
+ (list #:parallel-tests? #f
+ #:configure-flags #~'("-DBUILD_SHARED_LIBS=YES" "-DINTSIZE=64"
"-DBUILD_PTSCOTCH=OFF")
#:phases
#~(modify-phases %standard-phases
@@ -5498,6 +5545,7 @@ bio-chemistry.")
(build-system cmake-build-system)
(arguments
(list
+ #:tests? #f
#:configure-flags
#~(list "-DBUILD_SHARED_LIBS=ON"
#$@(if (target-x86?)
@@ -8064,8 +8112,7 @@ supports compressed MAT files, as well as newer (version 7.3) MAT files.")
(arguments
(list
#:configure-flags
- #~(list "-DBUILD_TESTING=ON"
- ;; By default, Vc will optimize for the CPU of the build machine.
+ #~(list ;; By default, Vc will optimize for the CPU of the build machine.
;; Setting this to "none" makes it create portable binaries. See
;; "cmake/OptimizeForArchitecture.cmake".
"-DTARGET_ARCHITECTURE=none")
@@ -8750,6 +8797,7 @@ reduction.")
(inputs
(list boost glu mesa qtbase-5))
(build-system cmake-build-system)
+ (arguments (list #:tests? #f))
(synopsis "Toolset for the mCRL2 formal specification language")
(description
"@dfn{mCRL2} (micro Common Representation Language 2) is a formal
@@ -8768,7 +8816,8 @@ analysed.")
(inputs
(list boost))
(arguments
- '(#:configure-flags '("-DMCRL2_ENABLE_GUI_TOOLS=OFF")))))
+ (list #:tests? #f
+ #:configure-flags #~(list "-DMCRL2_ENABLE_GUI_TOOLS=OFF")))))
(define-public tcalc
(package
@@ -10277,7 +10326,6 @@ community detection algorithm.")
(arguments
(list
#:build-type "Release"
- #:test-target "test"
#:configure-flags #~(list "-DENABLE_TESTING=ON" "-DSTATS=ON")
#:phases
#~(modify-phases %standard-phases
@@ -10593,16 +10641,23 @@ projects up to the certification of critical software.")
(base32 "0c88gc72j3zggyk4yrrip6i0v7xkx97l140vpy3xhxs2i7xy1461"))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags '("-DBUILD_DOC=ON"
- "-DBUILD_TESTING=ON")
- ;; The default "check" target also includes examples and benchmarks.
- #:test-target "check-testsuite"
- #:phases
- (modify-phases %standard-phases
- (add-after 'build 'build-doc
- (lambda _
- (invoke "make" "-j" (number->string (parallel-job-count))
- "blitz-doc"))))))
+ (list
+ #:configure-flags #~(list "-DBUILD_DOC=ON")
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'build 'build-doc
+ (lambda _
+ (invoke "make" "-j" (number->string (parallel-job-count))
+ "blitz-doc")))
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ ;; The default "check" target also includes examples and
+ ;; benchmarks.
+ #:test-target "check-testsuite" args))))))
(native-inputs
(list python texinfo))
(synopsis "C++ template class library for multidimensional arrays")
@@ -11356,6 +11411,36 @@ Mathics3.")
(description "This package provides a Django front end for Mathics3.")
(license license:gpl3)))
+(define-public python-mathics3-notebook-frontends
+ (let ((commit "63b90a07704acab5b04acc7a9335a8a88916c402") ; no releases
+ (revision "0"))
+ (package
+ (name "python-mathics3-notebook-frontends")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Mathics3/Mathics3-notebook-frontends")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "02smq8w0m3kj1xssbyd7kl17b34mk1jzy9ds7fsqb54qa5pba78q"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-mathics-core))
+ (arguments
+ (list #:tests? #f)) ; no tests
+ (native-inputs
+ (list python-setuptools
+ python-wheel))
+ (home-page "https://mathics.org/")
+ (synopsis "Mathics frontend for Jupyter Notebook")
+ (description
+ "This package provides a Mathics3 frontend for
+@url{https://jupyter.org/, Jupyter Notebook} and @url{https://marimo.io/,
+Marimo}.")
+ (license license:gpl3+))))
+
(define-public lie
(package
(name "lie")
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 89cb304a14..8b135ff067 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -74,6 +74,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages cmake)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages certs)
@@ -414,17 +415,12 @@ conferencing.")
(arguments
`(#:configure-flags (list "-DBUILD_EXAMPLES=false"
"-DWITH_GSTREAMER=true")
- #:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "ctest" "-E"
- (string-join ;; These tests use the network.
- (list "tst_qxmppiceconnection"
- "tst_qxmppcallmanager"
- "tst_qxmpptransfermanager")
- "|"))))))))
+ #:test-exclude
+ (string-join ;; These tests use the network.
+ (list "tst_qxmppiceconnection"
+ "tst_qxmppcallmanager"
+ "tst_qxmpptransfermanager")
+ "|")))
(native-inputs
(list pkg-config))
(inputs
@@ -574,8 +570,8 @@ your private keys, no previous conversation is compromised.")
(base32
"0z5p03vk15i6h870azfjgyfgxhv31q2vq6rfhnybrnkxq2wqzwhk"))))
(arguments
- `(;; Required for proper linking and for tests to run.
- #:configure-flags '("-DBUILD_SHARED_LIBS=on" "-DBUILD_TESTING=1")))
+ `(;; Required for proper linking.
+ #:configure-flags '("-DBUILD_SHARED_LIBS=on")))
(build-system cmake-build-system)
(inputs (list ;; Required for tests:
check openssl))
@@ -633,9 +629,10 @@ by Dino to provide OMEMO support.")))
(git-file-name name version))
(sha256
(base32 "0b02b9flri374f8aw6xfz7mm9s57rb7393r8mdphv7kcsf76i7i5"))))
- (build-system cmake-build-system)
+ (build-system gnu-build-system)
(arguments
- `(#:phases (modify-phases %standard-phases
+ `(#:test-target "test"
+ #:phases (modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@@ -665,15 +662,17 @@ It implements the necessary interfaces using @code{libgcrypt} and
(git-file-name name version))
(sha256
(base32 "1q3vyj8zk3vm0a4v6w8qya5dhk2yw04bga8799a0zl6907nf122k"))))
- (build-system cmake-build-system)
+ (build-system gnu-build-system)
(arguments
- `(#:phases (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (setenv "CC" "gcc")
- (setenv "PREFIX" out)))))
- #:parallel-tests? #f))
+ (list
+ #:parallel-tests? #f
+ #:test-target "test"
+ #:phases #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (setenv "CC" "gcc")
+ (setenv "PREFIX" out)))))))
(native-inputs (list cmocka pkg-config))
(inputs (list glib libgcrypt minixml sqlite))
(synopsis "OMEMO C library")
@@ -1149,7 +1148,8 @@ control of your private keys, no previous conversation is compromised.")
"06bb6c2nciwbknfschxd2fjkpigd6i0zgwl6jiz5lm7gcadssrdy"))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags
+ `(#:tests? #f
+ #:configure-flags
(list "-DWANT_CYRUS=ON"
"-DWANT_I18N=ON"
"-DWANT_PERL=ON"
@@ -2391,7 +2391,7 @@ notifications, and Python scripting support.")
(define-public libqmatrixclient
(package
(name "libqmatrixclient")
- (version "0.6.11")
+ (version "0.9.3")
(source
(origin
(method git-fetch)
@@ -2400,16 +2400,28 @@ notifications, and Python scripting support.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "072d3irpdd0p4w77s5pp0baqf74hk7vqggw7ic7i42lzjdwp3yql"))))
- (build-system cmake-build-system)
+ (base32 "0liidazw1ff1f73lb476pvrhzkmmk9dbgf5qsfajkxdj4xvy047k"))))
+ (build-system qt-build-system)
(inputs
- (list qtbase-5 qtmultimedia-5))
+ (list olm openssl qtkeychain-qt6 qtmultimedia))
(arguments
- `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON")
- #:tests? #f)) ; no tests
- (home-page "https://matrix.org/docs/projects/sdk/libqmatrixclient.html")
- (synopsis "Qt5 client library for the Matrix instant messaging protocol")
- (description "libqmatrixclient is a Qt5 library to write clients for the
+ (list #:qtbase qtbase
+ #:configure-flags
+ #~(list "-DBUILD_TESTING=ON"
+ "-DBUILD_SHARED_LIBS=ON")
+ #:phases
+ #~[modify-phases %standard-phases
+ (add-before 'check 'check-setup
+ (lambda _
+ (setenv "HOME" "/tmp")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; This test requires internet.
+ (invoke "ctest" "-E" "testolmaccount"))))]))
+ (home-page "https://quotient-im.github.io/libQuotient/")
+ (synopsis "Qt client library for the Matrix instant messaging protocol")
+ (description "libqmatrixclient is a Qt library to write clients for the
Matrix instant messaging protocol. Quaternion is the reference client
implementation. Quaternion and libqmatrixclient together form the
QMatrixClient project.")
@@ -2549,7 +2561,7 @@ notification, emojis, E2E encryption, and voip calls.")
(define-public quaternion
(package
(name "quaternion")
- (version "0.0.95.1")
+ (version "0.0.97.1")
(outputs '("out" "debug"))
(source
(origin
@@ -2559,28 +2571,28 @@ notification, emojis, E2E encryption, and voip calls.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "10mzcr4rpyq5bl3h8wzxxlk8rdz7slhiq863xs77bmsq2pzf6lp8"))))
+ (base32 "1628rnj025zz84vvp3zrhq912n27maznhszky2yd4w7ackg08zhf"))))
(build-system qt-build-system)
+ (arguments
+ (list #:qtbase qtbase
+ #:tests? #f)) ;no tests
+ (native-inputs
+ (list qttools))
(inputs
(list libqmatrixclient
- qtbase-5
- qtdeclarative-5
- qtgraphicaleffects
- qtmultimedia-5
- qtquickcontrols-5
- qtquickcontrols2-5
- qtsvg-5
- qttools-5
- qtwayland-5
+ olm
+ openssl
+ qtdeclarative
+ qtkeychain-qt6
+ qtmultimedia
+ qtsvg
+ qtwayland
xdg-utils))
- (arguments
- `(#:tests? #f)) ; no tests
- (home-page "https://matrix.org/docs/projects/client/quaternion.html")
+ (home-page "https://matrix.org/ecosystem/clients/quaternion/")
(synopsis "Graphical client for the Matrix instant messaging protocol")
- (description "Quaternion is a Qt5 desktop client for the Matrix instant
+ (description "Quaternion is a Qt desktop client for the Matrix instant
messaging protocol. It uses libqmatrixclient and is its reference client
-implementation. Quaternion and libqmatrixclient together form the
-QMatrixClient project.")
+implementation.")
(license (list license:gpl3+ ; all source code
license:lgpl3+)))) ; icons/breeze
@@ -2810,10 +2822,11 @@ support for high performance Telegram Bot creation.")
(git-file-name name version))
(sha256
(base32 "1ipd9gwh04wbqv6c10yxi02lc2yjsr02hwjycgxhl4r9x8b33psd"))))
- (build-system cmake-build-system)
+ (build-system gnu-build-system)
(arguments
(list
#:parallel-tests? #f
+ #:test-target "test"
#:phases
#~(modify-phases %standard-phases
(replace 'configure
@@ -2866,11 +2879,18 @@ asynchronicity.")
(base32
"06y3mh1d1mks6d0ynxp3980g712nkf8l5nyljpybsk326b246hg9"))))
(arguments
- `(#:test-target "tests"
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'change-directory
- (lambda _ (chdir "cpp"))))))
+ (list
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'change-directory
+ (lambda _ (chdir "cpp")))
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "tests" args))))))
(build-system cmake-build-system)
(native-inputs
(list googletest pkg-config))
@@ -2964,6 +2984,7 @@ as well as on desktop platforms. It's based on libpurple and ModemManager.")
(build-system cmake-build-system)
(arguments
(list
+ #:tests? #f
#:configure-flags
#~(list "-DWITH_WEBSOCKETS=ON")))
(inputs (list openssl libxslt libwebsockets-for-mosquitto))
diff --git a/gnu/packages/mold.scm b/gnu/packages/mold.scm
index 18a0a32896..5650b075b4 100644
--- a/gnu/packages/mold.scm
+++ b/gnu/packages/mold.scm
@@ -36,7 +36,7 @@
(define-public mold
(package
(name "mold")
- (version "2.40.2")
+ (version "2.40.3")
(source
(origin
(method git-fetch)
@@ -45,7 +45,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1pz88wkm0mmj2vfg9wzy6vimajlbrvlqnkllfj4vwnchf328ig8d"))
+ (base32 "0a19k2y56j7i1iw1hxnmwz1x53lf6v9gc8cda5sj7838xnyslkyc"))
(modules '((guix build utils)))
(snippet
#~(begin
@@ -61,8 +61,7 @@
#:configure-flags #~(list #$@(if (target-64bit?)
'("-DMOLD_USE_SYSTEM_MIMALLOC=ON")
'("-DMOLD_USE_MIMALLOC=OFF"))
- "-DMOLD_USE_SYSTEM_TBB=ON"
- "-DBUILD_TESTING=ON")
+ "-DMOLD_USE_SYSTEM_TBB=ON")
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'force-system-xxhash
diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm
index d2b97372d1..884ed86cce 100644
--- a/gnu/packages/mp3.scm
+++ b/gnu/packages/mp3.scm
@@ -668,8 +668,7 @@ command-line tool.")
(arguments
`(#:tests? #f ; tests require googletest *sources*
;;#:configure-flags '("-DBUILD_TESTS=ON") ; for building the tests
- #:configure-flags '("-DBUILD_TOOLS=ON") ; for fpcalc
- #:test-target "check"))
+ #:configure-flags '("-DBUILD_TOOLS=ON"))) ; for fpcalc
(inputs
;; requires one of FFmpeg (prefered), FFTW3 or vDSP
;; use the same ffmpeg version as for acoustid-fingerprinter
@@ -828,7 +827,7 @@ simple to use yet fully featured.")
(,(string-append (assoc-ref inputs "gtk+")
"/share/glib-2.0/schemas"))))))))))
(native-inputs
- (list pkg-config cmake))
+ (list pkg-config cmake-minimal))
(inputs
(list glib
gtk+
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index 1964278ed3..631a276282 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -342,7 +342,7 @@ software vendors, application developers and computer science researchers.")
(define-public openmpi-5
(package
(inherit openmpi)
- (version "5.0.7")
+ (version "5.0.8")
(source
(origin
(method url-fetch)
@@ -375,7 +375,7 @@ software vendors, application developers and computer science researchers.")
;; documentation.
(delete-file-recursively "docs/html")))
(sha256
- (base32 "1pf25zp9y0ch3vab3ycpjkck4njrsms0sg6zs0s36h3ajc4j17qi"))))
+ (base32 "0jg423bv0gpdmgx6hgxcnpslhq55bfvb1y07axj0y9z7awd1w4sk"))))
(inputs (modify-inputs (package-inputs openmpi)
;; As of Open MPI 5.0.X, PMIx is used to communicate
@@ -389,7 +389,10 @@ software vendors, application developers and computer science researchers.")
(outputs '("out" "debug"))
(arguments
(list #:configure-flags
- #~(list "--enable-mpi-ext=affinity" ;cr doesn't work
+ #~(list #$(string-append
+ "CFLAGS=-g -O2"
+ " -Wno-error=incompatible-pointer-types")
+ "--enable-mpi-ext=affinity" ;cr doesn't work
"--with-sge"
"--disable-static"
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index d11099d0c5..8e7394946e 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -460,8 +460,10 @@ score, keyboard, guitar, drum and controller views.")
"--without-hal"
"--enable-udev"
(string-append "--with-udev-dir=" #$output "/lib/udev")
- (string-append "--prefix=" #$output))
-
+ (string-append "--prefix=" #$output)
+ (string-append "CFLAGS="
+ "-Wno-error=incompatible-pointer-types "
+ "-Wno-error=implicit-int"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-autotools-version-requirement
@@ -535,27 +537,34 @@ enables iPod support in music players such as Clementine.")
#:directories? #t))))))
(build-system cmake-build-system)
(arguments
- '(#:test-target "clementine_test"
- #:configure-flags
- (list ;; Requires unpackaged "projectm"
- "-DENABLE_VISUALISATIONS=OFF"
- ;; Otherwise it may try to download a non-free library at run-time.
- ;; TODO In an origin snippet, remove the code that performs the
- ;; download.
- "-DHAVE_SPOTIFY_DOWNLOADER=FALSE"
- ;; Clementine checks that the taglib version is higher than 1.11,
- ;; because of https://github.com/taglib/taglib/issues/864. Remove
- ;; this flag when 1.12 is released.
- "-DUSE_SYSTEM_TAGLIB=TRUE")
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'wrap-program
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
- (wrap-program (string-append out "/bin/clementine")
- `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
- (,gst-plugin-path)))))))))
+ (list
+ #:configure-flags
+ #~(list ;; Requires unpackaged "projectm"
+ "-DENABLE_VISUALISATIONS=OFF"
+ ;; Otherwise it may try to download a non-free library at run-time.
+ ;; TODO In an origin snippet, remove the code that performs the
+ ;; download.
+ "-DHAVE_SPOTIFY_DOWNLOADER=FALSE"
+ ;; Clementine checks that the taglib version is higher than 1.11,
+ ;; because of https://github.com/taglib/taglib/issues/864. Remove
+ ;; this flag when 1.12 is released.
+ "-DUSE_SYSTEM_TAGLIB=TRUE")
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "clementine_test" args)))
+ (add-after 'install 'wrap-program
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
+ (wrap-program (string-append out "/bin/clementine")
+ `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
+ (,gst-plugin-path)))))))))
(native-inputs
(list gettext-minimal
googletest
@@ -618,7 +627,6 @@ playing your music.")
(build-system cmake-build-system)
(arguments
(list
- #:cmake cmake ;needs 3.25
#:tests? #false ;there are none
#:phases
#~(modify-phases %standard-phases
@@ -767,24 +775,31 @@ Winamp/XMMS skins.")
#:directories? #t))))))
(build-system qt-build-system)
(arguments
- `(#:qtbase ,qtbase
- #:test-target "run_strawberry_tests"
- #:configure-flags
- `("-DBUILD_WITH_QT6=ON")
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'wrap-program
- (lambda* (#:key outputs #:allow-other-keys)
- (wrap-program (search-input-file outputs "bin/strawberry")
- `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
- (,(getenv "GST_PLUGIN_SYSTEM_PATH"))))))
- (add-before 'check 'pre-check
- (lambda* (#:key native-inputs inputs #:allow-other-keys)
- (system (format #f "~a :1 &"
- (search-input-file (or native-inputs inputs)
- "bin/Xvfb")))
- (setenv "DISPLAY" ":1")
- (setenv "HOME" (getcwd)))))))
+ (list
+ #:qtbase qtbase
+ #:configure-flags
+ #~(list "-DBUILD_WITH_QT6=ON")
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
+ (system (format #f "~a :1 &"
+ (search-input-file (or native-inputs inputs)
+ "bin/Xvfb")))
+ (setenv "DISPLAY" ":1")
+ (setenv "HOME" (getcwd))))
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "run_strawberry_tests" args)))
+ (add-after 'install 'wrap-program
+ (lambda* (#:key outputs #:allow-other-keys)
+ (wrap-program (search-input-file outputs "bin/strawberry")
+ `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
+ (,(getenv "GST_PLUGIN_SYSTEM_PATH")))))))))
(native-inputs
(list bash-minimal
gettext-minimal
@@ -1007,7 +1022,7 @@ settings (aliasing, linear interpolation and cubic interpolation).")
(base32 "1i5gz5zck8s0kskjgnx9c75gh7zx0kbjsqzl2765f99p9svprirq"))))
(build-system qt-build-system)
(arguments
- `(#:test-target "tests"
+ `(#:tests? #f ; require audio subsystem
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-data-directory
@@ -2306,7 +2321,7 @@ your own lessons.")
(define-public powertabeditor
(package
(name "powertabeditor")
- (version "2.0.0-alpha19")
+ (version "2.0.22")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2315,7 +2330,7 @@ your own lessons.")
(file-name (git-file-name name version))
(sha256
(base32
- "1fbrfw1ky57nms47pcfdrrwpa2jmgc8vgc68sz96wkvs49zzm5d1"))))
+ "1pn8wcmxsvffh8b3slsrbdb6l5s1mdbl3x41i4l170ld0p6fv92n"))))
(build-system cmake-build-system)
(arguments
(list
@@ -2330,8 +2345,8 @@ your own lessons.")
minizip
nlohmann-json
pugixml
- qtbase-5
- qttools-5 ;for Qt5LinguistTools
+ qtbase
+ qttools ;for QtLinguistTools
rtmidi
timidity++
zlib))
@@ -5990,10 +6005,7 @@ the electronic or dubstep genre.")
"0zn9v4lxjpnpdlpnv2px8ch3z0xagmqlvff5pd39pss3mxfp32g0"))))
(build-system cmake-build-system)
(arguments
- (list #:configure-flags
- (if (%current-target-system)
- #~(list "-DBUILD_TESTING=OFF")
- #~(list "-DBUILD_TESTING=ON"))))
+ (list #:tests? (not (%current-target-system)))) ; run unless cross-compiling
(native-inputs
(list googletest))
(home-page "https://github.com/pedrolcl/sonivox")
@@ -6081,7 +6093,14 @@ for the DSSI Soft Synth Interface. A brief list of features:
version ".tar.gz"))
(sha256
(base32 "10mj1hwv1598nsi7jw5di0pfcwk36g4rr6kl7gi45m7ak8f8ypnx"))))
- (arguments `(#:test-target "check"))
+ (arguments
+ (list
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check (assoc-ref gnu:%standard-phases 'check)))))
(build-system cmake-build-system)
(home-page "https://musicbrainz.org/doc/libdiscid")
(synopsis "Disc id reader library")
@@ -7969,28 +7988,31 @@ midi devices to JACK midi devices.")
(file-name (git-file-name name version))))
(arguments
(list
- #:test-target "check"
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
- ;; This package does not use the perl-build-system, so we have to
- ;; manually set up the Perl environment used by the test suite.
- (add-before 'check 'setup-perl-environment
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((perl-list-moreutils-lib
- (string-append #$(this-package-native-input "perl-list-moreutils")
- "/lib/perl5/site_perl/"
- #$(package-version perl)))
- (perl-exporter-tiny-lib
- (string-append #$(this-package-native-input "perl-exporter-tiny")
- "/lib/perl5/site_perl/"
- #$(package-version perl)))
- (perl-test-deep-lib
- (string-append #$(this-package-native-input "perl-test-deep")
- "/lib/perl5/site_perl/"
- #$(package-version perl))))
- (setenv "PERL5LIB" (string-append perl-list-moreutils-lib ":"
- perl-exporter-tiny-lib ":"
- perl-test-deep-lib))))))))
+ ;; This package does not use the perl-build-system, so we have to
+ ;; manually set up the Perl environment used by the test suite.
+ (add-before 'check 'setup-perl-environment
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((perl-list-moreutils-lib
+ (string-append #$(this-package-native-input "perl-list-moreutils")
+ "/lib/perl5/site_perl/"
+ #$(package-version perl)))
+ (perl-exporter-tiny-lib
+ (string-append #$(this-package-native-input "perl-exporter-tiny")
+ "/lib/perl5/site_perl/"
+ #$(package-version perl)))
+ (perl-test-deep-lib
+ (string-append #$(this-package-native-input "perl-test-deep")
+ "/lib/perl5/site_perl/"
+ #$(package-version perl))))
+ (setenv "PERL5LIB" (string-append perl-list-moreutils-lib ":"
+ perl-exporter-tiny-lib ":"
+ perl-test-deep-lib)))))
+ (replace 'check (assoc-ref gnu:%standard-phases 'check)))))
(build-system cmake-build-system)
(inputs
(list libogg))
@@ -8224,13 +8246,19 @@ Renoise, VCV Rack, or SuperCollider.")
(build-system qt-build-system)
(arguments
(list #:tests? #f ;no tests
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases #~(modify-phases %standard-phases
(replace 'configure
(lambda _
(substitute* "samplebrain.pro"
(("\\/usr")
#$output))
- (invoke "qmake"))))))
+ (invoke "qmake")))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'check (assoc-ref gnu:%standard-phases 'check))
+ (replace 'install (assoc-ref gnu:%standard-phases 'install)))))
(inputs (list fftw liblo libsndfile portaudio))
(home-page "https://thentrythis.org/projects/samplebrain/")
(synopsis "Sample mashing synthesizer designed by Aphex Twin")
diff --git a/gnu/packages/ncurses.scm b/gnu/packages/ncurses.scm
index 30d22f187b..d8cea95f0b 100644
--- a/gnu/packages/ncurses.scm
+++ b/gnu/packages/ncurses.scm
@@ -254,6 +254,33 @@ ncursesw library provides wide character support.")
((#:configure-flags cf)
#~(cons "--with-termlib=tinfo" #$cf))))))
+(define-public cdk
+ (package
+ (name "cdk")
+ (version "5.0-20250116")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://invisible-mirror.net/archives/cdk/cdk-"
+ version ".tgz"))
+ (sha256
+ (base32
+ "10ywvbnxwk6sfvlbkzfnbx9whsq9xv227znaiir742ym4h9d800m"))))
+ (build-system gnu-build-system)
+ ;; NOTE: This package does not have automated tests.
+ (arguments
+ (list #:configure-flags #~'("--with-shared" "--enable-rpath")))
+ (inputs
+ (list ncurses))
+ (synopsis "Curses widgets")
+ (description "Curses Development Kit (CDK) is a C library of widgets
+which allow a programmer to quickly create TUI applications. Widgets are
+objects whose appearance and behavior can be customized, e.g. a pulldown
+menu or a file-viewer.")
+ (home-page "https://invisible-island.net/cdk/cdk.html")
+ ;; The license is identified as MIT-X11 (Expat) by the author.
+ (license (non-copyleft "file://share/doc/cdk/COPYING"))))
+
(define-public dialog
(package
(name "dialog")
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 55d1975054..82b67d3e4b 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -26,7 +26,7 @@
;;; Copyright © 2018, 2020-2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2018, 2020, 2021, 2022 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
-;;; Copyright © 2019-2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2019 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
@@ -98,6 +98,7 @@
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
+ #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
@@ -173,6 +174,7 @@
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
@@ -724,7 +726,8 @@ from any network device in any of three ASCII graph formats.")
(base32 "1zr1l9zkai7rpw9cn5j9h4zrv08hgpfmwscwyscf2j4cgwf0rxrr"))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags
+ `(#:parallel-tests? #f
+ #:configure-flags
(list
(string-append "-DCMAKE_INSTALL_BINDIR="
(assoc-ref %outputs "out") "/bin")
@@ -1412,7 +1415,13 @@ or server shell scripts with network connections.")
(lambda _
(chmod "." #o755)
;; Upstream doesn't generate a shared library. So we have to do it.
- (setenv "CC" "gcc -fno-builtin -fPIC")
+ (setenv "CC" (string-join '("gcc"
+ "-fno-builtin"
+ "-fPIC"
+ "-Wno-implicit-function-declaration"
+ "-Wno-implicit-int"
+ "-Wno-return-mismatch")
+ " "))
(substitute* "Makefile"
(("^(all[^\n]*)" line) (string-append line " libwrap.so\n
libwrap.so: $(LIB_OBJ)\n
@@ -2726,17 +2735,19 @@ HTTP proxies.")
(define-public enet
(package
(name "enet")
- (version "1.3.17")
+ (version "1.3.18")
(source
(origin
- (method url-fetch)
- (uri (string-append "http://enet.bespin.org/download/"
- "enet-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lsalzman/enet")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1p6f9mby86af6cs7pv6h48032ip9g32c05cb7d9mimam8lchz3x3"))))
+ (base32
+ "0yavjrmvn34b67z8kkzp68s2wwd1nrriwkl2jc5pvwhgf51aar6c"))))
(build-system gnu-build-system)
- (native-inputs
- (list pkg-config))
+ (native-inputs (list autoconf automake libtool pkg-config))
(synopsis "Network communication layer on top of UDP")
(description
"ENet's purpose is to provide a relatively thin, simple and robust network
@@ -3615,20 +3626,28 @@ asynchronous model using a modern C++ approach.")
(sha256
(base32 "02mp5905nz02d7amb4zc77rcrkxmvy8mf5rci7mvy58g24lvbw25"))
(file-name (git-file-name name version))))
- (inputs
- (list openssl))
+ (build-system pyproject-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-crypto-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "shadowsocks/shell.py"
- (("config\\.get\\('libopenssl', None\\)")
- (format #f "config.get('libopenssl', ~s)"
- (string-append
- (assoc-ref inputs "openssl")
- "/lib/libssl.so")))))))))
- (build-system python-build-system)
+ (list
+ ;; XXX: Package is deprecated, but it might be a good thing to try and
+ ;; keep it.
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-crypto-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "shadowsocks/shell.py"
+ (("config\\.get\\('libopenssl', None\\)")
+ (format #f "config.get('libopenssl', ~s)"
+ (search-input-file inputs "lib/libssl.so"))))))
+ (add-after 'unpack 'python-fixes
+ (lambda _
+ (substitute* "shadowsocks/lru_cache.py"
+ (("collections\\.MutableMapping")
+ "collections.abc.MutableMapping")))))))
+ (inputs (list openssl))
+ (native-inputs
+ (list python-pytest python-setuptools python-wheel))
(home-page "https://github.com/shadowsocks/shadowsocks")
(synopsis "Fast tunnel proxy that helps you bypass firewalls")
(description
@@ -3869,7 +3888,10 @@ never see any machines other than the one Dante is running on.")
(inputs
(list asio catch-framework openssl))
(arguments
- `(#:configure-flags
+ `(;; Running parallel tests results in "bind: Address already in use" error
+ ;; in test service_status_feature_test_suite.
+ #:parallel-tests? #f
+ #:configure-flags
'("-DBUILD_SSL=NO")
#:phases
(modify-phases %standard-phases
@@ -3914,6 +3936,8 @@ communication over HTTP.")
(build-system cmake-build-system)
(arguments
(list
+ ;; Error when tests are run in parallel: "bind: Address already in use".
+ #:parallel-tests? #f
#:configure-flags
#~(list "-DRESTINIO_INSTALL=ON"
"-DRESTINIO_TEST=ON"
@@ -4118,7 +4142,6 @@ A very simple IM client working over the DHT.
(list
#:configure-flags #~(list "-DBUILD_DEPENDENCIES=OFF"
"-DBUILD_SHARED_LIBS=ON"
- "-DBUILD_TESTING=ON"
"-DDNC_SYSTEMD=OFF")
#:phases
#~(modify-phases %standard-phases
diff --git a/gnu/packages/ninja.scm b/gnu/packages/ninja.scm
index 398c4be10f..c4cd2fd55f 100644
--- a/gnu/packages/ninja.scm
+++ b/gnu/packages/ninja.scm
@@ -25,61 +25,72 @@
#:use-module ((guix licenses) #:select (asl2.0 expat))
#:use-module (guix gexp)
#:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
- #:use-module (gnu packages python))
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages re2c)
+ #:use-module (srfi srfi-1))
-(define-public ninja
- (package
- (name "ninja")
- (version "1.11.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ninja-build/ninja")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "14kshkxdn833nkz2qkzb3w531dcqj6haad90gxj70ic05lb7zx9f"))))
- (build-system gnu-build-system)
- (inputs (list python-wrapper))
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda _
- (substitute* "src/subprocess-posix.cc"
- (("/bin/sh") (which "sh")))
- (substitute* "src/subprocess_test.cc"
- (("/bin/echo") (which "echo")))))
- (replace 'build
- (lambda _
- (invoke "./configure.py" "--bootstrap")))
- (replace 'check
- (lambda _
- (invoke "./configure.py")
- (invoke "./ninja" "ninja_test")
- (invoke "./ninja_test")))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- (doc (string-append out "/share/doc/ninja")))
- (install-file "ninja" bin)
- (install-file "doc/manual.asciidoc" doc)))))))
- (home-page "https://ninja-build.org/")
- (synopsis "Small build system")
- (description
- "Ninja is a small build system with a focus on speed. It differs from
+(define-public ninja/pinned
+ (hidden-package
+ (package
+ (name "ninja")
+ (version "1.13.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ninja-build/ninja")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0vil4mz0h1z39d2airzdi8cia8xhn3n5p94pv4sd3mqk0pkha40s"))))
+ (build-system gnu-build-system)
+ (inputs (list python-wrapper re2c))
+ (arguments
+ '(; Tests now require googletest, which is a circular dependency.
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda _
+ (substitute* "src/subprocess-posix.cc"
+ (("/bin/sh") (which "sh")))
+ (substitute* "src/subprocess_test.cc"
+ (("/bin/echo") (which "echo")))))
+ (replace 'build
+ (lambda _
+ (invoke "./configure.py" "--bootstrap")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "./configure.py")
+ (invoke "./ninja" "ninja_test")
+ (invoke "./ninja_test"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (doc (string-append out "/share/doc/ninja")))
+ (install-file "ninja" bin)
+ (install-file "doc/manual.asciidoc" doc)))))))
+ (home-page "https://ninja-build.org/")
+ (synopsis "Small build system")
+ (description
+ "Ninja is a small build system with a focus on speed. It differs from
other build systems in two major respects: it is designed to have its input
files generated by a higher-level build system, and it is designed to run
builds as fast as possible.")
- (license asl2.0)))
+ (license asl2.0))))
+
+(define-public ninja
+ (package/inherit ninja/pinned
+ (properties (alist-delete 'hidden? (package-properties ninja/pinned)))))
(define-public samurai
(package
diff --git a/gnu/packages/notcurses.scm b/gnu/packages/notcurses.scm
index 1a8003abbc..e8a1afb125 100644
--- a/gnu/packages/notcurses.scm
+++ b/gnu/packages/notcurses.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2021 Blake Shaw <blake@nonconstructivism.com>
;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2025 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,7 +38,7 @@
(define-public notcurses
(package
(name "notcurses")
- (version "3.0.11")
+ (version "3.0.16")
(source
(origin
(method url-fetch)
@@ -47,10 +48,10 @@
;; to find a way to elide the non-free demos with a source 'snippet'.
(uri (string-append "https://github.com/dankamongmen/notcurses/releases"
"/download/v" version "/notcurses_" version
- "+dfsg.1.orig.tar.xz"))
+ "+dfsg.orig.tar.xz"))
(file-name (string-append name "-" version ".tar.xz"))
(sha256
- (base32 "0v5ccfpgaz7qq3b46a0nn7njmcwz74q9ngrs4yp1i36xph1cn6r9"))))
+ (base32 "074pq81rf4jhlrsq12dv44w840lv3kkibaj612gj5wm79wiw7bgk"))))
(build-system cmake-build-system)
(arguments
`(#:make-flags
diff --git a/gnu/packages/openbox.scm b/gnu/packages/openbox.scm
index 85c3bda958..130b0bae54 100644
--- a/gnu/packages/openbox.scm
+++ b/gnu/packages/openbox.scm
@@ -95,22 +95,22 @@ implementations.")
(sha256
(base32
"1fanjdmd8727kk74x5404vi8v7s4kpq48l583d12fsi4xvsfb8vi"))))
- (inputs
- `(("gtk+-2" ,gtk+-2)
- ("imlib2" ,imlib2)
- ("libglade" ,libglade)
- ("openbox" ,openbox)
- ("startup-notification" ,startup-notification)
- ("libsm" ,libsm)
- ("librsvg" ,(librsvg-for-system))
- ("libxft" ,libxft)))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("pkg-config" ,pkg-config)))
+ (inputs (list gtk+-2
+ imlib2
+ libglade
+ libsm
+ librsvg
+ libxft
+ openbox
+ startup-notification))
+ (native-inputs (list gettext-minimal pkg-config))
(build-system gnu-build-system)
(arguments
- `(#:configure-flags (list "--enable-nls")))
- (home-page "http://openbox.org/wiki/ObConf:About")
+ (list
+ #:configure-flags
+ #~(list "--enable-nls"
+ "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
+ (home-page "https://openbox.org/obconf")
(synopsis "Openbox configuration tool")
(description
"Obconf is a tool for configuring the Openbox window manager.
diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm
index 9b8de13794..40fa5981fe 100644
--- a/gnu/packages/opencl.scm
+++ b/gnu/packages/opencl.scm
@@ -115,9 +115,7 @@
(arguments
(list #:tests? #f ;The regression tests require a lot more dependencies.
#:configure-flags
- #~(list "-DBUILD_EXAMPLES=OFF" "-DBUILD_TESTS=OFF"
- ;; CTest needs this to be turned off.
- "-DBUILD_TESTING=OFF")))
+ #~(list "-DBUILD_EXAMPLES=OFF" "-DBUILD_TESTS=OFF")))
(native-inputs (list python-wrapper))
(propagated-inputs (list opencl-headers))
(home-page "https://github.khronos.org/OpenCL-CLHPP/")
diff --git a/gnu/packages/opencog.scm b/gnu/packages/opencog.scm
index 998d9b47ae..722cc0ffb7 100644
--- a/gnu/packages/opencog.scm
+++ b/gnu/packages/opencog.scm
@@ -29,6 +29,7 @@
#:use-module (gnu packages python)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix utils))
@@ -52,7 +53,21 @@
"1ymmcrinp0prlxsmxmwdjjl4kgaj7wzq39d5b1q2apgg94yfdhqb"))))
(build-system cmake-build-system)
(arguments
- `(#:test-target "tests"))
+ (list
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys #:rest args)
+ (when tests?
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:tests? tests? #:test-target "tests" args)
+ (for-each
+ (lambda (file)
+ (invoke file))
+ (find-files "tests" "UTest$"))))))))
(inputs
(list boost))
(native-inputs
@@ -84,14 +99,29 @@ utilities use for typical programming tasks in multiple OpenCog projects.")
"0vxzhszb0z8081li38hid07a5axzxyflsmq1mcn4b1k4z1j8ggch"))))
(build-system cmake-build-system)
(arguments
- `(#:test-target "tests"
- #:configure-flags
- (list (string-append "-DGUILE_INCLUDE_DIR="
- (assoc-ref %build-inputs "guile")
- "/include/guile/2.2/")
- (string-append "-DGUILE_SITE_DIR="
- (assoc-ref %outputs "out")
- "/share/guile/site/2.2/"))))
+ (list
+ #:configure-flags
+ #~(list (string-append "-DGUILE_INCLUDE_DIR=" #$guile-2.2
+ "/include/guile/2.2/")
+ (string-append "-DGUILE_SITE_DIR=" #$output
+ "/share/guile/site/2.2/"))
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys #:rest args)
+ (when tests?
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:tests? tests? #:test-target "tests" args)
+ ;; Failing tests.
+ (for-each delete-file
+ '("tests/matrix/VectorAPIUTest"
+ "tests/scm/MultiAtomSpaceUTest"))
+ (setenv "GUILE_LOAD_PATH" ".:opencog/scm")
+ (for-each invoke
+ (find-files "tests" "UTest$"))))))))
(inputs
(list boost cogutil gmp guile-2.2 postgresql))
(native-inputs
@@ -126,14 +156,26 @@ features not otherwise available.")
"1h0vcxb6n5dc654xqinqcxc7dxwcs6bsywgir8rhrqiykk760mzl"))))
(build-system cmake-build-system)
(arguments
- `(#:test-target "tests"
- #:configure-flags
- (list (string-append "-DGUILE_INCLUDE_DIR="
- (assoc-ref %build-inputs "guile")
- "/include/guile/2.2/")
- (string-append "-DGUILE_SITE_DIR="
- (assoc-ref %outputs "out")
- "/share/guile/site/2.2/"))))
+ (list
+ #:configure-flags
+ #~(list (string-append "-DGUILE_INCLUDE_DIR=" #$guile-2.2
+ "/include/guile/2.2/")
+ (string-append "-DGUILE_SITE_DIR=" #$output
+ "/share/guile/site/2.2/"))
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys #:rest args)
+ (when tests?
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:tests? tests? #:test-target "tests" args)
+ ;; Failing test.
+ (delete-file "tests/shell/ShellUTest")
+ (for-each invoke
+ (find-files "tests" "UTest$"))))))))
(inputs
(list atomspace boost cogutil gmp guile-2.2))
(native-inputs
@@ -164,15 +206,29 @@ OpenCog framework.")
"0sndslphicv6w9qpag168rqkxq5sf71l5qbfx6zhsd5bzlf5fhwv"))))
(build-system cmake-build-system)
(arguments
- `(#:test-target "tests"
- #:configure-flags
- (list
- (string-append "-DGUILE_INCLUDE_DIR="
- (assoc-ref %build-inputs "guile")
- "/include/guile/2.2/")
- (string-append "-DGUILE_SITE_DIR="
- (assoc-ref %outputs "out")
- "/share/guile/site/2.2/"))))
+ (list
+ #:configure-flags
+ #~(list (string-append "-DGUILE_INCLUDE_DIR=" #$guile-2.2
+ "/include/guile/2.2/")
+ (string-append "-DGUILE_SITE_DIR=" #$output
+ "/share/guile/site/2.2/"))
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys #:rest args)
+ (when tests?
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:tests? tests? #:test-target "tests" args)
+ ;; Failing tests.
+ (for-each delete-file
+ '("tests/attention/AttentionParamQueryUTest"
+ "tests/attention/HebbianCreationModuleUTest"
+ "tests/attention/ImportanceDiffusionUTest"))
+ (for-each invoke
+ (find-files "tests" "UTest$"))))))))
(inputs
(list atomspace
boost
@@ -209,15 +265,24 @@ tasks.")
"1j8wv910fvrmph370wv5pv2f4bc2s9vl6i7bw3pkmwbdhxkhjbhm"))))
(build-system cmake-build-system)
(arguments
- `(#:test-target "tests"
- #:configure-flags
- (list
- (string-append "-DGUILE_INCLUDE_DIR="
- (assoc-ref %build-inputs "guile")
- "/include/guile/2.2/")
- (string-append "-DGUILE_SITE_DIR="
- (assoc-ref %outputs "out")
- "/share/guile/site/2.2/"))))
+ (list
+ #:configure-flags
+ #~(list (string-append "-DGUILE_INCLUDE_DIR=" #$guile-2.2
+ "/include/guile/2.2/")
+ (string-append "-DGUILE_SITE_DIR=" #$output
+ "/share/guile/site/2.2/"))
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys #:rest args)
+ (when tests?
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:tests? tests? #:test-target "tests" args)
+ (for-each invoke
+ (find-files "tests" "UTest$"))))))))
(inputs
`(("attention" ,attention)
("atomspace" ,atomspace)
diff --git a/gnu/packages/openpgp.scm b/gnu/packages/openpgp.scm
index c98023566f..1aebfa6a68 100644
--- a/gnu/packages/openpgp.scm
+++ b/gnu/packages/openpgp.scm
@@ -121,7 +121,6 @@ environments.")
;; Lower the minimum tuning ratio from 6 to 4, as suggested
;; upstream to avoid the s2k_iteration_tuning failing.
"-DS2K_MINIMUM_TUNING_RATIO=4"
- "-DBUILD_TESTING=on"
"-DDOWNLOAD_GTEST=off"
"-DDOWNLOAD_RUBYRNP=off")
#:phases
diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm
index 3d897fcf2e..360f25fabf 100644
--- a/gnu/packages/openstack.scm
+++ b/gnu/packages/openstack.scm
@@ -8,6 +8,8 @@
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
+;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,6 +27,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages openstack)
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
@@ -42,37 +45,39 @@
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
+ #:use-module (gnu packages virtualization)
#:use-module (gnu packages xml)
#:use-module (guix gexp)
- #:use-module (guix build-system python)
+ #:use-module ((guix build-system python) #:select (pypi-uri))
#:use-module (guix build-system pyproject)
#:use-module (guix download)
- #:use-module ((guix licenses)
- #:select (asl2.0))
+ #:use-module (guix utils)
#:use-module (guix packages)
#:use-module (srfi srfi-1))
(define-public python-cliff
(package
(name "python-cliff")
- (version "3.10.1")
+ (version "4.10.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cliff" version))
(sha256
- (base32
- "180059m5ky3hlw2m9fszh4h2ykja8zl7ql5dsxjijiv47hzywnh4"))))
- (build-system python-build-system)
- (arguments
- `(#:tests? #f))
+ (base32 "0vd8b4lypkc65xb4cih2b4l9qkhxyj52xj078q63p8214xl5n7wc"))))
+ (build-system pyproject-build-system)
(native-inputs
- (list python-pbr))
+ (list python-coverage
+ python-fixtures
+ python-setuptools
+ python-sphinx-5
+ python-stestr
+ python-testscenarios
+ python-wheel))
(propagated-inputs
(list python-autopage
python-cmd2
python-prettytable
- python-pyparsing
python-pyyaml
python-stevedore))
(home-page "https://opendev.org/openstack/cliff")
@@ -82,7 +87,23 @@ commands such as those of @command{subversion} and @command{git}, where the
main program handles some basic argument parsing and then invokes a
sub-command to do the work. It uses plugins to define sub-commands, output
formatters, and other extensions.")
- (license asl2.0)))
+ (license license:asl2.0)))
+
+(define-public python-cliff-bootstrap
+ (hidden-package
+ (package/inherit python-cliff
+ (arguments
+ (substitute-keyword-arguments (package-arguments python-cliff)
+ ((#:tests? t? #t)
+ #f)
+ ((#:phases phases #~%standard-phases)
+ #~(modify-phases #$phases
+ (delete 'sanity-check)))))
+ (native-inputs
+ (list python-setuptools python-wheel))
+ (propagated-inputs
+ (modify-inputs (package-propagated-inputs python-cliff)
+ (replace "python-stevedore" python-stevedore-bootstrap))))))
(define-public python-debtcollector
(package
@@ -93,20 +114,23 @@ formatters, and other extensions.")
(method url-fetch)
(uri (pypi-uri "debtcollector" version))
(sha256
- (base32 "0vzarkvjclci98d8lvkix6qj59f7rxp1qg2x6q6is7qfbg91g29a"))
- (modules '((guix build utils)))
- (snippet #~(begin
- (substitute* "test-requirements.txt"
- (("^(coverage|hacking|pre-commit).*")
- ""))))))
+ (base32 "0vzarkvjclci98d8lvkix6qj59f7rxp1qg2x6q6is7qfbg91g29a"))))
(build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "test-requirements.txt"
+ (("^(coverage|hacking|pre-commit|reno).*")
+ "")
+ (("^(doc8|sphinx|openstackdocstheme).*")
+ "")))))))
(propagated-inputs
(list python-pbr python-wrapt))
(native-inputs
- (list python-doc8
- python-fixtures
- python-openstackdocstheme
- python-reno
+ (list python-fixtures
python-setuptools
python-stestr
python-testtools
@@ -118,7 +142,7 @@ formatters, and other extensions.")
"This package provides a collection of Python deprecation patterns and
strategies that help you collect your technical debt in a non-destructive
manner.")
- (license asl2.0)))
+ (license license:asl2.0)))
(define-public python-hacking
(package
@@ -151,7 +175,7 @@ manner.")
"Python-hacking is a set of flake8 plugins that test and enforce the
@uref{http://docs.openstack.org/developer/hacking/, OpenStack style
guidelines}.")
- (license asl2.0)))
+ (license license:asl2.0)))
(define-public python-mox3
(package
@@ -163,23 +187,28 @@ guidelines}.")
(uri (pypi-uri "mox3" version))
(patches (search-patches "python-mox3-python3.6-compat.patch"))
(sha256
- (base32
- "0w58adwv7q9wzvmq9mlrk2asfk73myq9fpwy7mjkzsz3baa95zf5"))))
- (build-system python-build-system)
+ (base32 "0w58adwv7q9wzvmq9mlrk2asfk73myq9fpwy7mjkzsz3baa95zf5"))))
+ (build-system pyproject-build-system)
(propagated-inputs
(list python-fixtures python-pbr))
(native-inputs
- (list python-openstackdocstheme python-sphinx python-subunit
- python-testrepository python-testtools))
+ (list python-openstackdocstheme
+ python-setuptools
+ python-sphinx
+ python-subunit
+ python-testrepository
+ python-testtools
+ python-wheel))
(arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'fix-for-python-3.11'
- (lambda _
- ;; The getargspec function has been removed in python 3.11.
- (substitute* "mox3/mox.py"
- (("self\\._args, varargs, varkw, defaults = inspect\\.getargspec\\(method\\)")
- "inspect_result = inspect.getfullargspec(method)
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-for-python-3.11
+ (lambda _
+ ;; The getargspec function has been removed in python 3.11.
+ (substitute* "mox3/mox.py"
+ (("self\\._args, varargs, varkw, defaults = inspect\\.getargspec\\(method\\)")
+ "inspect_result = inspect.getfullargspec(method)
self._args = inspect_result.args
varargs = inspect_result.varargs
varkw = inspect_result.varkw
@@ -190,7 +219,7 @@ guidelines}.")
"Mox3 is an unofficial port of the @uref{https://code.google.com/p/pymox/,
Google mox framework} to Python 3. It was meant to be as compatible
with mox as possible, but small enhancements have been made.")
- (license asl2.0)))
+ (license license:asl2.0)))
(define-public python-openstackdocstheme
(package
@@ -218,24 +247,41 @@ with mox as possible, but small enhancements have been made.")
(description
"This package provides themes and extensions for Sphinx for publishing
to docs.openstack.org and developer.openstack.org.")
- (license asl2.0)))
+ (license license:asl2.0)))
(define-public python-os-service-types
(package
(name "python-os-service-types")
- (version "1.7.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "os-service-types" version))
- (sha256
- (base32
- "0v4chwr5jykkvkv4w7iaaic7gb06j6ziw7xrjlwkcf92m2ch501i"))))
- (build-system python-build-system)
+ (version "1.8.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "os_service_types" version))
+ (sha256
+ (base32 "0gk0lgg862pwpisjz36jlrnr5ij75c8ja01znb1398rc2d7yf349"))))
+ (build-system pyproject-build-system)
(arguments
- ;; The tests are disabled to avoid a circular dependency with
- ;; python-keystoneauth1.
- `(#:tests? #f))
- (native-inputs (list python-pbr))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "test-requirements.txt"
+ (("(coverage|hacking).*")
+ ""))))
+ (replace 'check
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
+ (when tests?
+ (apply invoke "stestr" "run" test-flags)))))))
+ (native-inputs
+ (list python-keystoneauth1
+ python-oslotest
+ python-pbr-next
+ python-requests-mock
+ python-setuptools
+ python-stestr
+ python-testscenarios
+ python-wheel))
(home-page "https://docs.openstack.org/os-service-types/latest/")
(synopsis "Library for consuming OpenStack Service Types Authority data")
(description "The @emph{OpenStack Service Types Authority} contains
@@ -244,65 +290,96 @@ service-type aliases. The data is in JSON and the latest data should always
be used. This simple library exists to allow for easy consumption of the
data, along with a built-in version of the data to use in case network access
is for some reason not possible and local caching of the fetched data.")
- (license asl2.0)))
+ (license license:asl2.0)))
+
+(define-public python-os-service-types-bootstrap
+ (hidden-package
+ (package/inherit python-os-service-types
+ (arguments
+ (substitute-keyword-arguments (package-arguments python-os-service-types)
+ ((#:tests? t? #t)
+ #f)
+ ((#:phases phases #~%standard-phases)
+ #~(modify-phases #$phases
+ (delete 'sanity-check)))))
+ (native-inputs
+ (list python-pbr-next python-setuptools python-wheel)))))
(define-public python-os-testr
(package
(name "python-os-testr")
- (version "2.0.1")
+ (version "3.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "os-testr" version))
(sha256
- (base32
- "10xaqg3wxly13652hdvh9c69y4s12ird0ircffya3kvpl5pky0pz"))))
- (build-system python-build-system)
+ (base32 "0vik5sjl0qhz6xqqg6gnaf5jva31m7xykyc0azb53jfq7y57ladv"))))
+ (build-system pyproject-build-system)
(arguments
- ;; os-testr uses itself to run the tests. It seems like pbr writes the
- ;; exectuable in the virtualenv when using tox. Not sure how to do this
- ;; when building the package. Skip the tests for now.
- `(#:tests? #f))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "test-requirements.txt"
+ (("(coverage|hacking).*")
+ "")))))))
(propagated-inputs
(list python-stestr))
(native-inputs
- (list python-babel python-pbr python-testrepository python-testtools))
+ (list python-babel
+ python-ddt
+ python-oslotest
+ python-pbr
+ python-setuptools
+ python-testrepository
+ python-testscenarios
+ python-testtools
+ python-wheel))
(home-page "https://www.openstack.org/")
(synopsis "Testr wrapper to provide functionality for OpenStack projects")
(description
"Os-testr provides developers with a testr wrapper and an output filter
for subunit.")
- (license asl2.0)))
+ (license license:asl2.0)))
(define-public python-stevedore
(package
(name "python-stevedore")
- (version "3.2.2")
+ (version "5.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "stevedore" version))
(sha256
(base32
- "1w11lm293afzb73iq0ba9wnmr2rjwymnhr92km4a4xrs7a5qcigq"))))
- (build-system python-build-system)
+ "0jvgrn2mk7psrgly61k16p6pywnb191gzfliy9p824pya2pbad9i"))))
+ (build-system pyproject-build-system)
(arguments
- ;; The tests are disabled to avoid a circular dependency with
- ;; python-stestr.
- `(#:tests? #f
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'use-pbr-3
- (lambda _
- (substitute* '("setup.py"
- "requirements.txt")
- (("pbr!=2.1.0,>=2.0.0") "pbr>=3.0.0")))))))
- (propagated-inputs
- (list python-pbr))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "test-requirements.txt"
+ (("sphinx.*")
+ "sphinx\n"))))
+ (replace 'check
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
+ (when tests?
+ (apply invoke "stestr" "run" test-flags)))))))
+ (propagated-inputs (list python-pbr))
+ (native-inputs
+ (list python-coverage
+ python-setuptools
+ python-sphinx
+ python-stestr
+ python-wheel))
(home-page "https://github.com/dreamhost/stevedore")
(synopsis "Manage dynamic plugins for Python applications")
(description
- "Python makes loading code dynamically easy, allowing you to configure
+ "Python makes loading code dynamically easy, allowing you to configure
and extend your application by discovering and loading extensions (\"plugins\")
at runtime. Many applications implement their own library for doing this,
using __import__ or importlib. Stevedore avoids creating yet another extension
@@ -310,42 +387,70 @@ mechanism by building on top of setuptools entry points. The code for managing
entry points tends to be repetitive, though, so stevedore provides manager
classes for implementing common patterns for using dynamically loaded
extensions.")
- (license asl2.0)))
+ (license license:asl2.0)))
+
+(define-public python-stevedore-bootstrap
+ (hidden-package
+ (package/inherit python-stevedore
+ (arguments
+ (substitute-keyword-arguments (package-arguments python-stevedore)
+ ((#:tests? t? #t)
+ #f)
+ ((#:phases phases #~%standard-phases)
+ #~(modify-phases #$phases
+ (delete 'sanity-check)))))
+ (native-inputs
+ (list python-setuptools python-wheel)))))
(define-public python-tempest
(package
(name "python-tempest")
- (version "31.1.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "tempest" version))
- (sha256
- (base32
- "1bh250n0cf68jm68jd7pcrgf7zbsv74cq590ar1n002sijfcb80i"))))
- (build-system python-build-system)
+ (version "42.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tempest" version))
+ (sha256
+ (base32 "03jc474y57k4c2ydlzw8qx327am9ag15s8j4r4jadrs2x149qvlx"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "test-requirements.txt"
- ;; unused, code-quality checks only
- (("hacking[<>!=]" line) (string-append "# " line))
- (("flake8-.*[<>!=]" line) (string-append "# " line))
- (("pycodestyle[<>!=]" line) (string-append "# " line))
- (("coverage[<>!=]" line) (string-append "# " line)))))
- (add-before 'check 'setup-check
- (lambda _
- (substitute* "tempest/tests/lib/cli/test_execute.py"
- (("cli_base.execute\\(\"env\",")
- (string-append "cli_base.execute('" (which "env") "',")))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "stestr" "--test-path" "./tempest/tests" "run")))))))
+ (list
+ #:test-flags
+ #~(list "--test-path" "./tempest/tests"
+ ;; XXX: Probably requires some setup.
+ "--exclude-regex" (string-join
+ (list "test_load_json_resource_list"
+ "test_load_json_saved_state"
+ "test_take_action_got_exception"
+ "test_hacking")
+ "|"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-failing-tests
+ (lambda _
+ ;; XXX: Most of those tests require network connection.
+ (delete-file-recursively "tempest/tests/lib/services/volume")
+ (delete-file "tempest/tests/test_hacking.py")))
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "test-requirements.txt"
+ ;; unused, code-quality checks only
+ (("(hacking|flake8-.*|pycodestyle|coverage)[<>!=]" line)
+ (string-append "# " line)))))
+ (add-before 'check 'setup-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "tempest/tests/lib/cli/test_execute.py"
+ (("cli_base.execute\\(\"env\",")
+ (string-append "cli_base.execute('"
+ (search-input-file inputs "bin/env") "',")))))
+ (replace 'check
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
+ (when tests?
+ (apply invoke "stestr" "run" test-flags)))))))
(propagated-inputs (list python-cliff
python-cryptography
- python-debtcollector
+ python-defusedxml
+ python-fasteners
python-fixtures
python-jsonschema
python-netaddr
@@ -361,14 +466,19 @@ extensions.")
python-subunit
python-testtools
python-urllib3))
- (native-inputs (list python-oslotest python-pbr python-stestr python-hacking))
+ (native-inputs (list python-oslotest
+ python-pbr
+ python-setuptools
+ python-stestr
+ python-testscenarios
+ python-wheel))
(home-page "https://docs.openstack.org/tempest/latest/")
(synopsis "OpenStack Integration Testing")
(description "This is a set of integration tests to be run against a live
OpenStack cluster. Tempest has batteries of tests for OpenStack API
validation, scenarios, and other specific tests useful in validating an
OpenStack deployment.")
- (license asl2.0)))
+ (license license:asl2.0)))
(define-public python-tempest-lib
(package
@@ -376,42 +486,46 @@ OpenStack deployment.")
(version "1.0.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "tempest-lib" version))
- (sha256
- (base32
- "1cpp2vwmawpd29hjsklsps181lq2ah91cl412qvpnz228nf9sqn5"))))
- (build-system python-build-system)
+ (method url-fetch)
+ (uri (pypi-uri "tempest-lib" version))
+ (sha256
+ (base32 "1cpp2vwmawpd29hjsklsps181lq2ah91cl412qvpnz228nf9sqn5"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:tests? #f ; FIXME: Requires oslo.log >= 1.14.0.
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "requirements.txt"
- (("jsonschema[<>!=].*") "jsonschema\n"))))
- (add-before
- 'check 'pre-check
- (lambda _
- (substitute* "tempest_lib/tests/cli/test_execute.py"
- (("/bin/ls") (which "ls"))))))))
+ (list
+ #:tests? #f ; FIXME: Requires a lot of ancient packages.
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "requirements.txt"
+ (("jsonschema[<>!=].*") "jsonschema\n"))))
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "tempest_lib/tests/cli/test_execute.py"
+ (("/bin/ls")
+ (search-input-file inputs "bin/ls"))))))))
(propagated-inputs
- (list python-fixtures
- python-httplib2
- python-iso8601
- python-jsonschema
- python-oslo-log
- python-paramiko
- python-six))
+ (list python-fixtures
+ python-httplib2
+ python-iso8601
+ python-jsonschema
+ python-oslo-log
+ python-paramiko))
(native-inputs
- (list python-babel python-mock python-os-testr python-oslotest
- python-pbr))
+ (list python-babel
+ python-mock
+ python-os-testr
+ python-oslotest
+ python-pbr
+ python-setuptools
+ python-wheel))
(home-page "https://www.openstack.org/")
(synopsis "OpenStack functional testing library")
(description
- "Tempest-lib is a functional testing library for OpenStack. It provides
+ "Tempest-lib is a functional testing library for OpenStack. It provides
common features used in Tempest.")
- (license asl2.0)))
+ (license license:asl2.0)))
;;;
@@ -421,46 +535,67 @@ common features used in Tempest.")
(define-public python-oslo-concurrency
(package
(name "python-oslo-concurrency")
- (version "5.0.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "oslo.concurrency" version))
- (sha256
- (base32
- "0zl9wyxvs69i78wja5c3cacd6gadk8cc8ggy2ips0wlakxp98ilz"))))
- (build-system python-build-system)
+ (version "7.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "oslo_concurrency" version))
+ (sha256
+ (base32 "1jqlshynn8ddix3jx9ma969d6829xyy0vryhy5lpvc02h1zqg2nz"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "test-requirements.txt"
- (("hacking[<>!=]" line) (string-append "# " line))
- (("coverage[<>!=]" line) (string-append "# " line))
- (("bandit[<>!=]" line) (string-append "# " line))
- (("pre-commit[<>!=]" line) (string-append "# " line)))))
- (add-before 'check 'fix-tests
- (lambda _
- (substitute* "oslo_concurrency/tests/unit/test_processutils.py"
- (("#!/bin/bash") (string-append "#!" (which "bash")))
- (("#!/bin/sh") (string-append "#!" (which "sh")))
- (("'/usr/bin/env'") (string-append "'" (which "env") "'"))
- (("'/usr/bin/env ") (string-append "'" (which "env") " "))
- (("'/bin/true'") (string-append "'" (which "true") "'"))))))))
- (native-inputs (list python-pbr
- ;; for tests:
- python-oslotest
- python-fixtures
- python-stestr
- python-eventlet))
- (propagated-inputs (list python-fasteners python-oslo-config
- python-oslo-i18n python-oslo-utils))
+ (list
+ ;; XXX: At least another test is failing, but blocks the rest.
+ #:tests? #f
+ ;; XXX: Disable failing tests.
+ #:test-flags
+ #~(list "--exclude-regex" (string-join
+ (list "test_fair_lock_with_spawn"
+ "test_fair_lock_with_spawn_n"
+ "test_with_stdout")
+ "|"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "test-requirements.txt"
+ (("(hacking|coverage|bandit|pre-commit)[<>!=]" line)
+ (string-append "# " line)))))
+ (add-before 'check 'fix-tests
+ (lambda* (#:key inputs #:allow-other-keys)
+ (define (cross-which bin)
+ (search-input-file inputs (string-append "bin/" bin)))
+ (substitute* "oslo_concurrency/tests/unit/test_processutils.py"
+ (("#!/bin/(bash|sh)" all sh)
+ (string-append "#!" (cross-which sh)))
+ (("'/usr/bin/env('| )" all rest)
+ (string-append "'" (cross-which "env") rest))
+ (("'/bin/true'")
+ (string-append "'" (cross-which "true") "'")))))
+ (replace 'check
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
+ (when tests?
+ (apply invoke "stestr" "run" test-flags)))))))
+ (native-inputs
+ (list python-coverage
+ python-eventlet
+ python-fixtures
+ python-oslotest
+ python-pbr
+ python-setuptools
+ python-stestr
+ python-wheel))
+ (propagated-inputs
+ (list python-fasteners
+ python-oslo-config
+ python-oslo-i18n
+ python-oslo-utils))
(home-page "https://docs.openstack.org/oslo.concurrency/latest/")
(synopsis "Oslo Concurrency library")
(description "The Oslo Concurrency Library provides utilities for safely
running multi-thread, multi-process applications using locking mechanisms and
for running external processes.")
- (license asl2.0)))
+ (license license:asl2.0)))
(define-public python-oslo-config
(package
@@ -471,24 +606,50 @@ for running external processes.")
(method url-fetch)
(uri (pypi-uri "oslo.config" version))
(sha256
- (base32
- "0q3v4yicqls9zsfxkmh5mrgz9dailaz3ir25p458gj6dg3bldhx0"))))
- (build-system python-build-system)
- (arguments '(#:tests? #f)) ;XXX circular dependency on oslo.log
+ (base32 "0q3v4yicqls9zsfxkmh5mrgz9dailaz3ir25p458gj6dg3bldhx0"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; XXX: Disable failing tests.
+ #:test-flags
+ #~(list "--exclude-regex" (string-join
+ (list "test_print_help"
+ "test_print_strOpt_with_choices_help")
+ "|"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
+ (when tests?
+ (apply invoke "stestr" "run" test-flags)))))))
(propagated-inputs
- (list python-debtcollector
- python-netaddr
- python-oslo-i18n
- python-rfc3986
+ (list python-netaddr
+ python-oslo-i18n-bootstrap
+ python-pyyaml
python-requests
- python-stevedore
- python-pyyaml))
+ python-rfc3986
+ python-stevedore))
+ (native-inputs
+ (list python-coverage
+ python-docutils
+ python-fixtures
+ python-mypy
+ python-oslo-log-bootstrap
+ python-oslotest-bootstrap
+ python-pbr
+ python-requests-mock
+ python-setuptools
+ python-sphinx
+ python-stestr
+ python-testscenarios
+ python-testtools
+ python-wheel))
(home-page "https://launchpad.net/oslo")
(synopsis "Oslo Configuration API")
(description
"The Oslo configuration API supports parsing command line arguments and
.ini style configuration files.")
- (license asl2.0)))
+ (license license:asl2.0)))
(define-public python-oslo-context
(package
@@ -501,125 +662,170 @@ for running external processes.")
(sha256
(base32
"091j2cjh1b60nx6s0a4amb2idh9awijnbmppc3an0738fv8cdh48"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
- `(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "test-requirements.txt"
- (("hacking[<>!=].*") "hacking\n")
- ;; unused, code-quality checks only
- (("bandit[<>!=]" line) (string-append "# " line))
- (("pre-commit[<>!=]" line) (string-append "# " line))))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "test-requirements.txt"
+ ;; unused, code-quality checks only
+ (("(bandit|hacking|pre-commit)[<>!=]" line)
+ (string-append "# " line))))))))
(propagated-inputs
(list python-debtcollector))
(native-inputs
(list python-coverage
python-fixtures
- python-hacking
python-mypy
- python-oslotest
+ python-oslotest-bootstrap
python-pbr
- python-stestr))
+ python-setuptools
+ python-stestr
+ python-wheel))
(home-page "https://launchpad.net/oslo")
(synopsis "Oslo context library")
(description
"The Oslo context library has helpers to maintain useful information
about a request context. The request context is usually populated in the WSGI
pipeline and used by various modules such as logging.")
- (license asl2.0)))
+ (license license:asl2.0)))
(define-public python-oslo-i18n
(package
(name "python-oslo-i18n")
- (version "3.20.0")
+ (version "6.5.1")
(source
(origin
(method url-fetch)
- (uri (pypi-uri "oslo.i18n" version))
+ (uri (pypi-uri "oslo_i18n" version))
(sha256
- (base32
- "0kjcdw4bk3mi4vqmqwhhq053kxbbbj05si6nwxd1pzx33z067ky3"))))
- (build-system python-build-system)
- (arguments
- '(#:tests? #f)) ;avoid circular dependency on oslo.config
- (propagated-inputs
- (list python-babel python-six))
+ (base32 "178h7grww0brsdcp2iz87giappl928ir82arnvppcz5gqmq6m1ga"))))
+ (build-system pyproject-build-system)
(native-inputs
- (list python-pbr))
+ (list python-coverage
+ python-debtcollector
+ python-oslo-config
+ python-oslotest
+ python-pbr
+ python-setuptools
+ python-stestr
+ python-testscenarios
+ python-wheel))
(home-page "https://launchpad.net/oslo")
(synopsis "Oslo internationalization (i18n) library")
(description
"The oslo.i18n library contain utilities for working with
internationalization (i18n) features, especially translation for text strings
in an application or library.")
- (license asl2.0)))
+ (license license:asl2.0)))
+
+(define-public python-oslo-i18n-bootstrap
+ (hidden-package
+ (package/inherit python-oslo-i18n
+ (arguments
+ (substitute-keyword-arguments (package-arguments python-oslo-i18n)
+ ((#:tests? t? #t)
+ #f)
+ ((#:phases phases #~%standard-phases)
+ #~(modify-phases #$phases
+ (delete 'sanity-check)))))
+ (native-inputs
+ (list python-pbr python-setuptools python-wheel)))))
(define-public python-oslo-log
(package
(name "python-oslo-log")
- (version "5.0.0")
+ (version "7.2.0")
(source
(origin
(method url-fetch)
- (uri (pypi-uri "oslo.log" version))
+ (uri (pypi-uri "oslo_log" version))
(sha256
- (base32
- "00adkm465xcaxg15pncsmwxhicdj3kx4v1vcabghpmd2m0s75avk"))))
- (build-system python-build-system)
+ (base32 "1siw60x15ysfbf88hiisdn556y4anixj3clciky4xcwsiz8a6gwn"))))
+ (build-system pyproject-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests? (invoke "stestr" "run")))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
+ (when tests?
+ (apply invoke "stestr" "run" test-flags)))))))
(propagated-inputs
(list python-dateutil
- python-debtcollector
python-oslo-config
python-oslo-context
- python-oslo-i18n
- python-oslo-utils
+ python-oslo-i18n-bootstrap
python-oslo-serialization
- python-pyinotify))
+ python-oslo-utils))
(native-inputs
- (list python-fixtures python-oslotest python-stestr python-testtools
- python-pbr))
+ (list python-coverage
+ python-eventlet
+ python-fixtures
+ python-oslotest-bootstrap
+ python-pbr-next
+ python-setuptools
+ python-stestr
+ python-testtools
+ python-wheel))
(home-page "https://launchpad.net/oslo")
(synopsis "Python logging library of the Oslo project")
(description
"The oslo.log (logging) configuration library provides standardized
configuration for all OpenStack projects. It also provides custom formatters,
handlers and support for context specific logging (like resource id’s etc).")
- (license asl2.0)))
+ (license license:asl2.0)))
+
+(define-public python-oslo-log-bootstrap
+ (hidden-package
+ (package/inherit python-oslo-log
+ (arguments
+ (substitute-keyword-arguments (package-arguments python-oslo-log)
+ ((#:tests? t? #t)
+ #f)
+ ((#:phases phases #~%standard-phases)
+ #~(modify-phases #$phases
+ (delete 'sanity-check)))))
+ (propagated-inputs
+ (modify-inputs (package-propagated-inputs python-oslo-log)
+ (delete "python-oslo-config"))))))
(define-public python-oslo-serialization
(package
(name "python-oslo-serialization")
- (version "4.2.0")
+ (version "5.7.0")
(source
(origin
(method url-fetch)
- (uri (pypi-uri "oslo.serialization" version))
+ (uri (pypi-uri "oslo_serialization" version))
(sha256
- (base32
- "10sdgvyb0d3lcmb8b4l5gs40bkfbai08kvsdwp658dxd2yqf21rh"))))
- (build-system python-build-system)
+ (base32 "1rrvdhv82gklj45z6xs1h4l51jcz8fmdjijya2rkj1mqjzfx7i5x"))))
+ (build-system pyproject-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests? (invoke "stestr" "run")))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
+ (when tests?
+ (apply invoke "stestr" "run" test-flags)))))))
(propagated-inputs
- (list python-msgpack python-oslo-utils python-pbr python-pytz))
+ (list python-msgpack python-oslo-utils python-tzdata))
(native-inputs
- ;; For tests.
- (list python-netaddr python-oslo-i18n python-oslotest python-stestr))
+ (list python-netaddr
+ python-oslo-i18n-bootstrap
+ python-oslotest-bootstrap
+ python-setuptools
+ python-stestr
+ python-wheel))
(home-page "https://launchpad.net/oslo")
(synopsis "Oslo serialization library")
(description
"The oslo.serialization library provides support for representing objects
in transmittable and storable formats, such as JSON and MessagePack.")
- (license asl2.0)))
+ (license license:asl2.0)))
(define-public python-reno
(package
@@ -645,7 +851,7 @@ in transmittable and storable formats, such as JSON and MessagePack.")
(list git-minimal/pinned
gnupg
python-docutils
- python-openstackdocstheme
+ python-pbr
python-pytest
python-setuptools
python-sphinx
@@ -656,14 +862,12 @@ in transmittable and storable formats, such as JSON and MessagePack.")
python-wheel))
(propagated-inputs
(list python-dulwich
- python-packaging
- python-pbr
python-pyyaml))
(home-page "https://docs.openstack.org/reno/latest/")
(synopsis "Release notes manager")
(description "Reno is a tool for storing release notes in a git repository
and building documentation from them.")
- (license asl2.0)))
+ (license license:asl2.0)))
(define-public python-oslosphinx
(package
@@ -674,183 +878,223 @@ and building documentation from them.")
(method url-fetch)
(uri (pypi-uri "oslosphinx" version))
(sha256
- (base32
- "1xm41857vzrzjmnyi6bqirg4i5qa61v7wxcsdc4q1nzgr3ndgz5k"))))
- (build-system python-build-system)
+ (base32 "1xm41857vzrzjmnyi6bqirg4i5qa61v7wxcsdc4q1nzgr3ndgz5k"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "test-requirements.txt"
- (("hacking!=0.13.0,<0.14,>=0.12.0")
- "hacking!=0.13.0,>=0.12.0"))
- #t)))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "test-requirements.txt"
+ (("(hacking|reno).*")
+ "")))))))
(propagated-inputs
(list python-requests))
(native-inputs
- (list python-hacking python-openstackdocstheme python-pbr
- python-reno python-sphinx))
+ (list python-openstackdocstheme
+ python-pbr
+ python-setuptools
+ python-sphinx
+ python-wheel))
(home-page "https://www.openstack.org/")
(synopsis "OpenStack sphinx extensions and theme")
(description "This package provides themes and extensions for Sphinx
documentation from the OpenStack project.")
- (license asl2.0)))
+ (license license:asl2.0)))
(define-public python-oslotest
(package
(name "python-oslotest")
- (version "4.4.1")
+ (version "5.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "oslotest" version))
(sha256
- (base32
- "0r50sz55m8ljv2vk1k7sp88iz1iqq4p9w6kb8hn8g8c50r9zdi5i"))))
- (build-system python-build-system)
- (arguments
- ;; The tests are disabled to avoid a circular dependency with oslo.config.
- `(#:tests? #f))
+ (base32 "1vp85v81p2vx66j973hc7fa65shp0ilhaypyyny01jwcip94152s"))))
+ (build-system pyproject-build-system)
(propagated-inputs
- (list python-fixtures python-six python-subunit python-testtools))
+ (list python-fixtures python-subunit python-testtools))
+ (native-inputs
+ (list python-coverage
+ python-debtcollector
+ python-oslo-config
+ python-stestr
+ python-setuptools
+ python-wheel))
(home-page "https://launchpad.net/oslo")
(synopsis "Oslo test framework")
(description "The Oslo Test framework provides common fixtures, support
for debugging, and better support for mocking results.")
- (license asl2.0)))
+ (license license:asl2.0)))
+
+(define-public python-oslotest-bootstrap
+ (hidden-package
+ (package/inherit python-oslotest
+ (arguments
+ (substitute-keyword-arguments (package-arguments python-oslotest)
+ ((#:tests? t? #t)
+ #f)
+ ((#:phases phases #~%standard-phases)
+ #~(modify-phases #$phases
+ (delete 'sanity-check)))))
+ (native-inputs
+ (list python-setuptools python-wheel)))))
(define-public python-oslo-utils
(package
(name "python-oslo-utils")
- (version "4.12.0")
+ (version "7.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "oslo.utils" version))
(sha256
- (base32
- "0kfgr6lr3r34nzmkvnyywr0x3lkwpwy35m1dj4rkk3ydqvi1xaip"))))
- (build-system python-build-system)
+ (base32 "1kiynw1xhw88iimazjzmjrf4h8bzdyjyvkgj6jsz9p85m9fwnpda"))))
+ (build-system pyproject-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests? (invoke "stestr" "run")))))))
+ (list
+ ;; XXX: Disable failing test.
+ #:test-flags
+ #~(list "--exclude-regex" "test_format_6_luks")
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
+ (when tests?
+ (apply invoke "stestr" "run" test-flags)))))))
(propagated-inputs
(list python-debtcollector
- python-oslo-i18n
python-iso8601
python-netaddr
python-netifaces
- python-pbr
+ python-oslo-i18n-bootstrap
python-packaging
+ python-pbr
+ python-psutil
python-pyparsing
- python-pytz))
+ python-pyyaml
+ python-tzdata))
(native-inputs
- ;; For tests.
(list python-ddt
python-eventlet
python-fixtures
- python-oslotest
+ python-oslotest-bootstrap
+ python-setuptools
python-stestr
python-testscenarios
- python-testtools))
+ python-testtools
+ python-wheel
+ qemu-minimal))
(home-page "https://launchpad.net/oslo")
(synopsis "Oslo utility library")
(description
"The @code{oslo.utils} library provides support for common utility type
functions, such as encoding, exception handling, string manipulation, and time
handling.")
- (license asl2.0)))
+ (license license:asl2.0)))
(define-public python-keystoneauth1
(package
(name "python-keystoneauth1")
- (version "5.0.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "keystoneauth1" version))
- (sha256
- (base32
- "08s36dqxrxqx37sdl28cr7fx2iwr8wfxaa53hwq2dzcx9h25zfvf"))))
- (build-system python-build-system)
+ (version "5.11.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "keystoneauth1" version))
+ (sha256
+ (base32 "1wwicmgmga7ylyb2a15nh5y29r41vmxhyijs7ynjqjvzkg214vw0"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "test-requirements.txt"
- (("hacking[<>!=].*") "hacking\n")
- ;; unused, code-quality checks only
- (("flake8-.*[<>!=]" line) (string-append "# " line))
- (("pycodestyle[<>!=]" line) (string-append "# " line))
- (("bandit[<>!=]" line) (string-append "# " line))
- (("coverage[<>!=]" line) (string-append "# " line))
- (("reno[<>!=]" line) (string-append "# " line)))))
- (add-before 'check 'check-setup
- (lambda _
- ;; remove code-quality checks
- (delete-file "keystoneauth1/tests/unit/test_hacking_checks.py")))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "stestr" "run")))))))
- (propagated-inputs (list python-iso8601
- python-os-service-types
- python-requests
- python-six
- python-stevedore))
- (native-inputs (list python-betamax
- python-fixtures
- python-hacking
- python-lxml
- python-oauthlib
- python-oslo-config
- python-oslo-utils
- python-oslotest
- python-pbr
- python-pyyaml
- python-requests-kerberos
- python-requests-mock
- python-stestr
- python-testresources
- python-testtools))
+ (list
+ ;; XXX: Disable failing test.
+ #:test-flags
+ #~(list "--exclude-regex" "test_keystoneauth_betamax_fixture")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "test-requirements.txt"
+ ;; unused, code-quality checks only
+ (("(hacking|coverage|bandit|reno)[<>!=]"
+ line)
+ (string-append "# " line)))))
+ (add-before 'check 'check-setup
+ (lambda _
+ ;; remove code-quality checks
+ (delete-file "keystoneauth1/tests/unit/test_hacking_checks.py")))
+ (replace 'check
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
+ (when tests?
+ (apply invoke "stestr" "run" test-flags)))))))
+ (propagated-inputs
+ (list python-iso8601
+ python-os-service-types-bootstrap
+ python-pbr
+ python-requests
+ python-stevedore
+ python-typing-extensions))
+ (native-inputs
+ (list python-betamax
+ python-fixtures
+ python-lxml
+ python-oauthlib
+ python-oslo-config
+ python-oslo-utils
+ python-oslotest
+ python-pyyaml
+ python-requests-kerberos
+ python-requests-mock
+ python-setuptools
+ python-stestr
+ python-testresources
+ python-testtools
+ python-wheel))
(home-page "https://docs.openstack.org/keystoneauth/latest/")
(synopsis "Authentication Library for OpenStack Identity")
(description "Keystoneauth provides a standard way to do authentication
and service requests within the OpenStack ecosystem. It is designed for use
in conjunction with the existing OpenStack clients and for simplifying the
process of writing new clients.")
- (license asl2.0)))
+ (license license:asl2.0)))
(define-public python-keystoneclient
(package
(name "python-keystoneclient")
- (version "5.0.0")
+ (version "5.6.0")
(source
(origin
(method url-fetch)
- (uri (pypi-uri "python-keystoneclient" version))
+ (uri (pypi-uri "python_keystoneclient" version))
(sha256
(base32
- "0gza5fx3xl3l6vrc6pnhbzhipz1fz9h98kwxqp7mmd90pwrxll0g"))))
- (build-system python-build-system)
+ "1rqhxvych2a41dxlizz0qy37vs8jcxxy4kk7khw7c03iqypf47bj"))))
+ (build-system pyproject-build-system)
(arguments
- '(#:tests? #f ; FIXME: Many tests are failing.
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "test-requirements.txt"
- ;; unused, code-quality checks only
- (("hacking[<>!=]" line) (string-append "# " line))
- (("flake8-.*[<>!=]" line) (string-append "# " line))
- (("pycodestyle[<>!=]" line) (string-append "# " line))
- (("bandit[<>!=]" line) (string-append "# " line))
- (("coverage[<>!=]" line) (string-append "# " line))
- (("reno[<>!=]" line) (string-append "# " line))))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-failing-tests
+ (lambda _
+ ;; XXX: Mostly tests for outdated os-client-config.
+ (delete-file-recursively "keystoneclient/tests/functional/v3")))
+ (replace 'check
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
+ (when tests?
+ (apply invoke "stestr" "run" test-flags))))
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "test-requirements.txt"
+ ;; XXX: Outdated/discontinued.
+ (("os-client-config[<>!=]" line) (string-append "# " line))
+ ;; unused, code-quality checks only
+ (("(hacking|flake8-.*|pycodestyle|coverage|bandit|reno)[<>!=]"
+ line)
+ (string-append "# " line))))))))
(native-inputs
(list openssl
+ python-bandit
python-fixtures
python-keyring
python-lxml
@@ -859,24 +1103,23 @@ process of writing new clients.")
python-oslotest
python-pbr
python-requests-mock
+ python-setuptools
python-stestr
+ python-tempest
python-tempest-lib
python-testresources
python-testscenarios
- python-testtools))
+ python-testtools
+ python-wheel))
(propagated-inputs
- (list python-babel
- python-debtcollector
- python-iso8601
- python-keystoneauth1
- python-netaddr
+ (list python-keystoneauth1
python-oslo-config
python-oslo-i18n
python-oslo-serialization
python-oslo-utils
- python-prettytable
+ python-packaging
+ python-pbr
python-requests
- python-six
python-stevedore))
(home-page "https://www.openstack.org/")
(synopsis "Client Library for OpenStack Identity")
@@ -887,34 +1130,38 @@ supports token-based authN with user/service authZ, and is scalable to support
OAuth, SAML, and OpenID in future versions. Out of the box, Keystone uses
SQLite for its identity store database, with the option to connect to external
LDAP.")
- (license asl2.0)))
+ (license license:asl2.0)))
(define-public python-swiftclient
(package
(name "python-swiftclient")
- (version "4.0.1")
+ (version "4.8.0")
(source
(origin
(method url-fetch)
- (uri (pypi-uri "python-swiftclient" version))
+ (uri (pypi-uri "python_swiftclient" version))
(sha256
- (base32
- "1zwb4zcln454fzcnbwqhyzxb68wrsr1i2vvvrn5c7yy5k4vcfs1v"))))
- (build-system python-build-system)
+ (base32 "0qrq9fdcmqhg1374hsj58hddpfd2jm78q32yqbywls4k8smjq5j4"))))
+ (build-system pyproject-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
- (add-before 'check 'relax-requirements
- (lambda _
- (delete-file "test-requirements.txt")))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "stestr" "run")))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'relax-requirements
+ (lambda _
+ (delete-file "test-requirements.txt")))
+ (replace 'check
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
+ (when tests?
+ (apply invoke "stestr" "run" test-flags)))))))
(native-inputs
- (list python-keystoneclient
- python-keystoneauth1
+ (list python-keystoneauth1
+ python-keystoneclient
python-openstacksdk
- python-stestr))
+ python-pbr
+ python-setuptools
+ python-stestr
+ python-wheel))
(propagated-inputs
(list python-requests))
(home-page "https://www.openstack.org/")
@@ -929,57 +1176,63 @@ data that best fit this type of storage model are virtual machine images, photo
storage, email storage and backup archiving. Having no central \"brain\" or
master point of control provides greater scalability, redundancy and
permanence.")
- (license asl2.0)))
+ (license license:asl2.0)))
(define-public python-git-review
(package
(name "python-git-review")
- (version "2.1.0")
+ (version "2.5.0")
(source
(origin
(method url-fetch)
- (uri (pypi-uri "git-review" version))
+ (uri (pypi-uri "git_review" version))
(sha256
- (base32 "1mhywsbisyv028lsj2ksg4g5l8kyimpwxgwzqi08rymi8mb7fv1s"))))
- (build-system python-build-system)
+ (base32 "1a7h3i1wsq0gsclb2mififypr9q0sz3ni0kf0qxmm2l40bpzmkqv"))))
+ (build-system pyproject-build-system)
(arguments
- '(#:tests? #f ; tests require a running Gerrit server
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'wrap-program
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (git (assoc-ref inputs "git"))
- (openssh (assoc-ref inputs "openssh")))
- (wrap-program (string-append out "/bin/git-review")
- `("PATH" ":" prefix
- ,(map (lambda (dir)
- (string-append dir "/bin"))
- (list git openssh))))))))))
- (native-inputs (list python-pbr))
+ (list
+ #:tests? #f ; tests require a running Gerrit server
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'wrap 'wrap-program
+ (lambda* (#:key inputs #:allow-other-keys)
+ (wrap-program (string-append #$output "/bin/git-review")
+ `("PATH" ":" prefix
+ ,(map (lambda (bin)
+ (search-input-file inputs
+ (string-append "bin/" bin)))
+ (list "git" "ssh")))))))))
+ (native-inputs (list python-pbr python-setuptools python-wheel))
(propagated-inputs (list python-requests))
- (inputs (list bash-minimal git openssh))
+ (inputs (list bash-minimal git-minimal openssh-sans-x))
(home-page "https://docs.openstack.org/infra/git-review/")
(synopsis "Command-line tool for Gerrit")
(description
"Git-review is a command-line tool that helps submitting Git branches to
Gerrit for review, or fetching existing ones.")
- (license asl2.0)))
+ (license license:asl2.0)))
(define-public python-requestsexceptions
(package
(name "python-requestsexceptions")
(version "1.4.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "requestsexceptions" version))
- (sha256
- (base32
- "0r9hp9yzgj8r81q5gc6r8sgxldqc09xi6ax0b7a6dw0qfv3wp5dh"))))
- (build-system python-build-system)
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "requestsexceptions" version))
+ (sha256
+ (base32 "0r9hp9yzgj8r81q5gc6r8sgxldqc09xi6ax0b7a6dw0qfv3wp5dh"))))
+ (build-system pyproject-build-system)
(arguments
- '(#:tests? #f)) ; no tests
- (native-inputs (list python-pbr))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "test-requirements.txt"
+ (("hacking.*")
+ "")))))))
+ (native-inputs (list python-pbr python-setuptools python-wheel))
(home-page "https://www.openstack.org/")
(synopsis "Import exceptions from potentially bundled packages in requests")
(description "The Python requests library bundles the urllib3 library,
@@ -988,73 +1241,98 @@ library. This makes some operations difficult, such as suppressing the
“insecure platform warning” messages that urllib emits. This package is a
simple library to find the correct path to exceptions in the requests library
regardless of whether they are bundled or not.")
- (license asl2.0)))
+ (license license:asl2.0)))
(define-public python-openstacksdk
(package
(name "python-openstacksdk")
- (version "0.100.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "openstacksdk" version))
- (sha256
- (base32
- "0iq7rxw59ibl6xsqh3jw56yg3zfbz3cqgx1239n6xd9iv86mcgq1"))))
- (build-system python-build-system)
+ (version "4.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "openstacksdk" version))
+ (sha256
+ (base32 "0gbxjz8dg5ar5mgbk896cpq5vgp4j3a1iri8aakaxs9j8xn1czp4"))))
+ (build-system pyproject-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (with-output-to-file "exclusion-list.txt"
- (lambda _
- (display
- (string-append
- ;; tests timing out
- "test_create_dynamic_large_object$\n"
- "test_create_object_index_rax$\n"
- "test_create_object_skip_checksum$\n"
- "test_inspect_machine_inspect_failed$\n"
- "test_inspect_machine_wait$\n"
- "test_status_fails_different_attribute$\n"
- "test_status_match$\n"
- "test_status_match_different_attribute$\n"
- "test_status_match_with_none$\n"
- "test_wait_for_baremetal_node_lock_locked$\n"
- "test_wait_for_task_error_396$\n"
- "test_wait_for_task_wait$\n"))))
- (invoke "stestr" "run"
- "--exclude-list" "exclusion-list.txt")))))))
- (native-inputs (list python-ddt
- python-hacking
- python-jsonschema
- python-pbr
- python-prometheus-client
- python-requests-mock
- python-statsd
- python-stestr
- python-testscenarios
- python-oslo-config
- python-oslotest))
- (propagated-inputs (list python-appdirs
- python-cryptography
- python-decorator
- python-dogpile-cache
- python-importlib-metadata
- python-iso8601
- python-jmespath
- python-jsonpatch
- python-keystoneauth1
- python-munch
- python-netifaces
- python-os-service-types
- python-pbr ; run-time dependency actually
- python-pyyaml
- python-requestsexceptions))
+ (list
+ #:test-flags
+ #~(list "--exclude-regex"
+ (string-join
+ (list
+ ;; tests timing out
+ "test_create_dynamic_large_object"
+ "test_create_object_index_rax"
+ "test_create_object_skip_checksum"
+ "test_inspect_machine_inspect_failed"
+ "test_inspect_machine_wait"
+ "test_status_fails_different_attribute"
+ "test_status_match"
+ "test_status_match_different_attribute"
+ "test_status_match_with_none"
+ "test_wait_for_baremetal_node_lock_locked"
+ "test_wait_for_task_error_396"
+ "test_wait_for_task_wait"
+ ;; XXX: Most fail due to network issues.
+ "test_callback"
+ "test_callback_without_progress"
+ "test_create_data"
+ "test_create_image_task"
+ "test_create_no_data"
+ "test_delete_autocreated_image_objects"
+ "test_delete_firewall_policy"
+ "test_delete_firewall_policy_filters"
+ "test_delete_firewall_rule"
+ "test_delete_firewall_rule_filters"
+ "test_delete_image_task"
+ "test_delete_volume_backup_wait"
+ "test_get_object"
+ "test_ost_version"
+ "test_slo_manifest_fail"
+ "test_status"
+ "test_stream_object"
+ "test_success_not_found")
+ "|"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
+ (when tests?
+ (apply invoke "stestr" "run" test-flags)))))))
+ (native-inputs
+ (list python-debtcollector
+ python-ddt
+ python-hacking
+ python-jsonschema
+ python-oslo-config
+ python-oslotest
+ python-pbr
+ python-prometheus-client
+ python-requests-mock
+ python-setuptools
+ python-statsd
+ python-stestr
+ python-testscenarios
+ python-wheel))
+ (propagated-inputs
+ (list python-cryptography
+ python-decorator
+ python-dogpile-cache
+ python-iso8601
+ python-jmespath
+ python-jsonpatch
+ python-keystoneauth1
+ python-os-service-types
+ python-pbr
+ python-platformdirs
+ python-psutil
+ python-pyyaml
+ python-requestsexceptions
+ python-typing-extensions))
(home-page "https://docs.openstack.org/openstacksdk/latest/")
(synopsis "SDK for building applications to work with OpenStack")
(description "This package provides a client library for building
applications to work with OpenStack clouds. The SDK aims to provide a
consistent and complete set of interactions with OpenStack’s many services,
along with complete documentation, examples, and tools.")
- (license asl2.0)))
+ (license license:asl2.0)))
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 30af5130cd..d032002464 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -22,6 +22,7 @@
;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022, 2023 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2023 jgart <jgart@dismail.de>
+;;; Copyright © 2023 Wojtek Kosior <koszko@koszko.org>
;;; Copyright © 2023 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
;;; Copyright © 2024 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
@@ -1130,6 +1131,37 @@ It functions as a Guile library, with the @code{run-bffe-service} procedure in
the @code{(bffe)} module as the entry point.")
(license license:gpl3+))))
+(define-public pipx
+ (package
+ (name "pipx")
+ (version "1.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pipx" version))
+ (sha256
+ (base32 "0q23b1iqs03hbxzr2d7mmspldx6fbqi6s5j54vljnikaw4sf2bbn"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ;no tests in PyPI archive
+ (native-inputs
+ (list python-hatch-vcs
+ python-hatchling))
+ (inputs
+ (list python-argcomplete
+ python-colorama
+ python-packaging
+ python-platformdirs
+ python-tomli
+ python-userpath))
+ (home-page "https://pypa.github.io/pipx/")
+ (synopsis "Install and run Python applications in isolated environments")
+ (description
+ "@code{pipx} is a tool to help you install and run end-user applications
+written in Python. It's roughly similar to JavaScript's @code{npx}, and
+Trisquel's @code{apt}.")
+ (license license:expat)))
+
(define-public python-anaconda-client
(package
(name "python-anaconda-client")
@@ -1575,6 +1607,8 @@ tools_locations = {
(native-inputs
(list autoconf-wrapper
automake
+ ;; If cmake is replaced with cmake-minimal then Guix errors when
+ ;; listing the dependents of rapidjson.
cmake
git-minimal
libtool
diff --git a/gnu/packages/pantheon.scm b/gnu/packages/pantheon.scm
index 4b3ea8ac0b..2e4fa08d5a 100644
--- a/gnu/packages/pantheon.scm
+++ b/gnu/packages/pantheon.scm
@@ -127,7 +127,7 @@ in apps built for the Pantheon desktop.")
libgee
libhandy))
(native-inputs
- (list cmake
+ (list cmake-minimal
`(,glib "bin") ; for glib-compile-schemas
gettext-minimal
pkg-config
@@ -186,7 +186,7 @@ desktop.")
libical
libportal))
(native-inputs
- (list cmake
+ (list cmake-minimal
`(,glib "bin") ; for glib-compile-schemas
gettext-minimal
pkg-config
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 013ebd2fc0..9874b2b910 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -78,14 +78,14 @@
(define-public parallel
(package
(name "parallel")
- (version "20250622")
+ (version "20250722")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/parallel/parallel-"
version ".tar.bz2"))
(sha256
- (base32 "16s87njzhrddqp7c8aixxcxfdsqxchb3lrrb7jx29cgi277pixb9"))
+ (base32 "0fw4qzjyikyql09nhjvz8jjvwaszwwrw0pn4qg9mmpww2bs1za4i"))
(snippet
'(begin
(use-modules (guix build utils))
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index bf8d97b9ca..704690a0f7 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -1081,7 +1081,9 @@ key URIs using the standard otpauth:// scheme.")
(build-system qt-build-system)
(arguments
(list
- #:test-target "check"
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
@@ -1090,9 +1092,12 @@ key URIs using the standard otpauth:// scheme.")
"QMAKE_LRELEASE=lrelease"
"QMAKE_LUPDATE=lupdate"
(string-append "PREFIX=" #$output))))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'check (assoc-ref gnu:%standard-phases 'check))
(add-before 'check 'pre-check
;; Fontconfig needs a writable cache.
(lambda _ (setenv "HOME" "/tmp")))
+ (replace 'install (assoc-ref gnu:%standard-phases 'install))
(add-after 'install 'install-auxilliary
;; Install man-page, icon and .desktop file.
(lambda _
diff --git a/gnu/packages/patches/bloomberg-bde-cmake-module-path.patch b/gnu/packages/patches/bloomberg-bde-cmake-module-path.patch
deleted file mode 100644
index 7743863cf8..0000000000
--- a/gnu/packages/patches/bloomberg-bde-cmake-module-path.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-This package requires CMAKE_MODULE_PATH be set by the calling process. This
-patch uses the CMAKE_PREFIX_PATH passed from Guix as the search path for
-locating the bloomberg-bde-tools CMake modules.
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -14,6 +14,7 @@ else()
- if (NOT CMAKE_MODULE_PATH)
- message(FATAL "Please specify path to BDE cmake modules.")
- endif()
-+ string(REPLACE ":" "cmake/;" CMAKE_MODULE_PATH "$ENV{CMAKE_PREFIX_PATH}cmake/")
-
- include(bde_workspace)
-
diff --git a/gnu/packages/patches/brasero-fix-gcc-14-build-failure.patch b/gnu/packages/patches/brasero-fix-gcc-14-build-failure.patch
new file mode 100644
index 0000000000..7a4b63d93e
--- /dev/null
+++ b/gnu/packages/patches/brasero-fix-gcc-14-build-failure.patch
@@ -0,0 +1,76 @@
+From 5cdefa8c76ddb797bce8b67a3f5767678bd36a5a Mon Sep 17 00:00:00 2001
+From: sid <sidtosh4@gmail.com>
+Date: Mon, 3 Jun 2024 18:51:08 +0100
+Subject: [PATCH] Fix gcc 14.x build failure (due to
+ -Wincompatible-pointer-types)
+
+The changes for 'brasero-drive-properties.c' are kept inline with
+'brasero-burn-options.c' (public API) for the sake of consistency.
+
+Fixes: https://gitlab.gnome.org/GNOME/brasero/-/issues/370
+---
+ libbrasero-burn/brasero-drive-properties.c | 10 +++-------
+ libbrasero-utils/brasero-metadata.c | 2 +-
+ libbrasero-utils/brasero-pk.c | 2 +-
+ 3 files changed, 5 insertions(+), 9 deletions(-)
+
+diff --git a/libbrasero-burn/brasero-drive-properties.c b/libbrasero-burn/brasero-drive-properties.c
+index cfb2db147..22593cc16 100644
+--- a/libbrasero-burn/brasero-drive-properties.c
++++ b/libbrasero-burn/brasero-drive-properties.c
+@@ -835,23 +835,19 @@ brasero_drive_properties_set_property (GObject *object,
+ GParamSpec *pspec)
+ {
+ BraseroDrivePropertiesPrivate *priv;
+- BraseroBurnSession *session;
+
+ priv = BRASERO_DRIVE_PROPERTIES_PRIVATE (object);
+
+ switch (property_id) {
+ case PROP_SESSION: /* Readable and only writable at creation time */
+- /* NOTE: no need to unref a potential previous session since
+- * it's only set at construct time */
+- session = g_value_get_object (value);
+- priv->session = g_object_ref (session);
++ priv->session = g_object_ref (g_value_get_object (value));
+
+ brasero_drive_properties_update (BRASERO_DRIVE_PROPERTIES (object));
+- priv->valid_sig = g_signal_connect (session,
++ priv->valid_sig = g_signal_connect (priv->session,
+ "is-valid",
+ G_CALLBACK (brasero_drive_properties_is_valid_cb),
+ object);
+- priv->output_sig = g_signal_connect (session,
++ priv->output_sig = g_signal_connect (priv->session,
+ "output-changed",
+ G_CALLBACK (brasero_drive_properties_output_changed_cb),
+ object);
+diff --git a/libbrasero-utils/brasero-metadata.c b/libbrasero-utils/brasero-metadata.c
+index 194336899..ddfce8e7b 100644
+--- a/libbrasero-utils/brasero-metadata.c
++++ b/libbrasero-utils/brasero-metadata.c
+@@ -665,7 +665,7 @@ brasero_metadata_install_missing_plugins (BraseroMetadata *self)
+
+ context = gst_install_plugins_context_new ();
+ gst_install_plugins_context_set_xid (context, brasero_metadata_get_xid (self));
+- status = gst_install_plugins_async ((gchar **) details->pdata,
++ status = gst_install_plugins_async ((const gchar* const*) details->pdata,
+ context,
+ brasero_metadata_install_plugins_result,
+ downloads);
+diff --git a/libbrasero-utils/brasero-pk.c b/libbrasero-utils/brasero-pk.c
+index aa71901f9..5f5ba21aa 100644
+--- a/libbrasero-utils/brasero-pk.c
++++ b/libbrasero-utils/brasero-pk.c
+@@ -230,7 +230,7 @@ brasero_pk_install_gstreamer_plugin (BraseroPK *package,
+
+ context = gst_install_plugins_context_new ();
+ gst_install_plugins_context_set_xid (context, xid);
+- status = gst_install_plugins_async ((gchar **) gst_plugins->pdata,
++ status = gst_install_plugins_async ((const gchar* const*) gst_plugins->pdata,
+ context,
+ brasero_pk_install_gst_plugin_result,
+ package);
+--
+GitLab
+
diff --git a/gnu/packages/patches/busybox-no-cbq.patch b/gnu/packages/patches/busybox-no-cbq.patch
new file mode 100644
index 0000000000..a887b42755
--- /dev/null
+++ b/gnu/packages/patches/busybox-no-cbq.patch
@@ -0,0 +1,56 @@
+Downloaded from Debian
+https://sources.debian.org/data/main/b/busybox/1%3A1.37.0-6/debian/patches/busybox-1.36.1-no-cbq.patch
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1071648
+Origin: fedora
+Date: Tue, 16 Jul 2024 07:46:38 +0000
+Forwarded: yes, https://bugs.busybox.net/show_bug.cgi?id=15931
+
+diff -up busybox-1.36.1/networking/tc.c.no-cbq busybox-1.36.1/networking/tc.c
+--- busybox-1.36.1/networking/tc.c.no-cbq 2024-01-29 10:24:09.135082923 -0500
++++ busybox-1.36.1/networking/tc.c 2024-01-29 10:28:12.009502552 -0500
+@@ -31,7 +31,7 @@
+ //usage: "qdisc [handle QHANDLE] [root|"IF_FEATURE_TC_INGRESS("ingress|")"parent CLASSID]\n"
+ /* //usage: "[estimator INTERVAL TIME_CONSTANT]\n" */
+ //usage: " [[QDISC_KIND] [help|OPTIONS]]\n"
+-//usage: " QDISC_KIND := [p|b]fifo|tbf|prio|cbq|red|etc.\n"
++//usage: " QDISC_KIND := [p|b]fifo|tbf|prio|red|etc.\n"
+ //usage: "qdisc show [dev STRING]"IF_FEATURE_TC_INGRESS(" [ingress]")"\n"
+ //usage: "class [classid CLASSID] [root|parent CLASSID]\n"
+ //usage: " [[QDISC_KIND] [help|OPTIONS] ]\n"
+@@ -230,7 +230,7 @@ static int cbq_parse_opt(int argc, char
+ {
+ return 0;
+ }
+-#endif
++
+ static int cbq_print_opt(struct rtattr *opt)
+ {
+ struct rtattr *tb[TCA_CBQ_MAX+1];
+@@ -322,6 +322,7 @@ static int cbq_print_opt(struct rtattr *
+ done:
+ return 0;
+ }
++#endif
+
+ static FAST_FUNC int print_qdisc(
+ const struct sockaddr_nl *who UNUSED_PARAM,
+@@ -373,7 +374,8 @@ static FAST_FUNC int print_qdisc(
+ if (qqq == 0) { /* pfifo_fast aka prio */
+ prio_print_opt(tb[TCA_OPTIONS]);
+ } else if (qqq == 1) { /* class based queuing */
+- cbq_print_opt(tb[TCA_OPTIONS]);
++ /* cbq_print_opt(tb[TCA_OPTIONS]); */
++ printf("cbq not supported");
+ } else {
+ /* don't know how to print options for this qdisc */
+ printf("(options for %s)", name);
+@@ -444,7 +446,8 @@ static FAST_FUNC int print_class(
+ /* nothing. */ /*prio_print_opt(tb[TCA_OPTIONS]);*/
+ } else if (qqq == 1) { /* class based queuing */
+ /* cbq_print_copt() is identical to cbq_print_opt(). */
+- cbq_print_opt(tb[TCA_OPTIONS]);
++ /* cbq_print_opt(tb[TCA_OPTIONS]); */
++ printf("cbq not supported");
+ } else {
+ /* don't know how to print options for this class */
+ printf("(options for %s)", name);
diff --git a/gnu/packages/patches/cmake-curl-certificates-3.24.patch b/gnu/packages/patches/cmake-curl-certificates-3.24.patch
deleted file mode 100644
index ca29c9001e..0000000000
--- a/gnu/packages/patches/cmake-curl-certificates-3.24.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Submitted upstream at https://gitlab.kitware.com/cmake/cmake/-/merge_requests/7670.
-
-diff --git a/Source/cmCurl.cxx b/Source/cmCurl.cxx
-index 28ee24dfe9..fc5405213a 100644
---- a/Source/cmCurl.cxx
-+++ b/Source/cmCurl.cxx
-@@ -38,6 +38,14 @@ std::string cmCurlSetCAInfo(::CURL* curl, const std::string& cafile)
- ::CURLcode res = ::curl_easy_setopt(curl, CURLOPT_CAINFO, cafile.c_str());
- check_curl_result(res, "Unable to set TLS/SSL Verify CAINFO: ");
- }
-+ /* Honor the user-configurable OpenSSL environment variables. */
-+ else if (cmSystemTools::GetEnv("SSL_CERT_FILE", e)) {
-+ ::CURLcode res = ::curl_easy_setopt(curl, CURLOPT_CAINFO, e.c_str());
-+ check_curl_result(res, "Unable to set TLS/SSL Verify CAINFO: ");
-+ } else if (cmSystemTools::GetEnv("SSL_CERT_DIR", e)) {
-+ ::CURLcode res = ::curl_easy_setopt(curl, CURLOPT_CAPATH, e.c_str());
-+ check_curl_result(res, "Unable to set TLS/SSL Verify CAINFO: ");
-+ }
- #ifdef CMAKE_FIND_CAFILE
- # define CMAKE_CAFILE_FEDORA "/etc/pki/tls/certs/ca-bundle.crt"
- else if (cmSystemTools::FileExists(CMAKE_CAFILE_FEDORA, true)) {
diff --git a/gnu/packages/patches/dolphin-emu-data.patch b/gnu/packages/patches/dolphin-emu-data.patch
deleted file mode 100644
index 6ba959b929..0000000000
--- a/gnu/packages/patches/dolphin-emu-data.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Resolve a hang in the menu of this game.
-
-Upstream-status: https://github.com/dolphin-emu/dolphin/pull/13285
-
-diff --git a/Data/Sys/GameSettings/GWR.ini b/Data/Sys/GameSettings/GWR.ini
-new file mode 100644
-index 0000000000..fdbc0c312f
---- /dev/null
-+++ b/Data/Sys/GameSettings/GWR.ini
-@@ -0,0 +1,5 @@
-+# GWR - WAVE RACE / BLUE STORM
-+
-+[Core]
-+# Disable multi-threading to avoid a hang in the game menu.
-+CPUThread = False
diff --git a/gnu/packages/patches/dolphin-emu-unbundle-tinygltf.patch b/gnu/packages/patches/dolphin-emu-unbundle-tinygltf.patch
new file mode 100644
index 0000000000..1c91823785
--- /dev/null
+++ b/gnu/packages/patches/dolphin-emu-unbundle-tinygltf.patch
@@ -0,0 +1,80 @@
+Upstream-status: https://github.com/dolphin-emu/dolphin/pull/13824
+
+diff --git a/CMake/DolphinLibraryTools.cmake b/CMake/DolphinLibraryTools.cmake
+index 4c395a8ef9..efa0d6a9e2 100644
+--- a/CMake/DolphinLibraryTools.cmake
++++ b/CMake/DolphinLibraryTools.cmake
+@@ -1,14 +1,3 @@
+-# like add_library(new ALIAS old) but avoids add_library cannot create ALIAS target "new" because target "old" is imported but not globally visible. on older cmake
+-# This can be replaced with a direct alias call once our minimum is cmake 3.18
+-function(dolphin_alias_library new old)
+- string(REPLACE "::" "" library_no_namespace ${old})
+- if (NOT TARGET _alias_${library_no_namespace})
+- add_library(_alias_${library_no_namespace} INTERFACE)
+- target_link_libraries(_alias_${library_no_namespace} INTERFACE ${old})
+- endif()
+- add_library(${new} ALIAS _alias_${library_no_namespace})
+-endfunction()
+-
+ # Makes an imported target if it doesn't exist. Useful for when find scripts from older versions of cmake don't make the targets you need
+ function(dolphin_make_imported_target_if_missing target lib)
+ if(${lib}_FOUND AND NOT TARGET ${target})
+@@ -85,7 +74,7 @@ function(dolphin_find_optional_system_library_pkgconfig library search alias bun
+ endif()
+ if(${library}_FOUND)
+ message(STATUS "Using system ${library}")
+- dolphin_alias_library(${alias} PkgConfig::${library})
++ add_library(${alias} ALIAS PkgConfig::${library})
+ set(${library}_TYPE "System" PARENT_SCOPE)
+ else()
+ dolphin_add_bundled_library(${library} ${use_system} ${bundled_path})
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c277e2a10a..67b72179f3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ ########################################
+ # General setup
+ #
+-cmake_minimum_required(VERSION 3.13)
++cmake_minimum_required(VERSION 3.18)
+
+ cmake_policy(SET CMP0079 NEW) # let target_link_libraries() link to a target defined in a different directory
+ cmake_policy(SET CMP0080 OLD) # allow using BundleUtilities at configure time
+@@ -657,7 +657,11 @@ add_subdirectory(Externals/glslang)
+ if(WIN32 OR APPLE)
+ add_subdirectory(Externals/spirv_cross)
+ endif()
+-add_subdirectory(Externals/tinygltf)
++
++dolphin_find_optional_system_library(TinyGLTF Externals/tinygltf)
++if(NOT DEFINED tinygltf)
++ add_library(tinygltf ALIAS tinygltf::tinygltf) # using system library
++endif()
+
+ if(ENABLE_VULKAN)
+ add_definitions(-DHAS_VULKAN)
+diff --git a/Externals/tinygltf/CMakeLists.txt b/Externals/tinygltf/CMakeLists.txt
+index 0d86268bbe..9e6a99c6f8 100644
+--- a/Externals/tinygltf/CMakeLists.txt
++++ b/Externals/tinygltf/CMakeLists.txt
+@@ -7,5 +7,5 @@ if (NOT MSVC)
+ endif()
+ target_sources(tinygltf PRIVATE
+ tinygltf/tiny_gltf.cc)
+-target_include_directories(tinygltf INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
++target_include_directories(tinygltf INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/tinygltf)
+ dolphin_disable_warnings(tinygltf)
+diff --git a/Source/Core/VideoCommon/Assets/MeshAsset.cpp b/Source/Core/VideoCommon/Assets/MeshAsset.cpp
+index bde8c8aab6..13eb2b4448 100644
+--- a/Source/Core/VideoCommon/Assets/MeshAsset.cpp
++++ b/Source/Core/VideoCommon/Assets/MeshAsset.cpp
+@@ -7,7 +7,7 @@
+ #include <array>
+ #include <utility>
+
+-#include <tinygltf/tiny_gltf.h>
++#include <tiny_gltf.h>
+
+ #include "Common/IOFile.h"
+ #include "Common/Logging/Log.h"
diff --git a/gnu/packages/patches/dolphin-emu-unbundle-watcher.patch b/gnu/packages/patches/dolphin-emu-unbundle-watcher.patch
new file mode 100644
index 0000000000..c18a6c2ec4
--- /dev/null
+++ b/gnu/packages/patches/dolphin-emu-unbundle-watcher.patch
@@ -0,0 +1,50 @@
+Upstream-status: https://github.com/dolphin-emu/dolphin/pull/13823
+
+diff --git a/CMake/DolphinLibraryTools.cmake b/CMake/DolphinLibraryTools.cmake
+index 4c395a8ef9..fb806b1b90 100644
+--- a/CMake/DolphinLibraryTools.cmake
++++ b/CMake/DolphinLibraryTools.cmake
+@@ -92,3 +92,30 @@ function(dolphin_find_optional_system_library_pkgconfig library search alias bun
+ set(${library}_TYPE "Bundled" PARENT_SCOPE)
+ endif()
+ endfunction()
++
++# This can be used for header-only libraries that doesn't offer a
++# pkg-config or CMake file. It uses CMake's find_file. LIBRARY is the
++# name of the library providing it, INCLUDE is the header file name
++# without its installation prefix (e.g. "wtr/watcher.hpp") while
++# BUNDLED_PATH is the root directory of the bundled library.
++function(dolphin_find_optional_system_include library include bundled_path)
++ dolphin_optional_system_library(use_system ${library})
++ string(TOUPPER ${library} upperlib)
++ if(use_system)
++ find_file(${library}_INCLUDE ${include})
++ if((NOT ${library}_INCLUDE) AND (NOT ${use_system} STREQUAL "AUTO"))
++ message(FATAL_ERROR "No system ${library} headers found. \
++Please install it or set USE_SYSTEM_${upperlib} to AUTO or OFF.")
++ endif()
++ endif()
++ if(${library}_INCLUDE)
++ message(STATUS "Using system ${library} headers")
++ set(${library}_TYPE "System" PARENT_SCOPE)
++ add_library(${library} INTERFACE IMPORTED GLOBAL)
++ set_target_properties(${library} PROPERTIES
++ INTERFACE_INCLUDE_DIRECTORIES ${${library}_INCLUDE})
++ else()
++ dolphin_add_bundled_library(${library} ${use_system} ${bundled_path})
++ set(${library}_TYPE "Bundled" PARENT_SCOPE)
++ endif()
++endfunction()
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c277e2a10a..12b1c36ef0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -786,7 +786,7 @@ if (USE_RETRO_ACHIEVEMENTS)
+ add_subdirectory(Externals/rcheevos)
+ endif()
+
+-add_subdirectory(Externals/watcher)
++dolphin_find_optional_system_include(watcher wtr/watcher.hpp Externals/watcher)
+
+ ########################################
+ # Pre-build events: Define configuration variables and write SCM info header
diff --git a/gnu/packages/patches/fenics-dolfin-integer-types.patch b/gnu/packages/patches/fenics-dolfin-integer-types.patch
new file mode 100644
index 0000000000..97cc13f95f
--- /dev/null
+++ b/gnu/packages/patches/fenics-dolfin-integer-types.patch
@@ -0,0 +1,29 @@
+This patch updates the integer types used in two of the dolfin header files.
+The changes enable building with gcc-13 and above.
+
+See <https://gcc.gnu.org/gcc-13/porting_to.html> for the porting notes.
+
+See <https://bitbucket.org/fenics-project/dolfin/commits/d56b1b082c50d846fb5bbe4971799ab9ecb21a24> for the upstream fix.
+
+--- a/dolfin/common/timing.h
++++ b/dolfin/common/timing.h
+@@ -39,7 +39,7 @@
+ ///
+ /// Precision of wall is around 1 microsecond, user and system are around
+ /// 10 millisecond (on Linux).
+- enum class TimingType : int32_t { wall = 0, user = 1, system = 2 };
++ enum class TimingType : int { wall = 0, user = 1, system = 2 };
+
+ /// Start timing (should not be used internally in DOLFIN!)
+ void tic();
+
+--- a/dolfin/mesh/MeshConnectivity.h
++++ b/dolfin/mesh/MeshConnectivity.h
+@@ -24,5 +24,7 @@
+ #include <vector>
+ #include <dolfin/log/log.h>
+
++#include <cstdint>
++
+ namespace dolfin
+ {
diff --git a/gnu/packages/patches/freerdp-3.16.0-rpath.patch b/gnu/packages/patches/freerdp-3.16.0-rpath.patch
new file mode 100644
index 0000000000..d40a33de29
--- /dev/null
+++ b/gnu/packages/patches/freerdp-3.16.0-rpath.patch
@@ -0,0 +1,21 @@
+Author: Danny Milosavljevic <dannym@friendly-machines.com>
+Date: 2025-07-17
+License: Apache Software License 2.0
+
+diff -ru orig/FreeRDP/cmake/ConfigureRPATH.cmake FreeRDP/cmake/ConfigureRPATH.cmake
+--- orig/FreeRDP/cmake/ConfigureRPATH.cmake 2025-07-17 10:42:17.557667810 +0200
++++ FreeRDP/cmake/ConfigureRPATH.cmake 2025-07-17 11:32:13.692935801 +0200
+@@ -15,10 +15,10 @@
+ option(WITH_ADD_PLUGIN_TO_RPATH "Add extension and plugin path to RPATH" OFF)
+ if(WITH_ADD_PLUGIN_TO_RPATH)
+ set(CFG_INSTALL_RPATH
+- "\$ORIGIN/../${FREERDP_EXTENSION_REL_PATH}:\$ORIGIN/../${FREERDP_PLUGIN_PATH}:\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:\$ORIGIN/.."
++ "\$ORIGIN/../${FREERDP_EXTENSION_REL_PATH}:\$ORIGIN/../${FREERDP_PLUGIN_PATH}:\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:\$ORIGIN/..:\$ORIGIN/../.."
+ )
+ else()
+- set(CFG_INSTALL_RPATH "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:\$ORIGIN/..")
++ set(CFG_INSTALL_RPATH "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:\$ORIGIN/..:\$ORIGIN/../..")
+ endif()
+ endif()
+ endif(APPLE)
+Only in FreeRDP/: LIBS
diff --git a/gnu/packages/patches/itk-snap-alt-glibc-compat.patch b/gnu/packages/patches/itk-snap-alt-glibc-compat.patch
deleted file mode 100644
index 764c5da2c2..0000000000
--- a/gnu/packages/patches/itk-snap-alt-glibc-compat.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Retrieved from ALT Linux.
-https://git.altlinux.org/tasks/273587/build/300/x86_64/srpm/itk-snap-3.8.0-alt6.src.rpm
-
-diff --git a/GUI/Qt/main.cxx b/GUI/Qt/main.cxx
-index 576f7160..ceab92e6 100644
---- a/GUI/Qt/main.cxx
-+++ b/GUI/Qt/main.cxx
-@@ -51,12 +51,13 @@ using namespace std;
- #if defined (__unix__) || (defined (__APPLE__) && defined (__MACH__))
-
- #include <signal.h>
-+#include <string.h>
- #include <execinfo.h>
-
- void SegmentationFaultHandler(int sig)
- {
- cerr << "*************************************" << endl;
-- cerr << "ITK-SNAP: " << sys_siglist[sig] << endl;
-+ cerr << "ITK-SNAP: " << strsignal(sig) << " (" << sigabbrev_np(sig) << ")" << endl;
- cerr << "BACKTRACE: " << endl;
- void *array[50];
- int nsize = backtrace(array, 50);
diff --git a/gnu/packages/patches/kiwix-desktop-newer-libkiwix.patch b/gnu/packages/patches/kiwix-desktop-newer-libkiwix.patch
deleted file mode 100644
index a5bee60ac2..0000000000
--- a/gnu/packages/patches/kiwix-desktop-newer-libkiwix.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Description: Fix building kiwix-desktop with libkiwix-12.1.0
-Bug: https://github.com/kiwix/kiwix-desktop/issues/964
-Origin: https://github.com/kiwix/kiwix-desktop/commit/1b322d8f01c787846546a6473f153cf1daa41e65
-Applied-Upstream: https://github.com/kiwix/kiwix-desktop/commit/1b322d8f01c787846546a6473f153cf1daa41e65
----
-From 1b322d8f01c787846546a6473f153cf1daa41e65 Mon Sep 17 00:00:00 2001
-From: Matthieu Gautier <mgautier@kymeria.fr>
-Date: Thu, 9 Feb 2023 09:47:47 +0100
-Subject: [PATCH] With last version of libkiwix, Downloader now return
- shared_ptr<Download>.
-
----
- src/contentmanager.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/contentmanager.cpp b/src/contentmanager.cpp
-index c2f4ff9..d4db50a 100644
---- a/src/contentmanager.cpp
-+++ b/src/contentmanager.cpp
-@@ -173,7 +173,7 @@ QStringList ContentManager::updateDownloadInfos(QString id, const QStringList &k
- return values;
- }
- auto& b = mp_library->getBookById(id);
-- kiwix::Download* d;
-+ std::shared_ptr<kiwix::Download> d;
- try {
- d = mp_downloader->getDownload(b.getDownloadId());
- } catch(...) {
-@@ -270,7 +270,7 @@ QString ContentManager::downloadBook(const QString &id)
- for (auto b : booksList)
- if (b.toStdString() == book.getId())
- return "";
-- kiwix::Download *download;
-+ std::shared_ptr<kiwix::Download> download;
- try {
- std::pair<std::string, std::string> downloadDir("dir", downloadPath.toStdString());
- const std::vector<std::pair<std::string, std::string>> options = { downloadDir };
---
-2.41.0
-
diff --git a/gnu/packages/patches/libretro-dolphin-emu-gc-font-tool.patch b/gnu/packages/patches/libretro-dolphin-emu-gc-font-tool.patch
new file mode 100644
index 0000000000..6aeeec0e4f
--- /dev/null
+++ b/gnu/packages/patches/libretro-dolphin-emu-gc-font-tool.patch
@@ -0,0 +1,17 @@
+This patch is already merged in dolphin.
+
+It'll appear in libretro-dolphin whenever it is rebased on top of current
+dolphin source.
+
+diff --git a/docs/gc-font-tool.cpp b/docs/gc-font-tool.cpp
+index f09964609a..c43496d2fa 100644
+--- a/docs/gc-font-tool.cpp
++++ b/docs/gc-font-tool.cpp
+@@ -76,6 +76,7 @@
+ // Font data is encoded in 2 bit greyscale and in 8x8 blocks.
+
+ #include <cerrno>
++#include <cstdint>
+ #include <cstring>
+ #include <fstream>
+ #include <iostream>
diff --git a/gnu/packages/patches/libretro-dolphin-emu-libusb-assert.patch b/gnu/packages/patches/libretro-dolphin-emu-libusb-assert.patch
new file mode 100644
index 0000000000..ae07987602
--- /dev/null
+++ b/gnu/packages/patches/libretro-dolphin-emu-libusb-assert.patch
@@ -0,0 +1,33 @@
+This patch is already merged in dolphin.
+
+It'll appear in libretro-dolphin whenever it is rebased on top of current
+dolphin source.
+
+diff --git a/Source/Core/Core/LibusbUtils.cpp b/Source/Core/Core/LibusbUtils.cpp
+index a4083e2d06..1ef9777e71 100644
+--- a/Source/Core/Core/LibusbUtils.cpp
++++ b/Source/Core/Core/LibusbUtils.cpp
+@@ -9,8 +9,8 @@
+ #include <libusb.h>
+ #endif
+
+-#include "Common/Assert.h"
+ #include "Common/Flag.h"
++#include "Common/Logging/Log.h"
+ #include "Common/Thread.h"
+ #include "Core/LibusbUtils.h"
+
+@@ -23,9 +23,12 @@ public:
+ Impl()
+ {
+ const int ret = libusb_init(&m_context);
+- ASSERT_MSG(IOS_USB, ret == LIBUSB_SUCCESS, "Failed to init libusb: %s", libusb_error_name(ret));
+ if (ret != LIBUSB_SUCCESS)
++ {
++ ERROR_LOG(IOS_USB, "Failed to init libusb: %s", libusb_error_name(ret));
+ return;
++ }
++
+
+ #ifdef _WIN32
+ libusb_set_option(m_context, LIBUSB_OPTION_USE_USBDK);
diff --git a/gnu/packages/patches/libretro-dolphin-emu-vulkan-headers.patch b/gnu/packages/patches/libretro-dolphin-emu-vulkan-headers.patch
new file mode 100644
index 0000000000..9453f60688
--- /dev/null
+++ b/gnu/packages/patches/libretro-dolphin-emu-vulkan-headers.patch
@@ -0,0 +1,16 @@
+Partial backport from dolphin commit
+8e3dbe9671afa631e7a64496f5bfcb2a8206f152 ("Vulkan: update Vulkan headers to v1.3.204.")
+
+diff --git a/Source/Core/VideoBackends/Vulkan/SwapChain.h b/Source/Core/VideoBackends/Vulkan/SwapChain.h
+index 0077a93ec1..d83ee57051 100644
+--- a/Source/Core/VideoBackends/Vulkan/SwapChain.h
++++ b/Source/Core/VideoBackends/Vulkan/SwapChain.h
+@@ -94,7 +94,7 @@ private:
+ WindowSystemInfo m_wsi;
+ VkSurfaceKHR m_surface = VK_NULL_HANDLE;
+ VkSurfaceFormatKHR m_surface_format = {};
+- VkPresentModeKHR m_present_mode = VK_PRESENT_MODE_RANGE_SIZE_KHR;
++ VkPresentModeKHR m_present_mode = VK_PRESENT_MODE_IMMEDIATE_KHR;
+ AbstractTextureFormat m_texture_format = AbstractTextureFormat::Undefined;
+ bool m_vsync_enabled = false;
+ bool m_fullscreen_supported = false;
diff --git a/gnu/packages/patches/libssh-openssh-banner.patch b/gnu/packages/patches/libssh-openssh-banner.patch
deleted file mode 100644
index 2a05f6ec67..0000000000
--- a/gnu/packages/patches/libssh-openssh-banner.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 78d536c150bd7f327e0de45a1246bb1f03cd2f48 Mon Sep 17 00:00:00 2001
-From: Lucas Mulling <lucas.mulling@suse.com>
-Date: Thu, 24 Apr 2025 15:48:32 -0300
-Subject: [PATCH] misc: Fix OpenSSH banner parsing
-
-Signed-off-by: Lucas Mulling <lucas.mulling@suse.com>
----
- src/misc.c | 6 ++++--
- tests/unittests/torture_misc.c | 5 +++++
- 2 files changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/src/misc.c b/src/misc.c
-index 95512f0d3..b1ebc0c44 100644
---- a/src/misc.c
-+++ b/src/misc.c
-@@ -1426,6 +1426,7 @@ int ssh_analyze_banner(ssh_session session, int server)
- char *tmp = NULL;
- unsigned long int major = 0UL;
- unsigned long int minor = 0UL;
-+ int off = 0;
-
- /*
- * The banner is typical:
-@@ -1445,8 +1446,9 @@ int ssh_analyze_banner(ssh_session session, int server)
- }
-
- errno = 0;
-- minor = strtoul(openssh + 10, &tmp, 10);
-- if ((tmp == (openssh + 10)) ||
-+ off = major >= 10 ? 11 : 10;
-+ minor = strtoul(openssh + off, &tmp, 10);
-+ if ((tmp == (openssh + off)) ||
- ((errno == ERANGE) && (major == ULONG_MAX)) ||
- ((errno != 0) && (major == 0)) ||
- (minor > 100)) {
-diff --git a/tests/unittests/torture_misc.c b/tests/unittests/torture_misc.c
-index bd6bf96e8..b2320a94e 100644
---- a/tests/unittests/torture_misc.c
-+++ b/tests/unittests/torture_misc.c
-@@ -448,6 +448,7 @@ static void torture_ssh_analyze_banner(void **state) {
- assert_server_banner_accepted("SSH-2.0-OpenSSH");
- assert_int_equal(0, session->openssh);
-
-+
- /* OpenSSH banners: big enough to extract major and minor versions */
- assert_client_banner_accepted("SSH-2.0-OpenSSH_5.9p1");
- assert_int_equal(SSH_VERSION_INT(5, 9, 0), session->openssh);
-@@ -487,6 +488,10 @@ static void torture_ssh_analyze_banner(void **state) {
- assert_server_banner_accepted("SSH-2.0-OpenSSH-keyscan");
- assert_int_equal(0, session->openssh);
-
-+ /* OpenSSH banners: Double digit in major version */
-+ assert_server_banner_accepted("SSH-2.0-OpenSSH_10.0p1");
-+ assert_int_equal(SSH_VERSION_INT(10, 0, 0), session->openssh);
-+
- ssh_free(session);
- }
-
---
-GitLab
-
diff --git a/gnu/packages/patches/llvm-13-gcc-14.patch b/gnu/packages/patches/llvm-13-gcc-14.patch
index a7697b01d0..2625ad497c 100644
--- a/gnu/packages/patches/llvm-13-gcc-14.patch
+++ b/gnu/packages/patches/llvm-13-gcc-14.patch
@@ -10,3 +10,13 @@ See: https://github.com/smlnj/smlnj/issues/279
#include <string>
namespace llvm {
+--- llvm-13.0.1.src/include/llvm/Support/Base64.h 1970-01-01 00:00:01.000000000 +0000
++++ llvm-13.0.1.src/include/llvm/Support/Base64.h 2025-07-18 23:45:19.568475987 +0000
+@@ -14,6 +14,7 @@
+ #define LLVM_SUPPORT_BASE64_H
+
+ #include <string>
++#include <cstdint>
+
+ namespace llvm {
+
diff --git a/gnu/packages/patches/procmail-gcc-14.patch b/gnu/packages/patches/procmail-gcc-14.patch
new file mode 100644
index 0000000000..b819bf4ad1
--- /dev/null
+++ b/gnu/packages/patches/procmail-gcc-14.patch
@@ -0,0 +1,268 @@
+See https://github.com/BuGlessRB/procmail/pull/7
+
+diff --git a/initmake b/initmake
+index 82d718d..e44ee67 100755
+--- a/initmake
++++ b/initmake
+@@ -124,7 +124,7 @@ else
+ fi
+
+ cat >_autotst.c <<HERE
+-main()
++int main()
+ { return 0;
+ }
+ HERE
+@@ -200,7 +200,7 @@ cat >_autotst.c <<HERE
+ #include <sys/types.h>
+ #include <stdio.h>
+ #include <sys/stat.h>
+-main()
++int main()
+ { struct stat buf;return!&buf;
+ }
+ HERE
+diff --git a/src/autoconf b/src/autoconf
+index 1cb4c42..995d8bb 100755
+--- a/src/autoconf
++++ b/src/autoconf
+@@ -363,6 +363,7 @@ cat >_autotst.c <<HERE
+ #include <unistd.h> /* getpid() getppid() */
+ #endif
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <time.h>
+ #include <fcntl.h>
+ #include <signal.h> /* SIGKILL */
+@@ -416,6 +417,16 @@ cat >_autotst.c <<HERE
+ int dolock,child[NR_of_forks],timeout,fdcollect;
+ char dirlocktest[]="_locktest";
+
++int killchildren()
++{ int i;
++ i=NR_of_forks;
++ do
++ if(child[--i]>0)
++ kill(child[i],SIGTERM),child[i]=0;
++ while(i);
++ return 0;
++}
++
+ void stimeout()
+ { timeout=1;close(fdcollect);killchildren();
+ }
+@@ -437,7 +448,79 @@ unsigned sfork()
+ return pid;
+ }
+
+-int main(argc,argv)char*argv[];
++static int oldfdlock;
++#ifdef F_SETLKW
++static struct flock flck; /* why can't it be a local variable? */
++#endif
++#ifdef F_LOCK
++static off_t oldlockoffset;
++#endif
++
++int fdlock(int fd)
++{ int i;unsigned gobble[GOBBLE>>2];
++ for(i=GOBBLE>>2;i;gobble[--i]=~(unsigned)0); /* SunOS crash test */
++ oldfdlock=fd;fd=0;
++ if(MSK_fcntl&dolock)
++#ifdef F_SETLKW
++ { static unsigned extra;
++ flck.l_type=F_WRLCK;flck.l_whence=SEEK_SET;flck.l_start=tell(oldfdlock);
++ if(!extra--)
++ extra=MIN_locks/4,flck.l_len=2,i|=fcntl(oldfdlock,F_SETLK,&flck);
++ flck.l_len=0;fd|=fcntl(oldfdlock,F_SETLKW,&flck);
++ }
++#else
++ fd=1;
++#endif
++ if(MSK_lockf&dolock)
++#ifdef F_LOCK
++ oldlockoffset=tell(oldfdlock),fd|=lockf(oldfdlock,F_LOCK,(off_t)0);
++#else
++ fd=1;
++#endif
++ if(MSK_flock&dolock)
++#ifdef LOCK_EX
++ fd|=flock(oldfdlock,LOCK_EX);
++#else
++ fd=1;
++#endif
++ return fd;
++}
++
++int sfdlock(int fd)
++{ int i;unsigned gobble[GOBBLE>>2];
++ for(i=GOBBLE>>2;i;gobble[--i]=~(unsigned)0); /* SunOS crash test */
++ return fdlock(fd);
++}
++
++int fdunlock()
++{ int i;unsigned gobble[GOBBLE];
++ for(i=GOBBLE;i;gobble[--i]=~(unsigned)0); /* some SunOS libs mess this up */
++ if(MSK_flock&dolock)
++#ifdef LOCK_EX
++ i|=flock(oldfdlock,LOCK_UN);
++#else
++ i=1;
++#endif
++ if(MSK_lockf&dolock)
++#ifdef F_LOCK
++ { lseek(oldfdlock,oldlockoffset,SEEK_SET);
++ i|=lockf(oldfdlock,F_LOCK,(off_t)2);i|=lockf(oldfdlock,F_ULOCK,(off_t)0);
++ }
++#else
++ i=1;
++#endif
++ if(MSK_fcntl&dolock)
++#ifdef F_SETLKW
++ flck.l_type=F_UNLCK,flck.l_len=0,i|=fcntl(oldfdlock,F_SETLK,&flck);
++#else
++ i=1;
++#endif
++ if(!i)
++ for(i=GOBBLE;i&&gobble[--i]==~(unsigned)0;);
++ return i;
++}
++
++int main(argc,argv)int argc;char*argv[];
+ { int goodlock,testlock,i,pip[2],pipw[2];time_t otimet;unsigned dtimet;
+ static char filename[]="_locktst.l0";
+ close(0);goodlock=0;testlock=FIRST_lock;signal(SIGPIPE,SIG_DFL);
+@@ -576,88 +659,6 @@ skip_tests:
+ puts("Kernel-locking tests completed.");fprintf(stderr,"\n");
+ return EXIT_SUCCESS;
+ }
+-
+-int killchildren()
+-{ int i;
+- i=NR_of_forks;
+- do
+- if(child[--i]>0)
+- kill(child[i],SIGTERM),child[i]=0;
+- while(i);
+- return 0;
+-}
+-
+-int sfdlock(fd)
+-{ int i;unsigned gobble[GOBBLE>>2];
+- for(i=GOBBLE>>2;i;gobble[--i]=~(unsigned)0); /* SunOS crash test */
+- return fdlock(fd);
+-}
+-
+-static oldfdlock;
+-#ifdef F_SETLKW
+-static struct flock flck; /* why can't it be a local variable? */
+-#endif
+-#ifdef F_LOCK
+-static off_t oldlockoffset;
+-#endif
+-
+-int fdlock(fd)
+-{ int i;unsigned gobble[GOBBLE>>2];
+- for(i=GOBBLE>>2;i;gobble[--i]=~(unsigned)0); /* SunOS crash test */
+- oldfdlock=fd;fd=0;
+- if(MSK_fcntl&dolock)
+-#ifdef F_SETLKW
+- { static unsigned extra;
+- flck.l_type=F_WRLCK;flck.l_whence=SEEK_SET;flck.l_start=tell(oldfdlock);
+- if(!extra--)
+- extra=MIN_locks/4,flck.l_len=2,i|=fcntl(oldfdlock,F_SETLK,&flck);
+- flck.l_len=0;fd|=fcntl(oldfdlock,F_SETLKW,&flck);
+- }
+-#else
+- fd=1;
+-#endif
+- if(MSK_lockf&dolock)
+-#ifdef F_LOCK
+- oldlockoffset=tell(oldfdlock),fd|=lockf(oldfdlock,F_LOCK,(off_t)0);
+-#else
+- fd=1;
+-#endif
+- if(MSK_flock&dolock)
+-#ifdef LOCK_EX
+- fd|=flock(oldfdlock,LOCK_EX);
+-#else
+- fd=1;
+-#endif
+- return fd;
+-}
+-
+-int fdunlock()
+-{ int i;unsigned gobble[GOBBLE];
+- for(i=GOBBLE;i;gobble[--i]=~(unsigned)0); /* some SunOS libs mess this up */
+- if(MSK_flock&dolock)
+-#ifdef LOCK_EX
+- i|=flock(oldfdlock,LOCK_UN);
+-#else
+- i=1;
+-#endif
+- if(MSK_lockf&dolock)
+-#ifdef F_LOCK
+- { lseek(oldfdlock,oldlockoffset,SEEK_SET);
+- i|=lockf(oldfdlock,F_LOCK,(off_t)2);i|=lockf(oldfdlock,F_ULOCK,(off_t)0);
+- }
+-#else
+- i=1;
+-#endif
+- if(MSK_fcntl&dolock)
+-#ifdef F_SETLKW
+- flck.l_type=F_UNLCK,flck.l_len=0,i|=fcntl(oldfdlock,F_SETLK,&flck);
+-#else
+- i=1;
+-#endif
+- if(!i)
+- for(i=GOBBLE;i&&gobble[--i]==~(unsigned)0;);
+- return i;
+-}
+ HERE
+
+ if $MAKE _autotst >_autotst.rrr 2>&1
+@@ -1033,6 +1034,10 @@ cat >_autotst.c <<HERE
+ #ifndef NO_COMSAT
+ #include "network.h"
+ #endif
++#include <string.h>
++#include <unistd.h>
++int setrgid();
++int setresgid();
+ int main(){char a[2];
+ endpwent();endgrent();memmove(a,"0",1);bcopy("0",a,1);strcspn(a,"0");
+ strtol("0",(char**)0,10);strchr("0",'0');strpbrk(a,"0");rename(a,"0");
+@@ -1059,7 +1064,7 @@ echo 'Testing for memmove, strchr, strpbrk, strcspn, strtol, strstr,'
+ echo ' rename, setrgid, setegid, pow, opendir, mkdir, waitpid, fsync,'
+ echo ' ftruncate, strtod, strncasecmp, strerror, strlcat,'
+ echo ' memset, bzero, and _exit'
+-if $MAKE _autotst.$O >$DEVNULL 2>&1
++if $MAKE _autotst.$O >_autotst.rrr 2>&1
+ then
+ :
+ else
+diff --git a/src/foldinfo.c b/src/foldinfo.c
+index 10fe406..33e7bff 100644
+--- a/src/foldinfo.c
++++ b/src/foldinfo.c
+@@ -18,6 +18,7 @@ static /*const*/char rcsid[]=
+ #include "goodies.h"
+ #include "locking.h"
+ #include "foldinfo.h"
++#include "acommon.h"
+
+ static const char
+ maildirtmp[]=MAILDIRtmp,maildircur[]=MAILDIRcur;
+diff --git a/src/mailfold.c b/src/mailfold.c
+index 917b502..9e3d386 100644
+--- a/src/mailfold.c
++++ b/src/mailfold.c
+@@ -371,7 +371,7 @@ void concon(ch)const int ch; /* flip between concatenated and split fields */
+ }
+ }
+
+-void readmail(rhead,tobesent)const long tobesent;
++void readmail(rhead,tobesent)const long tobesent; int rhead;
+ { char*chp,*pastend;static size_t contlengthoffset;
+ ;{ long dfilled;
+ if(rhead==2) /* already read, just examine what we have */
diff --git a/gnu/packages/patches/prusa-slicer-add-cmake-module.patch b/gnu/packages/patches/prusa-slicer-add-cmake-module.patch
new file mode 100644
index 0000000000..ba1be9f2af
--- /dev/null
+++ b/gnu/packages/patches/prusa-slicer-add-cmake-module.patch
@@ -0,0 +1,49 @@
+From 23f1b40dbf6223b4b8af3845efe64b076998b2d7 Mon Sep 17 00:00:00 2001
+From: nomike <nomike@nomike.com>
+Date: Sat, 12 Jul 2025 03:14:16 +0200
+Subject: [PATCH] Add CMake module for finding HidAPI library
+
+---
+ cmake/modules/FindHidAPI.cmake | 30 ++++++++++++++++++++++++++++++
+ 1 file changed, 30 insertions(+)
+ create mode 100644 cmake/modules/FindHidAPI.cmake
+
+diff --git a/cmake/modules/FindHidAPI.cmake b/cmake/modules/FindHidAPI.cmake
+new file mode 100644
+index 000000000..0fdcecf88
+--- /dev/null
++++ b/cmake/modules/FindHidAPI.cmake
+@@ -0,0 +1,30 @@
++find_package(PkgConfig)
++pkg_search_module(PC_HIDAPI QUIET hidapi hidapi-libusb)
++
++find_path(HIDAPI_INCLUDE_DIR NAMES hidapi.h
++ HINTS
++ ${PC_HIDAPI_INCLUDEDIR}
++ ${PC_HIDAPI_INCLUDE_DIRS})
++
++find_library(HIDAPI_LIBRARY NAMES hidapi hidapi-libusb
++ HINTS
++ ${PC_HIDAPI_LIBDIR}
++ ${PC_HIDAPI_LIBRARY_DIRS})
++
++if(HIDAPI_INCLUDE_DIR AND EXISTS "${HIDAPI_INCLUDE_DIR}/hidapi.h")
++ file(STRINGS "${HIDAPI_INCLUDE_DIR}/hidapi.h" hidapi_version_major
++ REGEX "^#define[\t ]+HID_API_VERSION_MAJOR[\t ]+[0-9]+")
++ file(STRINGS "${HIDAPI_INCLUDE_DIR}/hidapi.h" hidapi_version_minor
++ REGEX "^#define[\t ]+HID_API_VERSION_MINOR[\t ]+[0-9]+")
++ file(STRINGS "${HIDAPI_INCLUDE_DIR}/hidapi.h" hidapi_version_patch
++ REGEX "^#define[\t ]+HID_API_VERSION_PATCH[\t ]+[0-9]+")
++ string(REGEX REPLACE "[^0-9.]" "" HIDAPI_VERSION_STRING "${hidapi_version_major}.${hidapi_version_minor}.${hidapi_version_patch}")
++ unset(hidapi_version_major)
++ unset(hidapi_version_minor)
++ unset(hidapi_version_patch)
++endif()
++
++include(FindPackageHandleStandardArgs)
++find_package_handle_standard_args(HidAPI REQUIRED_VARS HIDAPI_LIBRARY HIDAPI_INCLUDE_DIR)
++
++mark_as_advanced(HIDAPI_INCLUDE_DIR HIDAPI_LIBRARY)
+--
+2.50.0
+
diff --git a/gnu/packages/patches/prusa-slicer-fix-tests.patch b/gnu/packages/patches/prusa-slicer-fix-tests.patch
deleted file mode 100644
index da9a5307f9..0000000000
--- a/gnu/packages/patches/prusa-slicer-fix-tests.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-This patch comes from Gentoo:
- portage/media-gfx/prusaslicer/files/prusaslicer-2.5.0_rc1-fix-tests.patch
-
---- a/tests/fff_print/test_data.cpp
-+++ b/tests/fff_print/test_data.cpp
-@@ -4,10 +4,9 @@
- #include "libslic3r/GCodeReader.hpp"
- #include "libslic3r/Config.hpp"
- #include "libslic3r/Print.hpp"
--#include "libslic3r/Format/OBJ.hpp"
--#include "libslic3r/Format/STL.hpp"
-
- #include <cstdlib>
-+#include <fstream>
- #include <string>
-
- #include <boost/nowide/cstdio.hpp>
diff --git a/gnu/packages/patches/psm2-compile-ctor-without-avx.patch b/gnu/packages/patches/psm2-compile-ctor-without-avx.patch
index 882ff06761..a80d5d3b72 100644
--- a/gnu/packages/patches/psm2-compile-ctor-without-avx.patch
+++ b/gnu/packages/patches/psm2-compile-ctor-without-avx.patch
@@ -4,7 +4,7 @@ Date: 2025-07-25
License: gpl3+
diff --git a/opa/Makefile b/opa/Makefile
-index 2692886..368973b 100644
+index 2692886..11a92cb 100644
--- a/opa/Makefile
+++ b/opa/Makefile
@@ -74,6 +74,7 @@ ${TARGLIB}-objs := opa_debug.o opa_time.o \
@@ -15,12 +15,12 @@ index 2692886..368973b 100644
.PHONY: all clean
IGNORE_DEP_TARGETS = clean
-@@ -84,13 +85,21 @@ install: all
+@@ -84,12 +85,20 @@ install: all
@echo "Nothing to do for install."
$(OUTDIR)/%.d: $(this_srcdir)/%.c
- $(CC) $(CFLAGS) $(BASECFLAGS) $(INCLUDES) $< -MM -MF $@ -MQ $(@:.d=.o)
-+ if [ "$<" = "$(this_srcdir)/opa_debug.c" ] || [ "$<" = "$(this_srcdir)/opa_time.c" ]; then \
++ if [ "$<" = "$(this_srcdir)/opa_time.c" ]; then \
+ $(CC) $(CFLAGS) $(BASECFLAGS_NO_AVX) $(INCLUDES) $< -MM -MF $@ -MQ $(@:.d=.o); \
+ else \
+ $(CC) $(CFLAGS) $(BASECFLAGS) $(INCLUDES) $< -MM -MF $@ -MQ $(@:.d=.o); \
@@ -31,7 +31,7 @@ index 2692886..368973b 100644
$(OUTDIR)/%.o: $(this_srcdir)/%.c | ${DEPS}
- $(CC) $(CFLAGS) $(BASECFLAGS) $(INCLUDES) -c $< -o $@
-+ if [ "$<" = "$(this_srcdir)/opa_debug.c" ] || [ "$<" = "$(this_srcdir)/opa_time.c" ]; then \
++ if [ "$<" = "$(this_srcdir)/opa_time.c" ]; then \
+ $(CC) $(CFLAGS) $(BASECFLAGS_NO_AVX) $(INCLUDES) -c $< -o $@; \
+ else \
+ $(CC) $(CFLAGS) $(BASECFLAGS) $(INCLUDES) -c $< -o $@; \
diff --git a/gnu/packages/patches/rocclr-5.6.0-enable-gfx800.patch b/gnu/packages/patches/rocclr-5.6.0-enable-gfx800.patch
index 2948234029..21fd88b82e 100644
--- a/gnu/packages/patches/rocclr-5.6.0-enable-gfx800.patch
+++ b/gnu/packages/patches/rocclr-5.6.0-enable-gfx800.patch
@@ -1,16 +1,30 @@
-#From xuhuisheng
-#at https://github.com/RadeonOpenCompute/ROCm/issues/1659#issuecomment-1041026624
+See <https://github.com/ROCm/clr/pull/97>.
-diff --git a/utils/flags.hpp b/utils/flags.hpp
-index 8f0228cc..2eaa47c5 100644
---- a/utils/flags.hpp
-+++ b/utils/flags.hpp
-@@ -245,7 +245,7 @@ release(bool, ROC_SYSTEM_SCOPE_SIGNAL, true, \
- "Enable system scope for signals (uses interrupts).") \
- release(bool, ROC_SKIP_COPY_SYNC, false, \
- "Skips copy syncs if runtime can predict the same engine.") \
--release(bool, ROC_ENABLE_PRE_VEGA, false, \
-+release(bool, ROC_ENABLE_PRE_VEGA, true, \
- "Enable support of pre-vega ASICs in ROCm path") \
- release(bool, HIP_FORCE_QUEUE_PROFILING, false, \
- "Force command queue profiling by default") \
+From 909fa3dcb644f7ca422ed1a980a54ac426d831b1 Mon Sep 17 00:00:00 2001
+From: Jeremy Newton <Jeremy.Newton@amd.com>
+Date: Fri, 27 Sep 2024 13:29:12 -0400
+Subject: [PATCH] Fix gfx8 opencl
+
+This condition was added when we supported PAL openCL on gfx8, but when
+ROC_ENABLE_PRE_VEGA was dropped and PAL OpenCL on Linux was deprecated,
+this logic should have been dropped completely.
+
+Change-Id: I0a68ef4723d9ebde7d958c58dbb0b6991f69d817
+Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
+---
+ rocclr/device/device.hpp | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/rocclr/device/device.hpp b/rocclr/device/device.hpp
+index ef82630325..6409cebc90 100644
+--- a/rocclr/device/device.hpp
++++ b/rocclr/device/device.hpp
+@@ -1431,8 +1431,5 @@ class Isa {
+
+ /// @returns If the ROCm runtime supports the ISA.
+ bool runtimeRocSupported() const {
+- if (!IS_HIP && (versionMajor_ == 8)) {
+- return false;
+- }
+ return runtimeRocSupported_;
+ }
diff --git a/gnu/packages/patches/rocm-bandwidth-test-5.5.0-fix-includes.patch b/gnu/packages/patches/rocm-bandwidth-test-5.5.0-fix-includes.patch
deleted file mode 100644
index a5404ad62c..0000000000
--- a/gnu/packages/patches/rocm-bandwidth-test-5.5.0-fix-includes.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-See <https://github.com/RadeonOpenCompute/rocm_bandwidth_test/pull/90>.
-
-From a58f9fd4cb5d1120b9ce58c912ca87fa14720f73 Mon Sep 17 00:00:00 2001
-From: pppig236 <weikaik@umich.edu>
-Date: Tue, 2 May 2023 15:19:52 -0400
-Subject: [PATCH] fix include for rocm 5.5.0
-
----
- base_test.hpp | 8 +-------
- common.hpp | 11 ++---------
- rocm_bandwidth_test.hpp | 8 +-------
- 3 files changed, 4 insertions(+), 23 deletions(-)
-
-diff --git a/base_test.hpp b/base_test.hpp
-index 3e79de1..af99a85 100755
---- a/base_test.hpp
-+++ b/base_test.hpp
-@@ -42,14 +42,8 @@
-
- #ifndef ROC_BANDWIDTH_TEST_BASE_H_
- #define ROC_BANDWIDTH_TEST_BASE_H_
--#if(defined(RBT_HSA_VERSION_FLAT) && ((RBT_HSA_VERSION_FLAT) < RBT_HSA_VERSION_FILEREORG))
--// Hsa package with out file reorganization
--// This is for backward compatibility and will be deprecated from future release
--#include "hsa.h"
--#else
- // Hsa package with file reorganization
--#include "hsa/hsa.h"
--#endif
-+#include <hsa/hsa.h>
- #include <iostream>
- #include <string>
- #include <vector>
-diff --git a/common.hpp b/common.hpp
-index d2933a0..3c4858f 100755
---- a/common.hpp
-+++ b/common.hpp
-@@ -48,16 +48,9 @@
- #include <vector>
- #include <cmath>
- #include <stdio.h>
--#if(defined(RBT_HSA_VERSION_FLAT) && ((RBT_HSA_VERSION_FLAT) < RBT_HSA_VERSION_FILEREORG))
--// Hsa package with out file reorganization
--// This is for backward compatibility and will be deprecated from future release
--#include "hsa.h"
--#include "hsa_ext_amd.h"
--#else
- // Hsa package with file reorganization
--#include "hsa/hsa.h"
--#include "hsa/hsa_ext_amd.h"
--#endif
-+#include <hsa/hsa.h>
-+#include <hsa/hsa_ext_amd.h>
-
- using namespace std;
-
-diff --git a/rocm_bandwidth_test.hpp b/rocm_bandwidth_test.hpp
-index f7eb338..b8550a7 100755
---- a/rocm_bandwidth_test.hpp
-+++ b/rocm_bandwidth_test.hpp
-@@ -43,14 +43,8 @@
- #ifndef __ROC_BANDWIDTH_TEST_H__
- #define __ROC_BANDWIDTH_TEST_H__
-
--#if(defined(RBT_HSA_VERSION_FLAT) && ((RBT_HSA_VERSION_FLAT) < RBT_HSA_VERSION_FILEREORG))
--// Hsa package with out file reorganization
--// This is for backward compatibility and will be deprecated from future release
--#include "hsa.h"
--#else
- // Hsa package with file reorganization
--#include "hsa/hsa.h"
--#endif
-+#include <hsa/hsa.h>
- #include "base_test.hpp"
- #include "common.hpp"
-
---
-2.40.1
-
diff --git a/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch b/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch
deleted file mode 100644
index 6462b81eb9..0000000000
--- a/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-See https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/pull/25 for
-original patch.
-
-From c65cba2e73f9118e128b9ab7e655ee0f8a7798e7 Mon Sep 17 00:00:00 2001
-From: Craig Andrews <candrews@integralblue.com>
-Date: Sun, 1 Mar 2020 19:24:22 -0500
-Subject: [PATCH] Link additional required LLVM libraries
-
-Without these additional required dependencies, linking fails with errors such as:
-`undefined reference to llvm::errs()'`
----
- CMakeLists.txt | 20 ++++++++++++++++++--
- 1 file changed, 18 insertions(+), 2 deletions(-)
-
-diff --git a/lib/comgr/CMakeLists.txt b/lib/comgr/CMakeLists.txt
-index fd3ae4a..131e581 100644
---- a/lib/comgr/CMakeLists.txt
-+++ b/lib/comgr/CMakeLists.txt
-@@ -322,7 +322,11 @@ install(FILES
-
- if(TARGET clangFrontendTool)
- set(CLANG_LIBS
-- clangFrontendTool)
-+ clangFrontendTool
-+ clangFrontend
-+ clangBasic
-+ clangDriver
-+ clangSerialization)
- else()
- set(CLANG_LIBS
- clang-cpp)
-@@ -337,8 +341,23 @@ if (LLVM_LINK_LLVM_DYLIB)
- else()
- llvm_map_components_to_libnames(LLVM_LIBS
- ${LLVM_TARGETS_TO_BUILD}
-+ Option
- DebugInfoDWARF
-- Symbolize)
-+ Symbolize
-+ Support
-+ Object
-+ TargetParser
-+ Bitreader
-+ BitWriter
-+ MC
-+ MCParser
-+ MCDisassembler
-+ Core
-+ IRReader
-+ CodeGen
-+ Linker
-+ Demangle
-+ BinaryFormat)
- endif()
-
- target_link_options(amd_comgr
diff --git a/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch b/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch
index 65ad362307..da96b3ade8 100644
--- a/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch
+++ b/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch
@@ -1,11 +1,11 @@
Do not build and install clinfo.
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0dc5bf4..95a12af 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -27,7 +27,7 @@ else()
- find_package(OpenCL REQUIRED)
+diff --git a/opencl/CMakeLists.txt b/opencl/CMakeLists.txt
+index 7b97cfdef..23eec15b2 100644
+--- a/opencl/CMakeLists.txt
++++ b/opencl/CMakeLists.txt
+@@ -33,7 +33,7 @@ if(BUILD_ICD)
+ add_subdirectory(khronos/icd)
endif()
add_subdirectory(amdocl)
-add_subdirectory(tools/clinfo)
@@ -13,15 +13,16 @@ index 0dc5bf4..95a12af 100644
add_subdirectory(tools/cltrace)
if(BUILD_TESTS)
add_subdirectory(tests/ocltst)
-diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt
-index a703f58..c07546a 100644
---- a/packaging/CMakeLists.txt
-+++ b/packaging/CMakeLists.txt
-@@ -12,6 +12,6 @@ endif()
+diff --git a/opencl/packaging/CMakeLists.txt b/opencl/packaging/CMakeLists.txt
+index 7d9e6366f..f8d08e0fc 100644
+--- a/opencl/packaging/CMakeLists.txt
++++ b/opencl/packaging/CMakeLists.txt
+@@ -16,7 +16,7 @@ endif()
set(CPACK_DEB_COMPONENT_INSTALL ON)
set(CPACK_RPM_COMPONENT_INSTALL ON)
-install(TARGETS clinfo DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT binary)
+#install(TARGETS clinfo DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT binary)
install(TARGETS amdocl DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary)
- install(FILES ${CMAKE_SOURCE_DIR}/LICENSE.txt DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT binary)
+ install(TARGETS amdocl DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT asan)
+ install(FILES ${opencl_SOURCE_DIR}/LICENSE.txt DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT binary)
diff --git a/gnu/packages/patches/sajson-for-gemmi-numbers-as-strings.patch b/gnu/packages/patches/sajson-for-gemmi-numbers-as-strings.patch
index 6f476b8583..796df7dc44 100644
--- a/gnu/packages/patches/sajson-for-gemmi-numbers-as-strings.patch
+++ b/gnu/packages/patches/sajson-for-gemmi-numbers-as-strings.patch
@@ -50,7 +50,19 @@ diff -ur a/include/sajson.h b/include/sajson.h
/// Represents a JSON value. First, call get_type() to check its type,
/// which determines which methods are available.
///
-@@ -585,70 +548,10 @@
+@@ -469,9 +432,9 @@ public:
+ // at worst a table lookup.
+ switch (value_tag) {
+ case tag::integer:
+- return TYPE_INTEGER;
++ return TYPE_STRING;
+ case tag::double_:
+- return TYPE_DOUBLE;
++ return TYPE_STRING;
+ case tag::null:
+ return TYPE_NULL;
+ case tag::false_:
+@@ -585,70 +548,10 @@ public:
return length;
}
diff --git a/gnu/packages/patches/serious-sam-classic-engine-patch-paths.patch b/gnu/packages/patches/serious-sam-classic-engine-patch-paths.patch
new file mode 100644
index 0000000000..a4c8ea3854
--- /dev/null
+++ b/gnu/packages/patches/serious-sam-classic-engine-patch-paths.patch
@@ -0,0 +1,582 @@
+diff --git a/SamTFE/Sources/Engine/Base/Stream.cpp b/SamTFE/Sources/Engine/Base/Stream.cpp
+index f30213a..8f2aa82 100644
+--- a/SamTFE/Sources/Engine/Base/Stream.cpp
++++ b/SamTFE/Sources/Engine/Base/Stream.cpp
+@@ -78,7 +78,9 @@ ULONG _ulVirtuallyAllocatedSpaceTotal = 0;
+ // global string with application path (utf-8)
+ CTFileName _fnmApplicationPath;
+ CTFileName _fnmApplicationPathTMP; // home dir or application path
+-
++#ifdef PLATFORM_UNIX
++CTFileName _fnmAdditionalDirPath; // additional search path
++#endif
+ // global string with filename of the started application
+ CTFileName _fnmApplicationExe;
+ // global string with user-specific writable directory.
+@@ -220,6 +222,17 @@ void InitStreams(void)
+ }
+ delete files;
+
++#ifdef PLATFORM_UNIX
++ // additional search path
++ files = _pFileSystem->FindFiles(_fnmAdditionalDirPath, "*.gro");
++ max = files->Count();
++ for (i = 0; i < max; i++) {
++ UNZIPAddArchive( _fnmAdditionalDirPath + ((*files)[i]) );
++ }
++ UNZIPAddArchive( _fnmApplicationPath + "share/serioussam/SE1_10b.gro");
++ delete files;
++#endif
++
+ // if there is a mod active
+ if (_fnmMod!="") {
+ // for each group file in mod directory
+@@ -1655,19 +1668,20 @@ INDEX ExpandFilePath(ULONG ulType, const CTFileName &fnmFile, CTFileName &fnmExp
+
+ int _savegame = strncmp((const char *)fnmFile, (const char *) "SaveGame", (size_t) 8 );
+ int _usercontrols = strncmp((const char *)fnmFile, (const char *) "Controls", (size_t) 8 );
+- int _persistentsym = strncmp((const char *)fnmFile, (const char *) "Scripts/PersistentSymbols.ini", (size_t) 29 );
+- int _gamesgms = strncmp((const char *)fnmFile, (const char *) "Data/SeriousSam.gms", (size_t) 19 );
+- int _comsolehistory = strncmp((const char *)fnmFile, (const char *) "Temp/ConsoleHistory.txt", (size_t) 23 );
+- int _userdemos = strncmp((const char *)fnmFile, (const char *) "Demos/Demo", (size_t) 10 );
++ int _persistentsym = strncmp((const char *)fnmFile, (const char *) "Scripts", (size_t) 7 );
++ int _gamesgms = strncmp((const char *)fnmFile, (const char *) "Data", (size_t) 4 );
++ int _comsolehistory = strncmp((const char *)fnmFile, (const char *) "Temp", (size_t) 4 );
++ int _userdemos = strncmp((const char *)fnmFile, (const char *) "Demo", (size_t) 4 );
+ int _playersplr = strncmp((const char *)fnmFile, (const char *) "Players", (size_t) 7 );
+ int _screenshots = strncmp((const char *)fnmFile, (const char *) "ScreenShots", (size_t) 11 );
+ int _levelsvis = strncmp((const char *)fnmFile, (const char *) "Levels", (size_t) 6 );
+-
+- //CPrintF("ExpandFilePath: %s\n",(const char *) fnmFile);
++ int _help = strncmp((const char *)fnmFile, (const char *) "Help", (size_t) 4 );
+
+ if(( _savegame == 0 || _persistentsym == 0 || _gamesgms == 0 ||
+ _comsolehistory == 0 || _userdemos == 0 || _playersplr == 0 || _screenshots == 0) && ( _bPortableVersion == FALSE)) {
+ _fnmApplicationPathTMP = _fnmUserDir;
++ } else if (_help == 0) {
++ _fnmApplicationPathTMP = _fnmAdditionalDirPath;
+ } else {
+ _fnmApplicationPathTMP = _fnmApplicationPath;
+ }
+@@ -1675,6 +1689,8 @@ INDEX ExpandFilePath(ULONG ulType, const CTFileName &fnmFile, CTFileName &fnmExp
+ if( _levelsvis == 0 && _bPortableVersion == FALSE) {
+ if (fnmFileAbsolute.FileExt()==".vis") {
+ _fnmApplicationPathTMP = _fnmUserDir;
++ } else {
++ _fnmApplicationPathTMP = _fnmAdditionalDirPath;
+ }
+ }
+
+diff --git a/SamTFE/Sources/Engine/Base/Stream.h b/SamTFE/Sources/Engine/Base/Stream.h
+index 8ff3de6..1e5aeae 100644
+--- a/SamTFE/Sources/Engine/Base/Stream.h
++++ b/SamTFE/Sources/Engine/Base/Stream.h
+@@ -391,6 +391,10 @@ ENGINE_API void MakeDirList(
+
+ // global string with application path
+ ENGINE_API extern CTFileName _fnmApplicationPath;
++#ifdef PLATFORM_UNIX
++// global string with additional search path
++ENGINE_API extern CTFileName _fnmAdditionalDirPath;
++#endif
+ // global string with user-specific writable directory.
+ ENGINE_API extern CTFileName _fnmUserDir;
+ // global string with current MOD path
+diff --git a/SamTFE/Sources/Engine/Engine.cpp b/SamTFE/Sources/Engine/Engine.cpp
+index e6f7c4f..2b6cda5 100644
+--- a/SamTFE/Sources/Engine/Engine.cpp
++++ b/SamTFE/Sources/Engine/Engine.cpp
+@@ -115,6 +115,7 @@ static CTString sys_strModExt = "";
+ // Path vars
+ static INDEX sys_iGameBits = 0;
+ ENGINE_API INDEX sys_iSysPath = 0;
++ENGINE_API INDEX sys_iGameDataNotFound = 0;
+
+ // Entities Adjesters
+ ENGINE_API FLOAT _fPlayerFOVAdjuster = 1.0f;
+@@ -676,10 +677,12 @@ ENGINE_API void SE_InitEngine(CTString strGameID)
+ _fnmApplicationPath = CTString(strDirPath);
+ _fnmApplicationExe = CTString(strExePath);
+ #ifdef PLATFORM_UNIX
++ //_fnmAdditionalDirPath = "/usr/share/" + strGameID + "/";
+ // rcg01012002 calculate user dir.
+ char buf[MAX_PATH];
+ _pFileSystem->GetUserDirectory(buf, sizeof (buf));
+ _fnmUserDir = CTString(buf);
++ _fnmAdditionalDirPath = _fnmUserDir + "/gamedata/";
+ #endif
+ try {
+ _fnmApplicationExe.RemoveApplicationPath_t();
+@@ -742,147 +745,17 @@ ENGINE_API void SE_InitEngine(CTString strGameID)
+ CPrintF(TRANSV("Running %d-bit version\n"), sys_iGameBits);
+
+ #ifdef PLATFORM_UNIX
+-#if defined(__OpenBSD__) || defined(__FreeBSD__)
+- int _isystempath = strncmp((const char *)strExePath, (const char *) "/usr/local/bin/", (size_t) 15 );
+-#elif defined(__NetBSD__)
+- int _isystempath = strncmp((const char *)strExePath, (const char *) "/usr/pkg/bin/", (size_t) 13 );
+-#else
+- int _isystempath = strncmp((const char *)strExePath, (const char *) "/usr/bin/", (size_t) 9 );
+-#endif
+- if( _isystempath == 0 ) {
+- sys_iSysPath = 1; // using system path
+- } else {
+- sys_iSysPath = 0; // using standarted path
+- }
+-
+- // get library path for mods
+- _fnmModLibPath = "";
+-#if defined(__OpenBSD__) || defined(__FreeBSD__)
+- if( sys_iSysPath == 1 ) {
+- _fnmModLibPath = "/usr/local/lib/" + strGameID + "/";
+-#elif defined(__NetBSD__)
+- if( sys_iSysPath == 1 ) {
+- _fnmModLibPath = "/usr/pkg/lib/" + strGameID + "/";
+-#else
+- if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib/aarch64-linux-gnu/" + strGameID)) {
+- _fnmModLibPath = "/usr/lib/aarch64-linux-gnu/" + strGameID + "/";
+- } else if( sys_iSysPath == 1 && sys_iGameBits == 32 && _pFileSystem->IsDirectory((const char *) "/usr/lib/arm-linux-gnueabihf/" + strGameID)) {
+- _fnmModLibPath = "/usr/lib/arm-linux-gnueabihf/" + strGameID + "/";
+- } else if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib/riscv64-linux-gnu/" + strGameID)) {
+- _fnmModLibPath = "/usr/lib/riscv64-linux-gnu/" + strGameID + "/";
+- } else if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib/s390x-linux-gnu/" + strGameID)) {
+- _fnmModLibPath = "/usr/lib/s390x-linux-gnu/" + strGameID + "/";
+- } else if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib/powerpc64-linux-gnu/" + strGameID)) {
+- _fnmModLibPath = "/usr/lib/powerpc64-linux-gnu/" + strGameID + "/";
+- } else if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib/x86_64-linux-gnu/" + strGameID)) {
+- _fnmModLibPath = "/usr/lib/x86_64-linux-gnu/" + strGameID + "/";
+- } else if( sys_iSysPath == 1 && sys_iGameBits == 32 && _pFileSystem->IsDirectory((const char *) "/usr/lib/i386-linux-gnu/" + strGameID)) {
+- _fnmModLibPath = "/usr/lib/i386-linux-gnu/" + strGameID + "/";
+- } else if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib64/" + strGameID)) {
+- _fnmModLibPath = "/usr/lib64/" + strGameID + "/";
+- } else if( sys_iSysPath == 1 && sys_iGameBits == 32 && _pFileSystem->IsDirectory((const char *) "/usr/lib//" + strGameID)) {
+- _fnmModLibPath = "/usr/lib/" + strGameID + "/";
+-#endif
+- } else if( sys_iSysPath == 0 ) {
+- _fnmModLibPath = _fnmApplicationPath;
+- } else {
+- CPrintF(TRANSV("ERROR: Game libraries not ound!\n"));
+- FatalError(TRANSV("Failed to search game libraries installed!\nPlease reinstall the game.\nSee the log for more details.\nGame log is here: ~/.local/share/Serious-Engine/%s/SeriousSam.log"),(const char *) strGameID);
+- }
+
+- if( sys_iSysPath == 1 ) { // search game data
+- CTFileName _fnm_usr_TestFile, _fnm_local_TestFile, _fnm_home_TestFile;
+- CTString _fnmUserDataPath, _fnm_TestFile;
+- int _fd;
+-
+- if( access((const char *) _fnmUserDir+_strLogFile+".cfg", F_OK) == 0 ) {
+- _fd = open((const char *) _fnmUserDir+_strLogFile+".cfg", O_RDONLY,S_IRUSR);
+- size_t x = read(_fd, _path, 2048);
+- _fnmUserDataPath = (CTString)_path + "/";
+- close(_fd);
+- CPrintF(TRANSV("Testing home path: %s\n"), (const char *) _fnmUserDataPath);
+- } else {
+- _fnmUserDataPath = "";
+- }
+-
+- // set testing files
+- if( strGameID == "serioussamse") {
+- _fnm_TestFile = "SE1_00_Levels.gro";
+- } else {
+- _fnm_TestFile = "1_00_music.gro";
+- }
+- CPrintF(TRANSV("Testing file: %s\n"), (const char *) _fnm_TestFile);
+-#if defined(__OpenBSD__) || defined(__FreeBSD__)
+- _fnm_usr_TestFile = "/usr/local/share/" + strGameID + "/" + _fnm_TestFile; // data in usr
+-#elif defined(__NetBSD__)
+- _fnm_usr_TestFile = "/usr/pkg/share/" + strGameID + "/" + _fnm_TestFile; // data in usr
+-#else
+- _fnm_usr_TestFile = "/usr/share/" + strGameID + "/" + _fnm_TestFile; // data in usr
+-#endif
+- _fnm_local_TestFile = _fnmUserDir + _fnm_TestFile; // data in home .local
+- _fnm_home_TestFile = (const char *)_fnmUserDataPath + _fnm_TestFile;
+- // test
+- if( access((const char *) _fnm_home_TestFile, F_OK) != 0 ) {
+- CPrintF(TRANSV("Testing system path: %s\n"), (const char *) _fnm_usr_TestFile);
+- CPrintF(TRANSV("Testing local path: %s\n"), (const char *) _fnm_local_TestFile);
+- if( access((const char *) _fnm_usr_TestFile, F_OK) == 0 ) {
+-#if defined(__OpenBSD__) || defined(__FreeBSD__)
+- _fnmApplicationPath = "/usr/local/share/" + strGameID + "/"; // all game data
+-#elif defined(__NetBSD__)
+- _fnmApplicationPath = "/usr/pkg/share/" + strGameID + "/"; // all game data
+-#else
+- _fnmApplicationPath = "/usr/share/" + strGameID + "/"; // all game data
+-#endif
+- CPrintF(TRANSV("Found usr path: %s\n"), (const char *) _fnmUserDataPath);
+- } else if( access((const char *) _fnm_local_TestFile, F_OK) == 0 ) {
+- _fnmApplicationPath = _fnmUserDir; // all game data
+- CPrintF(TRANSV("Found local path: %s\n"), (const char *) _fnmUserDataPath);
+- } else {
+- // search in home dir
+- // BOOL YesNoMessage(const char *strFormat, ...)
+-#if defined(__OpenBSD__) || defined(__FreeBSD__)
+- InfoMessage(TRANS("No game files were found in /usr/local/share/%s/\n or %s\nThe home directory will be searched."),(const char *) strGameID,(const char *) _fnmUserDir);
+-#elif defined(__NetBSD__)
+- InfoMessage(TRANS("No game files were found in /usr/pkg/share/%s/\n or %s\nThe home directory will be searched."),(const char *) strGameID,(const char *) _fnmUserDir);
+-#else
+- InfoMessage(TRANS("No game files were found in /usr/share/%s/\n or %s\nThe home directory will be searched."),(const char *) strGameID,(const char *) _fnmUserDir);
+-#endif
+- struct passwd *pw = getpwuid(getuid());
+- const char *_homedir = pw->pw_dir;
+- _testfiledone = 0;
+- _list_dir(_homedir, 0, strGameID);
+- CTString _PATH;
+- _PATH = (CTString)_path;
+- _fnmApplicationPath = (CTFileName) _PATH + "/";
+- _fnm_home_TestFile = (CTFileName) _PATH + "/" + _fnm_TestFile;
+- if( access((const char *) _fnm_home_TestFile, F_OK) == 0 ) {
+- //_fnmApplicationPath = (CTFileName) _PATH + "/";
+- CPrintF(TRANSV("Found home path: %s\n"), (const char *) _fnm_home_TestFile);
+- _fd = open((const char *) _fnmUserDir+_strLogFile+".cfg", O_CREAT | O_WRONLY, S_IRUSR | S_IWUSR);
+- size_t x = write(_fd, _path, 2048);
+- close(_fd);
+- } else {
+- CPrintF(TRANSV("ERROR: Game data not ound!\n"));
+- _fnmUserDataPath = "";
+-#if defined(__OpenBSD__) || defined(__FreeBSD__)
+- FatalError(TRANSV("Failed to search game data!\nPlease put the game data in the paths:\n/usr/local/share/%s/\n or %s\n or somewhere in your home directory\nSee the log for more details.\nGame log is here: ~/.local/share/Serious-Engine/%s/SeriousSam.log"),(const char *) strGameID,(const char *) _fnmUserDir,(const char *) strGameID);
+-#elif defined(__NetBSD__)
+- FatalError(TRANSV("Failed to search game data!\nPlease put the game data in the paths:\n/usr/pkg/share/%s/\n or %s\n or somewhere in your home directory\nSee the log for more details.\nGame log is here: ~/.local/share/Serious-Engine/%s/SeriousSam.log"),(const char *) strGameID,(const char *) _fnmUserDir,(const char *) strGameID);
+-#else
+- FatalError(TRANSV("Failed to search game data!\nPlease put the game data in the paths:\n/usr/share/%s/\n or %s\n or somewhere in your home directory\nSee the log for more details.\nGame log is here: ~/.local/share/Serious-Engine/%s/SeriousSam.log"),(const char *) strGameID,(const char *) _fnmUserDir,(const char *) strGameID);
+-#endif
+- }
+- }
+- } else {
+- CPrintF(TRANSV("Found path: %s\n"), (const char *) _fnmUserDataPath);
+- _fnmApplicationPath = _fnmUserDataPath; // all game data
+- }
+- }
++ // using system path
++ sys_iSysPath = 1;
++ // library path for mods
++ _fnmModLibPath = _fnmApplicationPath + "lib/" + strGameID + "/";
+
+ // print info on the started application
+ CPrintF(TRANSV("Executable: %s\n"), (const char *) strExePath);
+ CPrintF(TRANSV("Assumed engine data directory: %s\n"), (const char *) _fnmApplicationPath);
+ CPrintF(TRANSV("Assumed mods library directory: %s\n"), (const char *) _fnmModLibPath);
++ CPrintF(TRANSV("Assumed additional data directory: %s\n"), (const char *) _fnmAdditionalDirPath);
+ #endif
+
+ CPrintF("\n");
+diff --git a/SamTFE/Sources/Engine/Engine.h b/SamTFE/Sources/Engine/Engine.h
+index 8307f70..6ba88a4 100644
+--- a/SamTFE/Sources/Engine/Engine.h
++++ b/SamTFE/Sources/Engine/Engine.h
+@@ -207,6 +207,7 @@ extern ENGINE_API BOOL _bWorldEditorApp; // is this world edtior app
+ extern ENGINE_API CTString _strLogFile;
+ extern ENGINE_API CTFileName _fnmModLibPath;
+ extern ENGINE_API INDEX sys_iSysPath;
++extern ENGINE_API INDEX sys_iGameDataNotFound;
+ #ifdef PLATFORM_WIN32
+ //
+ extern ENGINE_API FLOAT _fPlayerFOVAdjuster;
+diff --git a/SamTSE/Sources/Engine/Base/Stream.cpp b/SamTSE/Sources/Engine/Base/Stream.cpp
+index f30213a..9a2ffaf 100644
+--- a/SamTSE/Sources/Engine/Base/Stream.cpp
++++ b/SamTSE/Sources/Engine/Base/Stream.cpp
+@@ -78,7 +78,9 @@ ULONG _ulVirtuallyAllocatedSpaceTotal = 0;
+ // global string with application path (utf-8)
+ CTFileName _fnmApplicationPath;
+ CTFileName _fnmApplicationPathTMP; // home dir or application path
+-
++#ifdef PLATFORM_UNIX
++CTFileName _fnmAdditionalDirPath; // additional search path
++#endif
+ // global string with filename of the started application
+ CTFileName _fnmApplicationExe;
+ // global string with user-specific writable directory.
+@@ -194,15 +196,16 @@ void InitStreams(void)
+ }
+ }
+ // find eventual extension for the mod's dlls
+- _strModExt = "";
++ _strModExt = "MP";
+ // DG: apparently both ModEXT.txt and ModExt.txt exist in the wild.
++/*
+ CTFileName tmp;
+ if(ExpandFilePath(EFP_READ, CTString("ModEXT.txt"), tmp) != EFP_NONE) {
+ LoadStringVar(CTString("ModEXT.txt"), _strModExt);
+ } else {
+ LoadStringVar(CTString("ModExt.txt"), _strModExt);
+ }
+-
++*/
+
+ CPrintF(TRANSV("Loading group files...\n"));
+
+@@ -220,6 +223,17 @@ void InitStreams(void)
+ }
+ delete files;
+
++#ifdef PLATFORM_UNIX
++ // additional search path
++ files = _pFileSystem->FindFiles(_fnmAdditionalDirPath, "*.gro");
++ max = files->Count();
++ for (i = 0; i < max; i++) {
++ UNZIPAddArchive( _fnmAdditionalDirPath + ((*files)[i]) );
++ }
++ UNZIPAddArchive( _fnmApplicationPath + "share/serioussamse/SE1_10b.gro");
++ delete files;
++#endif
++
+ // if there is a mod active
+ if (_fnmMod!="") {
+ // for each group file in mod directory
+@@ -1655,19 +1669,20 @@ INDEX ExpandFilePath(ULONG ulType, const CTFileName &fnmFile, CTFileName &fnmExp
+
+ int _savegame = strncmp((const char *)fnmFile, (const char *) "SaveGame", (size_t) 8 );
+ int _usercontrols = strncmp((const char *)fnmFile, (const char *) "Controls", (size_t) 8 );
+- int _persistentsym = strncmp((const char *)fnmFile, (const char *) "Scripts/PersistentSymbols.ini", (size_t) 29 );
+- int _gamesgms = strncmp((const char *)fnmFile, (const char *) "Data/SeriousSam.gms", (size_t) 19 );
+- int _comsolehistory = strncmp((const char *)fnmFile, (const char *) "Temp/ConsoleHistory.txt", (size_t) 23 );
+- int _userdemos = strncmp((const char *)fnmFile, (const char *) "Demos/Demo", (size_t) 10 );
++ int _persistentsym = strncmp((const char *)fnmFile, (const char *) "Scripts", (size_t) 7 );
++ int _gamesgms = strncmp((const char *)fnmFile, (const char *) "Data", (size_t) 4 );
++ int _comsolehistory = strncmp((const char *)fnmFile, (const char *) "Temp", (size_t) 4 );
++ int _userdemos = strncmp((const char *)fnmFile, (const char *) "Demo", (size_t) 4 );
+ int _playersplr = strncmp((const char *)fnmFile, (const char *) "Players", (size_t) 7 );
+ int _screenshots = strncmp((const char *)fnmFile, (const char *) "ScreenShots", (size_t) 11 );
+ int _levelsvis = strncmp((const char *)fnmFile, (const char *) "Levels", (size_t) 6 );
+-
+- //CPrintF("ExpandFilePath: %s\n",(const char *) fnmFile);
++ int _help = strncmp((const char *)fnmFile, (const char *) "Help", (size_t) 4 );
+
+ if(( _savegame == 0 || _persistentsym == 0 || _gamesgms == 0 ||
+ _comsolehistory == 0 || _userdemos == 0 || _playersplr == 0 || _screenshots == 0) && ( _bPortableVersion == FALSE)) {
+ _fnmApplicationPathTMP = _fnmUserDir;
++ } else if (_help == 0) {
++ _fnmApplicationPathTMP = _fnmAdditionalDirPath;
+ } else {
+ _fnmApplicationPathTMP = _fnmApplicationPath;
+ }
+@@ -1675,6 +1690,8 @@ INDEX ExpandFilePath(ULONG ulType, const CTFileName &fnmFile, CTFileName &fnmExp
+ if( _levelsvis == 0 && _bPortableVersion == FALSE) {
+ if (fnmFileAbsolute.FileExt()==".vis") {
+ _fnmApplicationPathTMP = _fnmUserDir;
++ } else {
++ _fnmApplicationPathTMP = _fnmAdditionalDirPath;
+ }
+ }
+
+diff --git a/SamTSE/Sources/Engine/Base/Stream.h b/SamTSE/Sources/Engine/Base/Stream.h
+index 8ff3de6..1e5aeae 100644
+--- a/SamTSE/Sources/Engine/Base/Stream.h
++++ b/SamTSE/Sources/Engine/Base/Stream.h
+@@ -391,6 +391,10 @@ ENGINE_API void MakeDirList(
+
+ // global string with application path
+ ENGINE_API extern CTFileName _fnmApplicationPath;
++#ifdef PLATFORM_UNIX
++// global string with additional search path
++ENGINE_API extern CTFileName _fnmAdditionalDirPath;
++#endif
+ // global string with user-specific writable directory.
+ ENGINE_API extern CTFileName _fnmUserDir;
+ // global string with current MOD path
+diff --git a/SamTSE/Sources/Engine/Engine.cpp b/SamTSE/Sources/Engine/Engine.cpp
+index e6f7c4f..97baa59 100644
+--- a/SamTSE/Sources/Engine/Engine.cpp
++++ b/SamTSE/Sources/Engine/Engine.cpp
+@@ -110,11 +110,12 @@ static INDEX sys_iHDDMisc = 0;
+
+ // MOD info
+ static CTString sys_strModName = "";
+-static CTString sys_strModExt = "";
++static CTString sys_strModExt = "MP";
+
+ // Path vars
+ static INDEX sys_iGameBits = 0;
+ ENGINE_API INDEX sys_iSysPath = 0;
++ENGINE_API INDEX sys_iGameDataNotFound = 0;
+
+ // Entities Adjesters
+ ENGINE_API FLOAT _fPlayerFOVAdjuster = 1.0f;
+@@ -676,10 +677,12 @@ ENGINE_API void SE_InitEngine(CTString strGameID)
+ _fnmApplicationPath = CTString(strDirPath);
+ _fnmApplicationExe = CTString(strExePath);
+ #ifdef PLATFORM_UNIX
++ //_fnmAdditionalDirPath = "/usr/share/" + strGameID + "/";
+ // rcg01012002 calculate user dir.
+ char buf[MAX_PATH];
+ _pFileSystem->GetUserDirectory(buf, sizeof (buf));
+ _fnmUserDir = CTString(buf);
++ _fnmAdditionalDirPath = _fnmUserDir + "/gamedata/";
+ #endif
+ try {
+ _fnmApplicationExe.RemoveApplicationPath_t();
+@@ -742,147 +745,16 @@ ENGINE_API void SE_InitEngine(CTString strGameID)
+ CPrintF(TRANSV("Running %d-bit version\n"), sys_iGameBits);
+
+ #ifdef PLATFORM_UNIX
+-#if defined(__OpenBSD__) || defined(__FreeBSD__)
+- int _isystempath = strncmp((const char *)strExePath, (const char *) "/usr/local/bin/", (size_t) 15 );
+-#elif defined(__NetBSD__)
+- int _isystempath = strncmp((const char *)strExePath, (const char *) "/usr/pkg/bin/", (size_t) 13 );
+-#else
+- int _isystempath = strncmp((const char *)strExePath, (const char *) "/usr/bin/", (size_t) 9 );
+-#endif
+- if( _isystempath == 0 ) {
+- sys_iSysPath = 1; // using system path
+- } else {
+- sys_iSysPath = 0; // using standarted path
+- }
+-
+- // get library path for mods
+- _fnmModLibPath = "";
+-#if defined(__OpenBSD__) || defined(__FreeBSD__)
+- if( sys_iSysPath == 1 ) {
+- _fnmModLibPath = "/usr/local/lib/" + strGameID + "/";
+-#elif defined(__NetBSD__)
+- if( sys_iSysPath == 1 ) {
+- _fnmModLibPath = "/usr/pkg/lib/" + strGameID + "/";
+-#else
+- if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib/aarch64-linux-gnu/" + strGameID)) {
+- _fnmModLibPath = "/usr/lib/aarch64-linux-gnu/" + strGameID + "/";
+- } else if( sys_iSysPath == 1 && sys_iGameBits == 32 && _pFileSystem->IsDirectory((const char *) "/usr/lib/arm-linux-gnueabihf/" + strGameID)) {
+- _fnmModLibPath = "/usr/lib/arm-linux-gnueabihf/" + strGameID + "/";
+- } else if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib/riscv64-linux-gnu/" + strGameID)) {
+- _fnmModLibPath = "/usr/lib/riscv64-linux-gnu/" + strGameID + "/";
+- } else if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib/s390x-linux-gnu/" + strGameID)) {
+- _fnmModLibPath = "/usr/lib/s390x-linux-gnu/" + strGameID + "/";
+- } else if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib/powerpc64-linux-gnu/" + strGameID)) {
+- _fnmModLibPath = "/usr/lib/powerpc64-linux-gnu/" + strGameID + "/";
+- } else if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib/x86_64-linux-gnu/" + strGameID)) {
+- _fnmModLibPath = "/usr/lib/x86_64-linux-gnu/" + strGameID + "/";
+- } else if( sys_iSysPath == 1 && sys_iGameBits == 32 && _pFileSystem->IsDirectory((const char *) "/usr/lib/i386-linux-gnu/" + strGameID)) {
+- _fnmModLibPath = "/usr/lib/i386-linux-gnu/" + strGameID + "/";
+- } else if( sys_iSysPath == 1 && sys_iGameBits == 64 && _pFileSystem->IsDirectory((const char *) "/usr/lib64/" + strGameID)) {
+- _fnmModLibPath = "/usr/lib64/" + strGameID + "/";
+- } else if( sys_iSysPath == 1 && sys_iGameBits == 32 && _pFileSystem->IsDirectory((const char *) "/usr/lib//" + strGameID)) {
+- _fnmModLibPath = "/usr/lib/" + strGameID + "/";
+-#endif
+- } else if( sys_iSysPath == 0 ) {
+- _fnmModLibPath = _fnmApplicationPath;
+- } else {
+- CPrintF(TRANSV("ERROR: Game libraries not ound!\n"));
+- FatalError(TRANSV("Failed to search game libraries installed!\nPlease reinstall the game.\nSee the log for more details.\nGame log is here: ~/.local/share/Serious-Engine/%s/SeriousSam.log"),(const char *) strGameID);
+- }
+-
+- if( sys_iSysPath == 1 ) { // search game data
+- CTFileName _fnm_usr_TestFile, _fnm_local_TestFile, _fnm_home_TestFile;
+- CTString _fnmUserDataPath, _fnm_TestFile;
+- int _fd;
+-
+- if( access((const char *) _fnmUserDir+_strLogFile+".cfg", F_OK) == 0 ) {
+- _fd = open((const char *) _fnmUserDir+_strLogFile+".cfg", O_RDONLY,S_IRUSR);
+- size_t x = read(_fd, _path, 2048);
+- _fnmUserDataPath = (CTString)_path + "/";
+- close(_fd);
+- CPrintF(TRANSV("Testing home path: %s\n"), (const char *) _fnmUserDataPath);
+- } else {
+- _fnmUserDataPath = "";
+- }
+-
+- // set testing files
+- if( strGameID == "serioussamse") {
+- _fnm_TestFile = "SE1_00_Levels.gro";
+- } else {
+- _fnm_TestFile = "1_00_music.gro";
+- }
+- CPrintF(TRANSV("Testing file: %s\n"), (const char *) _fnm_TestFile);
+-#if defined(__OpenBSD__) || defined(__FreeBSD__)
+- _fnm_usr_TestFile = "/usr/local/share/" + strGameID + "/" + _fnm_TestFile; // data in usr
+-#elif defined(__NetBSD__)
+- _fnm_usr_TestFile = "/usr/pkg/share/" + strGameID + "/" + _fnm_TestFile; // data in usr
+-#else
+- _fnm_usr_TestFile = "/usr/share/" + strGameID + "/" + _fnm_TestFile; // data in usr
+-#endif
+- _fnm_local_TestFile = _fnmUserDir + _fnm_TestFile; // data in home .local
+- _fnm_home_TestFile = (const char *)_fnmUserDataPath + _fnm_TestFile;
+- // test
+- if( access((const char *) _fnm_home_TestFile, F_OK) != 0 ) {
+- CPrintF(TRANSV("Testing system path: %s\n"), (const char *) _fnm_usr_TestFile);
+- CPrintF(TRANSV("Testing local path: %s\n"), (const char *) _fnm_local_TestFile);
+- if( access((const char *) _fnm_usr_TestFile, F_OK) == 0 ) {
+-#if defined(__OpenBSD__) || defined(__FreeBSD__)
+- _fnmApplicationPath = "/usr/local/share/" + strGameID + "/"; // all game data
+-#elif defined(__NetBSD__)
+- _fnmApplicationPath = "/usr/pkg/share/" + strGameID + "/"; // all game data
+-#else
+- _fnmApplicationPath = "/usr/share/" + strGameID + "/"; // all game data
+-#endif
+- CPrintF(TRANSV("Found usr path: %s\n"), (const char *) _fnmUserDataPath);
+- } else if( access((const char *) _fnm_local_TestFile, F_OK) == 0 ) {
+- _fnmApplicationPath = _fnmUserDir; // all game data
+- CPrintF(TRANSV("Found local path: %s\n"), (const char *) _fnmUserDataPath);
+- } else {
+- // search in home dir
+- // BOOL YesNoMessage(const char *strFormat, ...)
+-#if defined(__OpenBSD__) || defined(__FreeBSD__)
+- InfoMessage(TRANS("No game files were found in /usr/local/share/%s/\n or %s\nThe home directory will be searched."),(const char *) strGameID,(const char *) _fnmUserDir);
+-#elif defined(__NetBSD__)
+- InfoMessage(TRANS("No game files were found in /usr/pkg/share/%s/\n or %s\nThe home directory will be searched."),(const char *) strGameID,(const char *) _fnmUserDir);
+-#else
+- InfoMessage(TRANS("No game files were found in /usr/share/%s/\n or %s\nThe home directory will be searched."),(const char *) strGameID,(const char *) _fnmUserDir);
+-#endif
+- struct passwd *pw = getpwuid(getuid());
+- const char *_homedir = pw->pw_dir;
+- _testfiledone = 0;
+- _list_dir(_homedir, 0, strGameID);
+- CTString _PATH;
+- _PATH = (CTString)_path;
+- _fnmApplicationPath = (CTFileName) _PATH + "/";
+- _fnm_home_TestFile = (CTFileName) _PATH + "/" + _fnm_TestFile;
+- if( access((const char *) _fnm_home_TestFile, F_OK) == 0 ) {
+- //_fnmApplicationPath = (CTFileName) _PATH + "/";
+- CPrintF(TRANSV("Found home path: %s\n"), (const char *) _fnm_home_TestFile);
+- _fd = open((const char *) _fnmUserDir+_strLogFile+".cfg", O_CREAT | O_WRONLY, S_IRUSR | S_IWUSR);
+- size_t x = write(_fd, _path, 2048);
+- close(_fd);
+- } else {
+- CPrintF(TRANSV("ERROR: Game data not ound!\n"));
+- _fnmUserDataPath = "";
+-#if defined(__OpenBSD__) || defined(__FreeBSD__)
+- FatalError(TRANSV("Failed to search game data!\nPlease put the game data in the paths:\n/usr/local/share/%s/\n or %s\n or somewhere in your home directory\nSee the log for more details.\nGame log is here: ~/.local/share/Serious-Engine/%s/SeriousSam.log"),(const char *) strGameID,(const char *) _fnmUserDir,(const char *) strGameID);
+-#elif defined(__NetBSD__)
+- FatalError(TRANSV("Failed to search game data!\nPlease put the game data in the paths:\n/usr/pkg/share/%s/\n or %s\n or somewhere in your home directory\nSee the log for more details.\nGame log is here: ~/.local/share/Serious-Engine/%s/SeriousSam.log"),(const char *) strGameID,(const char *) _fnmUserDir,(const char *) strGameID);
+-#else
+- FatalError(TRANSV("Failed to search game data!\nPlease put the game data in the paths:\n/usr/share/%s/\n or %s\n or somewhere in your home directory\nSee the log for more details.\nGame log is here: ~/.local/share/Serious-Engine/%s/SeriousSam.log"),(const char *) strGameID,(const char *) _fnmUserDir,(const char *) strGameID);
+-#endif
+- }
+- }
+- } else {
+- CPrintF(TRANSV("Found path: %s\n"), (const char *) _fnmUserDataPath);
+- _fnmApplicationPath = _fnmUserDataPath; // all game data
+- }
+- }
+
++ // using system path
++ sys_iSysPath = 1;
++ // library path for mods
++ _fnmModLibPath = _fnmApplicationPath + "lib/" + strGameID + "/";
+ // print info on the started application
+ CPrintF(TRANSV("Executable: %s\n"), (const char *) strExePath);
+ CPrintF(TRANSV("Assumed engine data directory: %s\n"), (const char *) _fnmApplicationPath);
+ CPrintF(TRANSV("Assumed mods library directory: %s\n"), (const char *) _fnmModLibPath);
++ CPrintF(TRANSV("Assumed additional data directory: %s\n"), (const char *) _fnmAdditionalDirPath);
+ #endif
+
+ CPrintF("\n");
+@@ -969,7 +841,7 @@ ENGINE_API void SE_InitEngine(CTString strGameID)
+ InitStreams();
+ // keep mod name in sys cvar
+ sys_strModName = _strModName;
+- sys_strModExt = _strModExt;
++ sys_strModExt = "MP";
+
+ // checking of crc
+ #if 0
+diff --git a/SamTSE/Sources/Engine/Engine.h b/SamTSE/Sources/Engine/Engine.h
+index 8307f70..6ba88a4 100644
+--- a/SamTSE/Sources/Engine/Engine.h
++++ b/SamTSE/Sources/Engine/Engine.h
+@@ -207,6 +207,7 @@ extern ENGINE_API BOOL _bWorldEditorApp; // is this world edtior app
+ extern ENGINE_API CTString _strLogFile;
+ extern ENGINE_API CTFileName _fnmModLibPath;
+ extern ENGINE_API INDEX sys_iSysPath;
++extern ENGINE_API INDEX sys_iGameDataNotFound;
+ #ifdef PLATFORM_WIN32
+ //
+ extern ENGINE_API FLOAT _fPlayerFOVAdjuster;
diff --git a/gnu/packages/patches/sourcetrail-fix-cmakelists-and-paths.patch b/gnu/packages/patches/sourcetrail-fix-cmakelists-and-paths.patch
new file mode 100644
index 0000000000..15c813b81a
--- /dev/null
+++ b/gnu/packages/patches/sourcetrail-fix-cmakelists-and-paths.patch
@@ -0,0 +1,101 @@
+Get rid of `clang-tidy.cmake` as it is not present in cmake installation.
+Change SQLite3's `find_package` to `REQUIRED` as the `sqlite3` package does not provide a .cmake file, so we fall back to cmake's included definition.
+We change the install directory to the store output rather than /usr. `@OUTPUT_DIR@` is substituted to the store path in an added phase.
+For the /data and /user directories, we move them to /share/sourcetrail rather than leaving them in the /bin directory.
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b8b91d9c..d5dbdfa2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -69,7 +69,6 @@ include(cmake/create_symlink.cmake)
+ include(cmake/add_sourcetrail_library.cmake)
+ include(cmake/add_sourcetrail_interface.cmake)
+ include(cmake/add_sourcetrail_test.cmake)
+-include(cmake/clang-tidy.cmake)
+ include(cmake/cppcheck.cmake)
+ include(cmake/coverage.cmake)
+ #---------------------------------------------------------------------------------------------------------------------------------
+@@ -142,12 +141,9 @@ find_package(expected-lite REQUIRED)
+ find_package(fmt CONFIG REQUIRED)
+ find_package(range-v3 CONFIG REQUIRED)
+ find_package(spdlog CONFIG REQUIRED)
+-find_package(SQLite3 CONFIG REQUIRED)
++find_package(SQLite3 REQUIRED)
+ # Boost --------------------------------------------------------------------------------------------------------------------------
+ set(Boost_USE_MULTITHREAD ON)
+-set(Boost_USE_STATIC_LIBS
+- ON
+- CACHE BOOL "Set to ON to force the use of the static libraries.")
+ set(Boost_USE_STATIC_RUNTIME OFF)
+ find_package(
+ Boost 1.83
+@@ -384,14 +380,14 @@ execute_process(COMMAND "${CMAKE_COMMAND}" "-E" "make_directory" "${CMAKE_BINARY
+ create_symlink("${CMAKE_SOURCE_DIR}/bin/app/data" "${CMAKE_BINARY_DIR}/app/data")
+ create_symlink("${CMAKE_SOURCE_DIR}/bin/app/user" "${CMAKE_BINARY_DIR}/app/user")
+ # Install Executables ------------------------------------------------------------------------------------------------------------
+-set(APPIMAGE_ROOT "usr")
++set(APPIMAGE_ROOT "@OUTPUT_DIR@")
+ set(INSTALL_RUNTIME_DIR "${APPIMAGE_ROOT}/bin")
+
+ install(TARGETS Sourcetrail Sourcetrail_indexer RUNTIME DESTINATION ${INSTALL_RUNTIME_DIR})
+
+-install(DIRECTORY ${CMAKE_SOURCE_DIR}/bin/app/data/ DESTINATION ${INSTALL_RUNTIME_DIR}/data/)
++install(DIRECTORY ${CMAKE_SOURCE_DIR}/bin/app/data/ DESTINATION ${APPIMAGE_ROOT}/share/sourcetrail/data/)
+
+-install(DIRECTORY ${CMAKE_SOURCE_DIR}/bin/app/user/ DESTINATION ${INSTALL_RUNTIME_DIR}/user/)
++install(DIRECTORY ${CMAKE_SOURCE_DIR}/bin/app/user/ DESTINATION ${APPIMAGE_ROOT}/share/sourcetrail/user/)
+
+ # Install desktop file for application
+ install(FILES "${CMAKE_SOURCE_DIR}/cmake/Sourcetrail.desktop" DESTINATION "${APPIMAGE_ROOT}/share/applications")
+
+We remove the sample projects from the default `ApplicationSettings.xml` as they do not function properly, requiring their installed directory to be mutable,
+which is not possible in the store. They are installed in the `projects` package output.
+
+Submodule bin contains modified content
+diff --git a/bin/app/data/fallback/ApplicationSettings.xml b/bin/app/data/fallback/ApplicationSettings.xml
+index c1d3a78..33cf7d4 100644
+--- a/bin/app/data/fallback/ApplicationSettings.xml
++++ b/bin/app/data/fallback/ApplicationSettings.xml
+@@ -9,10 +9,6 @@
+ </indexing>
+ <user>
+ <recent_projects>
+- <recent_project>./projects/tutorial/tutorial.srctrlprj</recent_project>
+- <recent_project>./projects/tictactoe_cpp/tictactoe_cpp.srctrlprj</recent_project>
+- <recent_project>./projects/tictactoe_py/tictactoe_py.srctrlprj</recent_project>
+- <recent_project>./projects/javaparser/javaparser.srctrlprj</recent_project>
+ </recent_projects>
+ </user>
+ <version>8</version>
+diff --git a/bin/app/user/ApplicationSettings.xml b/bin/app/user/ApplicationSettings.xml
+index 7081ab0..755281f 100755
+--- a/bin/app/user/ApplicationSettings.xml
++++ b/bin/app/user/ApplicationSettings.xml
+@@ -22,10 +22,6 @@
+ </indexing>
+ <user>
+ <recent_projects>
+- <recent_project>C:/Hard/SourceCode/Sourcetrail/build/x64-Debug/Debug/app/user/./projects/tutorial/tutorial.srctrlprj</recent_project>
+- <recent_project>C:/Hard/SourceCode/Sourcetrail/build/x64-Debug/Debug/app/user/./projects/tictactoe_cpp/tictactoe_cpp.srctrlprj</recent_project>
+- <recent_project>C:/Hard/SourceCode/Sourcetrail/build/x64-Debug/Debug/app/user/./projects/tictactoe_py/tictactoe_py.srctrlprj</recent_project>
+- <recent_project>C:/Hard/SourceCode/Sourcetrail/build/x64-Debug/Debug/app/user/./projects/javaparser/javaparser.srctrlprj</recent_project>
+ </recent_projects>
+ </user>
+ <version>8</version>
+
+Set paths to /share/sourcetrail.
+
+diff --git a/src/lib_gui/platform_includes/includesLinux.h b/src/lib_gui/platform_includes/includesLinux.h
+index 79e8be7f..5dadcca5 100644
+--- a/src/lib_gui/platform_includes/includesLinux.h
++++ b/src/lib_gui/platform_includes/includesLinux.h
+@@ -43,6 +43,6 @@ inline void setupApp([[maybe_unused]] int argc, [[maybe_unused]] char* argv[]) {
+ AppPath::setCxxIndexerDirectoryPath(appPath);
+
+ // Check if bundled as Linux AppImage
+- if(appPath.getConcatenated(L"/../share/data").exists()) {
+- AppPath::setSharedDataDirectoryPath(appPath.getConcatenated(L"/../share").getAbsolute());
++ if(appPath.getConcatenated(L"/../share/sourcetrail/data").exists()) {
++ AppPath::setSharedDataDirectoryPath(appPath.getConcatenated(L"/../share/sourcetrail").getAbsolute());
+ }
+
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 58260fcf01..4c18dad6ed 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -841,6 +841,7 @@ interaction.")
zlib))
(arguments
(list
+ #:tests? #f
#:configure-flags
#~(list "-DPODOFO_BUILD_SHARED=ON")
#:phases
@@ -886,6 +887,8 @@ extracting content or merging files.")
lua-5.1
openssl
zlib))
+ (arguments
+ (list #:tests? #f))
(home-page "https://github.com/podofo/podofo")
(synopsis "Tools to work with the PDF file format")
(description
@@ -1063,13 +1066,18 @@ program capable of converting PDF into other formats.")
qtsvg-5))
(arguments
(list #:tests? #f ; no tests
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda _
(substitute* "qpdfview.pri"
(("/usr") #$output))
- (invoke "qmake" "qpdfview.pro"))))))
+ (invoke "qmake" "qpdfview.pro")))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'install (assoc-ref gnu:%standard-phases 'install)))))
(home-page "https://launchpad.net/qpdfview")
(synopsis "Tabbed document viewer")
(description "@command{qpdfview} is a document viewer for PDF, PS and DJVU
@@ -1850,9 +1858,12 @@ Keywords: html2pdf, htmltopdf")
(build-system cmake-build-system)
(arguments
(list
+ #:tests? #f ; no tests
#:configure-flags
#~(list (string-append "PREFIX=" #$output))
- #:test-target "check"
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
@@ -1865,7 +1876,9 @@ Keywords: html2pdf, htmltopdf")
(replace 'configure
(lambda* (#:key configure-flags #:allow-other-keys)
(apply invoke "qmake" configure-flags)))
- (add-after 'install 'instal-man-page
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'install (assoc-ref gnu:%standard-phases 'install))
+ (add-after 'install 'install-man-page
(lambda _
(install-file "resources/sioyek.1"
(string-append #$output "/share/man/man1")))))))
diff --git a/gnu/packages/perl-maths.scm b/gnu/packages/perl-maths.scm
index 71e1e819c1..5acf2e2fef 100644
--- a/gnu/packages/perl-maths.scm
+++ b/gnu/packages/perl-maths.scm
@@ -125,7 +125,10 @@ using a list of (X, Y) pairs.")
(search-patches "pdl-2.019-glut-bitmap-fonts.patch"))))
(build-system perl-build-system)
(arguments
- `(#:phases
+ `(#:make-maker-flags
+ ;; This is required because of "gsl_set_error_handler_off".
+ `("OPTIMIZE=-O2 -Wno-error=implicit-function-declaration")
+ #:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-includes
(lambda* (#:key inputs #:allow-other-keys)
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index 3b671455bd..33990bc2eb 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -355,7 +355,7 @@ and a wide variety of other metadata.")
(define-public libpano13
(package
(name "libpano13")
- (version "2.9.21")
+ (version "2.9.22")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/panotools/libpano13/"
@@ -364,7 +364,7 @@ and a wide variety of other metadata.")
"/libpano13-" version ".tar.gz"))
(sha256
(base32
- "141mccp4klj0qdpvki97q5wjf5a1b7pj09s6c4lmwc4r452s3rbr"))))
+ "1qx8822cd81vpxnrqq6lzzcsdk9axa6vzp1i4y6w4wdyrlq6iz5g"))))
(build-system cmake-build-system)
(native-inputs
(list perl)) ; for pod2man
@@ -559,7 +559,6 @@ photographic equipment.")
(list
#:configure-flags
#~(list "-DBINARY_PACKAGE_BUILD=On"
- "-DBUILD_TESTING=On"
"-DDONT_USE_INTERNAL_LIBRAW=On")
#:phases
#~(modify-phases %standard-phases
@@ -678,7 +677,9 @@ and enhance them.")
(arguments
(list
#:tests? #f ;Tests are only examples
- #:configure-flags #~(list "-DUSE_BUNDLED_LIBRAW=OFF")
+ #:configure-flags
+ #~(list "-DUSE_BUNDLED_LIBRAW=OFF"
+ "-DBINARY_PACKAGE_BUILD=ON")
#:build-type "Release")) ;Rawspeed fails on default 'RelWithDebInfo'
(native-inputs
(list cmocka
@@ -818,7 +819,7 @@ such as Batch image processing.")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
`("GUIX_PYTHONPATH" ":" prefix (,python-path)))))))))
(native-inputs
- (list cmake
+ (list cmake-minimal
gettext-minimal
`(,glib "bin")
gobject-introspection
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index 5276f96fea..67c3c93410 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -90,7 +90,7 @@
automake
bison
boost
- cmake
+ cmake-minimal
emacs-minimal
flex
ghostscript ;for tests
diff --git a/gnu/packages/popt.scm b/gnu/packages/popt.scm
index 8fa6ddb588..5ed1be87e5 100644
--- a/gnu/packages/popt.scm
+++ b/gnu/packages/popt.scm
@@ -135,8 +135,7 @@ similar to getopt(3), it contains a number of enhancements, including:
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
- '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"
- "-DBUILD_TESTING=ON")))
+ '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
(home-page "https://gflags.github.io/gflags/")
(synopsis "C++ library for command-line argument parsing")
(description
diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm
index 9c6f42bdec..08120663f6 100644
--- a/gnu/packages/potassco.scm
+++ b/gnu/packages/potassco.scm
@@ -170,6 +170,7 @@ satisfiability checking (SAT).")
(build-system cmake-build-system)
(arguments
(list
+ #:tests? #f
#:configure-flags #~`("-DCLINGO_BUILD_TESTS=on"
"-DCLINGO_INSTALL_LIB=on"
"-DCLINGO_BUILD_STATIC=off"
@@ -295,7 +296,8 @@ and goals over linear (in)equations.")
"0050qp5gpznigpm743br8yhjg62gl739xmzkfr70hlqm1xrj0sa7"))))
(build-system cmake-build-system)
(arguments
- (list #:phases
+ (list #:tests? #f
+ #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-cmake
(lambda _
diff --git a/gnu/packages/prolog.scm b/gnu/packages/prolog.scm
index a3eb898bd6..cf6700543c 100644
--- a/gnu/packages/prolog.scm
+++ b/gnu/packages/prolog.scm
@@ -185,7 +185,7 @@ it.")
(define-public trealla
(package
(name "trealla")
- (version "2.78.40")
+ (version "2.79.22")
(source
(origin
(method git-fetch)
@@ -194,7 +194,7 @@ it.")
(url "https://github.com/trealla-prolog/trealla")
(commit (string-append "v" version))))
(sha256
- (base32 "154lsr10r552bzal2krm36lqlil017wzr27nnr0x96vs0hnjd721"))
+ (base32 "1fhk9lsj71a3l5j0dvn2qjmj85r2ixianjqlf5j5s4d7h08amm2y"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index c7a9d315b1..66320312f7 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -3362,6 +3362,35 @@ friendly library for concurrency and async I/O in Python.")
;; Either license applies.
(license (list license:expat license:asl2.0))))
+(define-public python-pytest-twisted
+ (package
+ (name "python-pytest-twisted")
+ (version "1.14.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest_twisted" version))
+ (sha256
+ (base32 "0gkz7ybdj45v4mmfyyryx6lz75hizi23zi9n5mcsdnqfpk5m1q9p"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-k" (string-append
+ ;; AssertionError
+ "not test_sigint_for_regular_tests"
+ ;; TimeoutExpired
+ " and not test_sigint_for_inline_callbacks_tests"))))
+ (propagated-inputs (list python-decorator python-greenlet))
+ (native-inputs (list python-pytest
+ python-setuptools
+ python-twisted
+ python-wheel))
+ (home-page "https://github.com/pytest-dev/pytest-twisted")
+ (synopsis "Twisted plugin for Pytest")
+ (description "This package provides a Twisted plugin for Pytest.")
+ (license license:bsd-3)))
+
(define-public python-pytest-vcr
;; This commit fixes integration with pytest-5
(let ((commit "4d6c7b3e379a6a7cba0b8f9d20b704dc976e9f05")
@@ -3661,26 +3690,23 @@ possibly work.")
(define-public python-stestr
(package
(name "python-stestr")
- ;; XXX: The latest version needs flit-core=>3.12.
- (version "4.1.0")
+ (version "4.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "stestr" version))
(sha256
- (base32 "12p96kzanzzssr6z4hq6k62pdbsql4mf369ms69c4qyfxrlw6qaz"))))
+ (base32 "17623fqkg3a0z7rx8jcxwvgx6afg6wzvj4q6cgip5hqw5ngn7v25"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
- ;; Two tets fail.
- #~(list "--exclude-regex" (string-join
- (list "test_initialise_expands_user_directory"
- "test_open_expands_user_directory")
- "|"))
+ #~(list "--test-path" "stestr/tests")
#:phases
#~(modify-phases %standard-phases
- ;; TODO: Implement in pypproject-build-system's test-backends.
+ (add-before 'check 'configure-check
+ (lambda _
+ (setenv "HOME" (getcwd))))
(replace 'check
(lambda* (#:key tests? test-flags #:allow-other-keys)
(when tests?
@@ -3689,10 +3715,10 @@ possibly work.")
(native-inputs
(list python-ddt
python-iso8601
- python-setuptools
- python-wheel))
+ python-flit-core-next ;requires >=3.12
+ python-setuptools))
(propagated-inputs
- (list python-cliff
+ (list python-cliff-bootstrap
python-fixtures
python-pyyaml
python-subunit
diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm
index 683afae035..4361c0b65e 100644
--- a/gnu/packages/python-compression.scm
+++ b/gnu/packages/python-compression.scm
@@ -835,8 +835,7 @@ wrapper. It provides a backport of the @code{Path} object.")
(lambda _
(setenv "LIBDEFLATE_PREFIX"
#$(this-package-input "libdeflate")))))))
- ;; CMake >= 3.26 required.
- (native-inputs (list cmake-next python-pytest python-scikit-build-core))
+ (native-inputs (list cmake-minimal python-pytest python-scikit-build-core))
(inputs (list libdeflate))
(home-page "https://github.com/dcwatson/deflate")
(synopsis "Python wrapper for @code{libdeflate}")
diff --git a/gnu/packages/python-graphics.scm b/gnu/packages/python-graphics.scm
index 3d03ce93c3..a4b83c3ea8 100644
--- a/gnu/packages/python-graphics.scm
+++ b/gnu/packages/python-graphics.scm
@@ -375,7 +375,7 @@ Design spec without sacrificing ease of use or application performance.")
(("\\$\\{SoQt_INCLUDE_DIRS}")
"${Coin_INCLUDE_DIR};${SoQt_INCLUDE_DIRS}")))))))
(native-inputs
- (list cmake swig))
+ (list cmake-minimal swig))
(inputs
(list python-wrapper
qtbase-5
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index dbbd44db70..b71f693538 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -2424,6 +2424,73 @@ or as a TikZ file for use in LaTeX documents;
factorization routine for quasi-definite linear system.")
(license license:asl2.0)))
+(define-public python-qutip
+ (package
+ (name "python-qutip")
+ (version "5.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "qutip" version))
+ (sha256
+ (base32 "0yjv04q68jqh769shlsm31zzg2v23r64rbzs8gawpj12pip1h9cp"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ (use-modules (ice-9 string-fun))
+ ;; Delete cythonized files. Not all cpp files are generated
+ ;; by Cython, delete only those with accompanying Cython
+ ;; file extensions (.pyx, .pxd).
+ (for-each (lambda (file)
+ (when (or-map
+ (lambda (cython-ext)
+ (file-exists? (string-replace-substring
+ file ".cpp" cython-ext)))
+ (list ".pyx" ".pxd"))
+ (delete-file file)))
+ (find-files "." ".cpp"))))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-m" "not flaky and not slow" ;; Ignore flaky and slow tests.
+ ;; All tests below fail with:
+ ;; _flapack.error: (lrwork>=max(24*n,1)||lrwork==-1) failed for
+ ;; 10th keyword lrwork: zheevr:lrwork=1
+ "-k" (string-append
+ "not " (string-join
+ (list "test_dicke_function_trace"
+ "test_create"
+ "test_terminator"
+ "test_krylov"
+ "test_krylovsolve")
+ " and not ")))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ ;; Run tests in the output to avoid 'partially imported' errors.
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion #$output
+ (apply invoke "pytest" "-vv" test-flags))))))))
+ (propagated-inputs (list python-numpy python-packaging python-scipy))
+ (native-inputs (list python-cython-3
+ python-numpy
+ python-packaging
+ python-pytest
+ python-scipy
+ python-setuptools
+ python-wheel))
+ (home-page "https://qutip.org")
+ (synopsis "Quantum Toolbox in Python")
+ (description
+ "QuTiP is a library for simulating the dynamics of closed and open quantum
+systems. It aims to provide numerical simulations of a wide variety of quantum
+mechanical problems, including those with Hamiltonians and/or collapse operators
+with arbitrary time-dependence, commonly found in a wide range of physics
+applications.")
+ (license license:bsd-3)))
+
(define-public python-ruffus
(package
(name "python-ruffus")
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 3ecfe87760..2cbc1bb167 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -600,14 +600,14 @@ Dropbox API v2.")
(define-public python-eventlet
(package
(name "python-eventlet")
- (version "0.39.1")
+ (version "0.40.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "eventlet" version))
(sha256
(base32
- "04051hmlq49kvdymf56hp08vjc6251937fh6vvnj2h1d51sn92ja"))))
+ "1c6qr1cnam79wxm1sh5y04061iyy3shs02yd0mlh47bngwknqqs2"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -623,22 +623,24 @@ Dropbox API v2.")
" and not test_patcher_existing_locks"
" and not test_dns_methods_are_green"))
#:phases
- '(modify-phases %standard-phases
- (add-after 'unpack 'avoid-OSError
- (lambda _
- ;; If eventlet tries to load greendns, an OSError is thrown when
- ;; getprotobyname is called. Thankfully there is an environment
- ;; variable to disable the greendns import, so use it:
- (setenv "EVENTLET_NO_GREENDNS" "yes"))))))
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'avoid-OSError
+ (lambda _
+ ;; If eventlet tries to load greendns, an OSError is thrown when
+ ;; getprotobyname is called. Thankfully there is an environment
+ ;; variable to disable the greendns import, so use it. Note that
+ ;; this error is propagated to child packages too, so enforce the
+ ;; changed default.
+ (substitute* "eventlet/green/socket.py"
+ (("os\\.environ\\.get\\(\"EVENTLET_NO_GREENDNS\", ''\\)")
+ "os.environ.get(\"EVENTLET_NO_GREENDNS\", \"yes\")")))))))
(native-inputs
- (list python-hatch-vcs
+ (list python-pypa-build
+ python-hatch-vcs
python-hatchling
- python-pytest
- python-twine))
+ python-pytest))
(propagated-inputs
- (list python-dnspython
- python-greenlet
- python-monotonic))
+ (list python-dnspython python-greenlet))
(home-page "https://eventlet.net")
(synopsis "Concurrent networking library for Python")
(description
@@ -648,7 +650,40 @@ It uses @code{epoll} or @code{libevent} for highly scalable non-blocking I/O.
Coroutines ensure that the developer uses a blocking style of programming
that is similar to threading, but provide the benefits of non-blocking I/O.
The event dispatch is implicit, which means you can easily use @code{Eventlet}
-from the Python interpreter, or as a small part of a larger application.")
+from the Python interpreter, or as a small part of a larger application.
+
+Note: In Guix, this package assumes the environment variable
+@code{EVENTLET_NO_GREENDNS} defaults to @code{yes}. To try to use it, set it
+to anything else.")
+ (license license:expat)))
+
+(define-public python-gdown
+ (package
+ (name "python-gdown")
+ (version "5.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "gdown" version))
+ (sha256
+ (base32 "11y7xx6zjipx15a5626lhiwmwb2jxp4mdcwqrnij0mfqc981ci91"))))
+ (build-system pyproject-build-system)
+ (arguments (list #:tests? #f)) ;network access is required
+ (native-inputs
+ (list python-hatch-fancy-pypi-readme
+ python-hatch-vcs
+ python-hatchling))
+ (propagated-inputs
+ (list python-beautifulsoup4
+ python-filelock
+ python-requests
+ python-tqdm))
+ (home-page "https://github.com/wkentaro/gdown")
+ (synopsis "Google Drive Public File/Folder Downloader")
+ (description
+ "This package implements a functionality to download large files
+recursivly from Google Drive with option to filter them by file
+formats (PDF/XML/CSV).")
(license license:expat)))
(define-public python-globus-sdk
@@ -781,12 +816,7 @@ of a fake DNS resolver.")
"test_request_parse_querystring"
"test_request_string_representation"
"test_request_stubs_internals")
- " and not "))
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'check 'pre-check
- (lambda _
- (setenv"EVENTLET_NO_GREENDNS" "yes"))))))
+ " and not "))))
(native-inputs
(list nss-certs-for-test
python-freezegun
@@ -7618,22 +7648,40 @@ high level API for making HTTP requests when using Twisted.")
(define-public python-autobahn
(package
(name "python-autobahn")
- (version "19.2.1")
+ (version "24.4.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "autobahn" version))
(sha256
(base32
- "1mm7j24ls01c7jb1ad5p5cpyxvzgydiyf8b04ihykh2v8g98j0x7"))))
- (build-system python-build-system)
+ "1jcjxr16cy93v2kjwpvrcmg7cjbp5kyhbcpq25nhny6gn3qixmx2"))))
+ (build-system pyproject-build-system)
(arguments
+ (list
;; The tests fail to run:
;; https://github.com/crossbario/autobahn-python/issues/1117
- `(#:tests? #f))
- (propagated-inputs
- (list python-cffi python-twisted python-txaio))
- (home-page "https://crossbar.io/autobahn/")
+ #:tests? #f
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-zope-interface
+ (lambda _
+ ;; python-zope-interface is a world rebuild package
+ ;; and our one-digit lower minor version seems to be
+ ;; fine.
+ (substitute* "setup.py"
+ (("zope.interface>=5.2.0")
+ "zope.interface>=5.1.0"))))
+ (add-after 'unpack 'strip-xbr
+ (lambda _
+ ;; Strip new XBR feature which isn't available in Guix.
+ (setenv "AUTOBAHN_STRIP_XBR" "1"))))))
+ (native-inputs (list python-setuptools python-wheel))
+ (propagated-inputs (list python-cffi
+ python-cryptography
+ python-hyperlink
+ python-twisted
+ python-txaio))
+ (home-page "https://github.com/crossbario/autobahn-python/")
(synopsis "Web Application Messaging Protocol implementation")
(description "This package provides an implementation of the @dfn{Web Application
Messaging Protocol} (WAMP). WAMP connects components in distributed
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6b7b3c9c01..e24cd2288f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -52,7 +52,7 @@
;;; Copyright © 2018-2025 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018, 2019, 2021, 2023 Clément Lassieur <clement@lassieur.org>
-;;; Copyright © 2018-2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2018-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com>
;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
;;; Copyright © 2015, 2018 Pjotr Prins <pjotr.guix@thebird.nl>
@@ -165,6 +165,7 @@
;;; Copyright © 2025 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2025, Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2025 Jake Forster <jakecameron.forster@gmail.com>
+;;; Copyright © 2025 Luis Felipe López Acevedo <sirgazil@zoho.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -299,6 +300,7 @@
#:use-module (guix packages)
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
@@ -457,7 +459,7 @@ compare against a vast section of other version formats.")
(("^minimum-version =.*") "")))))))
(propagated-inputs (list python-numpy))
(native-inputs
- (list cmake pybind11 python-pytest python-scikit-build-core))
+ (list cmake-minimal pybind11 python-pytest python-scikit-build-core))
(home-page "https://github.com/scikit-hep/awkward-1.0")
(synopsis "CPU kernels and compiled extensions for Awkward Array")
(description "Awkward CPP provides precompiled routines for the awkward
@@ -553,6 +555,34 @@ line drawing algorithm}.")
understanding ECMA script.")
(license license:expat)))
+(define-public python-copydetect
+ (package
+ (name "python-copydetect")
+ (version "0.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/blingenf/copydetect")
+ (commit version)))
+ (sha256
+ (base32 "0hp9994bbnzp79xxprgwsbgc0w06sb4n82nghl90w1z9zbvwn6gz"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-jinja2
+ python-matplotlib
+ python-numpy
+ python-pygments
+ python-tqdm))
+ (native-inputs (list python-setuptools
+ python-pytest
+ python-wheel))
+ (home-page "https://github.com/blingenf/copydetect")
+ (synopsis "Code plagiarism detection tool")
+ (description "Copydetect is a tool to detect likely instances of plagiarism
+based on the winnowing algorithm. It takes a list of directories as input and
+generates an HTML report displaying copied slices as output.")
+ (license license:expat)))
+
(define-public python-couleur
(package
(name "python-couleur")
@@ -1124,6 +1154,59 @@ not require any changes to the original source code, such as marking strings
for translation.")
(license license:expat)))
+(define-public python-vendetect
+ (package
+ (name "python-vendetect")
+ (version "0.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "vendetect" version))
+ (sha256
+ (base32 "0hi13sbgr8y66mih2xyzczjfff4lwymkn9cw5215ms2nn6qq9rhi"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-copydetect python-rich))
+ (native-inputs (list python-hatchling python-pytest))
+ (home-page "https://github.com/trailofbits/vendetect")
+ (synopsis "Detect vendored and copy-pasted code")
+ (description
+ "Vendetect helps identify copied or vendored code between repositories,
+making it easier to detect when code has been copied with or without
+attribution. It uses similarity detection algorithms to compare code files
+and highlight matching sections.")
+ (license license:agpl3+)))
+
+(define-public python-wheel-filename
+ (package
+ (name "python-wheel-filename")
+ (version "1.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "wheel_filename" version))
+ (sha256
+ (base32 "1zcqq8mydjjrk8x5xlm53bavs51jm40nz42a7500pd6bbm31r2c7"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-hatchling python-pytest python-pytest-cov))
+ (home-page "https://github.com/wheelodex/wheel-filename")
+ (synopsis "Parse wheel filenames")
+ (description
+ "This software allows you to verify
+@url{https://packaging.python.org/en/latest/specifications/binary-distribution-format/, wheel}
+filenames and parse them into their component fields.
+
+This package adheres strictly to the standard, with the following
+exceptions:
+
+@itemize @bullet
+@item
+Version components may be any sequence of the relevant set of
+characters; they are not verified for PEP 440 compliance.
+@item
+The @file{.whl} file extension is matched case-insensitively.
+@end itemize")
+ (license license:expat)))
+
(define-public python-xmldiff
(package
(name "python-xmldiff")
@@ -1933,7 +2016,7 @@ HoloViews, and Datashader.")
(define-public python-colored
(package
(name "python-colored")
- (version "1.4.4")
+ (version "2.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1942,10 +2025,17 @@ HoloViews, and Datashader.")
(file-name (git-file-name name version))
(sha256
(base32
- "196ins0m7f90xz5dw764dlx060ziqbcydqzzq40b4ir5858baf3r"))))
+ "00332xdjw5fcj5wx848693355nvlgcf8qmpwkvz3rngfg1q5bxa6"))))
(build-system pyproject-build-system)
- (arguments (list #:tests? #false)) ;the tests are not run automatically
- (native-inputs (list python-setuptools python-wheel))
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; Tests expect ANSI escape codes for colors.
+ (setenv "FORCE_COLOR" "1"))))))
+ (native-inputs (list python-flit-core python-pytest))
(home-page "https://gitlab.com/dslackw/colored")
(synopsis "Simple library for color and formatting to terminal")
(description "This is a very simple Python library for color and
@@ -6762,32 +6852,31 @@ versions, process requirements files and generate AUTHORS and ChangeLog file
from git information.
")))
+(define-public python-pbr-next
+ (hidden-package
+ (package/inherit python-pbr
+ (version "6.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pbr" version))
+ (sha256
+ (base32 "0szp9dy7ksvpqddfzzca2a4assag8whmgxyhk7njxsw9d7775slk")))))))
+
(define-public python-pyrsistent
(package
(name "python-pyrsistent")
- (version "0.16.0")
+ (version "0.20.0")
(home-page "https://github.com/tobgu/pyrsistent")
(source (origin
(method url-fetch)
(uri (pypi-uri "pyrsistent" version))
(sha256
(base32
- "1lrsjgblnapfimd0alsi1as5nz2lfqv97131l7d6anbjzq2rjri8"))))
- (build-system python-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- ;; The package works fine with newer Pytest and Hypothesis, but
- ;; has pinned older versions to stay compatible with Python 2.
- (add-before 'check 'loosen-pytest-requirement
- (lambda _
- (substitute* "setup.py"
- (("pytest<5") "pytest")
- (("hypothesis<5") "hypothesis"))
- #t)))))
+ "1935ybwdxszmzlzshwkc7m7swm1js46ls246j1knqndbca7zfj2c"))))
+ (build-system pyproject-build-system)
(native-inputs
- (list python-hypothesis python-pytest python-pytest-runner))
- (propagated-inputs
- (list python-six))
+ (list python-pytest python-setuptools python-wheel))
(synopsis "Persistent data structures for Python")
(description
"Pyrsistent is a number of persistent collections (by some referred to as
@@ -7957,16 +8046,15 @@ Mako, and Tornado.")
(define-public python-pystache
(package
(name "python-pystache")
- (version "0.6.0")
+ (version "0.6.8")
(source (origin
(method url-fetch)
(uri (pypi-uri "pystache" version))
(sha256
(base32
- "03a73ppf5vxnsk6az5ackvc0hp6xqv2f4hi1s5c4nk4s2jr95gwk"))))
- (build-system python-build-system)
- (arguments
- '(#:tests? #f)) ; FIXME: Python 3 tests are failing.
+ "0b67fmq0wmfkgcr7qqc44vvpvh8zkdk0rh87kccds9jdda7521rp"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools python-wheel))
(home-page "http://defunkt.io/pystache/")
(synopsis "Python logic-less template engine")
(description
@@ -7981,19 +8069,19 @@ logic-free templating system Mustache.")
(source
(origin
(method git-fetch)
- (uri
- (git-reference
- (url "https://github.com/captn3m0/pystitcher")
- (commit
- (string-append "v" version))))
- (file-name
- (git-file-name name version))
+ (uri (git-reference
+ (url "https://github.com/captn3m0/pystitcher")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32 "03yrzqhcsjdj5zprrk3bh5bbyqfy3vfhxra9974vmkir3m121394"))))
- (build-system python-build-system)
- (inputs
- (list python-html5lib python-importlib-metadata python-markdown
- python-pypdf3 python-validators))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools python-wheel))
+ (inputs (list python-html5lib
+ python-importlib-metadata
+ python-markdown
+ python-pypdf3
+ python-validators))
(home-page "https://github.com/captn3m0/pystitcher")
(synopsis "Declaratively stitch together a PDF file from multiple sources")
(description
@@ -13520,15 +13608,18 @@ application and control it as if a human were typing commands.")
(define-public python-sexpdata
(package
(name "python-sexpdata")
- (version "0.0.3")
+ (version "1.0.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sexpdata" version))
(sha256
(base32
- "1q4lsjyzzqrdv64l0pv4ij9nd8gqhvxqcrpxc2xpxs652sk2gj0s"))))
- (build-system python-build-system)
+ "02f1v96wzqf3jgwbp1fvankszkzvyff53fa4ks7nyxpnc41ppdlj"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ; no tests
+ (native-inputs (list python-setuptools python-wheel))
(home-page "https://github.com/jd-boyd/sexpdata")
(synopsis "S-expression parser for Python")
(description
@@ -17642,15 +17733,15 @@ printing of sub-tables by specifying a row range.")
(define-public python-rtf-tokenize
(package
(name "python-rtf-tokenize")
- (version "1.0.0")
+ (version "1.0.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "rtf_tokenize" version))
(sha256
(base32
- "026njb9iwznycda83bln3gfivcnzdz6vy8y86xvbsy84s28g6gaw"))))
- (build-system python-build-system)
- (native-inputs (list python-pytest))
+ "1ljs0dcg2p1iad4zrxgn1pbrrcjcrswhjxrbprhdxd822n0al84h"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools python-wheel))
(home-page "https://github.com/benoit-pierre/rtf_tokenize")
(synopsis "Simple RTF tokenizer")
(description "This package is a simple RTF tokenizer.")
@@ -18717,9 +18808,6 @@ libmagic.")))
(add-before 'check 'pre-check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
- ;; Without this we get this error: type object 'GreenSocket'
- ;; has no attribute 'sendmsg'.
- (setenv "EVENTLET_NO_GREENDNS" "YES")
(setenv "PYDEVD_USE_CYTHON" "YES"))))
(add-after 'install 'install-attach-binary
(lambda _
@@ -26900,25 +26988,17 @@ in pure Python.")
(define-public python-sacn
(package
(name "python-sacn")
- (version "1.10.0")
+ (version "1.11.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sacn" version))
(sha256
- (base32 "02pqfwwx83lgb8nj9p0s6vyi1s7wjgbx9k0bzlyz8qapszzdsr37"))))
- (build-system python-build-system)
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-vv")))))))
- (native-inputs (list python-pytest))
+ (base32 "1sp0jmrjsd9g62kgi177fw4hi56h21s2p9khia3idmixgz53k2ql"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools python-wheel))
(home-page "https://github.com/Hundemeier/sacn")
- (synopsis
- "Python library for sending and receiving sACN data")
+ (synopsis "Python library for sending and receiving sACN data")
(description
"This package provides a Python library for sending and receiving
sACN (Streaming Architecture for Control Networks) data, a standard
@@ -26929,17 +27009,31 @@ in pure Python.")
(define-public python-bagit
(package
(name "python-bagit")
- (version "1.7.0")
+ (version "1.9.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "bagit" version))
+ (method git-fetch) ; no tests in PyPI
+ (uri (git-reference
+ (url "https://github.com/LibraryOfCongress/bagit-python")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1m6y04qmig0b5hzb35lnaw3d2yfydb7alyr1579yblvgs3da6j7j"))))
- (build-system python-build-system)
+ "12qfqha70vhc8pclq0kzv7xk0i44ramnlkphybv7419vdl4aay40"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'pretend-version
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION"
+ #$(package-version this-package))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv" "test.py")))))))
(native-inputs
- (list python-setuptools-scm python-coverage python-mock))
+ (list python-pytest python-setuptools python-setuptools-scm python-wheel))
(home-page "https://libraryofcongress.github.io/bagit-python/")
(synopsis "Create and validate BagIt packages")
(description "Bagit is a Python library and command line utility for working
@@ -29397,23 +29491,28 @@ user-space file systems in Python.")
("catch" ,catch2-1)
("eigen" ,eigen)))
(arguments
- `(#:configure-flags
- (list (string-append "-DCATCH_INCLUDE_DIR="
- (assoc-ref %build-inputs "catch")
- "/include/catch"))
-
- #:phases (modify-phases %standard-phases
- (add-after 'install 'install-python
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (with-directory-excursion "../source"
- (setenv "PYBIND11_USE_CMAKE" "yes")
- (invoke "python" "setup.py" "install"
- "--single-version-externally-managed"
- "--root=/"
- (string-append "--prefix=" out)))))))
-
- #:test-target "check"))
+ (list
+ #:configure-flags
+ #~(list (string-append "-DCATCH_INCLUDE_DIR="
+ (assoc-ref %build-inputs "catch")
+ "/include/catch"))
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check) args)))
+ (add-after 'install 'install-python
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (with-directory-excursion "../source"
+ (setenv "PYBIND11_USE_CMAKE" "yes")
+ (invoke "python" "setup.py" "install"
+ "--single-version-externally-managed"
+ "--root=/"
+ (string-append "--prefix=" out)))))))))
(home-page "https://github.com/pybind/pybind11/")
(synopsis "Seamless operability between C++11 and Python")
(description
@@ -31682,7 +31781,7 @@ Its algorithms are based on the kakasi library, which is written in C.")
(list pkg-config
python-meson-python
meson
- ninja
+ ninja/pinned
patchelf
python-setuptools
python-sphinx
@@ -35438,7 +35537,7 @@ and frame grabber interface.")
(list cmake-minimal
gfortran
git-minimal/pinned ;for tests
- ninja
+ ninja/pinned
python-coverage
python-cython
python-hatchling
@@ -40083,7 +40182,33 @@ file formats.
Python XMP Toolkit is wrapping Exempi (using ctypes), a C/C++ XMP library
based on Adobe XMP Toolkit, ensuring that future updates to the XMP standard
are easily incorporated into the library with a minimum amount of work.")
- (license license:bsd-3)))
+ (license license:bsd-3)))
+
+(define-public pythoncapi-compat
+ ;; No release nor tags: use the latest commit.
+ (let ((commit "b541b98df1e3e5aabb5def27422a75c876f5a88a")
+ (revision "0"))
+ (package
+ (name "pythoncapi-compat")
+ (version "0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/python/pythoncapi-compat")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "09935gybfj2wqbf6jmn61m21qnx3za8xjv375n3daq8l3cs6dmmx"))))
+ (build-system copy-build-system)
+ (arguments (list #:install-plan
+ #~'(("pythoncapi_compat.h" "include/"))))
+ (home-page "https://github.com/python/pythoncapi-compat")
+ (synopsis "Python C API compatibility")
+ (description "The pythoncapi-compat project can be used to write a C or
+C++ extension supporting a wide range of Python versions with a single code
+base, via the @file{pythoncapi_compat.h} header file.")
+ (license license:bsd-0))))
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 4e46a754fd..67582c4a54 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -327,7 +327,8 @@ window managers, that don't provide Qt integration by themselves.")
(base32
"0d0pxynlyfgavf6l1b1z7zpmbrzm96hkphnqnalr7mshm147450g"))))
(build-system cmake-build-system)
- (arguments (list #:configure-flags #~(list
+ (arguments (list #:tests? #f
+ #:configure-flags #~(list
"-DKDDockWidgets_QT6=ON"
"-DKDDockWidgets_TESTS=ON")))
(inputs
@@ -1100,7 +1101,12 @@ tst_qt_cmake_create.cpp"
"test_qt_add_ui_8"
"test_qt_add_ui_9"
;; This test is susceptible to the 600 ms timeout used:
- "tst_qpauseanimation")
+ "tst_qpauseanimation"
+
+ ;; This test may fail non-deterministically as reported
+ ;; in Guix bug#73233 and upstream at
+ ;; https://bugreports.qt.io/browse/QTBUG-119321.
+ "tst_qsharedmemory")
#$@(cond
((target-ppc64le?)
#~((list
@@ -2406,6 +2412,36 @@ WebGL. WebGL is a JavaScript API for rendering 2D and 3D graphics within any
compatible web browser without the use of plug-ins. The API is similar to
OpenGL ES 2.0 and can be used in HTML5 canvas elements")))
+(define-public qtwebview
+ (package
+ (name "qtwebview")
+ (version "6.8.2")
+ (source (origin
+ (method url-fetch)
+ (uri (qt-url name version))
+ (sha256
+ (base32
+ "0hyhpr3ai77pwdc69q73r1wkibdn2vn6v1pqkc8minck24kkdd46"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:configure-flags #~(list "-DQT_BUILD_TESTS=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'set-display
+ (lambda _
+ ;; Make Qt render "offscreen", required for tests.
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ ;; Set writable HOME for teststing cache directory.
+ (setenv "HOME" "/tmp"))))))
+ (native-inputs (list perl))
+ (inputs (list qtbase qtdeclarative qtwebengine))
+ (synopsis "Display web content in a QML application")
+ (description "Qt WebView provides a way to display web content in a QML
+application without necessarily including a full web browser stack by using
+native APIs where it makes sense.")
+ (home-page (package-home-page qtbase))
+ (license (package-license qtbase))))
+
(define-public qtwebview-5
(package
(inherit qtsvg-5)
@@ -2593,6 +2629,7 @@ that helps in Qt development.")))
(build-system cmake-build-system)
(arguments
(list
+ #:tests? #f
;; The build system attempts to fetch online resources and fails when
;; building the test suite.
#:configure-flags #~(list "-DQT_BUILD_TESTS=OFF")
@@ -2794,6 +2831,9 @@ also contains functionality to support data models and executable content.")))
(delete-file-recursively "tests/3rdparty")))))
(arguments
(list
+ ;; This failing test is run by the cmake-build-system phases but not
+ ;; by the gnu-build-system phases.
+ #:test-exclude "tst_scion"
#:phases
#~(modify-phases %standard-phases
(delete 'check) ;move after the install phase
@@ -4100,6 +4140,9 @@ instances.")
(arguments
(list
#:qtbase qtbase
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-installation-prefix
@@ -4114,6 +4157,7 @@ instances.")
(replace 'configure
(lambda _
(invoke "qmake")))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
@@ -5048,6 +5092,7 @@ different kinds of sliders, and much more.")
(base32
"13n2qb8q9jz4ihwlbs7y15lw90w9113gb1bgnb1dggpxkj64r953"))))
(build-system cmake-build-system)
+ (arguments (list #:tests? #f))
(native-inputs
(list qttools-5))
(inputs
@@ -5088,6 +5133,7 @@ a binding language:
(build-system qt-build-system)
(arguments
(list #:qtbase qtbase
+ #:cmake cmake-3.25
#:tests? #f ;no tests
#:configure-flags
#~(list "-DBUILD_EXAMPLE=ON"
@@ -5164,8 +5210,7 @@ window docking system.")
"0nsh6v5k4kdrrhcd6adz947n0dka4rrbx8f8rvm1175545nbi67s"))))
(build-system qt-build-system)
(arguments
- (list #:test-target "tests"
- #:phases
+ (list #:phases
#~(modify-phases %standard-phases
(add-before 'install 'fix-include-path
(lambda _
@@ -5209,6 +5254,9 @@ programming paradigm.")
(arguments
(list #:qtbase qtbase
#:tests? #f ;no tests
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
;; This project does not have any build rule but its demo has
@@ -5225,6 +5273,7 @@ programming paradigm.")
(replace 'configure
(lambda _
(invoke "qmake")))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
;; No install rule exists.
(replace 'install
(lambda _
@@ -5775,7 +5824,7 @@ configurable also via HTTP.")
(build-system cmake-build-system)
(arguments '(#:tests? #f)) ; There are no tests
(native-inputs
- (list pkg-config cmake))
+ (list pkg-config cmake-minimal))
(inputs
(list qtbase-5 coin3d))
(home-page "https://github.com/coin3d/soqt")
@@ -6087,6 +6136,9 @@ a secure way.")))
(inputs (list dbus glib libaccounts-glib))
(arguments
(list #:tests? #f ; Figure out how to run tests
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
@@ -6109,7 +6161,9 @@ a secure way.")))
(string-append "PREFIX=" #$output)
(string-append "LIBDIR=" #$output "/lib")
(string-append "QMAKE_LFLAGS_RPATH=-Wl,-rpath,"
- #$output "/lib -Wl,-rpath,")))))))
+ #$output "/lib -Wl,-rpath,"))))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'install (assoc-ref gnu:%standard-phases 'install)))))
(home-page "https://accounts-sso.gitlab.io/signond/index.html")
(synopsis "Perform user authentication over D-Bus")
(description "This package provides a D-Bus service which performs user
@@ -6159,6 +6213,9 @@ authentication on behalf of its clients.")
(inputs (list signond))
(arguments
(list #:tests? #f ;no tests
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
@@ -6170,7 +6227,9 @@ authentication on behalf of its clients.")
(string-append "PREFIX=" #$output)
(string-append "LIBDIR=" #$output "/lib")
(string-append "SIGNON_PLUGINS_DIR=" #$output
- "/lib/signon")))))))
+ "/lib/signon"))))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'install (assoc-ref gnu:%standard-phases 'install)))))
(synopsis "OAuth 2 plugin for signon")
(description
"This plugin for the Accounts-SSO SignOn daemon handles the OAuth
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 5e05dd1bcf..7b989d38f9 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -147,8 +147,17 @@
(base32 "0i6jhrdswr1wglyb9h39idpz5v9z13yhidvlbj34vxpyngrkhlvs"))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")
- #:test-target "test_all"))
+ (list
+ #:configure-flags #~'("-DBUILD_SHARED_LIBS=ON")
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "test_all" args))))))
(home-page "https://github.com/quiet/libfec")
(synopsis "Forward error correction algorithms library")
(description
@@ -175,12 +184,15 @@ useful in modems implemented with @dfn{digital signal processing} (DSP).")
(build-system cmake-build-system)
(arguments
(list
- #:test-target "check"
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'build 'build-libfec-compatibility-layer
(lambda _
(invoke "make" "shim")))
+ (replace 'check (assoc-ref gnu:%standard-phases 'check))
(add-after 'install 'delete-static-libraries
(lambda _
(delete-file (string-append #$output "/lib/libcorrect.a"))
@@ -614,20 +626,18 @@ controls for certain tuners which may be paired with an audio device.")
(license license:expat))))
(define-public soapybladerf
- (let ((commit "85f6dc554ed4c618304d99395b19c4e1523675b0")
- (revision "1"))
(package
(name "soapybladerf")
- (version (git-version "0.4.1" revision commit))
+ (version "0.4.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pothosware/SoapyBladeRF")
- (commit commit)))
+ (commit (string-append "soapy-bladerf-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "05c5mv1b55jv7dcr740hv4b3gplfaqryflfvprhlkm7bycr8pp16"))))
+ (base32 "1jhhqslpn9kpif9znsdxc9zwlz7hhlzk87lpcg9m4xl2x2xy454n"))))
(build-system cmake-build-system)
(inputs (list bladerf soapysdr))
(arguments (list #:tests? #f)) ; No test suite
@@ -635,7 +645,7 @@ controls for certain tuners which may be paired with an audio device.")
(synopsis "SoapySDR BladeRF module")
(description "This package provides BladeRF devices support to the
SoapySDR library.")
- (license license:lgpl2.1+))))
+ (license license:lgpl2.1+)))
(define-public soapyhackrf
;; Some fixes are not yet in a tagged release.
@@ -1099,7 +1109,8 @@ environment.")
spdlog
volk))
(arguments
- (list #:modules '((guix build cmake-build-system)
+ (list #:tests? #f
+ #:modules '((guix build cmake-build-system)
((guix build python-build-system) #:prefix python:)
(guix build utils))
#:imported-modules `(,@%cmake-build-system-modules
@@ -1232,6 +1243,7 @@ DMR, NXDN, P25, etc.")
(sha256
(base32 "12p193ngcs65nd3lynry119nhv40mikamqkw37wdln7lawx3nw7p"))))
(build-system cmake-build-system)
+ (arguments (list #:tests? #f))
(native-inputs
(list doxygen
pkg-config
@@ -1590,7 +1602,14 @@ you must extend 'udev-service-type' with this package. E.g.:
"/lib/udev/rules.d")
"-DBLADERF_GROUP=dialout"
"-DBUILD_DOCUMENTATION=ON")
- #:tests? #f)) ; No test suite
+ #:tests? #f ; No test suite
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'gcc-14
+ (lambda _
+ (substitute* "host/utilities/bladeRF-fsk/c/src/fir_filter.c"
+ (("calloc\\(sizeof\\(struct complex_sample\\), chunk_size\\)")
+ "calloc(1 * sizeof(struct complex_sample), chunk_size)")))))))
(home-page "https://www.nuand.com/")
(synopsis "User-space library and utilities for BladeRF SDR")
(description
@@ -2269,13 +2288,19 @@ NanoVNA vector network analyzers.")
qtbase-5
v4l-utils))
(arguments
- `(#:tests? #f ; No test suite.
- #:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (invoke "qmake"
- (string-append "PREFIX=" (assoc-ref outputs "out"))))))))
+ (list
+ #:tests? #f ; No test suite.
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "qmake"
+ (string-append "PREFIX=" (assoc-ref outputs "out")))))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'install (assoc-ref gnu:%standard-phases 'install)))))
(home-page "http://users.telenet.be/on4qz/qsstv/")
(synopsis "Program for receiving and transmitting SSTV and HAMDRM")
(description
@@ -2432,7 +2457,8 @@ intended for people who want to learn receiving and sending morse code.")
(base32 "1lhsmyhljqa6apzbysqar56wpfcdvs3pq9ia1mshqd6d3hz74s78"))))
(build-system cmake-build-system)
(arguments
- (list #:configure-flags #~(list "-DGGMORSE_SUPPORT_SDL2=OFF")
+ (list #:tests? #f
+ #:configure-flags #~(list "-DGGMORSE_SUPPORT_SDL2=OFF")
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'disable-imgui-build
(lambda _
@@ -2630,34 +2656,40 @@ sinks and sources.")
speexdsp
zlib))
(arguments
- `(#:tests? #f
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-paths
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (substitute* "dream.pro"
- (("target\\.path = /usr/bin")
- (string-append "target.path = "
- (assoc-ref outputs "out") "/bin"))
- (("documentation\\.path = /usr/share/man/man1")
- (string-append "documentation.path = "
- (assoc-ref outputs "out")
- "/share/man/man1"))
- (("/usr/include/pulse")
- (search-input-directory inputs "/include/pulse"))
- (("/usr/include/sndfile\\.h")
- (search-input-file inputs "/include/sndfile.h"))
- (("/usr/include/opus")
- (search-input-directory inputs "/include/opus"))
- (("/usr/include/speex")
- (search-input-directory inputs "/include/speex"))
- (("/usr/include/qwt")
- (search-input-directory inputs "/include/qwt"))
- (("\\$\\$OUT_PWD/include/neaacdec\\.h")
- (search-input-file inputs "/include/neaacdec.h")))))
- (replace 'configure
- (lambda _
- (invoke "qmake"))))))
+ (list
+ #:tests? #f
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "dream.pro"
+ (("target\\.path = /usr/bin")
+ (string-append "target.path = "
+ (assoc-ref outputs "out") "/bin"))
+ (("documentation\\.path = /usr/share/man/man1")
+ (string-append "documentation.path = "
+ (assoc-ref outputs "out")
+ "/share/man/man1"))
+ (("/usr/include/pulse")
+ (search-input-directory inputs "/include/pulse"))
+ (("/usr/include/sndfile\\.h")
+ (search-input-file inputs "/include/sndfile.h"))
+ (("/usr/include/opus")
+ (search-input-directory inputs "/include/opus"))
+ (("/usr/include/speex")
+ (search-input-directory inputs "/include/speex"))
+ (("/usr/include/qwt")
+ (search-input-directory inputs "/include/qwt"))
+ (("\\$\\$OUT_PWD/include/neaacdec\\.h")
+ (search-input-file inputs "/include/neaacdec.h")))))
+ (replace 'configure
+ (lambda _
+ (invoke "qmake")))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'install (assoc-ref gnu:%standard-phases 'install)))))
(home-page "https://sourceforge.net/projects/drm/")
(synopsis "Digital Radio Mondiale receiver")
(description
@@ -3117,6 +3149,7 @@ various hardware.")
(sha256
(base32 "11v5idwvfi9w60qg4fgqgvm7ahmb0ys4j094qv4c93r92kd9d3f9"))))
(build-system qt-build-system)
+ (arguments (list #:tests? #f))
(native-inputs
(list pkg-config))
(inputs
@@ -3145,6 +3178,9 @@ software-defined radio receivers.")
(arguments
(list
#:tests? #f ; No test suite.
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
@@ -3169,7 +3205,9 @@ software-defined radio receivers.")
(chdir "build")
(invoke "qmake"
(string-append "PREFIX=" #$output)
- "../wfview.pro"))))))
+ "../wfview.pro")))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'install (assoc-ref gnu:%standard-phases 'install)))))
(inputs
(list eigen
eudev
diff --git a/gnu/packages/rdesktop.scm b/gnu/packages/rdesktop.scm
index 4e11229c98..2f89b29d85 100644
--- a/gnu/packages/rdesktop.scm
+++ b/gnu/packages/rdesktop.scm
@@ -32,6 +32,7 @@
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (gnu packages)
#:use-module (gnu packages assembly)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
@@ -46,7 +47,9 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
+ #:use-module (gnu packages kerberos)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages mp3)
@@ -56,6 +59,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages pulseaudio)
+ #:use-module (gnu packages sdl)
#:use-module (gnu packages security-token)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
@@ -159,7 +163,6 @@ to remotely control a user's Windows desktop.")
#~())
"-DWITH_PULSE=ON"
"-DWITH_CUPS=ON"
- "-DBUILD_TESTING=ON"
"-DWITH_SERVER=ON" ;build servers
"-DWITH_SHADOW=ON" ;build shadow server
"-DWITH_PROXY=ON")))
@@ -171,10 +174,59 @@ functionality, and Windows Portable Runtime (WinPR), a portable implementation
of parts of the Windows API.")
(license license:asl2.0)))
+(define-public freerdp-3
+ (package
+ (inherit freerdp)
+ (name "freerdp")
+ (version "3.16.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/FreeRDP/FreeRDP")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "093yyfd3lbbavg0scqka2m64xkn8y1hirfjsv01pdnm4fsrhhphw"))
+ (patches
+ (search-patches "freerdp-3.16.0-rpath.patch"))))
+ (inputs
+ (modify-inputs (package-inputs freerdp)
+ (prepend fuse icu4c mit-krb5 sdl3 sdl3-gfx sdl3-ttf)))
+ (arguments
+ (list #:build-type "Release"
+ #:configure-flags
+ #~(list
+ ;; Relax gcc-14's strictness.
+ (string-append "-DCMAKE_C_FLAGS="
+ " -Wno-error=incompatible-pointer-types"
+ " -Wno-error=int-conversion")
+ "-DWITH_JPEG=ON"
+ #$@(if (target-x86-64?)
+ #~("-DWITH_SSE2=ON")
+ #~())
+ "-DWITH_PULSE=ON"
+ "-DWITH_CAIRO=ON"
+ "-DWITH_CUPS=ON"
+ "-DBUILD_TESTING=ON"
+ "-DWITH_SERVER=ON" ;build servers
+ "-DWITH_SHADOW=ON" ;build shadow server
+ "-DWITH_PROXY=ON"
+ "-DWITH_OPENH264=ON") ; could also use ffmpeg instead
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-dlopen-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "winpr/libwinpr/smartcard/smartcard_pcsc.c"
+ (("\"libpcsclite[.]so[.]1\"")
+ (string-append "\""
+ (search-input-file inputs "/lib/libpcsclite.so.1")
+ "\""))))))))))
+
(define-public xrdp
(package
(name "xrdp")
- (version "0.10.3")
+ (version "0.10.4.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -182,7 +234,7 @@ of parts of the Windows API.")
version "/xrdp-" version ".tar.gz"))
(sha256
(base32
- "15nhfh8lxwf0jlmq6knh3851sp6njps9nhl8n2867il7mcr9gmsj"))))
+ "0pwg5zadd788nl2fpls60w3nm557a95ihp4x1ggf0yy5hqzdzsjj"))))
(build-system gnu-build-system)
(inputs (list check
fuse
diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm
index 869b0fc81f..a9f7449043 100644
--- a/gnu/packages/rdf.scm
+++ b/gnu/packages/rdf.scm
@@ -116,8 +116,7 @@ HTML and JSON.")
(list boost ; could also use bundled copy
zlib))
(arguments
- `(#:test-target "cl_test"
- #:configure-flags '("-DBUILD_CONTRIBS_LIB=ON")
+ `(#:configure-flags '("-DBUILD_CONTRIBS_LIB=ON")
#:tests? #f)) ; Tests do not compile, as TestIndexSearcher.cpp uses
; undeclared usleep. After fixing this, one needs to run
; "make test" in addition to "make cl_test", then
diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm
index bf1ab703c0..f0d965f45e 100644
--- a/gnu/packages/regex.scm
+++ b/gnu/packages/regex.scm
@@ -81,12 +81,13 @@ Python. It is a C++ library.")
(base32
"11q0kz8b3y5ysn58fr62yhib520f9l3grbn8gxr8x5s9k700vq11"))))
(build-system cmake-build-system)
- (arguments (list #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
+ (arguments (list #:tests? (not (%current-target-system))
+ #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
;; "-DRE2_USE_ICU=ON"
- #$@(if (%current-target-system)
+ #$@(if (not (%current-target-system))
#~("-DRE2_BUILD_TESTING=ON")
#~()))))
- (native-inputs (list googletest))
+ (native-inputs (list googlebenchmark googletest))
(propagated-inputs (list abseil-cpp))))
(define-public tre
diff --git a/gnu/packages/rocm.scm b/gnu/packages/rocm.scm
index dca3d58387..cd320dcf81 100644
--- a/gnu/packages/rocm.scm
+++ b/gnu/packages/rocm.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
-;;; Copyright © 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2022, 2023, 2025 John Kehayias <john.kehayias@protonmail.com>
;;;
;;; This program is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
@@ -31,13 +31,27 @@
#:use-module (gnu packages llvm)
#:use-module (gnu packages opencl)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
#:use-module (gnu packages version-control)
#:use-module (gnu packages vim)
#:use-module (gnu packages xdisorg))
;; The components are tightly integrated and can only be upgraded as a unit. If
;; you want to upgrade ROCm, bump this version number and update hashes below.
-(define %rocm-version "5.6.0")
+(define %rocm-version "6.4.2")
+
+;; As of version 6.1.0 several of the ROCm projects are contained within their
+;; forked LLVM repository. This is the same as the source for llvm-for-rocm.
+(define %rocm-llvm-origin
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/RadeonOpenCompute/llvm-project.git")
+ (commit (string-append "rocm-" %rocm-version))))
+ (file-name (git-file-name "llvm-for-rocm" %rocm-version))
+ (sha256
+ (base32
+ "1j2cr362k7snsh5c1z38ikyihmjvy0088rj0f0dhng6cjwgysryp"))))
(define-public rocm-cmake
(package
@@ -51,11 +65,11 @@
(file-name (git-file-name name version))
(sha256
(base32
- "183s2ksn142r7nl7l56qvyrgvvkdgqfdzmgkfpp4a6g9mjp88ady"))))
+ "1af9z59bm8pj577x43q614v3ff039wijvcdpgw6sdsq1c0ssj260"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; Tests try to use git commit
(native-inputs (list git))
- (home-page "https://github.com/RadeonOpenCompute/rocm-cmake")
+ (home-page "https://github.com/ROCm/rocm-cmake")
(synopsis "ROCm cmake modules")
(description "ROCm cmake modules provides cmake modules for common build
tasks needed for the ROCM software stack.")
@@ -65,22 +79,20 @@ tasks needed for the ROCM software stack.")
(package
(name "rocm-device-libs")
(version %rocm-version)
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/RadeonOpenCompute/ROCm-Device-Libs.git")
- (commit (string-append "rocm-" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1jg96ycy99s9fis8sk1b7qx5p33anw16mqlm07zqbnhry2gqkcbh"))))
+ (source %rocm-llvm-origin)
(build-system cmake-build-system)
(arguments
- `(#:configure-flags
+ `(#:build-type "Release"
+ #:configure-flags
(list "-DCMAKE_SKIP_BUILD_RPATH=FALSE"
- "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE")))
+ "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "amd/device-libs"))))))
(inputs (list llvm-for-rocm))
- (home-page "https://github.com/RadeonOpenCompute/ROCm-Device-Libs")
+ (home-page "https://github.com/ROCm/ROCm-Device-Libs")
(synopsis "ROCm Device libraries")
(description "AMD-specific device-side language runtime libraries, namely
oclc, ocml, ockl, opencl, hip and hc.")
@@ -90,49 +102,45 @@ oclc, ocml, ockl, opencl, hip and hc.")
(package
(name "rocm-comgr")
(version %rocm-version)
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport.git")
- (commit (string-append "rocm-" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "15s2dx0pdvjv3xfccq5prkplcbwps8x9jas5qk93q7kv8wx57p3b"))
- (patches
- (search-patches "rocm-comgr-3.1.0-dependencies.patch"))))
+ (source %rocm-llvm-origin)
(build-system cmake-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'chdir
- (lambda _
- (chdir "lib/comgr"))))))
- (inputs (list llvm-for-rocm rocm-device-libs))
- (home-page "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport")
+ (list
+ #:build-type "Release"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'prepare-to-build
+ (lambda _
+ (chdir "amd/comgr")
+ (setenv "ROCM_PATH"
+ #$(this-package-input "rocm-device-libs")))))))
+ (inputs (list rocm-device-libs))
+ (native-inputs (list llvm-for-rocm python))
+ (home-page "https://github.com/ROCm/ROCm-CompilerSupport")
(synopsis "ROCm Code Object Manager")
(description "The Comgr library provides APIs for compiling and inspecting
AMDGPU code objects.")
(license license:ncsa)))
+;; This package is deprecated; this is the last version released.
(define-public roct-thunk-interface
(package
(name "roct-thunk-interface")
- (version %rocm-version)
+ (version "6.2.4")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface.git")
+ (url "https://github.com/ROCm/ROCT-Thunk-Interface.git")
(commit (string-append "rocm-" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "0v8j4gkbb21gqqmz1b4nmampx5ywva99ipsx8lcjr5ckcg84fn9x"))))
+ "1y3mn4860z7ca71cv4hhag7racpc208acy8rws8ldw5k8yjc68m0"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; Not sure how to run tests.
(inputs (list libdrm numactl))
(native-inputs (list `(,gcc "lib") pkg-config))
- (home-page "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface")
+ (home-page "https://github.com/ROCm/ROCT-Thunk-Interface")
(synopsis "Radeon Open Compute Thunk Interface")
(description "User-mode API interfaces used to interact with the ROCk
driver.")
@@ -145,62 +153,42 @@ driver.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/RadeonOpenCompute/ROCR-Runtime.git")
+ (url "https://github.com/ROCm/ROCR-Runtime.git")
(commit (string-append "rocm-" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "07wh7s1kgvpw8ydxmr2wvvn05fdqcmcc20qjbmnc3cbbhxviksyr"))))
+ "01gqbzqm5m28dw9b2calrbp9a23w2cc2gwi3pay8yl8qvk4jgkff"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ; No tests.
+ #:build-type "Release"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'add-rocm-device-lib-path
(lambda _
- (substitute* "src/image/blit_src/CMakeLists.txt"
- (("-O2")
- (string-append
- "-O2 --rocm-device-lib-path="
- #$(this-package-input "rocm-device-libs")
- "/amdgcn/bitcode/")))))
- (add-after 'add-rocm-device-lib-path 'chdir
- (lambda _
- (chdir "src"))))))
+ (setenv "ROCM_PATH"
+ #$(this-package-input "rocm-device-libs")))))))
(inputs
(list libdrm
- libelf
+ libelf-shared
llvm-for-rocm
numactl
rocm-device-libs ; For bitcode.
roct-thunk-interface))
(native-inputs (list pkg-config xxd))
- (home-page "https://github.com/RadeonOpenCompute/ROCR-Runtime")
+ (home-page "https://github.com/ROCm/ROCR-Runtime")
(synopsis "ROCm Platform Runtime")
(description "User-mode API interfaces and libraries necessary for host
applications to launch compute kernels to available HSA ROCm kernel agents.")
(license license:ncsa)))
-;; This is the source only for ROCclr as from v4.5 it should only be built as
-;; part of a client. A warning is output if attempting to build stand-alone
-;; and there is no install.
-(define rocclr-src
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ROCm-Developer-Tools/ROCclr.git")
- (commit (string-append "rocm-" %rocm-version))))
- (sha256
- (base32
- "1fzvnngxcvxscn718cqfglm4izccx88zjdr3g5ldfqw7hyd034sk"))
- (patches (search-patches "rocclr-5.6.0-enable-gfx800.patch"))))
-
(define-public rocm-opencl-runtime
(package
(name "rocm-opencl-runtime")
(version %rocm-version)
- (home-page "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime")
+ (home-page "https://github.com/ROCm/clr")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -209,20 +197,21 @@ applications to launch compute kernels to available HSA ROCm kernel agents.")
(file-name (git-file-name name version))
(sha256
(base32
- "1azfxf0ac3mnbyfgn30bz5glwlmaigzdz0cd29jzc4b05hks1yr3"))
+ "00zr1fw84nifn2b2zd4wxf00f1171hjmz1lypzzmydsk5yw01q0c"))
(patches
(search-patches
+ "rocclr-5.6.0-enable-gfx800.patch"
;; Guix includes a program clinfo already.
"rocm-opencl-runtime-4.3-noclinfo.patch"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ; Not sure how to run them.
+ #:build-type "Release"
#:configure-flags
#~(list
(string-append "-DAMD_OPENCL_PATH=" #$(package-source this-package))
- ;; The ROCclr source is needed to build the runtime.
- (string-append "-DROCCLR_PATH=" #$rocclr-src)
+ "-DCLR_BUILD_OCL=ON"
(string-append "-DROCM_PATH=" #$output)
;; Don't build the ICD loader as we have the opencl-icd-loader
;; package already.
@@ -231,6 +220,11 @@ applications to launch compute kernels to available HSA ROCm kernel agents.")
"-DFILE_REORG_BACKWARD_COMPATIBILITY=OFF")
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'no-os-release
+ (lambda _
+ (substitute* "opencl/packaging/CMakeLists.txt"
+ (("\"/etc/os-release\"")
+ "\"/dev/null\""))))
(add-after 'install 'create-icd
;; Manually install ICD, which simply consists of dumping
;; the path of the .so into the correct file.
@@ -260,12 +254,12 @@ and in-process/in-memory compilation.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/RadeonOpenCompute/rocminfo.git")
+ (url "https://github.com/ROCm/rocminfo.git")
(commit (string-append "rocm-" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "150bvyxp9krq8f7jqd1g5b4l85rih4ch322y4sg1hnciqpabn6a6"))))
+ "15mzmxz011sg42jg0dbxz57f4fagmxzdjc6zhd0yab3cq7k1kiv2"))))
(build-system cmake-build-system)
(arguments
(list
@@ -280,7 +274,7 @@ and in-process/in-memory compilation.")
(("grep") (search-input-file inputs "bin/grep"))))))))
(inputs
(list rocr-runtime kmod))
- (home-page "https://github.com/RadeonOpenCompute/rocminfo")
+ (home-page "https://github.com/ROCm/rocminfo")
(synopsis "ROCm Application for Reporting System Info")
(description "List @acronym{HSA,Heterogeneous System Architecture} Agents
available to ROCm and show their properties.")
@@ -293,17 +287,16 @@ available to ROCm and show their properties.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/RadeonOpenCompute/rocm_bandwidth_test.git")
+ (url "https://github.com/ROCm/rocm_bandwidth_test.git")
(commit (string-append "rocm-" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "0ca6r8xijw3a3hrlgkqqsf3iqyia6sdmidgmjl12f5vypxzp5kmm"))
- (patches (search-patches "rocm-bandwidth-test-5.5.0-fix-includes.patch"))))
+ "1afmyx0dkif7djdcm5rfhnsibbrkj4py6dvh0gw4x3v750ms69wv"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; No tests.
(inputs (list rocr-runtime))
- (home-page "https://github.com/RadeonOpenCompute/rocm_bandwidth_test")
+ (home-page "https://github.com/ROCm/rocm_bandwidth_test")
(synopsis "Bandwidth test for ROCm")
(description "RocBandwidthTest is designed to capture the performance
characteristics of buffer copying and kernel read/write operations. The help
diff --git a/gnu/packages/ruby-xyz.scm b/gnu/packages/ruby-xyz.scm
index 1a2cd817fd..80bf94a365 100644
--- a/gnu/packages/ruby-xyz.scm
+++ b/gnu/packages/ruby-xyz.scm
@@ -7413,13 +7413,13 @@ when working with Ruby code.")
(define-public ruby-jaro-winkler
(package
(name "ruby-jaro-winkler")
- (version "1.5.4")
+ (version "1.6.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "jaro_winkler" version))
(sha256
- (base32 "1y8l6k34svmdyqxya3iahpwbpvmn3fswhwsvrz0nk1wyb8yfihsh"))))
+ (base32 "09645h5an19zc1i7wlmixszj8xxqb2zc8qlf8dmx39bxpas1l24b"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; no included tests
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index 9f5701fc10..765a72af92 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -274,7 +274,7 @@ external dependencies.")
(list python-cryptography)
'())
(list python-dnspython
- python-iso8601
+ python-iso8601/pinned
python-markdown
rpcsvc-proto ;for 'rpcgen'
python-pyasn1 ;for krb5 tests
@@ -523,38 +523,6 @@ and IPV6 and the protocols layered above them, such as TCP and UDP.")
license:gpl2+
license:public-domain))))
-(define-public ppp-2.4.9
- (package
- (inherit ppp)
- (name "ppp")
- (version "2.4.9")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ppp-project/ppp")
- (commit (string-append "ppp-" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1bhhksdclsnkw54a517ndrw55q5zljjbh9pcqz1z4a2z2flxpsgk"))))
- (arguments
- (list #:tests? #f ;; No "check" target
- #:make-flags #~(list (string-append "CC=" #$(cc-for-target)))
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'configure 'patch-Makefile
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((openssl (assoc-ref inputs "openssl"))
- (libpcap (assoc-ref inputs "libpcap")))
- (substitute* "pppd/Makefile.linux"
- (("/usr/include/openssl")
- (string-append openssl "/include"))
- (("-DPPP_FILTER")
- (string-append "-DPPP_FILTER -I" libpcap "/include")))
- (substitute* "pppd/pppcrypt.h"
- (("des\\.h") "openssl/des.h")))
- #t)))))))
-
(define-public wsdd
(package
(name "wsdd")
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 2807b31707..aec39961d9 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -416,14 +416,14 @@ mashups, office (web agendas, mail clients, ...), etc.")
(define-public scheme48
(package
(name "scheme48")
- (version "1.9.2")
+ (version "1.9.3")
(source (origin
(method url-fetch)
(uri (string-append "https://s48.org/" version
"/scheme48-" version ".tgz"))
(sha256
(base32
- "1x4xfm3lyz2piqcw1h01vbs1iq89zq7wrsfjgh3fxnlm1slj2jcw"))
+ "0k4hygd0k22g5shnm5wxg6vdz6qzs40mid1iz2q10hd1zkrskxbf"))
(patches (search-patches "scheme48-tests.patch"))))
(build-system gnu-build-system)
(home-page "https://s48.org/")
diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm
index 9b5b8c9a10..dd24b38c9e 100644
--- a/gnu/packages/sdl.scm
+++ b/gnu/packages/sdl.scm
@@ -810,7 +810,8 @@ mappings intended for the use with SDL2's game controller functionality.")
(base32
"18g9qavk0wh1bvfh6gdi5q75fd57dk0gp5r20c80x7xnp2ywywih"))))
(build-system cmake-build-system)
- (arguments (list #:configure-flags
+ (arguments (list #:tests? #f
+ #:configure-flags
#~(list "-DBUILD_TESTS=ON")))
(propagated-inputs (list sdl3))
(home-page "https://github.com/sabdul-khabir/SDL3_gfx")
@@ -822,6 +823,34 @@ for the Simple Direct Media (SDL) cross-platform API layer.")
(license license:zlib)
(properties '((upstream-name . "SDL3_gfx")))))
+(define-public sdl3-ttf
+ (package
+ (name "sdl3-ttf")
+ (version "3.2.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libsdl-org/SDL_ttf.git")
+ (commit (string-append "release-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "09jiajs9imscwa7b0q4z20znxcvazilks5ilggdvxjiv3cpxzcl3"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:tests? #f)) ; no tests
+ (native-inputs
+ (list pkg-config))
+ (propagated-inputs
+ (list sdl3))
+ (inputs
+ (list harfbuzz freetype))
+ (synopsis "TrueType fonts in SDL3")
+ (description "This package provides a library to load TrueType (.ttf)
+font files with Simple Directmedia Layer.")
+ (home-page "https://wiki.libsdl.org/SDL3/FrontPage")
+ (license license:zlib)))
+
(define-public guile-sdl
(package
(name "guile-sdl")
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index 660e170794..0f99a4ec64 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -888,6 +888,9 @@ an unprivileged user.")
(arguments
(list
#:tests? #f ;no test suite
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
@@ -898,6 +901,8 @@ an unprivileged user.")
(replace 'configure
(lambda _
(invoke "qmake")))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'install (assoc-ref gnu:%standard-phases 'install))
(add-after 'install 'install-desktop-resources
(lambda _
(let ((datadir (string-append #$output "/share")))
@@ -969,8 +974,6 @@ to the @code{python-yubikey-manager} package.")
(base32
"0z39f8w0zvra874az0f67ck1al9kbpaidpilggbl8jnfs05010ck"))))
(build-system cmake-build-system)
- (arguments
- '(#:configure-flags (list "-DBUILD_TESTING=on")))
(native-inputs (list pkg-config qttools-5))
(inputs (list catch2))
(home-page "https://github.com/tplgy/cppcodec")
diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index 89d362c52f..5b2f023736 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -207,42 +207,6 @@ such as compact binary encodings, XML, or JSON.")
(license:non-copyleft
"file://include/cereal/external/LICENSE")))))
-;; Some packages fail with the latest version. Remove this variable
-;; when unused.
-(define-public cereal-1.3.0
- (package
- (inherit cereal)
- (version "1.3.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/USCiLab/cereal")
- (commit (string-append "v" version))))
- (file-name (git-file-name "cereal" version))
- (sha256
- (base32
- "0hc8wh9dwpc1w1zf5lfss4vg5hmgpblqxbrpp1rggicpx9ar831p"))
- (snippet
- '(delete-file "unittests/doctest.h"))))
- (arguments
- (substitute-keyword-arguments (package-arguments cereal)
- ((#:configure-flags flags #~'())
- #~'("-DSKIP_PORTABILITY_TEST=ON" "-DWITH_WERROR=OFF"))
- ((#:phases phases #~%standard-phases)
- #~(modify-phases #$phases
- (add-after 'unpack 'update-doctest
- (lambda* (#:key inputs #:allow-other-keys)
- (install-file (search-input-file inputs "unittests/doctest.h")
- "unittests/")))
- (add-before 'configure 'skip-sandbox
- (lambda _
- (substitute* "CMakeLists.txt"
- (("add_subdirectory\\(sandbox\\)") ""))))))))
- (native-inputs
- (list doxygen gcc-10
- (package-source cereal)))))
-
(define-public msgpack-c
(package
(name "msgpack-c")
@@ -473,8 +437,17 @@ that implements both the msgpack and msgpack-rpc specifications.")
"1c9i93kr7wvpr01i4wixi9mf991nd3k2adg5fy0vxwwlvvc7dgdw"))))
(build-system qt-build-system)
(arguments
- (list #:qtbase qtbase
- #:test-target "tests"))
+ (list #:modules '((guix build cmake-build-system)
+ (guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:qtbase qtbase
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "tests" args))))))
(home-page "https://github.com/iamantony/qtcsv")
(synopsis "Library for reading and writing CSV files in Qt")
(description
@@ -597,32 +570,39 @@ character limit for implicit keys.")
(license license:expat)))
(define-public yaml-cpp
- (package
- (name "yaml-cpp")
- (version "0.8.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jbeder/yaml-cpp")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0whdn6pqa56532ml20h89p6rchcrrazdrvi5fz6zpmrkl15yiki7"))))
- (build-system cmake-build-system)
- (arguments
- '(#:configure-flags '("-DYAML_BUILD_SHARED_LIBS=ON")))
- (native-inputs
- (list python))
- (home-page "https://github.com/jbeder/yaml-cpp")
- (synopsis "YAML parser and emitter in C++")
- (description "YAML parser and emitter in C++ matching the YAML 1.2 spec.")
- (license license:bsd-3)))
+ (let ((commit "2f86d13775d119edbb69af52e5f566fd65c6953b")
+ (revision "0"))
+ (package
+ (name "yaml-cpp")
+ (version (git-version "0.8.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jbeder/yaml-cpp")
+ (commit commit)))
+ (modules '((guix build utils)))
+ (snippet #~(delete-file-recursively "test/googletest-1.13.0"))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "12ncx2hlsl5vp9yfja6myxalg85j0kgxwbargn37yiwi8rn17m8s"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:configure-flags '("-DYAML_BUILD_SHARED_LIBS=ON"
+ "-DYAML_CPP_BUILD_TESTS=ON"
+ "-DYAML_USE_SYSTEM_GTEST=ON")))
+ (native-inputs
+ (list python))
+ (inputs (list googletest))
+ (home-page "https://github.com/jbeder/yaml-cpp")
+ (synopsis "YAML parser and emitter in C++")
+ (description "YAML parser and emitter in C++ matching the YAML 1.2 spec.")
+ (license license:bsd-3))))
(define-public jsoncpp
(package
(name "jsoncpp")
- (version "1.9.5")
+ (version "1.9.6")
(home-page "https://github.com/open-source-parsers/jsoncpp")
(source (origin
(method git-fetch)
@@ -630,7 +610,7 @@ character limit for implicit keys.")
(file-name (git-file-name name version))
(sha256
(base32
- "06zss7z56ykzwcsfdxarmini63hkf8i8gx70q3yw9wb0bw7wj9rv"))))
+ "070xg4i52z3yv5b9bw5k95qskw0daivh0njka87mzj0d3zf1qsyy"))))
(build-system meson-build-system)
(synopsis "C++ library for interacting with JSON")
(description "JsonCpp is a C++ library that allows manipulating JSON values,
@@ -639,6 +619,20 @@ preserve existing comment in unserialization/serialization steps, making
it a convenient format to store user input files.")
(license license:expat)))
+(define-public jsoncpp/pinned
+ (hidden-package
+ ;; Version that rarely changes, depended on by CMake.
+ (package/inherit jsoncpp
+ (version "1.9.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference (url (package-home-page jsoncpp)) (commit version)))
+ (file-name (git-file-name (package-name jsoncpp) version))
+ (sha256
+ (base32
+ "070xg4i52z3yv5b9bw5k95qskw0daivh0njka87mzj0d3zf1qsyy")))))))
+
;; Tensorflow does not build with jsoncpp 1.8.x. It is built with commit
;; 4356d9bba191e1e16ce7a92073cbf3e63564e973, which lies between version 1.7.2
;; and 1.7.3.
@@ -657,7 +651,8 @@ it a convenient format to store user input files.")
"1180ln8blrb0mwzpcf78k49hlki6di65q77rsvglf83kfcyh4d7z"))))
(build-system cmake-build-system)
(arguments
- (list #:configure-flags
+ (list #:tests? #f
+ #:configure-flags
#~'("-DBUILD_SHARED_LIBS:BOOL=YES"
#$@(if (%current-target-system)
#~("-DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF")
@@ -845,9 +840,6 @@ includes the following features:
(list python-pytest))
(propagated-inputs
(list python-ruamel.yaml.clib))
- (arguments
- `(;; TODO: Tests require packaging "ruamel.std.pathlib".
- #:tests? #f))
(home-page "https://sourceforge.net/projects/ruamel-yaml/")
(synopsis "YAML 1.2 parser/emitter")
(description
@@ -868,12 +860,15 @@ style and key ordering are kept, so you can diff the source.")
(uri (pypi-uri "ruamel.yaml" version))
(sha256
(base32
- "0hm9yg785f46bkrgqknd6fdvmkby9dpzjnm0b63qf0i748acaj5v"))))))
+ "0hm9yg785f46bkrgqknd6fdvmkby9dpzjnm0b63qf0i748acaj5v"))))
+ (arguments
+ `(;; TODO: Tests require packaging "ruamel.std.pathlib".
+ #:tests? #f))))
(define-public python-ruamel.yaml.clib
(package
(name "python-ruamel.yaml.clib")
- (version "0.2.9")
+ (version "0.2.12")
(source
(origin
;; pypi release code has cythonized code without corresponding source.
@@ -884,7 +879,7 @@ style and key ordering are kept, so you can diff the source.")
(file-name (hg-file-name name version))
(sha256
(base32
- "100nyixfikwivsxiwkq2frgbfkqvvl112wkn0sgc57xq0p1s0dv8"))
+ "12ixp46706pl911f6i4wmik8x0j9vnxy2cqx65ixbdl9cnvqva2l"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -896,7 +891,7 @@ style and key ordering are kept, so you can diff the source.")
#:phases
(modify-phases %standard-phases
(delete 'sanity-check) ; Depends on python-ruamel.yaml
- (add-after 'unpack 'cythonize-code
+ (add-after 'ensure-no-cythonized-files 'cythonize-code
(lambda _
(invoke "cython" "_ruamel_yaml.pyx"))))))
(native-inputs
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 2a1fbe0a6c..0759a56385 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -143,8 +143,12 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
(list doxygen groff ; for 'fish --help'
procps)) ; for the test suite
(arguments
- '(#:phases
- (modify-phases %standard-phases
+ (list
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
(add-after 'unpack 'set-env
(lambda _
;; some tests write to $HOME
@@ -244,6 +248,10 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
port)
(close-port port))
#t))
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "test" args)))
;; Use fish-foreign-env to source /etc/profile.
(add-before 'install 'source-etc-profile
(lambda* (#:key inputs #:allow-other-keys)
@@ -553,14 +561,14 @@ ksh, and tcsh.")
(define-public xonsh
(package
(name "xonsh")
- (version "0.19.2")
+ (version "0.19.9")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xonsh" version))
(sha256
(base32
- "1c30p5qvn6c2l1jq7lby86m0cg9s2k3xrbbcznpc78jlv600dpfg"))
+ "0zf3fjjq0p9pngq48s8c14ywzv4b02y14vr9g93vgalqg96lrasc"))
(modules '((guix build utils)))
(snippet
#~(begin
@@ -608,6 +616,7 @@ ksh, and tcsh.")
"test_sourcefile"
"test_spec_decorator_alias_output_format"
"test_spec_modifier_alias_output_format"
+ "test_trace_in_script"
"test_vc_get_branch"
"test_xonsh_activator"
"test_xonsh_lexer")
@@ -683,7 +692,16 @@ use of experts and novices alike.")
#$(package-version scheme48)
"/rx")))
(delete-file-recursively "rx")
- (symlink rxpath "rx")))))))
+ (symlink rxpath "rx"))))
+ (add-after 'replace-rx 'fix-includes
+ (lambda _
+ (with-directory-excursion "c"
+ (substitute* "syscalls.c"
+ (("#include <stdlib.h>" all)
+ (string-append all "\n#include <time.h>")))
+ (substitute* "tty.c"
+ (("#include <termios.h>" all)
+ (string-append all "\n#include <pty.h>")))))))))
(inputs
(list scheme48 scheme48-rx))
(native-inputs
diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index ba41bf658e..5568a567ae 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -755,7 +755,8 @@ FFC is part of the FEniCS Project.")
"fenics-dolfin-demo-init.patch"
"fenics-dolfin-boost.patch"
"fenics-dolfin-config-slepc.patch"
- "fenics-dolfin-hdf5-version-check.patch"))
+ "fenics-dolfin-hdf5-version-check.patch"
+ "fenics-dolfin-integer-types.patch"))
(modules '((guix build utils)))
(snippet '(begin
;; Make sure we don't use the bundled test framework.
diff --git a/gnu/packages/sml.scm b/gnu/packages/sml.scm
index c8223d6b1d..f9e5b6439a 100644
--- a/gnu/packages/sml.scm
+++ b/gnu/packages/sml.scm
@@ -47,13 +47,19 @@
"1s7lpnxg826r2lm2c81j9a61zwljy2ybkqwadjiwrfi0hmbczn89"))))
(build-system gnu-build-system)
(inputs
- (list gmp lesstif libffi libx11 libxt))
+ (list gmp libffi libx11 libxt motif))
(arguments
'(#:configure-flags
(list "--with-gmp"
"--with-x")
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'patch-config-h
+ (lambda _
+ ;; courtesy: https://github.com/NixOS/nixpkgs/pull/372200
+ (call-with-port (open-file "config.h.in" "a")
+ (lambda (out)
+ (display "\n#define _Static_assert static_assert\n" out)))))
(add-after 'build 'build-compiler
(lambda* (#:key make-flags parallel-build? #:allow-other-keys)
(define flags
diff --git a/gnu/packages/squirrel.scm b/gnu/packages/squirrel.scm
index 1b9489882f..7f959cace0 100644
--- a/gnu/packages/squirrel.scm
+++ b/gnu/packages/squirrel.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2019 Li-cheng (Andy) Tai <atai@atai.org>
+;;; Copyright © 2019, 2024 Li-cheng (Andy) Tai <atai@atai.org>
;;
;;; This file is part of GNU Guix.
;;;
@@ -22,6 +22,7 @@
#:use-module (gnu packages sphinx)
#:use-module (guix build-system cmake)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build utils)
#:use-module (guix packages)
@@ -30,17 +31,16 @@
(define-public squirrel
(package
(name "squirrel")
- (version "3.1")
+ (version "3.2")
(source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/squirrel/squirrel3/"
- "squirrel " version " stable/squirrel_"
- (string-join (string-split version #\.) "_")
- "_stable.tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/albertodemichelis/squirrel.git")
+ (commit (string-append "v" version))))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1jyh1523zrrnh9swanfrda0s14mvwc9431dh07g0nx74hbxsfia8"))))
+ "028v90k5bbcb8qwysgv6r0ycy6g920ns32i2sdq0i8hqib90ac5z"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DDISABLE_STATIC=ON")
@@ -49,26 +49,16 @@
(modify-phases %standard-phases
(add-after 'install 'install-documentation
(lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
+ (let* ((source (assoc-ref %build-inputs "source"))
+ (out (assoc-ref outputs "out"))
(doc-dir (string-append out "/share/doc/squirrel")))
(for-each
(lambda (file)
- (install-file (string-append "../squirrel3/" file) doc-dir))
+ (install-file (string-append source "/" file) doc-dir))
'("COPYRIGHT" "HISTORY" "README"
- "doc/sqstdlib3.pdf" "doc/squirrel3.pdf")))
- #t))
- (add-after 'install 'install-headers
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (include-dir (string-append out "/include/squirrel")))
- (mkdir-p include-dir)
- (for-each
- (lambda (header-file)
- (copy-recursively header-file
- (string-append include-dir
- "/"
- (basename header-file))))
- (find-files "../squirrel3/include")))
+ ;"doc/sqstdlib3.pdf" "doc/squirrel3.pdf" ;; pdf not build out of git; TODO
+
+ )))
#t)))))
(native-inputs
`(("cmake" ,cmake-minimal)
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 1fecee078f..be9891a7ee 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -137,7 +137,7 @@ file names.
(define-public libssh
(package
(name "libssh")
- (version "0.11.1")
+ (version "0.11.2")
(source (origin
(method url-fetch)
(uri (string-append "https://www.libssh.org/files/"
@@ -145,17 +145,7 @@ file names.
"/libssh-" version ".tar.xz"))
(sha256
(base32
- "0y8v5ihrqnjxchvjhz8fcczndchaaxxim64bqm8q3q4i5v3xrdql"))
- (modules '((guix build utils)))
- (snippet
- ;; 'PATH_MAX' is undefined on GNU/Hurd; work around it.
- #~(substitute* (find-files "examples" "\\.c$")
- (("#include \"examples_common\\.h\"" all)
- (string-append all "\n"
- "#ifndef PATH_MAX\n"
- "# define PATH_MAX 4096\n"
- "#endif\n"))))
- (patches (search-patches "libssh-openssh-banner.patch"))))
+ "1rq4dnmaz7zi0y7myvqi5xgdy9mwl80lanhfmw5iyq2viz0rylk9"))))
(build-system cmake-build-system)
(outputs '("out" "debug"))
(arguments
@@ -163,13 +153,7 @@ file names.
#:configure-flags
#~(list #$@(if (%current-target-system)
#~()
- #~("-DUNIT_TESTING=ON"))
- #$@(if (and (%current-target-system)
- (not (target-64bit?)))
- #~((string-append
- "-DCMAKE_C_FLAGS=-g -O2"
- " -Wno-error=incompatible-pointer-types"))
- #~()))
+ #~("-DUNIT_TESTING=ON")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-commands
@@ -183,12 +167,15 @@ file names.
(substitute* '("tests/server/test_server/default_cb.c")
(("\"/bin/sh\"")
(format #f "~s" (which "sh"))))))
- (add-before 'check 'prepare-for-tests
- ;; A few test rely on the assumption that HOME == user's pw_dir,
- ;; which is not satisfied in Guix, where `pw_dir' is '/' while
- ;; HOME is '/homeless-shelter'.
- (lambda _
- (setenv "HOME" "/"))))))
+ #$@(if (system-hurd?)
+ #~((add-after 'unpack 'skip-tests-hurd
+ ;; these subtests require an ipv6 address
+ ;; torture_config_match_localnetwork_string
+ ;; torture_config_match_localnetwork_file
+ (lambda _
+ (substitute* "tests/unittests/CMakeLists.txt"
+ (("torture_config_match_localnetwork") "")))))
+ #~()))))
(native-inputs (list cmocka))
(inputs (list bash-minimal mit-krb5 openssl zlib))
(synopsis "SSH client library")
@@ -771,7 +758,7 @@ monitor it, restarting it as necessary should it die or stop passing traffic.")
(define-public pdsh
(package
(name "pdsh")
- (version "2.34")
+ (version "2.35")
(source
(origin
(method url-fetch)
@@ -779,7 +766,7 @@ monitor it, restarting it as necessary should it die or stop passing traffic.")
"releases/download/pdsh-" version
"/pdsh-" version ".tar.gz"))
(sha256
- (base32 "1s91hmhrz7rfb6h3l5k97s393rcm1ww3svp8dx5z8vkkc933wyxl"))))
+ (base32 "1ziw142im1hzj0wr20msrp97sp709x1c9ybgilzz9zs8g0s1bvvm"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index a8cfd9104a..bcbd0f30f7 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -916,6 +916,51 @@ point (up to 50% contamination) and have a number of nice applications in
machine learning, computer vision, and high-dimensional statistics.")
(license license:asl2.0)))
+(define-public python-nautilus-sampler
+ (package
+ (name "python-nautilus-sampler")
+ (version "1.0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "nautilus_sampler" version))
+ (sha256
+ (base32 "1b73rxg7b5fzpw4ss4py98xdxddkl1dh2dszp2pxv3y179iyniqj"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "--durations=0"
+ ;; One Dask test hangs.
+ "-k" "not test_pool[dask]")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _ (setenv "OMP_NUM_THREADS" "1"))))))
+ (native-inputs
+ (list python-dask
+ python-distributed
+ python-flit-core
+ python-h5py
+ python-pytest
+ python-pytest-xdist))
+ (propagated-inputs
+ (list python-numpy
+ python-scikit-learn
+ python-scipy
+ python-threadpoolctl))
+ (home-page "https://github.com/johannesulf/nautilus")
+ (synopsis "Neural Network-Boosted Importance Sampling for Bayesian Statistics")
+ (description
+ "Nautilus is an pure-Python package for Bayesian posterior and evidence
+estimation. It utilizes importance sampling and efficient space exploration
+using neural networks. Compared to traditional @acronym{MCMC, Markov chain
+Monte Carlo} and Nested Sampling codes, it often needs fewer likelihood calls
+and produces much larger posterior samples. Additionally, nautilus is highly
+accurate and produces Bayesian evidence estimates with percent precision. It
+is widely used in many areas of astrophysical research.")
+ (license license:expat)))
+
(define-public python-nestle
(package
(name "python-nestle")
@@ -3180,18 +3225,20 @@ files, including Rmarkdown files.")
(license license:gpl3+)))
(define-public readstat
+ (let ((commit "718d49155e327471ed9bf4a8c157f849f285b46c")
+ (revision "0"))
(package
(name "readstat")
- (version "1.1.9")
+ (version (git-version "1.1.9" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/WizardMac/ReadStat")
- (commit (string-append "v" version))))
+ (commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "0aqalr86d7h9sp9zjkydw3ap4s54qgq2ml6p8gd0gnn1jf0ljm72"))))
+ (base32 "121axcx4shd0fqlcr1mk7y841sd59r9mx473c4av8gs81xfhcg0h"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake gettext-minimal libtool))
@@ -3201,7 +3248,7 @@ files, including Rmarkdown files.")
(synopsis "Convert SAS, Stata, and SPSS files")
(description "Command-line tool and C library for reading files from
popular stats packages like SAS, Stata and SPSS.")
- (license license:expat)))
+ (license license:expat))))
(define-public python-pyreadstat
(package
diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm
index c7b1d2e2fd..567bea2c82 100644
--- a/gnu/packages/storage.scm
+++ b/gnu/packages/storage.scm
@@ -69,6 +69,7 @@
#:use-module (gnu packages sqlite)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages)
@@ -84,14 +85,14 @@
(define-public ceph
(package
(name "ceph")
- (version "17.2.7")
+ (version "17.2.9")
(source (origin
(method url-fetch)
(uri (string-append "https://download.ceph.com/tarballs/ceph-"
version ".tar.gz"))
(sha256
(base32
- "1612424yrf39dz010ygz8k5x1vc8731549ckfj1r39dg00m62klp"))
+ "04m4zxp9hjvppl679ilnr90zr6ij08wr4ralr0whzldy0fskc8hp"))
(patches
(search-patches
"ceph-disable-cpu-optimizations.patch"
@@ -233,7 +234,7 @@
(outputs
'("out" "lib"))
(native-inputs
- (list gperf pkg-config python-cython python-sphinx yasm))
+ (list git-minimal gperf pkg-config python-cython python-sphinx yasm))
(inputs
(list `(,apache-thrift "lib")
`(,apache-thrift "include")
diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm
index 6bb754a079..a323457615 100644
--- a/gnu/packages/sync.scm
+++ b/gnu/packages/sync.scm
@@ -143,6 +143,7 @@
(((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
(guix build qt-build-system)
(guix build utils))
+ #:test-exclude "SyncXAttrTest"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-cmake
@@ -159,13 +160,9 @@
(("@kwidgetsaddons@")
(search-input-directory inputs
"/include/KF5/KWidgetsAddons/")))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "QT_QPA_PLATFORM" "offscreen")
- (invoke "ctest" "-E" "SyncXAttrTest"))))
(add-before 'check 'pre-check
(lambda _
+ (setenv "QT_QPA_PLATFORM" "offscreen")
;; Tests write to $HOME.
(setenv "HOME" (getcwd))
#t))
@@ -442,7 +439,6 @@ and securely connects to Microsoft OneDrive services.")
`(;; The "tests" target is broken and assumes that tests are run in the
;; root directory.
#:tests? #f
- #:test-target "tests"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'search-$PATH-for-binaries
diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm
index dfe6a782be..dae4719b51 100644
--- a/gnu/packages/syndication.scm
+++ b/gnu/packages/syndication.scm
@@ -601,7 +601,7 @@ to create RSS feeds for websites that don't provide any.")
(base32 "1fl362920n6nz4x9wihyzbr82d9cy60sknhmajj62whd5gs49sbw"))))
(build-system meson-build-system)
(inputs (list fmt tidy-html pybind11 python pugixml))
- (native-inputs (list cmake pkg-config)) ; need cmake to find pybind11
+ (native-inputs (list cmake-minimal pkg-config)) ; need cmake to find pybind11
(home-page "https://gitlab.com/gabmus/syndication-domination")
(synopsis "RSS/Atom feed parser")
(description "This package provides an experimental RSS/Atom feed
diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm
index 1020595718..047145dd63 100644
--- a/gnu/packages/task-management.scm
+++ b/gnu/packages/task-management.scm
@@ -267,6 +267,9 @@ execution, and libreadline support.")
(build-system cmake-build-system)
(arguments
(list
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'patch-source-shebangs 'patch-cmake-shell
@@ -282,6 +285,10 @@ execution, and libreadline support.")
(substitute* "doc/man7/CMakeLists.txt"
(("\\$\\{CMAKE_CURRENT_BINARY_DIR\\}")
"${CMAKE_CURRENT_SOURCE_DIR}"))))
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "test" args)))
(add-after 'install 'install-completions
(lambda _
(let ((bash-completion-install-dir
diff --git a/gnu/packages/tbb.scm b/gnu/packages/tbb.scm
index 926e9dcad4..5fdc41553b 100644
--- a/gnu/packages/tbb.scm
+++ b/gnu/packages/tbb.scm
@@ -50,7 +50,8 @@
"tbb-gcc-14.patch"))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags
+ `(#:parallel-tests? #f
+ #:configure-flags
'(,@(if (or (target-riscv64?)
(target-ppc32?))
'("-DTBB_TEST_LINK_FLAGS=-latomic")
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index c833bcc0cc..2fa8013485 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -1291,6 +1291,7 @@ route audio during phone calls, and a library.")
(sha256
(base32 "1k874v9bzipk5x9nr21f3259f5sk7nxnnz618kji0mx9aa0fvjf1"))))
(build-system cmake-build-system)
+ (arguments (list #:tests? #f)) ; disabled by default and still failing
(native-inputs (list pkg-config))
(inputs (list openssl zlib))
(synopsis "Library for real-time communications with async IO support")
@@ -1321,7 +1322,8 @@ Binary Floor Control Protocol}, @acronym{HTTP, Hypertext Transfer Protocol} and
(base32 "1xwvhpvrs6anw8mq709ff9d6vm0mizf6sj1sz69y85s7p4qz4rfz"))))
(build-system cmake-build-system)
(arguments
- `(#:make-flags (list (string-append "PREFIX=" %output))
+ `(#:tests? #f
+ #:make-flags (list (string-append "PREFIX=" %output))
#:phases (modify-phases %standard-phases
(add-after 'unpack 'neuter-module_path
(lambda* (#:key outputs #:allow-other-keys)
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index aa8aee0df2..4d14c334ae 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -290,8 +290,6 @@ text-based approach to terminal recording.")
(delete-file-recursively "external/xkbcommon")
#t))))
(build-system cmake-build-system)
- (arguments
- `(#:configure-flags '("-DBUILD_TESTING=ON")))
(native-inputs
(list check libxkbcommon ; for xkbcommon-keysyms.h
pkg-config))
@@ -1426,7 +1424,7 @@ comfortably in a pager or editor.
(define-public eternalterminal
(package
(name "eternalterminal")
- (version "6.2.4")
+ (version "6.2.11")
(source
(origin
(method git-fetch)
@@ -1435,7 +1433,7 @@ comfortably in a pager or editor.
(commit (string-append "et-v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "13vhr701j85ga37d53339bxgrf9fqa6z1zcp6s3ly5bb8p7lyvzm"))))
+ (base32 "1ik4kdw574l087yxck2clzwjmdacar8my3k2ih8dbn5m0djq4ybp"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DBUILD_TEST=ON" "-DDISABLE_VCPKG=1")))
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index b9a3c2222b..c240878926 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -77468,19 +77468,25 @@ PDF documents.")
"1qnh5g8zkjpjmw2l8spcynpfgs3wpcfcla5ms2kkgvkbdlzspqqx"))))
(build-system qt-build-system)
(arguments
- `(#:test-target "check"
- #:phases
- (modify-phases %standard-phases
- ;; Qt has its own configuration utility.
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (invoke "qmake"
- (string-append "PREFIX=" out)
- (string-append "DESKTOPDIR=" out "/share/applications")
- (string-append "ICONDIR=" out "/share/pixmaps")
- (string-append "METAINFODIR=" out "/share/metainfo")
- "texmaker.pro")))))))
+ (list
+ #:tests? #f ; no tests
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Qt has its own configuration utility.
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (invoke "qmake"
+ (string-append "PREFIX=" out)
+ (string-append "DESKTOPDIR=" out "/share/applications")
+ (string-append "ICONDIR=" out "/share/pixmaps")
+ (string-append "METAINFODIR=" out "/share/metainfo")
+ "texmaker.pro"))))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'install (assoc-ref gnu:%standard-phases 'install)))))
(inputs
(list poppler-qt5 qtbase-5 qtwayland-5 qtscript-5 zlib))
(native-inputs
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 1d2e94bb29..4ebb91b8fc 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -78,6 +78,7 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages base)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages cmake)
#:use-module (gnu packages code)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
@@ -234,117 +235,112 @@ intuitive, while also taking advantage of the capabilities of modern terminals."
(license license:expat))))
(define-public lem
- (let ((commit "0025e1c196b50fbf6b8a97f8b9ef986f8d316cdf")
- (revision "8"))
- (package
- (name "lem")
- (version (git-version "2.2.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/lem-project/lem/")
- (commit commit)))
- (sha256
- (base32 "06hd0n66q69nr15ypdmwlwl6m9l2pzj6fym7dm8v2zp165pgr7s1"))
- (file-name (git-file-name name version))
- (snippet
- #~(begin
- (use-modules (guix build utils))
- (delete-file-recursively "roswell")
- ;; Delete precompiled shared object files.
- (delete-file-recursively "extensions/terminal/lib")))))
- (build-system asdf-build-system/sbcl)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'patch-shared-object-files
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((libvterm-lib (assoc-ref inputs "libvterm"))
- (lib-dir (string-append libvterm-lib "/lib"))
- (shared-lib-dir (string-append (assoc-ref outputs "out")
- "/lib"))
- (shared-lib (string-append shared-lib-dir
- "/terminal.so")))
-
- (substitute* "extensions/terminal/ffi.lisp"
- (("terminal.so") shared-lib)))))
- (add-after 'create-asdf-configuration 'build-program
- (lambda* (#:key outputs #:allow-other-keys)
- (build-program
- (string-append (assoc-ref outputs "out") "/bin/lem")
- outputs
- #:dependencies '("lem-ncurses" "lem-sdl2")
- #:entry-program '((lem:main) 0))))
- (add-after 'build 'build-terminal-library
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((libvterm-lib (assoc-ref inputs "libvterm"))
- (lib-dir (string-append libvterm-lib "/lib"))
- (shared-lib-dir (string-append (assoc-ref outputs "out")
- "/lib"))
- (shared-lib (string-append shared-lib-dir
- "/terminal.so")))
- (mkdir-p shared-lib-dir)
- (invoke #$(cc-for-target)
- "extensions/terminal/terminal.c"
- "-L" lib-dir "-lvterm"
- "-Wl,-Bdynamic"
- "-o" shared-lib
- "-shared"
- "-fPIC"
- "-lutil")))))))
- (native-inputs
- (list sbcl-cl-ansi-text
- sbcl-rove
- sbcl-trivial-package-local-nicknames))
- (inputs
- (list
- libvterm
- sbcl-alexandria
- sbcl-trivia
- sbcl-trivial-gray-streams
- sbcl-trivial-types
- sbcl-cl-ppcre
- sbcl-closer-mop
- sbcl-iterate
- sbcl-lem-mailbox
- sbcl-inquisitor
- sbcl-babel
- sbcl-bordeaux-threads
- sbcl-yason
- sbcl-log4cl
- sbcl-split-sequence
- sbcl-cl-str
- sbcl-dexador
- sbcl-3bmd
- sbcl-micros
- sbcl-lisp-preprocessor
- sbcl-trivial-ws
- sbcl-trivial-open-browser
- sbcl-sdl2
- sbcl-sdl2-ttf
- sbcl-sdl2-image
- sbcl-trivial-main-thread
- sbcl-cffi
- sbcl-cl-charms
- sbcl-cl-setlocale
- sbcl-log4cl
- sbcl-jsonrpc
- sbcl-usocket
- sbcl-quri
- sbcl-cl-change-case
- sbcl-async-process
- sbcl-cl-iconv
- sbcl-esrap
- sbcl-parse-number
- sbcl-cl-package-locks
- sbcl-slime-swank
- sbcl-trivial-utf-8))
- (home-page "http://lem-project.github.io/")
- (synopsis "Integrated IDE/editor for Common Lisp")
- (description "Lem is a Common Lisp editor/IDE with high expansibility.")
- (license license:expat))))
+ (package
+ (name "lem")
+ (version "2.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lem-project/lem/")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "0qkgs6xnbbnyjh9i1zp9l5iw6zj4hlb2b42b272pbmxw6pd3zp4a"))
+ (file-name (git-file-name name version))
+ (snippet #~(begin
+ (use-modules (guix build utils))
+ (delete-file-recursively "roswell")
+ ;; Delete precompiled shared object files.
+ (delete-file-recursively "extensions/terminal/lib")))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-shared-object-files
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((libvterm-lib (assoc-ref inputs "libvterm"))
+ (lib-dir (string-append libvterm-lib "/lib"))
+ (shared-lib-dir (string-append (assoc-ref outputs "out")
+ "/lib"))
+ (shared-lib (string-append shared-lib-dir "/terminal.so")))
+ (substitute* "extensions/terminal/ffi.lisp"
+ (("terminal.so")
+ shared-lib)))))
+ (add-after 'create-asdf-configuration 'build-program
+ (lambda* (#:key outputs #:allow-other-keys)
+ (build-program (string-append (assoc-ref outputs "out")
+ "/bin/lem")
+ outputs
+ #:dependencies '("lem-ncurses" "lem-sdl2")
+ #:entry-program '((lem:main)
+ 0))))
+ (add-after 'build 'build-terminal-library
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((libvterm-lib (assoc-ref inputs "libvterm"))
+ (lib-dir (string-append libvterm-lib "/lib"))
+ (shared-lib-dir (string-append (assoc-ref outputs "out")
+ "/lib"))
+ (shared-lib (string-append shared-lib-dir "/terminal.so")))
+ (mkdir-p shared-lib-dir)
+ (invoke #$(cc-for-target)
+ "extensions/terminal/terminal.c"
+ "-L"
+ lib-dir
+ "-lvterm"
+ "-Wl,-Bdynamic"
+ "-o"
+ shared-lib
+ "-shared"
+ "-fPIC"
+ "-lutil")))))))
+ (native-inputs (list sbcl-cl-ansi-text sbcl-rove
+ sbcl-trivial-package-local-nicknames))
+ (inputs (list libvterm
+ sbcl-alexandria
+ sbcl-trivia
+ sbcl-trivial-gray-streams
+ sbcl-trivial-types
+ sbcl-cl-ppcre
+ sbcl-closer-mop
+ sbcl-iterate
+ sbcl-lem-mailbox
+ sbcl-inquisitor
+ sbcl-babel
+ sbcl-bordeaux-threads
+ sbcl-yason
+ sbcl-log4cl
+ sbcl-split-sequence
+ sbcl-cl-str
+ sbcl-dexador
+ sbcl-3bmd
+ sbcl-micros
+ sbcl-lisp-preprocessor
+ sbcl-trivial-ws
+ sbcl-trivial-open-browser
+ sbcl-sdl2
+ sbcl-sdl2-ttf
+ sbcl-sdl2-image
+ sbcl-trivial-main-thread
+ sbcl-cffi
+ sbcl-cl-charms
+ sbcl-cl-setlocale
+ sbcl-log4cl
+ sbcl-jsonrpc
+ sbcl-usocket
+ sbcl-quri
+ sbcl-cl-change-case
+ sbcl-async-process
+ sbcl-cl-iconv
+ sbcl-esrap
+ sbcl-parse-number
+ sbcl-cl-package-locks
+ sbcl-slime-swank
+ sbcl-trivial-utf-8))
+ (home-page "http://lem-project.github.io/")
+ (synopsis "Integrated IDE/editor for Common Lisp")
+ (description "Lem is a Common Lisp editor/IDE with high expansibility.")
+ (license license:expat)))
(define-public vis
(package
@@ -787,8 +783,7 @@ jmacs, joe, jpico, jstar, and rjoe.")
(delete-file-recursively "lib/json")))))
(build-system cmake-build-system)
(arguments
- (list #:configure-flags #~(list "-DBUILD_TESTING=ON")
- #:phases
+ (list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-tiny-process-library
(lambda* (#:key native-inputs inputs #:allow-other-keys)
@@ -1265,27 +1260,29 @@ in plain text file format.")
(base32 "05qllpls3r95nfl14gqq3cv4lisf07fgn85n52w8blc5pfl1h93g"))))
(build-system cmake-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'insert-tests
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((tests (assoc-ref inputs "tests")))
- (copy-recursively tests "tests"))
- #t))
- (add-after 'insert-tests 'disable-failing-tests
- (lambda _
- (substitute* "tests/parser/CMakeLists.txt"
- (("# Test max property name and values")
- "# Disabled: test max property name and values\nif(FALSE)\n")
- (("# Test max section names")
- "endif()\n\n# Test max section names"))))
- (add-after 'install 'delete-static-library
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (lib (string-append out "/lib")))
- (with-directory-excursion lib
- (delete-file "libeditorconfig_static.a"))
- #t))))))
+ (list
+ #:cmake cmake-3.25
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'insert-tests
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((tests (assoc-ref inputs "tests")))
+ (copy-recursively tests "tests"))
+ #t))
+ (add-after 'insert-tests 'disable-failing-tests
+ (lambda _
+ (substitute* "tests/parser/CMakeLists.txt"
+ (("# Test max property name and values")
+ "# Disabled: test max property name and values\nif(FALSE)\n")
+ (("# Test max section names")
+ "endif()\n\n# Test max section names"))))
+ (add-after 'install 'delete-static-library
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib")))
+ (with-directory-excursion lib
+ (delete-file "libeditorconfig_static.a"))
+ #t))))))
(native-inputs
`(("tests"
,(origin
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index ecfdbd0e0a..dc5c7c6849 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -506,9 +506,23 @@ useful when it is desired to reformat numbers.
(base32 "0z4ibnd2zzya489vl84cfh82bmdwdhf0isf1myqwrs3s9s0vqyyn"))))
(build-system gnu-build-system)
(arguments
- (list #:configure-flags #~(list "--disable-dependency-tracking")
+ (list #:configure-flags
+ #~(list "--disable-dependency-tracking"
+ "CFLAGS=-g -O2 -Wno-error=implicit-int")
#:phases
#~(modify-phases %standard-phases
+ (add-before 'build 'gcc14
+ (lambda _
+ (substitute* "uniname.c"
+ (("#include <unistd.h>" all)
+ (string-append all "\n#include <ctype.h>")))
+ (substitute* "unifuzz.c"
+ (("#include <unistd.h>" all)
+ (string-append all "\n#include <time.h>"))
+ (("^Emit") "void Emit"))
+ (substitute* "putu8.c"
+ (("void" all)
+ (string-append "#include <stdio.h>\n" all)))))
(add-after 'build 'fix-paths
(lambda* (#:key outputs inputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
@@ -1450,6 +1464,7 @@ reading and writing CSV and TSV files.")
(arguments
;; Required to locate the install script properly.
`(#:out-of-source? #f
+ #:tests? #f
#:parallel-build? #f ;occasionally failed.
#:imported-modules
(,@%cmake-build-system-modules
diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm
index 66f9ef412c..63b8372c82 100644
--- a/gnu/packages/time.scm
+++ b/gnu/packages/time.scm
@@ -555,22 +555,15 @@ ISO 8601 dates, time and duration.")
(define-public python-iso8601
(package
(name "python-iso8601")
- (version "1.0.2")
+ (version "2.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "iso8601" version))
(sha256
- (base32
- "1ccl6plks706hxm35cn1wsvxhqh3bfwi5cjgjpdxjib81qi07x97"))))
- (build-system python-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "pytest" "-vv" "iso8601"))))))
- (native-inputs
- (list python-pytest python-pytz))
+ (base32 "1px83gnklx1dmwb3n3dcplyfvaczhbvhkjcq34qc88c9xqlkh7bb"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-poetry-core python-pytest python-pytz))
(home-page "https://github.com/micktwomey/pyiso8601")
(synopsis "Module to parse ISO 8601 dates")
(description
@@ -578,6 +571,26 @@ ISO 8601 dates, time and duration.")
@code{2007-01-14T20:34:22+00:00}) into @code{datetime} objects.")
(license expat)))
+(define-public python-iso8601/pinned
+ (hidden-package
+ (package/inherit python-iso8601
+ (version "1.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "iso8601" version))
+ (sha256
+ (base32
+ "1ccl6plks706hxm35cn1wsvxhqh3bfwi5cjgjpdxjib81qi07x97"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "pytest" "-vv" "iso8601"))))))
+ (native-inputs
+ (list python-pytest python-pytz)))))
+
(define-public python-monotonic
(package
(name "python-monotonic")
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 63beb09ef4..7eefc31928 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -324,19 +324,17 @@ required structures.")
;; This package supersedes the Guile bindings that came with GnuTLS until
;; version 3.7.8 included.
(name "guile-gnutls")
- (version "4.0.0")
- (home-page "https://gitlab.com/gnutls/guile/")
+ (version "5.0.1")
+ (home-page "https://codeberg.org/guile-gnutls/guile-gnutls")
(source (origin
;; url-fetch is used here to avoid a circular dependency with
;; git-download, see https://issues.guix.gnu.org/63331
(method url-fetch)
- (uri (string-append
- "https://gitlab.com/gnutls/guile/uploads/"
- "9060bc55069cedb40ab46cea49b439c0"
- "/guile-gnutls-" version ".tar.gz"))
+ (uri (string-append "mirror://gnu/gnutls/guile-gnutls-"
+ version ".tar.gz"))
(sha256
(base32
- "0fdjmy9vfjwk2v616nan1zz6iy9i086vrh5mdcsfqxi00ckbjk2v"))))
+ "0azgp79a4hgmbg2p2ghd1x2zav8894m9ch3i4hbvq8dlxvrnf06c"))))
(build-system gnu-build-system)
(outputs '("out" "debug"))
(arguments
@@ -350,11 +348,7 @@ required structures.")
(string-append "--with-guile-site-ccache-dir="
"$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache")
(string-append "--with-guile-extension-dir="
- "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions"))
-
- ;; The 'gnutls' package currently lacks support for SRP, making this
- ;; test fail.
- #:make-flags #~'("XFAIL_TESTS=tests/srp-base64.scm")))
+ "$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions"))))
(native-inputs
(list libtool
pkg-config
@@ -984,7 +978,8 @@ number generator")
(base32 "0ldqhvmj9wl0yp3hz675zbnq69lw533s0ahy9bbdxxnj5gjb86gw"))))
(build-system cmake-build-system)
(arguments
- (list #:configure-flags
+ (list #:parallel-tests? #f
+ #:configure-flags
#~(list "-DCMAKE_C_FLAGS=-Wno-error=calloc-transposed-args"
"-DUSE_SHARED_MBEDTLS_LIBRARY=ON"
"-DUSE_STATIC_MBEDTLS_LIBRARY=OFF")
@@ -1236,9 +1231,18 @@ ciphers such as ChaCha20, Curve25519, NTRU, and Blake2b.")
(build-system cmake-build-system)
(native-inputs (list perl))
(arguments
- '(#:test-target "run_minimal_tests"
- #:configure-flags
- '("-DBUILD_SHARED_LIBS=ON" "-DDISABLE_GO=ON")))
+ (list
+ #:configure-flags
+ #~(list "-DBUILD_SHARED_LIBS=ON" "-DDISABLE_GO=ON")
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "run_minimal_tests" args))))))
(synopsis "General purpose cryptographic library")
(description "AWS libcrypto (aws-lc) contains portable C implementations
of algorithms needed for TLS and common applications, and includes optimized
diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm
index ebd957c4ee..6641eb50d2 100644
--- a/gnu/packages/tmux.scm
+++ b/gnu/packages/tmux.scm
@@ -234,7 +234,7 @@ them, etc., by attaching to the corresponding pane in tmux.")
(define-public tmux-xpanes
(package
(name "tmux-xpanes")
- (version "4.1.3")
+ (version "4.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -243,7 +243,7 @@ them, etc., by attaching to the corresponding pane in tmux.")
(file-name (git-file-name name version))
(sha256
(base32
- "09fmnn1q76r1l4cv7clmfr3j9cjmd053kq238d0qj2i486948ivv"))))
+ "0k37zswn6s9iclm9yasil9jhy768qn9fv3m489irfwrx1vc8lp9w"))))
(build-system trivial-build-system)
(inputs
(list bash))
@@ -372,7 +372,7 @@ left it off the last time it was used.")
(define-public tmux-plugin-mem-cpu-load
(package
(name "tmux-plugin-mem-cpu-load")
- (version "3.7.0")
+ (version "3.8.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -380,7 +380,7 @@ left it off the last time it was used.")
(commit (string-append "v" version))))
(sha256
(base32
- "03bax7g9jlsci44ccs50drh617ya3fzvlplwyvxfyb7mgmh85r72"))
+ "041hd6s6prk63r121yggxmzhbp40h6r04mrby0q51x43lfgvmvw3"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(synopsis "CPU, RAM, and load monitor for use with tmux")
diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
index f3044dc9e6..2c4ca1b814 100644
--- a/gnu/packages/tor.scm
+++ b/gnu/packages/tor.scm
@@ -338,12 +338,7 @@ networks.")
(add-before 'check 'pre-check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
- (setenv "HOME" "/tmp")
- ;; Greendns is not needed for testing, and if eventlet tries
- ;; to load it, an OSError is thrown when getprotobyname is
- ;; called. Thankfully there is an environment variable to
- ;; disable the greendns import, so use it:
- (setenv "EVENTLET_NO_GREENDNS" "yes")))))))
+ (setenv "HOME" "/tmp")))))))
(home-page "https://onionshare.org/")
(synopsis "Securely and anonymously share files")
(description "OnionShare lets you securely and anonymously share files,
@@ -385,8 +380,6 @@ OnionShare.")
(substitute* "tests/conftest.py"
(("\"cli\",")
"\"/nonexistent\""))
- ;; Avoid `getprotobyname` issues:
- (setenv "EVENTLET_NO_GREENDNS" "yes")
;; Make Qt render "offscreen":
(setenv "QT_QPA_PLATFORM" "offscreen")
(setenv "HOME" "/tmp")
diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm
index 92ca82d9a1..f9596e3331 100644
--- a/gnu/packages/upnp.scm
+++ b/gnu/packages/upnp.scm
@@ -193,7 +193,7 @@ It aims to be fully compliant with DLNA and UPnP-AV standards.")
(define-public gerbera
(package
(name "gerbera")
- (version "2.2.0")
+ (version "2.5.0")
(source
(origin
(method git-fetch)
@@ -202,7 +202,7 @@ It aims to be fully compliant with DLNA and UPnP-AV standards.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1pqqjwza9fs59n2x685yvfb0sdwigknfxc4ihh3phpqyg99427kk"))))
+ (base32 "0lhzjln7ljfvr696wsghhjqn2hrwwvxga4ifpxnjypraxkqkyzyx"))))
(build-system cmake-build-system)
(arguments
(list
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index d46a74bb91..7e16567281 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -1155,7 +1155,7 @@ provides an integration with GitHub and GitLab.")
(define-public got
(package
(name "got")
- (version "0.115")
+ (version "0.116")
(source (origin
(method url-fetch)
(uri
@@ -1164,7 +1164,7 @@ provides an integration with GitHub and GitLab.")
version ".tar.gz"))
(sha256
(base32
- "1rw9i74b4q99ja0j4xckx3bbzl8jixxpfnsjzgw7sx3lqcfbrw5d"))))
+ "1zsdisaqv1q612a7jws9qd8n1gm9ilz5mnprkpgvdhc27gblm9p8"))))
(inputs
(list libevent
`(,util-linux "lib")
@@ -3183,8 +3183,19 @@ patch associated with a particular revision of an RCS file.")
(build-system gnu-build-system)
(arguments
;; XXX: The test suite looks flawed, and the package is obsolete anyway.
- '(#:tests? #f
- #:configure-flags (list "--with-external-zlib")))
+ (list
+ #:tests? #f
+ #:configure-flags
+ #~(list
+ "--with-external-zlib"
+ "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-include
+ (lambda _
+ (substitute* "lib/sighandle.c"
+ (("#ifdef STDC_HEADERS" all)
+ (string-append "#define STDC_HEADERS 1\n" all))))))))
(inputs (list zlib nano)) ; the default editor
(home-page "https://cvs.nongnu.org")
(synopsis "Historical centralized version control system")
@@ -4754,7 +4765,7 @@ commit messages for style.")
(define-public git-extras
(package
(name "git-extras")
- (version "7.3.0")
+ (version "7.4.0")
(source
(origin
(method git-fetch)
@@ -4763,7 +4774,7 @@ commit messages for style.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1lig1sbk83qqvbvpmpcjaf23nk0r7snny5lix75ym1z320970xni"))))
+ (base32 "1v5yp4qrv1vf2yrvysk706grw99bhn93613q5dz598b008w6c467"))))
(build-system gnu-build-system)
(arguments
(list
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 7748ecd632..f6481f4e4c 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2423,12 +2423,6 @@ input files is possible, including video files.")
(list #:configure-flags
#~(list (string-append "--cc=" #$(cc-for-target))
(string-append "--cxx=" #$(cxx-for-target))
- ;; Help the configure script correctly detect the
- ;; availability of freetype (see:
- ;; <https://github.com/gpac/gpac/issues/3307>).
- (format #f "--extra-cflags=-I~a"
- (search-input-directory %build-inputs
- "include/freetype2"))
"--verbose")
;; The test suite is a git submodule that must synchronize its data
;; from the network.
@@ -2840,9 +2834,14 @@ projects while introducing many more.")
(list #:tests? #false ; no tests
#:make-flags #~(list (string-append "PREFIX=" #$output)
(string-append "CC=" #+(cc-for-target)))
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'install (assoc-ref gnu:%standard-phases 'install))
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -4159,7 +4158,7 @@ be used for realtime video capture via Linux-specific APIs.")
(build-system cmake-build-system)
(arguments
(list
- #:cmake cmake-next ;needs cmake >= 3.28
+ #:tests? #f
#:configure-flags
#~(let ((libdir (string-append (assoc-ref %outputs "out") "/lib")))
(list (string-append "-DOBS_VERSION_OVERRIDE=" #$version)
@@ -6120,7 +6119,8 @@ create smoother and stable videos.")
qtsvg-5
zeromq))
(arguments
- `(#:configure-flags
+ `(#:tests? #f
+ #:configure-flags
(list (string-append "-DPYTHON_MODULE_PATH:PATH=" %output "/lib/python"
,(version-major+minor (package-version python))
"/site-packages")
@@ -6209,7 +6209,7 @@ transitions, and effects and then export your film to many common formats.")
(define-public shotcut
(package
(name "shotcut")
- (version "25.05.11")
+ (version "25.07.26")
(source
(origin
(method git-fetch)
@@ -6218,7 +6218,7 @@ transitions, and effects and then export your film to many common formats.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1mrv33mimx103qyq6kpzb2cb8xbxwlxzn9x24fgkimmfbcigks6a"))))
+ (base32 "0213adgk8zlsw160dz3bbdkhlz627cg42i6ng35flgxdx0z050hn"))))
(build-system qt-build-system)
(arguments
(list
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 89a001b51c..b67f5b1373 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -811,7 +811,8 @@ is based on Vim's builtin plugin support.")
"1j3z7jay0m6g06v04falrzr062g07xr4svbrc3hywlqi2h6rrvk5"))))
(build-system cmake-build-system)
(arguments
- (list #:modules
+ (list #:tests? #f
+ #:modules
'((srfi srfi-26) (guix build cmake-build-system)
(guix build utils))
#:configure-flags
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 0883be513b..143c884198 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -3149,7 +3149,7 @@ to host the RISC-V Linux port.")
(base32
"0g0rib62qg81fda8lxsaa7a1ykqy4rl5sq185pdqm9y9xifa8bx5"))))
(build-system gnu-build-system)
- (native-inputs (list automake
+ (native-inputs (list automake-1.16.5
autoconf
gettext-minimal
libtool
diff --git a/gnu/packages/vnc.scm b/gnu/packages/vnc.scm
index c4051c7672..c7883d1bbc 100644
--- a/gnu/packages/vnc.scm
+++ b/gnu/packages/vnc.scm
@@ -372,7 +372,7 @@ used to connect to VNC servers such as the tigervnc-server package.")
libtool
gettext-minimal
font-util
- cmake
+ cmake-minimal
perl)))
(inputs
(modify-inputs (append (package-inputs xorg-server)
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index ed067f0e02..58a4c758a4 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -835,7 +835,7 @@ others.")
(define-public openfortivpn
(package
(name "openfortivpn")
- (version "1.17.3")
+ (version "1.23.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -844,14 +844,10 @@ others.")
(file-name (git-file-name name version))
(sha256
(base32
- "0an58f0qcyxdx3d5zb5m8vi45a0251b950b5lh16572n8z2g6s2l"))))
+ "1p1vwfhrygf4sap2gifvi1lbw58pacxh8pd9h8mk4gbixvnnzzry"))))
(build-system gnu-build-system)
- (native-inputs
- (list autoconf automake pkg-config))
- (inputs
- ;; ppp < 2.5.0 is required due to
- ;; <https://github.com/adrienverge/openfortivpn/pull/1148>.
- (list openssl ppp-2.4.9))
+ (native-inputs (list autoconf automake pkg-config))
+ (inputs (list openssl ppp))
(home-page "https://github.com/adrienverge/openfortivpn")
(synopsis "Client for PPP+SSL VPN tunnel services")
(description "Openfortivpn is a client for PPP+SSL VPN tunnel services. It
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 1df4e9d1c5..53e6e9d4b1 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -190,7 +190,16 @@ SPIR-V, aiming to emit GLSL or MSL that looks like human-written code.")
(string-append "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath="
#$output "/lib")
"-DBUILD_SHARED_LIBS=ON"
- "-DLLVM_SPIRV_INCLUDE_TESTS=ON")))
+ "-DLLVM_SPIRV_INCLUDE_TESTS=ON")
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "test" args))))))
(inputs (list llvm-18))
(native-inputs (list clang-18 llvm-18 python-lit spirv-headers))
(home-page "https://github.com/KhronosGroup/SPIRV-LLVM-Translator")
@@ -216,8 +225,7 @@ translation between LLVM IR and SPIR-V.")
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
- `(#:cmake ,cmake-minimal-3.30
- #:configure-flags '("-DBUILD_SHARED_LIBS=ON"
+ `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"
"-DALLOW_EXTERNAL_SPIRV_TOOLS=ON"
,@(if (target-riscv64?)
`("-DCMAKE_EXE_LINKER_FLAGS=-latomic")
@@ -371,6 +379,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
;; Limit the tests to those architectures tested upstream.
#:tests? (and (not (%current-target-system))
(target-x86?))
+ #:parallel-tests? #f
#:configure-flags
#~(list (string-append "-DVULKAN_HEADERS_INSTALL_DIR="
(dirname (dirname
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index cb4d032084..a24bef9b63 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -76,6 +76,7 @@
;;; Copyright © 2025 Daniel Khodabakhsh <d@niel.khodabakh.sh>
;;; Copyright © 2025 Josep Bigorra <jjbigorra@gmail.com>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
+;;; Copyright © 2025 Philippe Swartvagher <phil.swart@gmx.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1710,12 +1711,27 @@ current version of any major web browser.")
(delete-file-recursively "bin/jsonchecker")))))
(build-system cmake-build-system)
(arguments
- '(#:phases
+ '(#:configure-flags (list "-DCMAKE_CXX_FLAGS=-Wno-free-nonheap-object")
+ #:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-march=native
(lambda _
(substitute* "CMakeLists.txt"
- (("-m[^-]*=native") "")))))))
+ (("-m[^-]*=native") ""))))
+ (add-after 'fix-march=native 'skip-deleted-tests
+ (lambda _
+ (substitute* "test/unittest/CMakeLists.txt"
+ (("jsoncheckertest.cpp") ""))))
+ (add-after 'fix-march=native 'fix-dependencies
+ (lambda _
+ (substitute* "test/CMakeLists.txt"
+ (("^find_package\\(GTestSrc\\)")
+ "find_package(GTest REQUIRED)")
+ ((".*GTEST_SOURCE_DIR.*") "")
+ (("GTESTSRC_FOUND)")
+ "GTest_FOUND)")))))))
+ (native-inputs (list valgrind/pinned))
+ (inputs (list googletest))
(home-page "https://github.com/Tencent/rapidjson")
(synopsis "JSON parser/generator for C++ with both SAX/DOM style API")
(description
@@ -1764,7 +1780,8 @@ C.")
(search-patches "yajl-CVE-2023-33460.patch"))))
(build-system cmake-build-system)
(arguments
- '(#:phases
+ '(#:tests? #f
+ #:phases
(modify-phases %standard-phases
(add-after 'patch-source-shebangs 'patch-tests
(lambda _
@@ -1851,8 +1868,10 @@ for efficient socket-like bidirectional reliable communication channels.")
(list
;; Tests on non-x86_64 architectures are not well supported upstream.
#:tests? (target-x86-64?)
- #:test-target "run-tests"
#:configure-flags '(list "-DUSE_SYSTEM_GTEST=ON")
+ #:modules '((guix build cmake-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
#:phases
'(modify-phases %standard-phases
(add-after 'unpack 'use-gcc
@@ -1860,7 +1879,11 @@ for efficient socket-like bidirectional reliable communication channels.")
;; XXX This is the only test that fails.
(add-after 'unpack 'delete-broken-test
(lambda _
- (delete-file "test/wasm2c/spec/memory_init.txt"))))))
+ (delete-file "test/wasm2c/spec/memory_init.txt")))
+ (replace 'check
+ (lambda* (#:rest args)
+ (apply (assoc-ref gnu:%standard-phases 'check)
+ #:test-target "run-tests" args))))))
(native-inputs (list python googletest))
(home-page "https://github.com/WebAssembly/wabt")
(synopsis "WebAssembly Binary Toolkit")
@@ -1988,7 +2011,8 @@ features.")
(patches (search-patches "websocketpp-fix-for-cmake-3.15.patch"))))
(build-system cmake-build-system)
(inputs (list boost openssl))
- (arguments '(#:configure-flags '("-DBUILD_TESTS=ON")
+ (arguments '(#:parallel-tests? #f
+ #:configure-flags '("-DBUILD_TESTS=ON")
#:phases
(modify-phases %standard-phases
(add-after 'install 'remove-tests
@@ -6046,7 +6070,7 @@ NetSurf project.")
(define-public iter-vitae
(package
(name "iter-vitae")
- (version "0.3.32")
+ (version "0.3.35")
(source
(origin
(method git-fetch)
@@ -6055,7 +6079,7 @@ NetSurf project.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0r7zvavjflyl8wzysadgh7zmyamvdkicac7652qckgi1aaqh33nw"))))
+ (base32 "0sxdidz1j6bd5s5b3d0p91kd69i6hf9mg4iqppsf5gg31gf2y4d7"))))
(arguments
`(#:source-directory "src"
#:phases (modify-phases %standard-phases
@@ -7623,6 +7647,7 @@ protocols.")
(build-system cmake-build-system)
(arguments
(list
+ #:tests? #f
#:configure-flags
#~(list "-DBUILD_SHARED_LIBS=ON"
"-DCIVETWEB_ENABLE_CXX=ON"
@@ -9028,6 +9053,7 @@ HTTrack is fully configurable, and has an integrated help system.")
(build-system cmake-build-system)
(arguments
(list
+ #:tests? #f
#:phases
'(modify-phases %standard-phases
(add-after 'unpack 'use-system-googletest
@@ -9536,10 +9562,45 @@ HTTP. It can proxy to any domain in order to facilitate linking to the rest
of Geminispace, but it defaults to a specific domain.")
(license license:gpl3+)))
+(define-public maildir-rank-addr
+ (package
+ (name "maildir-rank-addr")
+ (version "1.4.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ferdinandyb/maildir-rank-addr")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "19dhlfb5d8sqayfyv3pj3rnrw3gbkq9vzj7gwcj2g3whx1ayy86y"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:install-source? #f
+ #:import-path "github.com/ferdinandyb/maildir-rank-addr"))
+ (native-inputs
+ (list go-github-com-emersion-go-message
+ go-github-com-emersion-go-mbox
+ go-github-com-mitchellh-go-homedir
+ go-github-com-spf13-pflag
+ go-github-com-spf13-viper
+ go-github-com-stretchr-testify
+ go-golang-org-x-text))
+ (home-page "https://github.com/ferdinandyb/maildir-rank-addr")
+ (synopsis "Generate an addressbook from locally available email")
+ (description
+ "This package implements a functionality to generate a ranked addressbook
+from your locally available email. It can be used in MUA's like
+@url{http://aerc-mail.org, aerc} or @url{http://www.mutt.org/,mutt} by
+grepping the list.")
+ (license license:expat)))
+
(define-public libzim
(package
(name "libzim")
- (version "8.2.1")
+ (version "9.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -9547,7 +9608,7 @@ of Geminispace, but it defaults to a specific domain.")
(commit version)))
(sha256
(base32
- "1g735aqw0vlxqgyjv02lvq24dr5shydp4y8mqianf8720s5fs73f"))
+ "1il1vc1hs954s3vnwhr337165dxbykvrldrvbilp5jxbkmwqb60d"))
(file-name (git-file-name name version))))
(build-system meson-build-system)
(arguments
@@ -9573,7 +9634,7 @@ for ZIM files.")
(define-public kiwix-lib
(package
(name "kiwix-lib")
- (version "13.0.0")
+ (version "14.0.0")
(home-page "https://github.com/kiwix/kiwix-lib/")
(source (origin
(method git-fetch)
@@ -9582,7 +9643,7 @@ for ZIM files.")
(commit version)))
(sha256
(base32
- "0mvlppbj0mqn4ka3cfaaj1pvn062cxbgz01c0nq04x0mzq1xwh5w"))
+ "099arjsx1wgz5jhvzn49859wh0v8n3ya33kmnqaw69h55mjvgza0"))
(file-name (git-file-name name version))))
(build-system meson-build-system)
(arguments
@@ -9618,7 +9679,7 @@ It contains the code shared by all Kiwix ports.")
(define-public kiwix-desktop
(package
(name "kiwix-desktop")
- (version "2.3.1")
+ (version "2.4.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -9627,18 +9688,23 @@ It contains the code shared by all Kiwix ports.")
".tar.gz"))
(sha256
(base32
- "0hlk05gcb3fmnxhwj6gan51v98rdq3iv2lklwbpmm1bazmz8i7br"))
- (patches (search-patches "kiwix-desktop-newer-libkiwix.patch"))))
+ "1vkmk9j2jii7ri4lcayr0dr5b2w3dc24lyqmm3g4234834b1f4wl"))))
(build-system qt-build-system)
(arguments
- `(#:test-target "check"
- #:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (invoke "qmake"
- (string-append "PREFIX="
- (assoc-ref outputs "out"))))))))
+ (list
+ #:tests? #f ; no tests
+ #:modules '((guix build qt-build-system)
+ ((guix build gnu-build-system) #:prefix gnu:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "qmake"
+ (string-append "PREFIX="
+ (assoc-ref outputs "out")))))
+ (replace 'build (assoc-ref gnu:%standard-phases 'build))
+ (replace 'install (assoc-ref gnu:%standard-phases 'install)))))
(inputs
(list bash-minimal
curl
@@ -9667,14 +9733,14 @@ offline (such as Wikipedia), without any access to Internet.")
(define-public kiwix-tools
(package
(name "kiwix-tools")
- (version "3.5.0")
+ (version "3.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.kiwix.org/release/"
"kiwix-tools/kiwix-tools-" version ".tar.xz"))
(sha256
(base32
- "0q6b7viy1jr212q0glqid2hqxnsd2mxsx5gzcalkc4gb0bzgj32d"))))
+ "032lzzgn3hicai4lx701cs6h731cs29x1h59j9gggcgrp1n4wxks"))))
(build-system meson-build-system)
(inputs
(list curl
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 52642760e0..92f86c25f8 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -393,8 +393,7 @@ loginctl commands (lock/unlock/before-sleep) and inhibit.")
"0mn97wlzc5ccywbq87ka7a27jajkdkgypkfzkcan014viph80wif"))))
(build-system cmake-build-system)
(arguments
- (list #:cmake cmake-next
- #:tests? #f ;No tests.
+ (list #:tests? #f ;No tests.
#:configure-flags #~'("-DNO_HYPRPM=True")
#:phases
#~(modify-phases %standard-phases
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 0af511d4bb..13cbcc94d8 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -261,8 +261,7 @@ command line, without displaying a keyboard at all.")
"0cwbd9cdbg40frhircwfbaxdqh11s8jqq9dqy228j9zvb27y2b72"))))
(build-system cmake-build-system)
(arguments
- (list #:cmake cmake-next
- ;; TODO: Figure out what's expected in the test environment.
+ (list ;; TODO: Figure out what's expected in the test environment.
#:tests? #f))
(native-inputs
(list gcc-15 hyprwayland-scanner pkg-config))
@@ -1998,7 +1997,7 @@ less if you are working in front of the screen at night.")
(define-public xscreensaver
(package
(name "xscreensaver")
- (version "6.08")
+ (version "6.12")
(source
(origin
(method url-fetch)
@@ -2006,7 +2005,7 @@ less if you are working in front of the screen at night.")
(string-append "https://www.jwz.org/xscreensaver/xscreensaver-"
version ".tar.gz"))
(sha256
- (base32 "18vnbs2ns42cgnnsvwn0zh98wcfzxf2k9mib5x5zkv6f4njjpxaw"))
+ (base32 "0hvn67qs0rns6qi9phhs601vzbryx2kyvginfcybrfz32y17kxjg"))
(modules '((guix build utils)))
(snippet
;; 'configure.ac' checks for $ac_unrecognized_opts and exits if it's
@@ -3411,8 +3410,7 @@ virtual-pointer (pointer command) protocols.")
(base32 "14gnkz18dipsa2v24f4nm9syxaa7g21iqjm7y65jn849ka2jr1h8"))))
(build-system cmake-build-system)
(arguments
- (list #:configure-flags #~(list "-DBUILD_TESTING=ON")
- #:phases #~(modify-phases %standard-phases
+ (list #:phases #~(modify-phases %standard-phases
(add-after 'unpack 'disable-problematic-tests
(lambda _
(substitute* "config_parser_test.cc"
@@ -3944,9 +3942,7 @@ This package is the fork of hsetroot by Hyriand.")
(base32 "0h0iibncjl780nnwvf1mfmqckdzzc4b4fphflj4mq56nswf697ha"))))
(build-system cmake-build-system)
(arguments
- (list
- #:cmake cmake-next
- #:tests? #f)) ;No tests.
+ (list #:tests? #f)) ;No tests.
(native-inputs
(list gcc-15
pkg-config))
@@ -3984,8 +3980,7 @@ reduce percieved brightness below the monitor's minimum.")
(base32 "1f0vcp0c9d3m9v3avajprpv14khnv3wk3y9fi3pcwr5xf2alaxv2"))))
(build-system cmake-build-system)
(arguments
- `(#:cmake ,cmake-next
- #:phases
+ `(#:phases
(modify-phases %standard-phases
;; remove when fixed
(add-after 'unpack 'fixgldiscover
@@ -4034,9 +4029,7 @@ GPU-accelerated screen locking utility.")
(base32
"0j3hbqfx40cjxkvaiqzfij8pgblg2hyv9lbbjjh4iahciwgh7623"))))
(build-system cmake-build-system)
- (arguments
- `(#:tests? #f ;; no test
- #:cmake ,cmake-next))
+ (arguments '(#:tests? #f)) ;; no test
(native-inputs (list gcc-14 pkg-config))
(inputs
(list cairo
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 6f202c2d7d..d1678fa2f8 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -2741,6 +2741,9 @@ as USB mice.")
(sha256
(base32 "0qf0kjh6pww5abxmqa4c9sfa2qq1hq4p8qcgqpfd1kpkcvmg012g"))))
(build-system gnu-build-system)
+ (arguments
+ (list #:configure-flags
+ #~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(inputs (list xorg-server))
(native-inputs (list pkg-config))
(home-page "https://www.x.org/wiki/")
@@ -2765,6 +2768,9 @@ X server.")
(base32
"0p88blr3zgy47jc4aqivc6ypj4zq9pad1cl70wwz9xig29w9xk2s"))))
(build-system gnu-build-system)
+ (arguments
+ (list #:configure-flags
+ #~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(inputs (list xorg-server))
(native-inputs (list pkg-config))
(home-page "https://www.x.org/wiki/")
@@ -2832,6 +2838,9 @@ X server.")
(base32
"14sx6dm0nmbf1fs8cazmak0aqjpjpv9wv7v09w86ff04m7f4gal6"))))
(build-system gnu-build-system)
+ (arguments
+ (list #:configure-flags
+ #~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(inputs (list xorg-server))
(native-inputs (list pkg-config))
(synopsis "ASpeed Technologies video driver for X server")
@@ -2857,6 +2866,9 @@ X server.")
(sha256
(base32 "1n49wx0v13jh8vv17sxgrmmpi1mk3n2wph07jfmxmzqahpcn4lkn"))))
(build-system gnu-build-system)
+ (arguments
+ (list #:configure-flags
+ #~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(inputs (list mesa xorgproto xorg-server))
(native-inputs
(list pkg-config autoconf automake libtool))
@@ -2882,6 +2894,9 @@ X server.")
(base32
"00b468w01hqjczfqz42v2vqhb14db4wazcqi1w29lgfyhc0gmwqf"))))
(build-system gnu-build-system)
+ (arguments
+ (list #:configure-flags
+ #~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(inputs (list xorg-server))
(native-inputs (list pkg-config))
(home-page "https://www.x.org/wiki/")
@@ -2905,6 +2920,9 @@ X server.")
(build-system gnu-build-system)
(inputs (list xorg-server))
(native-inputs (list pkg-config))
+ (arguments
+ (list #:configure-flags
+ #~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(home-page "https://www.x.org/wiki/")
(synopsis "Dummy video driver for X server")
(description
@@ -2928,6 +2946,9 @@ X server.")
"11zk8whari4m99ad3w30xwcjkgya4xbcpmg8710q14phkbxw0aww"))))
(build-system gnu-build-system)
(inputs (list xorg-server))
+ (arguments
+ (list #:configure-flags
+ #~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(native-inputs (list pkg-config))
(home-page "https://www.x.org/wiki/")
(synopsis "Framebuffer device video driver for X server")
@@ -2968,7 +2989,8 @@ framebuffer device.")
`(#:configure-flags
(list (string-append "--with-xorg-conf-dir="
(assoc-ref %outputs "out")
- "/share/X11/xorg.conf.d"))
+ "/share/X11/xorg.conf.d")
+ "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")
#:phases
(modify-phases %standard-phases
(replace 'bootstrap
@@ -3052,6 +3074,9 @@ compositing. Both support Xv overlay and dynamic rotation with XRandR.")
(build-system gnu-build-system)
(inputs (list xorg-server))
(native-inputs (list pkg-config))
+ (arguments
+ (list #:configure-flags
+ #~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(home-page "https://www.x.org/wiki/")
(synopsis "I128 video driver for X server")
(description
@@ -3089,8 +3114,6 @@ X server.")
(filter (lambda (system) (or (string-prefix? "i686-" system)
(string-prefix? "x86_64-" system)))
%supported-systems))
- (arguments
- '(#:configure-flags '("--with-default-accel=uxa")))
(home-page "https://www.x.org/wiki/")
(synopsis "Intel video driver for X server")
(description
@@ -3114,6 +3137,9 @@ It supports a variety of Intel graphics chipsets.")
"0917498pgm629v84h7ddsmhqa6nc3z2msbv1x9nxrlkwl93npffn"))))
(build-system gnu-build-system)
(inputs (list mesa xorgproto xorg-server))
+ (arguments
+ (list #:configure-flags
+ #~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(native-inputs
(list pkg-config))
(home-page "https://www.x.org/wiki/")
@@ -3144,6 +3170,9 @@ the same level of support for generic VGA or 8514/A adapters.")
(inputs (list mesa xorgproto xorg-server))
(native-inputs (list pkg-config))
(home-page "https://www.x.org/wiki/")
+ (arguments
+ (list #:configure-flags
+ #~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(synopsis "Matrox video driver for X server")
(description
"xf86-video-mga is a Matrox video driver for the Xorg X server.")
@@ -3167,6 +3196,9 @@ the same level of support for generic VGA or 8514/A adapters.")
(inputs (list xorgproto xorg-server))
(native-inputs (list pkg-config))
(home-page "https://www.x.org/wiki/")
+ (arguments
+ (list #:configure-flags
+ #~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(synopsis "NeoMagic video driver for X server")
(description
"xf86-video-neomagic is a NeoMagic video driver for the Xorg X server.")
@@ -3213,6 +3245,9 @@ the same level of support for generic VGA or 8514/A adapters.")
(base32
"1jlap6xjn4pfwg9ab8fxm5mwf4dqfywp70bgc0071m7k66jbv3f6"))))
(build-system gnu-build-system)
+ (arguments
+ (list #:configure-flags
+ #~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(inputs (list xorg-server))
(native-inputs (list pkg-config))
(home-page "https://www.x.org/wiki/")
@@ -3265,7 +3300,10 @@ graphics cards.")
(inputs
(list libxfont2 spice-protocol xorg-server xorgproto))
(native-inputs
- (list pkg-config))
+ (list pkg-config))
+ (arguments
+ (list #:configure-flags
+ #~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(synopsis "Qxl video driver for X server")
(description "xf86-video-qxl is a video driver for the Xorg X server.
This driver is intended for the spice qxl virtio device.")
@@ -3287,6 +3325,9 @@ This driver is intended for the spice qxl virtio device.")
(inputs (list mesa xorgproto xorg-server))
(native-inputs
(list pkg-config))
+ (arguments
+ (list #:configure-flags
+ #~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(home-page "https://www.x.org/wiki/")
(synopsis "ATI Rage 128 video driver for X server")
(description
@@ -3311,6 +3352,9 @@ This driver is intended for ATI Rage 128 based cards.")
(build-system gnu-build-system)
(inputs (list mesa xorgproto xorg-server))
(native-inputs (list pkg-config))
+ (arguments
+ (list #:configure-flags
+ #~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(home-page "https://www.x.org/wiki/")
(synopsis "Savage video driver for X server")
(description
@@ -3334,7 +3378,9 @@ This driver is intended for ATI Rage 128 based cards.")
(patches (search-patches "xf86-video-siliconmotion-fix-ftbfs.patch"))))
(build-system gnu-build-system)
(inputs (list xorg-server))
- (native-inputs (list pkg-config))
+ (native-inputs (list pkg-config))(arguments
+ (list #:configure-flags
+ #~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(home-page "https://www.x.org/wiki/")
(synopsis "Silicon Motion video driver for X server")
(description
@@ -3357,6 +3403,10 @@ Xorg X server.")
(base32
"0nrs6cjldlhakx5987fiiggjrlzilsbdc7l9pz22x1iwslbkz78i"))))
(build-system gnu-build-system)
+ (arguments
+ (list
+ #:configure-flags
+ #~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(inputs (list mesa xorgproto xorg-server))
(native-inputs
(list pkg-config))
@@ -3384,6 +3434,10 @@ This driver supports SiS chipsets of 300/315/330/340 series.")
(build-system gnu-build-system)
(inputs (list mesa xorgproto xorg-server))
(native-inputs (list pkg-config))
+
+ (arguments
+ (list #:configure-flags
+ #~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(home-page "https://www.x.org/wiki/")
(synopsis "3Dfx video driver for X server")
(description
@@ -3410,6 +3464,9 @@ This driver supports SiS chipsets of 300/315/330/340 series.")
(build-system gnu-build-system)
(inputs (list xorg-server))
(native-inputs (list pkg-config))
+ (arguments
+ (list #:configure-flags
+ #~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(home-page "https://www.x.org/wiki/")
(synopsis "VESA video driver for X server")
(description
@@ -6243,7 +6300,7 @@ basic eye-candy effects.")
(define-public xpra
(package
(name "xpra")
- (version "6.3.1")
+ (version "6.3.2")
(source
(origin
(method git-fetch)
@@ -6252,7 +6309,7 @@ basic eye-candy effects.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1ilb6sii5xjqnjj2c84vhixw8cnsxb3nr63miv31x1pimy6wn0hw"))
+ (base32 "1ffh106rld54pb9n4aq1jh4lk8c9h54w0h5pjj2h3jzyvpsnpfqs"))
(patches (search-patches "xpra-6.0-systemd-run.patch"
"xpra-6.1-install_libs.patch"))))
(build-system python-build-system)
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index b4bbddff14..12d3c3175c 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -2257,7 +2257,6 @@ rules."
"ktexteditor"
"kwalletmanager"
"powerdevil"
- "bluedevil"
"kwallet"
"plasma-firewall"))))
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 52e37d20ab..c5ebb1b673 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -187,6 +187,7 @@
tor-configuration-socks-socket-type
tor-configuration-control-socket-path
tor-configuration-transport-plugins
+ tor-configuration-auto-start
tor-onion-service-configuration
tor-onion-service-configuration?
tor-onion-service-configuration-name
@@ -1171,7 +1172,9 @@ applications in communication. It is used by Jami, for example.")))
(control-socket? tor-configuration-control-socket-path
(default #f))
(transport-plugins tor-configuration-transport-plugins
- (default '())))
+ (default '()))
+ (auto-start? tor-configuration-auto-start
+ (default #t)))
(define %tor-accounts
;; User account and groups for Tor.
@@ -1196,8 +1199,8 @@ Onion Service.")
alist
"Association list of port to address mappings. The following example:
@lisp
-'((22 . \"127.0.0.1:22\")
- (80 . \"127.0.0.1:8080\"))
+'((22 \"127.0.0.1:22\")
+ (80 \"127.0.0.1:8080\"))
@end lisp
maps ports 22 and 80 of the Onion Service to the local ports 22 and 8080."))
@@ -1284,6 +1287,7 @@ HiddenServicePort ~a ~a~%"
"Return a <shepherd-service> running Tor."
(let* ((torrc (tor-configuration->torrc config))
(transport-plugins (tor-configuration-transport-plugins config))
+ (auto-start? (tor-configuration-auto-start config))
(tor (least-authority-wrapper
(file-append (tor-configuration-tor config) "/bin/tor")
#:name "tor"
@@ -1320,6 +1324,7 @@ HiddenServicePort ~a ~a~%"
(start #~(make-forkexec-constructor
(list #$tor "-f" #$torrc)
#:user "tor" #:group "tor"))
+ (auto-start? auto-start?)
(stop #~(make-kill-destructor))
(actions (list (shepherd-configuration-action torrc)))
(documentation "Run the Tor anonymous network overlay.")))))
@@ -1390,8 +1395,8 @@ networking daemon.")))
@var{mapping}. @var{mapping} is a list of port/host tuples, such as:
@example
- '((22 . \"127.0.0.1:22\")
- (80 . \"127.0.0.1:8080\"))
+ '((22 \"127.0.0.1:22\")
+ (80 \"127.0.0.1:8080\"))
@end example
In this example, port 22 of the hidden service is mapped to local port 22, and
diff --git a/gnu/tests/messaging.scm b/gnu/tests/messaging.scm
index f1f4247c58..0601ff6f69 100644
--- a/gnu/tests/messaging.scm
+++ b/gnu/tests/messaging.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2017-2018, 2021-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2025 Evgeny Pisemsky <mail@pisemsky.site>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -42,7 +43,8 @@
%test-bitlbee
%test-ngircd
%test-pounce
- %test-quassel))
+ %test-quassel
+ %test-mosquitto))
(define (run-xmpp-test name xmpp-service pid-file create-account)
"Run a test of an OS running XMPP-SERVICE, which writes its PID to PID-FILE."
@@ -592,3 +594,78 @@ OPENSSL:localhost:7000,verify=0 &")
(name "quassel")
(description "Connect to a quassel IRC server.")
(value (run-quassel-test))))
+
+
+;;;
+;;; Mosquitto.
+;;;
+
+(define (run-mosquitto-test)
+ (define os
+ (marionette-operating-system
+ (simple-operating-system (service dhcpcd-service-type)
+ (service mosquitto-service-type))
+ #:imported-modules (source-module-closure
+ '((gnu services herd)))))
+
+ (define vm
+ (virtual-machine
+ (operating-system os)))
+
+ (define test
+ (with-imported-modules '((gnu build marionette))
+ #~(begin
+ (use-modules (srfi srfi-64)
+ (gnu build marionette))
+
+ (define marionette
+ (make-marionette (list #$vm)))
+
+ (test-runner-current (system-test-runner #$output))
+ (test-begin "mosquitto")
+
+ (test-assert "service runs"
+ (marionette-eval
+ '(begin
+ (use-modules (gnu services herd))
+ (wait-for-service 'mosquitto))
+ marionette))
+
+ (test-assert "service listens on TCP port 1883"
+ (wait-for-tcp-port 1883 marionette))
+
+ (test-equal "service receives a message"
+ 0
+ (marionette-eval
+ '(system* #$(file-append mosquitto "/bin/mosquitto_pub")
+ "-t" "test-topic"
+ "-m" "Hello, mosquitto!"
+ "-r")
+ marionette))
+
+ (test-equal "service returns a message"
+ "Hello, mosquitto!"
+ (marionette-eval
+ '(begin
+ (use-modules (ice-9 popen)
+ (ice-9 rdelim))
+ (let* ((port (open-pipe* OPEN_READ
+ #$(file-append
+ mosquitto
+ "/bin/mosquitto_sub")
+ "-t" "test-topic"
+ "-C" "1"))
+ (msg (read-line port)))
+ (close-pipe port)
+ msg))
+ marionette))
+
+ (test-end))))
+
+ (gexp->derivation "mosquitto-test" test))
+
+(define %test-mosquitto
+ (system-test
+ (name "mosquitto")
+ (description "Test a running Mosquitto MQTT broker.")
+ (value (run-mosquitto-test))))