This introduces a new home service for Niri, a scrollable tiling Wayland
compositor that combines traditional tiling window management with smooth
scrolling between workspaces.
The service provides:
- home-niri-service-type for installing and configuring Niri
- Shepherd service that starts Niri in a DBus session
- Proper Wayland environment variables (XDG_CURRENT_DESKTOP,
XDG_SESSION_DESKTOP, etc.)
- Integration with xdg-desktop-portal and related components
The service starts Niri with appropriate environment variables for
Wayland compatibility and includes necessary dependencies like
xdg-desktop-portal-gnome and xdg-desktop-portal-gtk for proper
desktop integration.
* gnu/home/services/niri.scm: New file containing the service implementation.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register the new module.
* doc/guix.texi (Niri window manager): Add comprehensive documentation.
Change-Id: I9ef081226b4aaa31706d1fbc0d8b7aa1a202cd6e
* gnu/packages/c.scm (cproc)[arguments]: Add phase to set glibc dir.
[arguments]: Properly specify program inputs in 'configure phase.
* gnu/packages/patches/cproc-extra-linkflags.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/patches/libspatialite-libxml2-2.14.patch: New file.
* gnu/local.mk (dist_pach_DATA): Register it.
* gnu/packages/geo.scm (libspatialite)[source]: Use it.
Change-Id: I24ac907c11c0592d3e9bdbba8e7f44585c1055d0
Godot 4.5 has some issues with system files taking precedence over ones
included in the "thirdparty" directory; see
<https://github.com/godotengine/godot/pull/111094> for discussion. This was
further motivation to use the upstream default of enabling volk, unbundling
it, and dropping the vulkan-loader input. The volk files are already patched
to correctly load libvulkan.
* gnu/packages/game-development.scm (godot): Update to 4.5.
[source]: Add patch to unbundle libjpeg-turbo. Update snippet to preserve
accesskit, grisu2, smaa, and remove volk.
[arguments]<#:scons-flags>: Disable builtin libjpeg-turbo and sdl.
<#:phases>: In fix-dlopen-paths phase remove libudev and volk patching. Add
phase unbundle-volk.
[inputs]: Add libjpeg-turbo-3, sdl3, and vulkan-volk. Remove vulkan-loader.
* gnu/packages/patches/godot-libjpeg-turbo-unbundle.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
Change-Id: I3feb071ecfdb7312e9d6d8c2213a1448481753dc
This is a fixup to commit ef22a23ecf, inadvertently pushed too early.
* gnu/packages/xml.scm (perl-xml-libxslt)
[arguments]: Delete.
[native-inputs]: Add pkg-config.
[inputs]: Add comment justifying use of older libxml2-2.11.
* gnu/packages/patches/perl-xml-libxslt-fix-configure.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): De-register it.
Fixes: #3175
Change-Id: I850e9bec260bfd527372509bbe8eaa30883840a3
* gnu/packages/patches/kamoso-25.08.1-gstreamer.patch: New file.
* gnu/packages/kde-multimedia.scm (kamoso): Update to 25.08.1.
[source]<patches>: Add it.
* gnu/local.mk: Register it.
Change-Id: I37c69d99fe4023efe6f7050ef2b42d2cba6bc805
MPV 0.40.0 didn't remove deprecated constants. Those
constants were removed in ffmpeg 8.0. Mpv is not planning
on releasing a patch release any time soon.
* gnu/packages/patches/mpv-0.40.0-fix-ffmpeg-8.0.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/video.scm (mpv)<source>[patches]: Apply it.
Change-Id: Id48bf513e6c80b59ae2bb167e7e98e41d5efad6f
Signed-off-by: John Kehayias <john@guixotic.coop>
SANE's dynamic loading mechanism looks for configs in SANE_CONFIG_DIR,
and the libraries are expected to be either in LD_LIBRARY_PATH or in the
LIBDIR, which is set during the build to $PREFIX/lib/sane. A small patch
is necessary to make SANE respect backend search paths set by Guix.
* gnu/local.mk: Register sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch
* gnu/packages/scanner.scm (sane-backends-minimal): Patch dynamic
loading mechanism to look for libraries in SANE_BACKEND_LIB_PATH.
Change-Id: I132a709d171331d249acfe2fd1242dae43867ae8
The included patch is already done upstream, just after the 30.2 release.
* gnu/packages/emacs.scm (emacs-minimal)[source]: Add patch.
* gnu/packages/patches/emacs-zoom-image-test-fix.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
Change-Id: I0134ec90a03f8757b4247b5aea0853752b67daef
Printers managed by CUPS might require supplementary files to function,
such as color profiles or filters. CUPS checks permissions on such files
to prevent the execution of unsafe code. One of the conditions-that the
files are owned by root-must be short-circuited on Guix, because this
condition cannot be met on a system with an unprivileged daemon (where
store files are owned by `guix-daemon`).
* gnu/packages/patches/cups-relax-root-ownership-check.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/cups.scm (cups)[source]: Include it.
Change-Id: I77f67f996d057a34bd018ab97cda54577060b0c3
Signed-off-by: John Kehayias <john@guixotic.coop>
Fixes CVE-2025-58060 and CVE-2025-58364.
* gnu/packages/cups.scm(cups): Update to 2.4.14.
[source]: Drop unneeded patch.
* gnu/packages/patches/cups-minimal-Address-PPD-injection-issues.patch: Remove
it.
* gnu/local.mk (dist_patch_DATA): Deregister it.
Change-Id: I719e568716c8739aca16c6ebc29f50c7d2ac83bc
The following CVEs were fixed:
- CVE-2025-24855: Fix use-after-free of XPath context node
- CVE-2024-55549: Fix UAF related to excluded namespaces
Additionally, a patch from Debian for generated IDs and reproduciblity no
longer applies cleanly and is likely problematic or (partially?) unneeded.
See <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=902051> for the latest.
* gnu/packages/xml.scm (libxslt): Update to 1.1.43.
(source): Remove patch.
* gnu/packages/patches/libxslt-generated-ids.patch: Delete it.
* gnu/local.mk (dist_patch_DATA): Unregister it.
Change-Id: Ia10d906bab090792d28524beda6aca79a5a21684
* gnu/packages/patches/warzone2100-unbundle-libs.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register patch.
* gnu/packages/games.scm (warzone2100) [version]: Update to 4.6.1.
[source]<patches>: Add patch.
[source]<snippet>: Delete unbundled libraries from source.
[arguments]<configure-flags>: Use ninja backend, disable downloads, and
disable the new, optional GNS backend in lieu of packaging it. Allow vulkan.
[arguments]<phases>: Remove phase modifications, as they were either
integrated into the patch or unnecessary.
[native-inputs]: Remove asciidoc, as it is unused, and add unbundled
basis-universal as well as shaderc for vulkan support.
[inputs]: Remove unused libs and pull in packaged versions of unbundled libs.
Use gnutls instead of openssl as it's only useful when it's the same tls
backend curl uses. Add vulkan-headers for vulkan support.
Closes: #2790
Change-Id: Ic06d2fd7e6b96da16fd64b70da0b1af3a6a65247
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
This file contains two package definitions that should be on wm.scm.
They are not overly complex, not tightly couple and small, so there is
few to no reason keeping them in a dedicated file.
* gnu/packages/openbox.scm (obconf, openbox): Move from here ...
* gnu/packages/wm.scm: ... to here.
* gnu/packages/openbox.scm: Delete file.
* gnu/local.mk: Remove reference to openbox.scm.
* gnu/packages/kde-frameworks.scm: Fixup reference to (gnu packages openbox) module.
* gnu/packages/lxde.scm: Remove reference to (gnu packages openbox) module.
* gnu/packages/lxqt.scm: Fixup reference to (gnu packages openbox) module.
* gnu/tests/install.scm: Remove reference to (gnu packages openbox) module.
* po/packages/POTFILES.in: Remove reference to openbox.scm.
Change-Id: I0b887debb97e8fcc7880c9f05d29981226d06077
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
* gnu/packages/books.scm (xiphos): New variable.
* gnu/packages/patches/xiphos-glib.patch: New file.
* gnu/local.mk (dist_PATCH_DATA): Add it.
Change-Id: I17f3e14c7721887fcb1852e7f07e80fc48d48a79
Signed-off-by: Andreas Enge <andreas@enge.fr>
The package still used python-six. Luckily a PR was ready for its
removal.
* gnu/packages/python-xyz.scm (python-treelib)[source]: Add patch.
* gnu/packages/patches/python-treelib-remove-python2-compat.patch: Add file.
* gnu/local.mk: Record patch.
Change-Id: I91a37770391cc72f158ade5b9619e80ab9a36bc7
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
This package is no longer needed as per: "unittest2 is a backport of the
new features added to the unittest testing framework in Python 2.7 and
onwards.", it has no users in Guix.
* gnu/packages/check.scm (python-unittest2): Delete variable.
* gnu/local.mk (dist_patch_DATA): Deregister 2 patches.
* gnu/packages/patches/python-unittest2-python3-compat.patch: Delete file.
* gnu/packages/patches/python-unittest2-remove-argparse.patch: Likewise.
Change-Id: I7d67223cdd5a0e656a299d83ac28248d7db7c321
* gnu/packages/check.scm (python-pyfakefs): Update to 5.9.1.
[source]: Switch to git-fetch, not GitHub repository provides proper
releases and tests.
<patches>: Drop it.
[arguments] <test-backend>: Use 'custom.
<test-flags>: Run all self tests without extra packages.
<phases>: Add 'disable-root-tests.
[build-system]: Use pyproject.
[home-page]: Now pyproject.toml points to GitHub page as the main one,
no reference to <http://pyfakefs.org/> in documentation was found.
[native-inputs]: Remove python-pytest; add python-setuptools.
* gnu/packages/patches/python-pyfakefs-remove-bad-test.patch: Remove file.
* gnu/local.mk: Deregister patch.
Change-Id: I4427d889019275b304ad021d8e5d0829bcff518a