diff --git a/gnu/packages/easyrpg.scm b/gnu/packages/easyrpg.scm index 43e2438df5f..751080c33f3 100644 --- a/gnu/packages/easyrpg.scm +++ b/gnu/packages/easyrpg.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2018 Sou Bunnbu +;;; Copyright © 2018, 2025 宋文武 ;;; Copyright © 2019–2021 Tobias Geerinckx-Rice ;;; Copyright © 2020 Efraim Flashner ;;; Copyright © 2024 gemmaro @@ -30,6 +30,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) + #:use-module (gnu packages linux) #:use-module (gnu packages mp3) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pretty-print) @@ -42,7 +43,7 @@ (define-public liblcf (package (name "liblcf") - (version "0.8") + (version "0.8.1") (source (origin (method url-fetch) (uri (string-append @@ -50,34 +51,26 @@ "/liblcf-" version ".tar.gz")) (sha256 (base32 - "0kskflh2izc8q5p5x0rfxw8xa3591xfkmqf74rj72ff34xri4nj1")))) + "1b68yhs14b4ql1wfbm0jzklyqyi3b2wm3pm9zhx0ij2a98c8cnli")))) (build-system gnu-build-system) (native-inputs (list pkg-config)) (propagated-inputs ;; Required by 'liblcf.pc'. - (list expat icu4c)) + (list expat icu4c libinih)) (home-page "https://easyrpg.org/") (synopsis "Library to handle RPG Maker 2000 and 2003 game data") (description "@code{liblcf} is a library to handle RPG Maker 2000 and 2003 game data. It can read and write LCF and XML files.") - ;; It includes a copy of Boost Preprocessor Cat and Stringize (boost-1.0): - ;; src/boost/preprocessor/config.hpp - ;; src/boost/preprocessor/cat.hpp - ;; src/boost/preprocessor/stringize.hpp - ;; and a copy of inih (bsd-3): - ;; src/ini.h - ;; src/ini.cpp - ;; src/inireader.h - ;; src/inireader.cpp - ;; TODO: Unbundle them. + ;; It includes a copy of span-lite (boost-1.0): + ;; src/lcf/third_party/span.h (license license:expat))) (define-public easyrpg-player (package (name "easyrpg-player") - (version "0.8") + (version "0.8.1.1") (source (origin (method url-fetch) (uri (string-append @@ -85,7 +78,7 @@ It can read and write LCF and XML files.") "/easyrpg-player-" version ".tar.gz")) (sha256 (base32 - "1brx2iix9d5i2lyjjcs03pq1xgl1gyh0yas8avazahgd9sn47696")))) + "0aa60568cvhxf93065wn2r6js7xh81vhsl2nw3bhs5g3l1smq28z")))) (build-system gnu-build-system) (arguments '(#:configure-flags @@ -107,7 +100,6 @@ It can read and write LCF and XML files.") mpg123 opusfile pixman - sdl2-mixer sdl2 speexdsp wildmidi @@ -121,7 +113,6 @@ data.") ;; It bundles FMMidi YM2608 FM synthesizer emulator (bsd-3): ;; src/midisynth.h ;; src/midisynth.cpp - ;; and PicoJSON JSON parser/serializer (bsd-2): - ;; src/picojson.h - ;; TODO: Unbundle them. + ;; and WAV audio loader and writer (public-domain): + ;; src/external/dr_wav.h (license license:gpl3+))) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index c7eb4fbb984..ab4fe857108 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -193,7 +193,7 @@ authentication and support for SSL3 and TLS.") (define-public gnunet (package (name "gnunet") - (version "0.25.0") + (version "0.25.1") (source (origin (method url-fetch) @@ -201,7 +201,7 @@ authentication and support for SSL3 and TLS.") ".tar.gz")) (sha256 (base32 - "1zrn5j12c2vfp3vfx3kirknsvzb4r832hbgh5a2lcnb0x0p6dsid")))) + "0p4gcv67rh9832vgi5k31pgpq6hmv6198dfmbyfizyaprlb6qcr1")))) (build-system meson-build-system) (inputs (list bluez diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 74a3b306caa..584949e57bf 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -826,7 +826,20 @@ and export to various formats including the format used by Magicavoxel.") (substitute* "test/CMakeLists.txt" ;; Leave the test binary where ctest will look for it. (("TARGET_USE_COMMON_OUTPUT_DIRECTORY\\(unit\\)") - ""))))))) + "")) + + ;; Some tests fail on aarch64: + ;; . + (when #$(target-aarch64?) + (substitute* "test/unit/AssimpAPITest_aiMatrix3x3.cpp" + (("aiMatrix3FromToTest") + "DISABLED_aiMatrix3FromToTest")) + (substitute* "test/unit/AssimpAPITest_aiMatrix4x4.cpp" + (("aiMatrix4FromToTest") + "DISABLED_aiMatrix4FromToTest")) + (substitute* "test/unit/AssimpAPITest_aiQuaternion.cpp" + (("aiQuaternionFromNormalizedQuaternionTest") + "DISABLED_aiQuaternionFromNormalizedQuaternionTest")))))))) (build-system cmake-build-system) (inputs (list zlib)) diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index 43a1fdca228..def3a90d549 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -623,6 +623,29 @@ with CSS and mouseover annotations, XHTML 1.0 with inline CSS styling, LaTeX, and mIRC chat codes.") (license license:bsd-3))) +(define-public lhs2tex + (package + (name "lhs2tex") + (version "1.25") + (source + (origin + (method url-fetch) + (uri (hackage-uri "lhs2tex" version)) + (sha256 + (base32 "0cf66z6mgadgqd1xs5b6gw8l9rkwgbfsc5czwdiapn7ichi26qyj")))) + (build-system haskell-build-system) + (properties '((upstream-name . "lhs2tex"))) + (inputs (list ghc-regex-compat)) + (home-page "https://github.com/kosmikus/lhs2tex") + (synopsis "Preprocessor for typesetting Haskell sources with LaTeX") + (description + "This tool is primarily intended for people who want to write articles or +books using LaTeX that contain some Haskell code. It works on literate Haskell +documents where the non-Haskell parts form essentially a valid LaTeX document, +then processes the Haskell code in the document and replaces it with formatted +LaTeX output.") + (license license:gpl2+))) + (define-public kmonad ;; Project is active, but no new releases exist. Pick current master ;; HEAD as of 2024-08-18. diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 9f2f1afd454..f228166137b 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -92,6 +92,7 @@ #:use-module (gnu packages lua) #:use-module (gnu packages maths) #:use-module (gnu packages mpi) + #:use-module (gnu packages nss) #:use-module (gnu packages opencl) #:use-module (gnu packages pdf) #:use-module (gnu packages perl) @@ -1865,6 +1866,7 @@ and Scan Tailor Enhanced versions as well as including many more bug fixes.") (native-inputs (list googletest lua + nss-certs-for-test ;for 'pip install' python-numpy ;for tests python-pip python-setuptools diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 1d828a541ff..426dbb88c26 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -32,6 +32,7 @@ ;;; Copyright © 2025 Ashish SHUKLA ;;; Copyright © 2025 Mathieu Laparie ;;; Copyright © 2025 Joaquín Aguirrezabalaga +;;; Copyright © 2025 pinoaffe ;;; ;;; This file is part of GNU Guix. ;;; @@ -69,6 +70,7 @@ #:use-module (gnu packages backup) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages bison) #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages cmake) @@ -77,6 +79,7 @@ #:use-module (gnu packages curl) #:use-module (gnu packages documentation) #:use-module (gnu packages djvu) + #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gawk) @@ -90,9 +93,13 @@ #:use-module (gnu packages golang-xyz) #:use-module (gnu packages gtk) #:use-module (gnu packages graphics) + #:use-module (gnu packages graphviz) #:use-module (gnu packages image) #:use-module (gnu packages image-processing) #:use-module (gnu packages imagemagick) + #:use-module (gnu packages kde) + #:use-module (gnu packages kde-frameworks) + #:use-module (gnu packages kde-pim) #:use-module (gnu packages linux) #:use-module (gnu packages maths) #:use-module (gnu packages ncurses) @@ -110,6 +117,8 @@ #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) + #:use-module (gnu packages ruby) + #:use-module (gnu packages scanner) #:use-module (gnu packages suckless) #:use-module (gnu packages stb) #:use-module (gnu packages terminals) @@ -1150,6 +1159,128 @@ synchronization of multiple instances.") "xzgv is a fast image viewer that provides extensive keyboard support.") (license license:gpl2+))) +(define-public digikam + (package + (name "digikam") + (version "8.7.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/digikam/" + version "/digiKam-" version ".tar.xz")) + (sha256 + (base32 "0bx0kpzgq47pj3msrnd7gxr8n2qbak0cjird6bw4r4s31b15xqvr")))) + (build-system qt-build-system) + (home-page "https://www.digikam.org/download/git/") + (arguments (list + #:tests? #f + #:build-type "Release" + #:configure-flags #~(list "-DENABLE_MEDIAPLAYER=ON" ; for video playback + "-DENABLE_QWEBENGINE=ON" ; for web content + "-DENABLE_KFILEMETADATASUPPORT=ON" + "-DENABLE_AKONADICONTACTSUPPORT=ON" + "-DBUILD_WITH_QT6=ON" + "-DENABLE_APPSTYLES=ON") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'copy-test-data + (lambda* (#:key inputs #:allow-other-keys) + (copy-recursively (assoc-ref inputs "digikam-test-data") + "test-data"))) + (add-after 'install 'wrap-binary + (lambda* (#:key inputs outputs #:allow-other-keys) + (wrap-program (string-append (assoc-ref outputs "out") + "/bin/digikam") + `("PATH" ":" prefix + (,(dirname + (search-input-file inputs "/bin/exiftool")))))))))) + (native-search-paths + (list (search-path-specification + (variable "DK_PLUGIN_PATH") + (separator ";") + (files '("lib/qt6/plugins/digikam"))))) + (inputs (list + akonadi-contacts + bash-minimal + boost + ecm + eigen + exiv2-static ; digikam only wants to statically link against exiv2 + ffmpeg + glib + ijg-libjpeg + imagemagick + jasper + kcalendarcore + kconfig + kcoreaddons + kfilemetadata + ki18n + kiconthemes + kio + knotifications + knotifyconfig + kservice + kwindowsystem + kxmlgui + lcms + lensfun + libgphoto2 + libheif + libjpeg-turbo + libjxl + libksane + libpng + libtiff + libxml2 + libxslt + marble-qt + mesa + opencv + perl-image-exiftool + python-wrapper + qtimageformats + qtmultimedia + qtnetworkauth + qtscxml + qtsvg + qtwebengine + ruby + sane-backends + solid + sonnet + threadweaver + x265)) + (native-inputs (list + (origin + (method git-fetch) + (uri (git-reference + (url "https://invent.kde.org/graphics/digikam-test-data/") + (commit "83efefdfc7fffa35e5e260d3b5a4aec01ebbdb40"))) + (file-name "digikam-test-data") + (sha256 + (base32 + "0mf7rzwhy5yyj47xh4vs0i841m8885yy9qganli04d8skikl0s6z"))) + appstream + bison + doxygen + extra-cmake-modules + flex + graphviz ; for inheritance graphs in documentation + perl + pkg-config)) + (synopsis "Photo management, organizing and editing suite") + (description "digiKam is an advanced open-source digital photo management +application. It provides a comprehensive set of tools for importing, +managing, editing, and sharing photos and RAW files. + +You can use digiKam's import capabilities to easily transfer photos, RAW +files, and videos directly from your camera and external storage devices (SD +cards, USB disks, etc.). The application allows you to configure import +settings and rules that process and organize imported items on-the-fly.") + (license (list license:bsd-3 ; cmake scripts + license:cc0 ; test data + license:gpl2+)))) ; code + (define-public hydrus-network (package (name "hydrus-network") diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 2b1a84eb05a..f813e6f2326 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2016-2025 Efraim Flashner ;;; Copyright © 2016–2022 Tobias Geerinckx-Rice ;;; Copyright © 2016 Eric Bavier -;;; Copyright © 2016, 2017, 2020, 2021, 2022 Arun Isaac +;;; Copyright © 2016, 2017, 2020, 2021, 2022, 2025 Arun Isaac ;;; Copyright © 2016, 2017 Kei Kebreau ;;; Copyright © 2017 Nikita ;;; Copyright © 2017,2019,2020 Hartmut Goebel @@ -95,6 +95,7 @@ #:use-module (gnu packages popt) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-check) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages ragel) @@ -1677,6 +1678,15 @@ and XMP metadata of images in various formats.") ;; . (license license:gpl2+))) +(define-public exiv2-static + (package + (inherit exiv2) + (arguments + (substitute-keyword-arguments (package-arguments exiv2) + ((#:phases phases) + #~(modify-phases #$phases + (delete 'delete-static-libraries))))))) + (define-public devil (package (name "devil") @@ -2940,7 +2950,7 @@ Wacom-style graphics tablets.") (define-public phockup (package (name "phockup") - (version "1.9.2") + (version "1.13.0") (source (origin (method git-fetch) @@ -2949,7 +2959,7 @@ Wacom-style graphics tablets.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0j4mnsy12bhsmd80vgqknv004xbqd165y8gpalw87gp8i8xv172r")))) + (base32 "1kwz2qy8mx0j25g3gyda08qaz5rgwm6vycsrqhgkd5cqqz76bbmc")))) (build-system copy-build-system) (arguments `(#:install-plan '(("src" "share/phockup/") @@ -2963,13 +2973,14 @@ Wacom-style graphics tablets.") (("'exiftool") (string-append "'" (search-input-file inputs "bin/exiftool")))))) (add-before 'install 'check - (lambda _ - ;; Test without PATH to make sure ‘exiftool’ is properly found. - (let ((path (getenv "PATH")) - (pytest (which "pytest"))) - (setenv "PATH" "") - (invoke pytest) - (setenv "PATH" path)))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; Test without PATH to make sure ‘exiftool’ is properly found. + (let ((path (getenv "PATH")) + (pytest (which "pytest"))) + (setenv "PATH" "") + (invoke pytest) + (setenv "PATH" path))))) (add-after 'install 'install-bin (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -2986,7 +2997,7 @@ Wacom-style graphics tablets.") (inputs (list bash-minimal perl-image-exiftool python python-tqdm)) (native-inputs - (list python-pytest python-pytest-mock)) + (list python-pytest python-pytest-mock python-pytest-socket)) (home-page "https://github.com/ivandokov/phockup") (synopsis "Organize photos and videos in folders") (description "Phockup is a media sorting tool that uses creation date and diff --git a/gnu/packages/kde-office.scm b/gnu/packages/kde-office.scm index 59ef0a8ace4..50fb6bca41e 100644 --- a/gnu/packages/kde-office.scm +++ b/gnu/packages/kde-office.scm @@ -42,11 +42,13 @@ #:use-module (gnu packages maths) #:use-module (gnu packages mp3) #:use-module (gnu packages networking) + #:use-module (gnu packages ocr) #:use-module (gnu packages pdf) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages qt) #:use-module (gnu packages serialization) + #:use-module (gnu packages speech) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) #:use-module (gnu packages wm) @@ -152,16 +154,102 @@ Advanced plugins: @end itemize") (license (list license:lgpl2.0+ license:gpl2+)))) +(define-public crow-translate + (package + (name "crow-translate") + (version "4.0.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/crow-translate/" version + "/crow-translate-" version ".tar.gz")) + (sha256 + (base32 "0lrpxdgicbg0wj2cf0lif99pz5kiqck53qkm5385vymzn1w8wjz2")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete bundled breeze-icons, espeak-ng and qhotkey. + (for-each delete-file-recursively + '("data/icons/3rdparty/breeze-icons" + "src/3rdparty/espeak-ng" + "src/3rdparty/qhotkey")) + ;; Use system libraries instead. + (substitute* "CMakeLists.txt" + ((".*icon-theme\\.qrc.*$") "") + (("WITH_PIPER_TTS") "WITH_BUNDLED_ESPEAK_NG") + (("(.*WITH_BUNDLED_ESPEAK_NG.* )ON" all start) + (string-append start "OFF")) + (("Enable Piper neural TTS provider.*\"") + "Build bundled espeak-ng (requires onnxruntime)\"") + (("Piper TTS support disabled.*\"") + "Piper TTS support enabled with system espeak-ng\"") + (("add_subdirectory.*qhotkey.*") + (string-append "\nfind_package(PkgConfig)\n" + "pkg_check_modules(eSpeak_NG REQUIRED espeak-ng)" + "\nfind_package(QHotkey REQUIRED)\n")) + (("QHotkey::QHotkey") "qhotkey") + (("( *)Qt6::TextToSpeech" all indent) + (string-append all "\n" indent "espeak-ng"))) + ;; Link Qt6::Widgets. + (substitute* "CMakeLists.txt" + (("Qt6::TextToSpeech" all) (string-append all "\n Qt6::Widgets"))) + ;; Include QGuiApplication in main.cpp. + (substitute* "src/main.cpp" + (("#include " all) + (string-append all "\n#include "))))))) + (build-system qt-build-system) + (arguments + (list #:qtbase qtbase + #:tests? #f ; no tests + #:configure-flags + #~(list (string-append "-DCMAKE_CXX_FLAGS=-isystem " + #$(this-package-input "qtbase") + "/include/qt6/QtWidgets")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'unbundle-singleapplication + (lambda _ + (delete-file-recursively "src/3rdparty/singleapplication") + (substitute* "CMakeLists.txt" + (("add_subdirectory.*singleapplication.*$") "") + (("SingleApplication::SingleApplication") + (string-append #$(this-package-input + "single-application") + "/lib/libSingleApplication.a")))))))) + (inputs + (list breeze-icons + espeak-ng + kwayland + qhotkey + qtbase + qtsvg + qtmultimedia + qtscxml + qtspeech + single-application + tesseract-ocr)) + (native-inputs + (list pkg-config + extra-cmake-modules + qttools)) + (home-page "https://invent.kde.org/office/crow-translate") + (synopsis "Application for translating text") + (description + "Crow Translate is an application written in C++/Qt for translating +and speaking text which relies on Mozhi to interface with various +translation engines.") + (license license:gpl3+))) + (define-public ghostwriter (package (name "ghostwriter") - (version "25.04.0") + (version "25.08.1") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/ghostwriter-" version ".tar.xz")) (sha256 - (base32 "0vx6zd6js4anz2cmvljbp0dyq1gj58j28a1vx0fa7m01m8kxbsl6")))) + (base32 "0hlc039pkrn0l3k4vzvlvwnbzv46vnkacpaasn2lj5rfs3spxcmj")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase @@ -193,7 +281,7 @@ cmark processors if they are installed.") (define-public tellico (package (name "tellico") - (version "4.1.1") + (version "4.1.3") (source (origin (method git-fetch) (uri (git-reference @@ -201,7 +289,7 @@ cmark processors if they are installed.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0jx512rgrbc8n8p2gnk543l3k53gf30a0zjixp8ly2z70w6qp2br")) + (base32 "0930jh6b9cl3jvhmfv00l6566vsnpwkf6shz5w0hn67j0vpvhk7s")) (modules '((guix build utils))) (snippet ;; Fix including QtPrintSupport. diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 3dde1505a27..2a59b2b7202 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -93,7 +93,6 @@ #:use-module (gnu packages maths) #:use-module (gnu packages ncurses) #:use-module (gnu packages mp3) - #:use-module (gnu packages ocr) #:use-module (gnu packages onc-rpc) #:use-module (gnu packages pdf) #:use-module (gnu packages perl) @@ -142,38 +141,6 @@ This package contains GUI widgets for baloo.") (license license:lgpl2.0+))) -(define-public crow-translate - (package - (name "crow-translate") - (version "3.1.0") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://kde/stable/crow-translate/" version - "/crow-translate-v" version ".tar.gz")) - (sha256 - (base32 "18f7i5sxrvqp6h7zj77sdxyy9rlbw0rv3w7akf1j14072ala9bwc")))) - (build-system qt-build-system) - (arguments '(#:tests? #f)) ; there are no tests. - (inputs - (list qtbase-5 - qtx11extras - qtsvg-5 - qtmultimedia-5 - tesseract-ocr - kwayland-5)) - (native-inputs - (list pkg-config - extra-cmake-modules - qttools-5)) - (home-page "https://invent.kde.org/office/crow-translate") - (synopsis "Application for translating text") - (description - "Crow Translate is an application written in C++/Qt for translating -and speaking text which relies on Mozhi to interface with various -translation engines.") - (license license:gpl3+))) - (define-public futuresql (package (name "futuresql") diff --git a/gnu/packages/patches/libvirt-add-install-prefix.patch b/gnu/packages/patches/libvirt-add-install-prefix.patch index 041f39e0979..30e35567ad8 100644 --- a/gnu/packages/patches/libvirt-add-install-prefix.patch +++ b/gnu/packages/patches/libvirt-add-install-prefix.patch @@ -1,6 +1,6 @@ Patch from NixOS: - https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch + https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/li/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch From 58c07f1d59ef683faf8b747e40bd75401306acf4 Mon Sep 17 00:00:00 2001 From: Euan Kemp @@ -406,10 +406,10 @@ index 3b859ea7b4..ccddb3e805 100644 ] endif diff --git a/src/security/apparmor/meson.build b/src/security/apparmor/meson.build -index b9257c816d..98701755d8 100644 +index 09d9fac02c..ee0c74ceec 100644 --- a/src/security/apparmor/meson.build +++ b/src/security/apparmor/meson.build -@@ -57,7 +57,7 @@ foreach name : apparmor_gen_profiles +@@ -20,16 +20,16 @@ foreach name : apparmor_gen_profiles output: name, configuration: apparmor_gen_profiles_conf, install: true, @@ -417,39 +417,25 @@ index b9257c816d..98701755d8 100644 + install_dir: install_prefix + apparmor_dir, ) endforeach - -@@ -68,13 +68,13 @@ foreach name : apparmor_gen_abstractions - command: apparmor_gen_cmd, - capture: true, - install: true, -- install_dir: apparmor_dir / 'abstractions', -+ install_dir: install_prefix + apparmor_dir / 'abstractions', - ) - endforeach - + + install_data( + [ 'libvirt-qemu', 'libvirt-lxc' ], +- install_dir: apparmor_dir / 'abstractions', ++ install_dir: install_prefix + apparmor_dir / 'abstractions', + ) + install_data( [ 'TEMPLATE.qemu', 'TEMPLATE.lxc' ], - install_dir: apparmor_dir / 'libvirt', + install_dir: install_prefix + apparmor_dir / 'libvirt', ) - - if not conf.has('WITH_APPARMOR_3') -@@ -83,7 +83,7 @@ if not conf.has('WITH_APPARMOR_3') - # files in order to limit the amount of filesystem clutter. - install_data( - 'usr.lib.libvirt.virt-aa-helper.local', -- install_dir: apparmor_dir / 'local', -+ install_dir: install_prefix + apparmor_dir / 'local', - rename: 'usr.lib.libvirt.virt-aa-helper', - ) - endif diff --git a/src/storage/meson.build b/src/storage/meson.build index 404d6a6941..fb4e67a0a8 100644 --- a/src/storage/meson.build +++ b/src/storage/meson.build @@ -126,9 +126,9 @@ if conf.has('WITH_STORAGE') } - + virt_install_dirs += [ - confdir / 'storage', - confdir / 'storage' / 'autostart', @@ -459,20 +445,27 @@ index 404d6a6941..fb4e67a0a8 100644 + install_prefix + runstatedir / 'libvirt' / 'storage', ] endif - + diff --git a/tools/meson.build b/tools/meson.build -index 1bb84be0be..e04a4e986d 100644 +index a099148d3c..d0d6510f17 100644 --- a/tools/meson.build +++ b/tools/meson.build -@@ -121,7 +121,7 @@ if conf.has('WITH_LOGIN_SHELL') +@@ -123,12 +123,12 @@ if conf.has('WITH_LOGIN_SHELL') install_rpath: libvirt_rpath, ) - + - install_data('virt-login-shell.conf', install_dir: sysconfdir / 'libvirt') + install_data('virt-login-shell.conf', install_dir: install_prefix + sysconfdir / 'libvirt') + + # Install the sysuser config for the setgid binary + install_data( + 'libvirt-login-shell.sysusers.conf', +- install_dir: sysusersdir, ++ install_dir: install_prefix + sysusersdir, + rename: [ 'libvirt-login-shell.conf' ], + ) endif - - if host_machine.system() == 'windows' + diff --git a/tools/ssh-proxy/meson.build b/tools/ssh-proxy/meson.build index e9f312fa25..95d5d8fe0b 100644 --- a/tools/ssh-proxy/meson.build diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index a34e13416ec..115e4f3ea0d 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -62,7 +62,7 @@ (define-public php (package (name "php") - (version "8.3.12") + (version "8.3.13") (home-page "https://www.php.net/") (source (origin (method url-fetch) @@ -70,7 +70,7 @@ "php-" version ".tar.xz")) (sha256 (base32 - "0cfi9g97lnmh3b3cn4a33dyzhgwyxicawkbz372whvz26f3f4x7p")) + "061hhx0f6m7q0jajxym72c9a4v4nqixk5mizwm7i42d2riwbkbc9")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 646ef54357a..b71090c35f5 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -5940,6 +5940,35 @@ simple editor for binary data, just like @code{QPlainTextEdit} is for text data.") (license license:lgpl2.1))) +(define-public qhotkey + (package + (name "qhotkey") + (version "1.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Skycoder42/QHotkey") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0glzh4l532xk4v9mphsdf96v1557pyvg5al3ha0vr3244bfh9hcf")))) + (build-system cmake-build-system) + (arguments + (list #:tests? #f ;no tests + #:configure-flags + #~(list "-DQT_DEFAULT_MAJOR_VERSION=6" + "-DBUILD_SHARED_LIBS=ON" + "-DQHOTKEY_EXAMPLES=ON"))) + (inputs (list libx11 qtbase)) + (home-page "https://github.com/Skycoder42/QHotkey") + (synopsis "Global shortcut key for Qt desktop applications") + (description + "This package provides @code{QHotKey} class that can be used to create +hotkeys/global shortcuts, aka shortcuts that work everywhere, independent of +the application state.") + (license license:bsd-3))) + (define-public qthttpserver (package (name "qthttpserver") diff --git a/gnu/packages/task-runners.scm b/gnu/packages/task-runners.scm index 5a71d41314f..ee14343a715 100644 --- a/gnu/packages/task-runners.scm +++ b/gnu/packages/task-runners.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2021 Ivan Gankevich ;;; Copyright © 2024-2025 Sharlatan Hellseher ;;; Copyright © 2025 Nicolas Graves +;;; Copyright © 2025 Junker ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +25,8 @@ #:use-module (gnu packages compression) #:use-module (gnu packages golang-xyz) #:use-module (gnu packages mail) + #:use-module (gnu packages scheme) + #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (guix download) @@ -33,6 +36,31 @@ #:use-module (guix packages) #:use-module (guix utils)) +(define-public faber + (package + (name "faber") + (version "0.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Junker/faber") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "17xjg92vwg7n06lx4xbsnd7wvsgqcw8h10ha5365rsfs49bd3cyf")))) + (inputs (list gauche)) + (build-system copy-build-system) + (arguments + '(#:install-plan '(("faber" "bin/")))) + (synopsis "Task runner with power of Scheme") + (description "Faber is a CLI task runner designed to leverage the power and +flexibility of Gauche Scheme. +Unlike other build systems that rely on custom formats, Faber uses Gauche +Scheme, allowing you to write build scripts using familiar Scheme syntax.") + (home-page "https://github.com/Junker/faber") + (license license:expat))) + (define-public run (package (name "run") diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index a06082d9503..44abfd621ea 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -1629,14 +1629,14 @@ It started as a side project of LXC but can be used by any run-time.") (define-public libvirt (package (name "libvirt") - (version "11.0.0") + (version "11.5.0") (source (origin (method url-fetch) (uri (string-append "https://libvirt.org/sources/libvirt-" version ".tar.xz")) (sha256 - (base32 "0vl0lgzw3x4fkghhw7nfxk8fxj3bbn9f17y0hg7miba283zpd881")) + (base32 "08r4sxchhh639a8h346795971zz615j86v9z9vxf5q9q0pbbjqrb")) (patches (search-patches "libvirt-add-install-prefix.patch" "libvirt-respect-modules-path.patch")))) (build-system meson-build-system) @@ -1793,14 +1793,14 @@ three libraries: (define-public python-libvirt (package (name "python-libvirt") - (version "11.0.0") + (version "11.5.0") (source (origin (method url-fetch) (uri (string-append "https://libvirt.org/sources/python/libvirt-python-" version ".tar.gz")) (sha256 - (base32 "1y26104zgylz0v9d6xc0bm6m13is94shn9dlhjycaf347jjjbs6f")))) + (base32 "08xcnzmahmb72rv9cw8dxwnjmrdgmm5j4bbxpwsnhll9qsgdiak9")))) (build-system pyproject-build-system) (inputs (list libvirt)) diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 646c8620409..c15adc23baa 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -64,6 +64,7 @@ #:use-module (gnu packages usb-modeswitch) #:use-module (gnu packages messaging) #:use-module (gnu packages networking) + #:use-module (gnu packages nss) #:use-module (gnu packages ntp) #:use-module (gnu packages gnome) #:use-module (gnu packages ipfs) @@ -1307,7 +1308,13 @@ HiddenServicePort ~a ~a~%" (writable? #t)) (file-system-mapping (source torrc) - (target source))) + (target source)) + + ;; Transport plugins like the lyrebird + ;; webtunnel need X.509 certificates. + (file-system-mapping + (source (file-append nss-certs "/etc/ssl/certs")) + (target "/etc/ssl/certs"))) (map (lambda (plugin) (file-system-mapping (source (tor-plugin-program plugin)) diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 17c2e6f6bfd..febfda57785 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -349,7 +349,7 @@ FILE-SYSTEMS." ("btrfs" => '("btrfs")) ("iso9660" => '("isofs")) ("jfs" => '("jfs")) - ("f2fs" => '("f2fs" "crc32_generic")) + ("f2fs" => '("f2fs" "crc32_cryptoapi")) ("xfs" => '("xfs")) (else '())))