;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darrington ;;; Copyright © 2014, 2019 Mark H Weaver ;;; Copyright © 2015, 2016, 2019 Efraim Flashner ;;; Copyright © 2016 Kei Kebreau ;;; Copyright © 2017 Eric Bavier ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Rutger Helling ;;; Copyright © 2018 Timo Eisenmann ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright © 2019 Clément Lassieur ;;; Copyright © 2019 Brett Gilio ;;; ;;; 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 . (define-module (gnu packages web-browsers) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (gnu packages) #:use-module (gnu packages;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2022 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages kde-utils) #:use-module (guix build-system qt) #:use-module (guix gexp) #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages backup) #:use-module (gnu packages bash) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages cups) #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) ; dbus for tests #:use-module (gnu packages gnome) #:use-module (gnu packages gstreamer) #:use-module (gnu packages imagemagick) #:use-module (gnu packages multiprecision) #:use-module (gnu packages pkg-config) #:use-module (gnu packages kde) #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages kde-plasma) #:use-module (gnu packages python) #:use-module (gnu packages qt) #:use-module (gnu packages samba) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg)) (define-public ark (package (name "ark") (version "24.05.2") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/ark-" version ".tar.xz")) (sha256 (base32 "1q0fyx65gp0d1vj4jxiaswdfzi15hbfi537f3i8y277b621qp3rs")) ;; The libarchive package in Guix does not support ;; xar; disable related tests. (patches (search-patches "ark-skip-xar-test.patch")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase #:phases #~(modify-phases %standard-phases (add-before 'check 'start-xserver ;; adddialogtest requires DISPLAY. (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")))) (add-after 'install 'wrap-executable (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (lrzip (assoc-ref inputs "lrzip")) (lzop (assoc-ref inputs "lzop")) (p7zip (assoc-ref inputs "p7zip")) (unzip (assoc-ref inputs "unzip")) (zip (assoc-ref inputs "zip")) (zstd (assoc-ref inputs "zstd"))) (wrap-program (string-append out "/bin/ark") `("PATH" suffix ,(map (lambda (p) (string-append p "/bin")) (list lrzip lzop p7zip unzip zip zstd)))))))))) (native-inputs (list extra-cmake-modules pkg-config kdoctools xorg-server)) (inputs (list bash-minimal breeze-icons karchive kconfig kcrash kdbusaddons ki18n kiconthemes kio kitemmodels kparts kpty kservice kwidgetsaddons kfilemetadata libarchive libzip zlib ;; Command line tools used by Ark. lrzip lzop p7zip unzip zip zstd)) (home-page "https://apps.kde.org/ark/") (synopsis "Graphical archiving tool") (description "Ark is a graphical file compression/decompression utility with support for multiple formats, including tar, gzip, bzip2, rar and zip, as well as CD-ROM images.") (license license:gpl2+))) (define-public atelier (let ((commit "93d7d440c42f1e49a4933cbbce9f68d5e4ca725a") ; no releases (revision "1")) (package (name "atelier") (version (git-version "0.1-pre" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://invent.kde.org/utilities/atelier") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "00jccpwvksyp2vr3fjxajs8d9d30rspg4zj6rnj8dai96alp303k")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules pkg-config)) (inputs (list ki18n-5 kxmlgui-5 kconfigwidgets-5 ktexteditor-5 libatcore qt3d-5 qtbase-5 qtcharts qtdeclarative-5 qtmultimedia-5 qtserialport-5)) (home-page "https://atelier.kde.org") (synopsis "Desktop interface to control 3D printers powered by AtCore") (description "Atelier provides interface to control and manage your printer. @itemize @item Load and see your GCode File @item Real time graphic to monitor your bed and hotend temperatures @item You can log everything that comes and go from your printer @item Edit gcode file @end itemize") (license license:gpl3+)))) (define-public basket (let ((commit "e23a8b3b1198d51f770523c7fb4652750810359a") (revision "1")) (package (name "basket") (version (git-version "2.49" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://invent.kde.org/utilities/basket") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "1i7hrrlwyzzh7mm9xc8hjix24rvy1b2cvvbkhxh9mmdbmphwdhhd")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list breeze-icons karchive kcompletion kconfig kconfigwidgets kcoreaddons kcrash kdbusaddons kdoctools kfilemetadata kglobalaccel kguiaddons ki18n kiconthemes kcmutils kio knotifications kparts kservice ktextwidgets kwidgetsaddons kwindowsystem kxmlgui phonon)) (home-page "https://invent.kde.org/utilities/basket") (synopsis "Notes and to-dos organizer") (description "This package provides simple note taking and to-do app.") (license license:gpl2+)))) (define-public fielding (let ((commit "4ee9aea59718851125edcac71e2e4fdc5a592ed9") ;; no releases yet (revision "2")) (package (name "fielding") (version (git-version "0.1-pre" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://invent.kde.org/utilities/fielding") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "04gzp4bch4k2cvjk0mjcrmjpi986j5bqz3l4xcqykfwbgd08kas2")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list kirigami kirigami-addons kcoreaddons kconfig ki18n kdbusaddons ksyntaxhighlighting qtdeclarative qtsvg)) (arguments (list #:qtbase qtbase)) (home-page "https://invent.kde.org/utilities/fielding") (synopsis "REST API testing tool") (description "This package provides a tool for testing REST APIs.") (license license:lgpl2.1+)))) (define-public filelight (package (name "filelight") (version "24.05.2") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/filelight-" version ".tar.xz")) (sha256 (base32 "0mibgqhab7cbis0vw89f5y73185jq1dgmcsqdd8g4clkglgvdlrk")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list kirigami kirigami-addons kquickcharts kxmlgui kio ki18n kdeclarative qqc2-desktop-style qtsvg)) (arguments (list #:qtbase qtbase)) (home-page "https://apps.kde.org/filelight/") (synopsis "Visualize the disk usage") (description "Filelight is an application to visualize the disk usage on your computer.") (license license:lgpl2.1+))) (define-public francis (package (name "francis") (version "24.05.2") (source (origin (method git-fetch) (uri (git-reference (url "https://invent.kde.org/utilities/francis") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0lm0gh035qc9ip9hs00gxl3y9d9a8846ggypzgzngkqazic9i82k")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list kirigami kirigami-addons kcoreaddons kconfig ki18n kdbusaddons knotifications qtdeclarative qtsvg)) (arguments (list #:qtbase qtbase)) (home-page "https://invent.kde.org/utilities/francis") (synopsis "Track your time") (description "This package provides time tracking.") (license license:lgpl2.1+))) (define-public isoimagewriter (package (name "isoimagewriter") (version "24.05.2") (source (origin (method git-fetch) (uri (git-reference (url "https://invent.kde.org/utilities/isoimagewriter") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1v8ggdgij503m3bm1w24840al5by7y62p8yrmhlk4g0hjacmkys7")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list kauth karchive kcoreaddons ki18n kiconthemes kcrash solid kwidgetsaddons)) (arguments (list #:qtbase qtbase)) (home-page "https://invent.kde.org/utilities/isoimagewriter") (synopsis "Write hybrid ISO files onto USB disks") (description "This package provides a tool to write ISO files to USB disks.") (license license:gpl3+))) (define-public kate (package (name "kate") (version "24.05.2") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kate-" version ".tar.xz")) (sha256 (base32 "085hbl6xzzihnhy8pjwdjdsrww6l1h70m4sf2s1b5c1xsnvhhkvp")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools)) (inputs (list breeze-icons ;; default icon set plasma-activities kconfig kcrash kdbusaddons kguiaddons ki18n kiconthemes kitemmodels threadweaver knewstuff kio kjobwidgets kparts ktexteditor ktextwidgets ksyntaxhighlighting kwallet kwindowsystem kxmlgui libplasma libxkbcommon)) (arguments (list #:qtbase qtbase #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-tests (lambda* (#:key inputs #:allow-other-keys) ;; This test requires a 'bin' diretory under '/usr'. (substitute* "addons/externaltools/autotests/externaltooltest.cpp" (("QStringLiteral[(]\"/usr\"[)]") (format #f "QStringLiteral(\"~a\")" (dirname (dirname (which "ls")))))))) (add-before 'check 'check-setup (lambda _ ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") (setenv "HOME" (getcwd))))))) (home-page "https://kate-editor.org/") (synopsis "Multi-document, multi-view text editor") (description "Kate is a powerful text editor that can open multiple files simultaneously. With a built-in terminal, syntax highlighting, and tabbed sidebar, it performs as a lightweight but capable development environment. Kate's many tools, plugins, and scripts make it highly customizable. Kate's features include: @itemize @item Multiple saved sessions, each with numerous files @item Scriptable syntax highlighting, indentation, and code-folding @item Configurable templates and text snippets @item Symbol viewers for C, C++, and Python @item XML completion and validation @end itemize") (license ;; GPL for programs, LGPL for libraries (list license:gpl2+ license:lgpl2.0)))) (define-public kdebugsettings (package (name "kdebugsettings") (version "24.05.2") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kdebugsettings-" version ".tar.xz")) (sha256 (base32 "1il9jcwya1hgqrs5yrlahk9h0hrrs5h1ay304sbixgiiafx1dcv7")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list kcoreaddons kconfig kdbusaddons ki18n kwidgetsaddons kitemviews kcompletion kxmlgui)) (arguments (list #:qtbase qtbase)) (home-page "https://invent.kde.org/utilities/kdebugsettings") (synopsis "Choose which QLoggingCategory are displayed") (description "This package selects which QLoggingCategory are displayed.") (license license:lgpl2.0+))) (define-public kbackup (package (name "kbackup") (version "24.05.2") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kbackup-" version ".tar.xz")) (sha256 (base32 "0s75il0hxs95sdmj3jll8rdl1n8y86qgwww15idda18yww8d0bwm")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list kguiaddons knotifications ki18n kio kxmlgui kiconthemes karchive kwidgetsaddons kstatusnotifieritem libarchive shared-mime-info qt5compat)) (arguments (list #:qtbase qtbase)) (home-page "https://apps.kde.org/kbackup/") (synopsis "Backup program with an easy-to-use interface") (description "This package provides tool to backup your data. @itemize @item profile for directories and files to be included or excluded from the backup @item The backup target can be either a locally mounted device like a ZIP drive, USB stick, etc @item Running automated backups without using a graphical user interface @end itemize") (license license:gpl2+))) (define-public kcalc (package (name "kcalc") (version "24.05.2") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kcalc-" version ".tar.xz")) (sha256 (base32 "0p1m3yv52dc2mzalk19l3zpdwpwi5jg0fib5lgb1ln71kwb07y8n")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase)) (native-inputs (list extra-cmake-modules kdoctools)) (inputs (list gmp kcoreaddons kcrash kconfig kconfigwidgets kguiaddons ki18n knotifications kxmlgui mpfr)) (home-page "https://apps.kde.org/kcalc/") (synopsis "Scientific calculator") (description "This package provides a scientific calculator.") (license license:gpl2+))) (define-public kcharselect (package (name "kcharselect") (version "24.05.2") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kcharselect-" version ".tar.xz")) (sha256 (base32 "0yzw3jqcxkqi3ricsxcj1g8lhwxqjx0vwa91h4jb7ig1gsp6h3hi")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase)) (native-inputs (list extra-cmake-modules)) (inputs (list kbookmarks kcoreaddons kcrash ki18n kwidgetsaddons kxmlgui)) (home-page "https://apps.kde.org/kcharselect/") (synopsis "Select and copy special characters from installed fonts") (description "This package provides a tool to display various information about the selected character. This includes not only the Unicode character name, but also aliases, general notes and cross references to similar characters.") (license license:gpl2+))) (define-public kdialog (package (name "kdialog") (version "24.05.2") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kdialog-" version ".tar.xz")) (sha256 (base32 "06h42dlchikn0xva93yj2y46gmcqb78lm0qim30q25fnz5hbfv5f")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase)) (native-inputs (list extra-cmake-modules kdoctools)) (inputs (list ktextwidgets knotifications kguiaddons kiconthemes kwindowsystem kio kdbusaddons)) (home-page "https://invent.kde.org/utilities/kdialog") (synopsis "Show dialog boxes from shell scripts") (description "This package provides tool to show nice dialog boxes from shell scripts.") (license license:gpl2+))) (define-public keurocalc (let ((commit "c6e83859624de10210ad6b839c473dd8ea7a0e83") ; just one release (revision "2")) (package (name "keurocalc") (version (git-version "1.3.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://invent.kde.org/utilities/keurocalc") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "040x28lnirwply5ph5xz3jcmx7c10qifmwcjgvqymlgqhcfkda0r")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules kdoctools)) (inputs (list kconfig kconfigwidgets kcoreaddons ki18n kio kwidgetsaddons kxmlgui)) (arguments (list #:qtbase qtbase)) (home-page "https://invent.kde.org/utilities/keurocalc") (synopsis "Currency conversion tool") (description "This package provides a utility to handle currency conversions between European currencies.") (license license:gpl2+)))) (define-public keysmith (package (name "keysmith") (version "24.05.2") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/keysmith-" version ".tar.xz")) (sha256 (base32 "1n34sda27hpl53gayglrjyz8la8g25z8mrvaymwhcp8fzpids911")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules pkg-config python-minimal)) (inputs (list kdbusaddons kirigami ki18n kwindowsystem libsodium qqc2-desktop-style qtsvg qtdeclarative)) (arguments (list #:qtbase qtbase)) (home-page "https://invent.kde.org/utilities/keysmith") (synopsis "OTP client for Plasma Mobile and Desktop") (description "This package provides OTP client for Plasma Mobile and Desktop with support for QR scanning.") (license license:gpl3+))) (define-public kfind (package (name "kfind") (version "24.05.2") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/kfind-" versi