aboutsummaryrefslogtreecommitdiff
path: root/m4
ModeNameSize
-rw-r--r--guix.m416484logplainabout
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-frameworks) #:use-module (guix build-system cmake) #:use-module (guix build-system python) #:use-module (guix build-system qt) #: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 (guix gexp) #:use-module (gnu packages) #:use-module (gnu packages acl) #:use-module (gnu packages admin) #:use-module (gnu packages aidc) #:use-module (gnu packages aspell) #:use-module (gnu packages attr) #:use-module (gnu packages avahi) #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages bison) #:use-module (gnu packages boost) #:use-module (gnu packages calendar) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages databases) #:use-module (gnu packages docbook) #:use-module (gnu packages ebook) #:use-module (gnu packages flex) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) #:use-module (gnu packages gperf) #:use-module (gnu packages graphics) #:use-module (gnu packages graphviz) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages hunspell) #:use-module (gnu packages image) #:use-module (gnu packages iso-codes) #:use-module (gnu packages kerberos) #:use-module (gnu packages kde) #:use-module (gnu packages kde-plasma) #:use-module (gnu packages libcanberra) #:use-module (gnu packages linux) #:use-module (gnu packages mp3) #:use-module (gnu packages openbox) #:use-module (gnu packages pdf) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages photo) #:use-module (gnu packages pkg-config) #:use-module (gnu packages polkit) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages python-web) #:use-module (gnu packages qt) #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages text-editors) #:use-module (gnu packages version-control) #:use-module (gnu packages video) #:use-module (gnu packages vulkan) #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) #:use-module (srfi srfi-1)) (define-public extra-cmake-modules (package (name "extra-cmake-modules") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "1ks9381yf7n9v80baydjrbri5yf0kwc0g1dnyclhd682wnhjqg4g")))) (build-system cmake-build-system) (native-inputs ;; Add test dependency, except on armhf where building it is too ;; expensive. (if (and (not (%current-target-system)) (string=? (%current-system) "armhf-linux")) '() (list qtbase-5))) ;for tests (needs qmake) (arguments (list #:tests? (and (not (%current-target-system)) (not (null? (package-native-inputs this-package)))) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'fix-lib-and-libexec-path (lambda _ (substitute* "kde-modules/KDEInstallDirsCommon.cmake" ;; Always install into /lib and not into /lib64. (("\"lib64\"") "\"lib\"") ;; Install into /libexec and not into /lib/libexec. (("LIBDIR \"libexec\"") "EXECROOTDIR \"libexec\"")) ;; Determine the install path by the major version of Qt. ;; TODO: Base the following on values taken from Qt ;; Install plugins into lib/qt5/plugins ;; TODO: Check if this is okay for Android, too ;; (see comment in KDEInstallDirs.cmake) (substitute* '("kde-modules/KDEInstallDirs5.cmake" "kde-modules/KDEInstallDirs6.cmake") ;; Fix the installation path of Qt plugins. (("_define_relative\\(QTPLUGINDIR \"\\$\\{_pluginsDirParent}\" \"plugins\"") "_define_relative(QTPLUGINDIR \"${_pluginsDirParent}\" \"qt${QT_MAJOR_VERSION}/plugins\"") ;; Fix the installation path of QML files. (("_define_relative\\(QMLDIR LIBDIR \"qml\"") "_define_relative(QMLDIR LIBDIR \"qt${QT_MAJOR_VERSION}/qml\"")) ;; Qt Quick Control 1 is no longer available in Qt 6. (substitute* '("kde-modules/KDEInstallDirs5.cmake") (("_define_relative\\(QTQUICKIMPORTSDIR QTPLUGINDIR \"imports\"") "_define_relative(QTQUICKIMPORTSDIR LIBDIR \"qt5/imports\"")) (substitute* "modules/ECMGeneratePriFile.cmake" ;; Install pri-files into lib/qt${QT_MAJOR_VERSION}/mkspecs (("set\\(ECM_MKSPECS_INSTALL_DIR mkspecs/modules") "set(ECM_MKSPECS_INSTALL_DIR lib/qt${QT_MAJOR_VERSION}/mkspecs/modules")))) ;; Work around for the failed test KDEFetchTranslations. ;; It complains that the cmake project name is not ;; ".*/extra-cmake-modules". ;; TODO: Fix it upstream. (add-after 'unpack 'fix-test (lambda _ (substitute* "tests/KDEFetchTranslations/CMakeLists.txt" (("\\.\\*/extra-cmake-modules") "extra-cmake-modules")))) ;; install and check phase are swapped to prevent install from failing ;; after testsuire has run (add-after 'install 'check-post-install (assoc-ref %standard-phases 'check)) (delete 'check)))) ;; optional dependencies - to save space, we do not add these inputs. ;; Sphinx > 1.2: ;; Required to build Extra CMake Modules documentation in Qt Help format. ;; Qt5LinguistTools , Qt5 linguist tools. , <http://www.qt.io/> ;; Required to run tests for the ECMPoQmTools module. ;; Qt5Core ;; Required to run tests for the ECMQtDeclareLoggingCategory module, ;; and for some tests of the KDEInstallDirs module. (home-page "https://community.kde.org/Frameworks") (synopsis "CMake module files for common software used by KDE") (description "The Extra CMake Modules package, or ECM, adds to the modules provided by CMake to find common software. In addition, it provides common build settings used in software produced by the KDE community.") (license license:bsd-3))) (define-public kquickcharts (package (name "kquickcharts") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "00lhiiyl8yv7cn06b2xjpcwgcxb5n60v1122hn32mpbg436abaf5")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase)) (native-inputs (list extra-cmake-modules glslang pkg-config)) (inputs (list qtdeclarative qtshadertools)) (home-page "https://api.kde.org/frameworks/kquickcharts/html/index.html") (synopsis "QtQuick plugin providing high-performance charts") (description "The Quick Charts module provides a set of charts that can be used from QtQuick applications for both simple display of data as well as continuous display of high-volume data.") (license (list license:lgpl2.1 license:lgpl3)))) (define-public kquickcharts-5 (package (inherit kquickcharts) (name "kquickcharts") (version "5.116.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "1bd20kpypji6053fwn5a1b41rjf7r1b3wk85swb0xlmm2kji236j")))) (build-system cmake-build-system) (arguments (list #:phases #~(modify-phases %standard-phases (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? (system "Xvfb :1 -screen 0 640x480x24 &") (setenv "DISPLAY" ":1") (setenv "QT_QPA_PLATFORM" "offscreen") (invoke "ctest"))))))) (inputs (list qtbase-5 qtdeclarative-5 qtquickcontrols2-5 xorg-server-for-tests)))) (define-public phonon (package (name "phonon") (version "4.12.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/phonon" "/" version "/" name "-" version ".tar.xz")) (sha256 (base32 "16pk8g5rx00x45gnxrqg160b1l02fds1b7iz6shllbfczghgz1rj")))) (build-system cmake-build-system) (native-inputs (list appstream extra-cmake-modules pkg-config qttools)) (inputs (list qtbase qt5compat glib qtbase-5 pulseaudio)) (arguments (list #:configure-flags #~(list "-DCMAKE_CXX_FLAGS=-fPIC"))) (home-page "https://community.kde.org/Phonon") (synopsis "KDE's multimedia library") (description "KDE's multimedia library.") (license license:lgpl2.1+))) (define-public phonon-backend-gstreamer (package (name "phonon-backend-gstreamer") (version "4.10.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/phonon/" name "/" version "/" name "-" version ".tar.xz")) (sha256 (base32 "1wk1ip2w7fkh65zk6rilj314dna0hgsv2xhjmpr5w08xa8sii1y5")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules pkg-config qttools-5)) (inputs (list phonon qtbase-5 qtx11extras gstreamer gst-plugins-base libxml2)) (arguments `(#:configure-flags '( "-DPHONON_BUILD_PHONON4QT5=ON"))) (home-page "https://community.kde.org/Phonon") (synopsis "Phonon backend which uses GStreamer") (description "Phonon makes use of backend libraries to provide sound. Phonon-GStreamer is a backend based on the GStreamer multimedia library.") ;; license: source files mention "either version 2.1 or 3" (license (list license:lgpl2.1 license:lgpl3)))) (define-public phonon-backend-vlc (package (name "phonon-backend-vlc") (version "0.12.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/phonon/" name "/" version "/" name "-" version ".tar.xz")) (sha256 (base32 "19f9wzff4nr36ryq18i6qvsq5kqxfkpqsmsvrarr8jqy8pf7k11k")))) (build-system cmake-build-system) (arguments (list #:configure-flags #~(list "-DPHONON_BUILD_QT6=OFF"))) (native-inputs (list extra-cmake-modules qttools-5)) (inputs (list phonon qtbase-5 vlc)) (home-page "https://community.kde.org/Phonon") (synopsis "Phonon backend which uses VLC") (description "Phonon makes use of backend libraries to provide sound. Phonon-VLC is a backend based on the VLC multimedia library.") (license license:lgpl2.1))) ;; Tier 1 ;; ;; Tier 1 frameworks depend only on Qt (and possibly a small number of other ;; third-party libraries), so can easily be used by an Qt-based project. (define-public attica (package (name "attica") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "1rhhc0fxwpv5dq3j7jsys0k72sy43qb1fmj2ib2a59sjvhc0ds3c")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list qtbase)) (arguments (list #:phases #~(modify-phases %standard-phases (add-after 'unpack 'disable-network-tests (lambda _ ;; These tests require network access. (substitute* "autotests/CMakeLists.txt" ((".*providertest.cpp") ""))))))) (home-page "https://community.kde.org/Frameworks") (synopsis "Open Collaboration Service client library") (description "Attica is a Qt library that implements the Open Collaboration Services API version 1.6. It grants easy access to the services such as querying information about persons and contents. The library is used in KNewStuff3 as content provider. In order to integrate with KDE's Plasma Desktop, a platform plugin exists in kdebase. The REST API is defined here: http://freedesktop.org/wiki/Specifications/open-collaboration-services/") (license (list license:lgpl2.1+ license:lgpl3+)))) (define-public attica-5 (package (inherit attica) (name "attica") (version "5.116.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "1shzs985fimd15w2d9cxpcbq7by33v05hb00rp79k6cqvp20f4b8")))) (inputs (list qtbase-5)))) (define-public bluez-qt (package (name "bluez-qt") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "0pm6dbn0za3pp078ri4rbfdb0xa163pnx26h103l3y8szik4f8zh")))) (build-system cmake-build-system) (native-inputs (list dbus extra-cmake-modules)) (inputs (list qtdeclarative qtbase)) (arguments (list #:configure-flags #~(list (string-append "-DUDEV_RULES_INSTALL_DIR=" #$output "/lib/udev/rules.d")) #:phases #~(modify-phases %standard-phases (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? (setenv "DBUS_FATAL_WARNINGS" "0") (invoke "dbus-launch" "ctest" "-E" "bluezqt-qmltests"))))))) (home-page "https://community.kde.org/Frameworks") (synopsis "QML wrapper for BlueZ") (description "bluez-qt is a Qt-style library for accessing the bluez Bluetooth stack. It is used by the KDE Bluetooth stack, BlueDevil.") (license (list license:lgpl2.1+ license:lgpl3+)))) (define-public breeze-icons (package (name "breeze-icons") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "1i5h39asvjsbx4d5p3b78gvfa514yjchn394ph77b4a8z2p8yvna")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules fdupes `(,gtk+ "bin") python python-lxml)) ;for 24x24 icon generation (inputs (list qtbase)) (arguments (list #:phases #~(modify-phases %standard-phases (add-after 'install 'update-cache (lambda* _ (invoke "gtk-update-icon-cache" (string-append #$output "/share/icons/breeze")) (invoke "gtk-update-icon-cache" (string-append #$output "/share/icons/breeze-dark"))))))) (home-page "https://community.kde.org/Frameworks") (synopsis "Default KDE Plasma icon theme") (description "Breeze provides a freedesktop.org compatible icon theme. It is the default icon theme for the KDE Plasma desktop.") ;; The license file mentions lgpl3+. The license files in the source ;; directories are lgpl3, while the top directory contains the lgpl2.1. ;; text. (license license:lgpl3+))) (define-public kapidox (package (name "kapidox") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "18d3c2c9si71hic816gkdhayabi0sa5b874hk1wrhx0l44i2ym7j")))) (build-system python-build-system) (arguments (list #:tests? #f ; test need network #:phases #~(modify-phases %standard-phases (delete 'sanity-check)))) ;its insane. (propagated-inputs ;; kapidox is a python programm ;; TODO: check if doxygen has to be installed, the readme does not ;; mention it. The openSuse .rpm lists doxygen, graphviz, graphviz-gd, ;; and python-xml. (list python python-jinja2 python-pyyaml python-requests)) (inputs (list qtbase)) (home-page "https://community.kde.org/Frameworks") (synopsis "KDE Doxygen Tools") (description "This framework contains scripts and data for building API documentation (dox) in a standard format and style for KDE. For the actual documentation extraction and formatting the Doxygen tool is used, but this framework provides a wrapper script to make generating the documentation more convenient (including reading settings from the target framework or other module) and a standard template for the generated documentation.") ;; Most parts are bsd-2, but incuded jquery is expat ;; This list is taken from http://packaging.neon.kde.org/cgit/ (license (list license:bsd-2 license:expat)))) (define-public karchive (package (name "karchive") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "0yaf8h2b8x9i9a3qm6bx1ksjmw0mj57ib18rds929q0dqx9h4lz5")))) (build-system cmake-build-system) (arguments (list #:phases #~(modify-phases %standard-phases (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? (invoke "ctest" "-E" "karchivetest"))))))) (native-inputs (list extra-cmake-modules pkg-config qttools)) (inputs (list bzip2 qtbase xz zlib `(,zstd "lib"))) (synopsis "Qt 6 addon providing access to numerous types of archives") (description "KArchive provides classes for easy reading, creation and manipulation of @code{archive} formats like ZIP and TAR. It also provides transparent compression and decompression of data, like the GZip format, via a subclass of QIODevice.") (home-page "https://community.kde.org/Frameworks") ;; The included licenses is are gpl2 and lgpl2.1, but the sources are ;; under a variety of licenses. ;; This list is taken from http://packaging.neon.kde.org/cgit/ (license (list license:lgpl2.1 license:lgpl2.1+ license:lgpl3+ license:bsd-2)))) (define-public karchive-5 (package (inherit karchive) (name "karchive") (version "5.116.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "02m3vvw58qsgmaps184xwy97bg4pgjl4i1gjwzn66h5qf34y6qqn")))) (native-inputs (list extra-cmake-modules pkg-config qttools-5)) (inputs (list bzip2 qtbase-5 xz zlib `(,zstd "lib"))) (synopsis "Qt 5 addon providing access to numerous types of archives"))) (define-public kcalendarcore (package (name "kcalendarcore") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "08pm465rmy5va17kn86mw0pxskpnw9p04a7rq9acxxhmxpsrk9bd")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules perl tzdata-for-tests)) (inputs (list libical qtbase qtdeclarative)) (arguments (list #:phases #~(modify-phases %standard-phases (add-before 'check 'check-setup (lambda* (#:key inputs #:allow-other-keys) (setenv "QT_QPA_PLATFORM" "offscreen") (setenv "TZ" "Europe/Prague") (setenv "TZDIR" (search-input-directory inputs "share/zoneinfo"))))))) (home-page "https://community.kde.org/Frameworks") (synopsis "Library for interfacing with calendars") (description "This library provides access to and handling of calendar data. It supports the standard formats iCalendar and vCalendar and the group scheduling standard iTIP. A calendar contains information like incidences (events, to-dos, journals), alarms, time zones, and other useful information. This API provides access to that calendar information via well known calendar formats iCalendar (or iCal) and the older vCalendar.") (license (list license:lgpl3+ license:bsd-2)))) (define-public kcodecs (package (name "kcodecs") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "020yz5mf2rqrk6jw460br1wz3lp50d9fh0dvrld5jf8f8zsj4v79")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules gperf qttools)) (inputs (list qtbase)) (home-page "https://community.kde.org/Frameworks") (synopsis "String encoding and manipulating library") (description "KCodecs provide a collection of methods to manipulate strings using various encodings. It can automatically determine the charset of a string, translate XML entities, validate email addresses, and find encodings by name in a more tolerant way than QTextCodec (useful e.g. for data coming from the Internet).") ;; The included licenses is are gpl2 and lgpl2.1, but the sources are ;; under a variety of licenses. ;; This list is taken from http://packaging.neon.kde.org/cgit/ (license (list license:gpl2 license:gpl2+ license:bsd-2 license:lgpl2.1 license:lgpl2.1+ license:expat license:lgpl3+ license:mpl1.1)))) (define-public kcodecs-5 (package (inherit kcodecs) (name "kcodecs") (version "5.116.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "03k8scmswxhx7bng5fh3niq84gqzksb19sf6ah4bdz6aj4pd52d4")))) (native-inputs (list extra-cmake-modules gperf qttools-5)) (inputs (list qtbase-5)))) (define-public kcolorpicker (package (name "kcolorpicker") (version "0.3.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/ksnip/kColorPicker") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1px40rasvz0r5db9av125q9mlyjz4xdnckg2767i3fndj3ic0vql")))) (build-system qt-build-system) (arguments (list #:qtbase qtbase #:configure-flags #~(list "-DBUILD_TESTS=ON" "-DBUILD_WITH_QT6=ON"))) (home-page "https://github.com/ksnip/kColorPicker") (synopsis "Color Picker with popup menu") (description "@code{KColorPicker} is a subclass of @code{QToolButton} with color popup menu which lets you select a color. The popup features a color dialog button which can be used to add custom colors to the popup menu.") (license license:lgpl3+))) (define-public kcolorscheme (package (name "kcolorscheme") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "0axlj37ayra5ds8pfajx6pwjidj6i9fcxwld2p68qh6w6zfmafrj")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list kguiaddons ki18n qtdeclarative)) (propagated-inputs (list kconfig)) (arguments (list #:qtbase qtbase)) (synopsis "Classes to read and interact with KColorScheme") (description "This package provide a Classes to read and interact with KColorScheme.") (home-page "https://community.kde.org/Frameworks") (license (list license:cc0 license:lgpl2.0+ license:lgpl2.1 license:bsd-2 license:lgpl3)))) (define-public kconfig (package (name "kconfig") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "04sxibd21mzc27s67yjpg0qsd1j8w6k29wdbg2wdy7a9scam73p4")))) (build-system qt-build-system) (native-inputs (list dbus extra-cmake-modules inetutils qttools)) (propagated-inputs (list qtdeclarative)) (arguments (list #:qtbase qtbase #:phases #~(modify-phases %standard-phases (add-before 'check 'check-setup (lambda* (#:key tests? #:allow-other-keys) (when tests? (with-output-to-file "autotests/BLACKLIST" (lambda _ (for-each (lambda (name) (display (string-append "[" name "]\n*\n"))) (list "testNotifyIllegalObjectPath" "testLocalDeletion" "testNotify" "testSignal" "testDataUpdated")))) (setenv "HOME" (getcwd)) (setenv "QT_QPA_PLATFORM" "offscreen"))))))) (home-page "https://community.kde.org/Frameworks") (synopsis "Kconfiguration settings framework for Qt") (description "KConfig provides an advanced configuration system. It is made of two parts: KConfigCore and KConfigGui. KConfigCore provides access to the configuration files themselves. It features: @enumerate @item Code generation: describe your configuration in an XML file, and use `kconfig_compiler to generate classes that read and write configuration entries. @item Cascading configuration files (global settings overridden by local settings). @item Optional shell expansion support (see docs/options.md). @item The ability to lock down configuration options (see docs/options.md). @end enumerate KConfigGui provides a way to hook widgets to the configuration so that they are automatically initialized from the configuration and automatically propagate their changes to their respective configuration files.") ;; The included licenses is are gpl2 and lgpl2.1, but the sources are ;; under a variety of licenses. ;; This list is taken from http://packaging.neon.kde.org/cgit/ (license (list license:lgpl2.1 license:lgpl2.1+ license:expat license:lgpl3+ license:gpl1 ; licende:mit-olif license:bsd-2 license:bsd-3)))) (define-public kconfig-5 (package (inherit kconfig) (name "kconfig") (version "5.116.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "03j7cw0c05rpxrnblrc5ziq7vy1v193l5gj9bix1dakkj9hf6p9c")))) (native-inputs (list dbus extra-cmake-modules inetutils qttools-5 xorg-server-for-tests)) (inputs (list qtdeclarative-5)) (propagated-inputs '()) (arguments (list #:phases #~(modify-phases %standard-phases (replace '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)"))))))))) (define-public kcoreaddons (package (name "kcoreaddons") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "167gwmrj7vfi49bfx16vri3vvzz979ymgwadb1s4xq6lvhlis3jy")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules qttools shared-mime-info)) (inputs (list qtdeclarative)) (arguments (list #:qtbase qtbase #:phases #~(modify-phases %standard-phases (add-before 'check 'blacklist-failing-test (lambda _ ;; Blacklist failing tests. (with-output-to-file "autotests/BLACKLIST" (lambda _ ;; FIXME: Make it pass. Test failure caused by stout/stderr ;; being interleaved. (display "[test_channels]\n*\n") ;; FIXME (display "[test_inheritance]\n*\n"))))) (add-before 'check 'check-setup (lambda _ (setenv "HOME" (getcwd)) (setenv "TMPDIR" (getcwd))))))) (home-page "https://community.kde.org/Frameworks") (synopsis "Qt addon library with a collection of non-GUI utilities") (description "KCoreAddons provides classes built on top of QtCore to perform various tasks such as manipulating mime types, autosaving files, creating backup files, generating random sequences, performing text manipulations such as macro replacement, accessing user information and many more.") (license (list license:lgpl2.0+ license:lgpl2.1+)))) (define-public kcoreaddons-5 (package (inherit kcoreaddons) (name "kcoreaddons") (version "5.116.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "0x1inzglgpz2z2w25bp46hzjv74gp3vyd3i911xczz7wd30b9yyy")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules qttools-5 shared-mime-info)) (inputs (list qtbase-5)) (arguments (list #:phases #~(modify-phases %standard-phases (add-before 'check 'blacklist-failing-test (lambda _ ;; Blacklist failing tests. (with-output-to-file "autotests/BLACKLIST" (lambda _ ;; FIXME: Make it pass. Test failure caused by stout/stderr ;; being interleaved. (display "[test_channels]\n*\n") ;; FIXME (display "[test_inheritance]\n*\n"))))) (add-before 'check 'check-setup (lambda _ (setenv "HOME" (getcwd)) (setenv "TMPDIR" (getcwd))))))))) (define-public kdbusaddons (package (name "kdbusaddons") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "1zm8y0ganicalqq1s2apm5ikzpza6f6m0607aaad4bbsbpzzkb5g")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules dbus qttools)) (inputs (list libxkbcommon)) (arguments (list #:qtbase qtbase #:phases #~(modify-phases %standard-phases (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? (invoke "dbus-launch" "ctest"))))))) (home-page "https://community.kde.org/Frameworks") (synopsis "Convenience classes for DBus") (description "KDBusAddons provides convenience classes on top of QtDBus, as well as an API to create KDED modules.") ;; Some source files mention lgpl2.0+, but the included license is ;; the lgpl2.1. Some source files are under non-copyleft licenses. (license license:lgpl2.1+))) (define-public kdbusaddons-5 (package (inherit kdbusaddons) (name "kdbusaddons") (version "5.116.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "0mlfphk8knbvpyns3ixd8da9zjvsms29mv5z2xgif9y20i5kmdq3")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules dbus qttools-5)) (inputs (list qtbase-5 qtx11extras kinit-bootstrap)) ;; kinit-bootstrap: kinit package which does not depend on kdbusaddons. (arguments (list #:phases #~(modify-phases %standard-phases (add-before 'configure 'patch-source (lambda* (#:key inputs #:allow-other-keys) ;; look for the kdeinit5 executable in kinit's store directory, ;; instead of the current application's directory: (substitute* "src/kdeinitinterface.cpp" (("<< QCoreApplication::applicationDirPath..") (string-append "<< QString::fromUtf8(\"/" (dirname (search-input-file inputs "bin/kdeinit5")) "\")" ))))) (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? (setenv "DBUS_FATAL_WARNINGS" "0") (invoke "dbus-launch" "ctest"))))))))) (define kdbusaddons-5-bootstrap (package (inherit kdbusaddons-5) (source (origin (inherit (package-source kdbusaddons-5)) (patches '()))) (inputs (modify-inputs (package-inputs kdbusaddons-5) (delete "kinit"))) (arguments (substitute-keyword-arguments (package-arguments kdbusaddons-5) ((#:phases phases) #~(modify-phases #$phases (delete 'patch-source))))))) (define-public kdnssd (package (name "kdnssd") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "1zdziswvkdycg4cr89y9fwqym812yd2w167qa8dwlvxn7562bz9p")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules qttools)) (inputs (list avahi ; alternativly dnssd could be used qtbase)) (home-page "https://community.kde.org/Frameworks") (synopsis "Network service discovery using Zeroconf") (description "KDNSSD is a library for handling the DNS-based Service Discovery Protocol (DNS-SD), the layer of Zeroconf that allows network services, such as printers, to be discovered without any user intervention or centralized infrastructure.") (license license:lgpl2.1+))) (define-public kdnssd-5 (package (inherit kdnssd) (name "kdnssd") (version "5.116.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "1z2xyir6xvyyq3j48wmra3zka6hlpjr2rnfc4gbijl0aazv6srrm")))) (native-inputs (list extra-cmake-modules qttools-5)) (inputs (list avahi qtbase-5)))) (define-public kgraphviewer (package (name "kgraphviewer") (version "2.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/kgraphviewer/" version "/" name "-" version ".tar.xz")) (sha256 (base32 "0s9b3q7wvrbz52d500mcaflkrfjwhbzh5bsf5gxzgxjdzdiywaw7")))) (build-system cmake-build-system) (inputs (list qtbase boost graphviz ki18n kiconthemes kparts qtsvg qt5compat)) (native-inputs (list pkg-config extra-cmake-modules kdoctools)) (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 replace the other outdated Graphviz tools.") (license license:gpl2+))) (define-public kguiaddons (package (name "kguiaddons") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "01s8mjpazvl4j1fhb00f24zcsbin5zjz319sv9znxyl51f9zm4vi")))) (build-system qt-build-system) ;; TODO: Build packages for the Python bindings. Ideally this will be ;; done for all versions of python guix supports. Requires python, ;; python-sip, clang-python, libclang. Requires python-2 in all cases for ;; clang-python. (native-inputs (list extra-cmake-modules pkg-config)) (inputs (list libxkbcommon qtwayland plasma-wayland-protocols wayland)) (arguments (list #:qtbase qtbase)) (home-page "https://community.kde.org/Frameworks") (synopsis "Utilities for graphical user interfaces") (description "The KDE GUI addons provide utilities for graphical user interfaces in the areas of colors, fonts, text, images, keyboard input.") (license (list license:gpl2+ license:lgpl2.1+)))) (define-public kguiaddons-5 (package (inherit kguiaddons) (name "kguiaddons") (version "5.116.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "1rpw6glgchf7qs4rh7jxy9sas73708yllba1q880gdicn1nda42w")))) (native-inputs (list extra-cmake-modules pkg-config)) (arguments '()) (inputs (list qtwayland-5 qtx11extras plasma-wayland-protocols wayland)))) (define-public kholidays (package (name "kholidays") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "1jixchnfqpwbh5l187yj6y5zb526zsq588d3536hdaxgzy2k1844")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules qttools)) (inputs (list qtbase qtdeclarative)) (home-page "https://invent.kde.org/frameworks/kholidays") (synopsis "Library for regional holiday information") (description "This library provides a C++ API that determines holiday and other special events for a geographical region.") (license license:lgpl2.0+))) (define-public ki18n (package (name "ki18n") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "1z57rym74w1sqsiwa7vwg0n67bky0vd7q3hhb1fp8lp4i9md6wvq")))) (build-system cmake-build-system) (propagated-inputs (list gettext-minimal)) (native-inputs (list extra-cmake-modules python-minimal tzdata-for-tests)) (inputs (list qtbase qtdeclarative iso-codes)) (arguments (list #:phases #~(modify-phases %standard-phases (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? (setenv "HOME" (getcwd)) (invoke "ctest" "-E" "(kcatalogtest|kcountrytest|kcountrysubdivisiontest)"))))))) (home-page "https://community.kde.org/Frameworks") (synopsis "KDE Gettext-based UI text internationalization") (description "KI18n provides functionality for internationalizing user interface text in applications, based on the GNU Gettext translation system. It wraps the standard Gettext functionality, so that the programmers and translators can use the familiar Gettext tools and workflows. KI18n provides additional functionality as well, for both programmers and translators, which can help to achieve a higher overall quality of source and translated text. This includes argument capturing, customizable markup, and translation scripting.") (license license:lgpl2.1+))) (define-public ki18n-5 (package (inherit ki18n) (name "ki18n") (version "5.116.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "1kbb3rq85hbw1h5bd1w9cmdgz8bdg47w9b133ha41qlhh1i50clk")))) (propagated-inputs (list gettext-minimal python)) (native-inputs (list extra-cmake-modules)) (inputs (list qtbase-5 qtdeclarative-5 qtscript iso-codes)))) (define-public kidletime (package (name "kidletime") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "1xpa51v4lfc3iw7i7q4k39nappyjf9d1argi02028hmnmmp7vp5n")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules pkg-config ;; for wayland-scanner wayland)) (inputs (list qtbase qtwayland wayland plasma-wayland-protocols wayland-protocols libxkbcommon)) (home-page "https://community.kde.org/Frameworks") (synopsis "Reporting of idle time of user and system") (description "KIdleTime is a singleton reporting information on idle time. It is useful not only for finding out about the current idle time of the PC, but also for getting notified upon idle time events, such as custom timeouts, or user activity.") (license (list license:gpl2+ license:lgpl2.1+)))) (define-public kidletime-5 (package (inherit kidletime) (name "kidletime") (version "5.116.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "15s9nxpkqy3i182xk82bpl92iaqcilsckja7301854fw6ppl8vvh")))) (native-inputs (list extra-cmake-modules pkg-config)) (inputs (list libxscrnsaver ; X-Screensaver based poller, fallback mode qtbase-5 qtx11extras)))) (define-public kirigami (package (name "kirigami") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" "kirigami-" version ".tar.xz")) (sha256 (base32 "173m6h9wr8pl5l70s6wmasm8dimkq737qgn6mlzdm18w3qb3p9s3")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules qttools)) (inputs (list kwindowsystem qtshadertools qtbase qtdeclarative qtsvg libxkbcommon)) (home-page "https://community.kde.org/Frameworks") (synopsis "QtQuick components for mobile user interfaces") (description "Kirigami is a set of high level QtQuick components looking and feeling well on both mobile and desktop devices. They ease the creation of applications that follow the Kirigami Human Interface Guidelines.") (license license:lgpl2.1+))) (define-public kirigami-5 (package (inherit kirigami) (name "kirigami") (version "5.116.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" "kirigami2-" version ".tar.xz")) (sha256 (base32 "1q69b1qd2qs9hpwgw0y0ig93ag41l50dghribsnqhi0c9aklsn4b")))) (native-inputs (list extra-cmake-modules qttools-5)) (inputs (list kwindowsystem-5 qtbase-5 qtdeclarative-5 qtquickcontrols2-5 qtsvg-5 ;; Run-time dependency qtgraphicaleffects)) (properties `((upstream-name . "kirigami2"))))) (define-public kitemmodels (package (name "kitemmodels") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "0xjgk9gir8kgw0cf2922sps0xr62y8j8il6gx4f9l915znrh9v1n")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules)) (inputs (list qtdeclarative)) (arguments (list #:qtbase qtbase)) (home-page "https://community.kde.org/Frameworks") (synopsis "Set of item models extending the Qt model-view framework") (description "KItemModels provides the following models: @enumerate @item KBreadcrumbSelectionModel - Selects the parents of selected items to create breadcrumbs. @item KCheckableProxyModel - Adds a checkable capability to a source model. @item KConcatenateRowsProxyModel - Concatenates rows from multiple source models. @item KDescendantsProxyModel - Proxy Model for restructuring a Tree into a list. @item KExtraColumnsProxyModel - Adds columns after existing columns. @item KLinkItemSelectionModel - Share a selection in multiple views which do not have the same source model. @item KModelIndexProxyMapper - Mapping of indexes and selections through proxy models. @item KRearrangeColumnsProxyModel - Can reorder and hide columns from the source model. @item KRecursiveFilterProxyModel - Recursive filtering of models. @item KSelectionProxyModel - A Proxy Model which presents a subset of its source model to observers @end enumerate") (license license:lgpl2.1+))) (define-public kitemmodels-5 (package (inherit kitemmodels) (name "kitemmodels") (version "5.116.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "1wcznkj24553spkl202zwifk6hgrvdd60j3y47jp2m6zpadywz2k")))) (native-inputs (list extra-cmake-modules)) (inputs (list qtdeclarative-5)) (arguments '()))) (define-public kitemviews (package (name "kitemviews") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "175nrc2yirv6hpnj7d03qm795k9bp9yw96rwpjdmm6cp0n4b7wq7")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules qttools)) (arguments (list #:qtbase qtbase)) (home-page "https://community.kde.org/Frameworks") (synopsis "Set of item views extending the Qt model-view framework") (description "KItemViews includes a set of views, which can be used with item models. It includes views for categorizing lists and to add search filters to flat and hierarchical lists.") (license (list license:gpl2+ license:lgpl2.1+)))) (define-public kitemviews-5 (package (inherit kitemviews) (name "kitemviews") (version "5.116.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "1sq1kvqb9g0gzlyfyix9xsjq6wl2i1s3mfqkpdc0rdns13sgn3kc")))) (native-inputs (list extra-cmake-modules qttools-5)) (arguments '()))) (define-public kplotting (package (name "kplotting") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "0hyrh3sw6znl79xxhqw7jqgyhh1b59aq7lmhkpagl0i0sk29f5h2")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules qttools)) (arguments (list #:qtbase qtbase)) (home-page "https://community.kde.org/Frameworks") (synopsis "Data plotting library") (description "KPlotWidget is a QWidget-derived class that provides a virtual base class for easy data-plotting. The idea behind KPlotWidget is that you only have to specify information in \"data units\", the natural units of the data being plotted. KPlotWidget automatically converts everything to screen pixel units.") (license license:lgpl2.1+))) (define-public ksvg (package (name "ksvg") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "1k96rdharvagnacmfqwxfh0n2nymsp7dw92r5g4m0sby9nyj885f")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules qttools)) (inputs (list qtdeclarative qtsvg karchive kconfig kcolorscheme kcoreaddons kguiaddons kirigami)) (arguments (list #:qtbase qtbase #:phases #~(modify-phases %standard-phases (add-before 'check 'check-setup (lambda _ (setenv "HOME" (getcwd))))))) (home-page "https://community.kde.org/Frameworks") (synopsis "Components for handling SVGs") (description "A library for rendering SVG-based themes with stylesheet re-coloring and on-disk caching.") (license license:lgpl2.1+))) (define-public ksyntaxhighlighting (package (name "ksyntaxhighlighting") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" "syntax-highlighting-" version ".tar.xz")) (sha256 (base32 "0y6330pzmm5p6f6x3kdfvgk5m8cl01i3ikisrmb7w9m3a7fq661y")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules perl qttools)) (inputs (list qtbase qtdeclarative)) (arguments (list #:phases #~(modify-phases %standard-phases (add-after 'patch-source-shebangs 'unpatch-source-shebang (lambda _ ;; revert the patch-shebang phase on scripts which are ;; in fact test data (substitute* '("autotests/input/highlight.sh" "autotests/folding/highlight.sh.fold") (((which "sh")) " /bin/sh")) ;; space in front! (substitute* '("autotests/input/highlight.pl" "autotests/folding/highlight.pl.fold") (((which "perl")) "/usr/bin/perl"))))))) (home-page "https://community.kde.org/Frameworks") (synopsis "Syntax highlighting engine for Kate syntax definitions") (description "This is a stand-alone implementation of the Kate syntax highlighting engine. It's meant as a building block for text editors as well as for simple highlighted text rendering (e.g. as HTML), supporting both integration with a custom editor as well as a ready-to-use @code{QSyntaxHighlighter} sub-class.") (properties `((upstream-name . "syntax-highlighting"))) (license license:lgpl2.1+))) (define-public ksyntaxhighlighting-5 (package (inherit ksyntaxhighlighting) (name "ksyntaxhighlighting") (version "5.116.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" "syntax-highlighting-" version ".tar.xz")) (sha256 (base32 "19zs3n6cn83rjs0bpyrn6f5r75qcflavf8rb1c2wxj8dpp7cm33g")))) (native-inputs (list extra-cmake-modules perl qttools-5 ;; Optional, for compile-time validation of syntax definition files: qtxmlpatterns)) (inputs (list qtbase-5)))) (define-public plasma-wayland-protocols (package (name "plasma-wayland-protocols") (version "1.13.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/" name "/" name "-" version ".tar.xz")) (sha256 (base32 "0znm2nhpmfq2vakyapmq454mmgqr5frc91k2d2nfdxjz5wspwiyx")))) (build-system cmake-build-system) (native-inputs (list extra-cmake-modules)) (arguments '(#:tests? #f)) ;no tests (home-page "https://community.kde.org/Frameworks") (synopsis "KDE Plasma Wayland Protocols") (description "This package contains XML files describing non-standard Wayland protocols used in KDE Plasma.") ;; The XML files have varying licenses, open them for details. (license (list license:bsd-3 license:lgpl2.1+ license:expat)))) (define-public kwayland (package (name "kwayland") (version "6.1.4") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/kwayland" "-" version ".tar.xz")) (sha256 (base32 "0x4psmfn993lvha8cjw6w55gp7jp3490sb44wjfp6b5ccmpc14c6")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules pkg-config ;; for wayland-scanner wayland)) (inputs (list libxkbcommon plasma-wayland-protocols qtwayland wayland wayland-protocols)) (arguments (list #:qtbase qtbase)) (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 Server API for the Wayland protocol. The API is Qt-styled removing the needs to interact with a for a Qt developer uncomfortable low-level C-API. For example the callback mechanism from the Wayland API is replaced by signals, data types are adjusted to be what a Qt developer expects - two arguments of int are represented by a QPoint or a QSize.") (license license:lgpl2.1+))) (define-public kwayland-5 (package (inherit kwayland) (name "kwayland") (version "5.116.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "1n5fq0gppx6rzgzkkskd077jygzj7cindb7zwr35yvbg5l69gdc8")))) (native-inputs (list extra-cmake-modules pkg-config)) (inputs (list libxkbcommon plasma-wayland-protocols qtwayland-5 wayland wayland-protocols)) (arguments (list ;; Tests spawn Wayland sessions that cannot run in parallel. #:parallel-tests? #f #:phases #~(modify-phases %standard-phases (add-before 'check 'set-XDG_RUNTIME_DIR (lambda _ (setenv "XDG_RUNTIME_DIR" (getcwd)))) (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? (invoke "ctest" "-E" (string-append "(" (string-join ;; XXX: maybe is upstream bug '("kwayland-testWaylandRegistry" "kwayland-testPlasmaShell" "kwayland-testPlasmaWindowModel" ;; The 'kwayland-testXdgForeign' may fail on ;; powerpc64le with a 'Subprocess aborted' error. "kwayland-testXdgForeign") "|") ")")))))))))) (define-public kwidgetsaddons (package (name "kwidgetsaddons") (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/frameworks/" (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 (base32 "02gys2sr03j5m85gw6n4qs9yanmnl1hwjpb2sk3q74b11b2bqfng")))) (build-system qt-build-system) (native-inputs (list extra-cmake-modules qttools)) (arguments (list #:qtbase qtbase #:phases #~(modify-phases %standard-phases (replace 'check (lambda* (#:key tests? parallel-tests? #:allow-other-keys)