summary refs log tree commit diff
path: root/gnu/packages/kde-frameworks.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/kde-frameworks.scm')
-rw-r--r--gnu/packages/kde-frameworks.scm389
1 files changed, 389 insertions, 0 deletions
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 8fe71d5b5d..a25de39ed8 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -30,6 +30,7 @@
   #:use-module (gnu packages acl)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages attr)
+  #:use-module (gnu packages base)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
@@ -51,12 +52,14 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages pdf)
+  #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages polkit)
   #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages textutils)
+  #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages video)
   #:use-module (gnu packages web)
@@ -3027,3 +3030,389 @@ script engines.")
 
 (define kinit-bootstrap
   ((package-input-rewriting `((,kdbusaddons . ,kdbusaddons-bootstrap))) kinit))
+
+
+;; Tier 4
+;;
+;; Tier 4 frameworks can be mostly ignored by application programmers; this
+;; tier consists of plugins acting behind the scenes to provide additional
+;; functionality or platform integration to existing frameworks (including
+;; Qt).
+
+(define-public kde-frameworkintegration
+  (package
+    (name "kde-frameworkintegration")
+    (version "5.34.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://kde/stable/frameworks/"
+                    (version-major+minor version) "/"
+                    "frameworkintegration-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0hq1r2znjzy0wzm3nsclqmih1aia5300bsf87a2l4919q0ildb20"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)))
+    ;; TODO: Optional packages not yet in Guix: packagekitqt5, AppStreamQt
+    (inputs
+     `(("kconfig" ,kconfig)
+       ("kconfigwidgets" ,kconfigwidgets)
+       ("kcoreaddons" ,kcoreaddons)
+       ("ki18n" ,ki18n)
+       ("kiconthemes" ,kiconthemes)
+       ("kitemviews" ,kitemviews)
+       ("knewstuff" ,knewstuff)
+       ("knotificantions" ,knotifications)
+       ("kpackage" ,kpackage)
+       ("kwidgetsaddons" ,kwidgetsaddons)
+       ("qtbase" ,qtbase)
+       ("qtx11extras" ,qtx11extras)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'check-setup
+           (lambda _
+             (setenv "HOME" (getcwd))
+             ;; Make Qt render "offscreen", required for tests
+             (setenv "QT_QPA_PLATFORM" "offscreen")
+             #t)))))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "KDE Frameworks 5 workspace and cross-framework integration plugins")
+    (description "Framework Integration is a set of plugins responsible for
+better integration of Qt applications when running on a KDE Plasma
+workspace.")
+    ;; This package is distributed under either LGPL2 or LGPL3, but some
+    ;; files are explicitly LGPL2+.
+    (license (list license:lgpl2.0 license:lgpl3 license:lgpl2.0+))
+    (properties `((upstream-name . "frameworkintegration")))))
+
+
+;; Porting Aids
+;;
+;; Porting Aids frameworks provide code and utilities to ease the transition
+;; from kdelibs 4 to KDE Frameworks 5. Code should aim to port away from this
+;; framework, new projects should avoid using these libraries.
+
+(define-public kdelibs4support
+  (package
+    (name "kdelibs4support")
+    (version "5.34.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://kde/stable/frameworks/"
+             (version-major+minor version) "/portingAids/"
+             name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0q9jjsjcvc43va4yvfay2xi40vb95lnqhgzavpqcndzjihixwmi0"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("dbus" ,dbus)
+       ("docbook-xml" ,docbook-xml-4.4) ; optional
+       ("extra-cmake-modules" ,extra-cmake-modules)
+       ("perl", perl)
+       ("perl-uri" ,perl-uri)
+       ("pkg-config" ,pkg-config)
+       ("shared-mime-info" ,shared-mime-info)
+       ("kjobwidgets" ,kjobwidgets) ;; required for running the tests
+       ("strace" ,strace)
+       ("tzdata" ,tzdata)))
+    (propagated-inputs
+     ;; These are required to be installed along with this package, see
+     ;; lib64/cmake/KF5KDELibs4Support/KF5KDELibs4SupportConfig.cmake
+     `(("karchive" ,karchive)
+       ("kauth" ,kauth)
+       ("kconfigwidgets" ,kconfigwidgets)
+       ("kcoreaddons" ,kcoreaddons)
+       ("kcrash" ,kcrash)
+       ("kdbusaddons" ,kdbusaddons)
+       ("kdesignerplugin" ,kdesignerplugin)
+       ("kdoctools" ,kdoctools)
+       ("kemoticons" ,kemoticons)
+       ("kguiaddons" ,kguiaddons)
+       ("kiconthemes" ,kiconthemes)
+       ("kinit" ,kinit)
+       ("kitemmodels" ,kitemmodels)
+       ("knotifications" ,knotifications)
+       ("kparts" ,kparts)
+       ("ktextwidgets" ,ktextwidgets)
+       ("kunitconversion", kunitconversion)
+       ("kwindowsystem" ,kwindowsystem)
+       ("qtbase" ,qtbase)))
+    (inputs
+     `(("kcompletion" ,kcompletion)
+       ("kconfig" ,kconfig)
+       ("kconfigwidgets" ,kconfigwidgets)
+       ("kded" ,kded)
+       ("kdesignerplugin" ,kdesignerplugin)
+       ("kdoctools" ,kdoctools)
+       ("kglobalaccel" ,kglobalaccel)
+       ("kguiaddons" ,kguiaddons)
+       ("ki18n" ,ki18n)
+       ("kio" ,kio)
+       ("kservice" ,kservice)
+       ("kwidgetsaddons" ,kwidgetsaddons)
+       ("kxmlgui" ,kxmlgui)
+       ("libsm", libsm)
+       ("networkmanager-qt", networkmanager-qt)
+       ("openssl", openssl)
+       ("qtsvg" ,qtsvg)
+       ("qttools" ,qttools)
+       ("qtx11extras" ,qtx11extras)))
+    ;; FIXME: Use GuixSD ca-bundle.crt in etc/xdg/ksslcalist and
+    ;; share/kf5/kssl/ca-bundle.crt
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'make-cmake-to-find-docbook
+           (lambda _
+             (substitute* "cmake/FindDocBookXML4.cmake"
+               (("^.*xml/docbook/schema/dtd.*$")
+                "xml/dtd/docbook\n"))
+             #t))
+         (delete 'check)
+         (add-after 'install 'check-post-install
+           (lambda* (#:key inputs tests? #:allow-other-keys)
+             (setenv "HOME" (getcwd))
+             (setenv "TZDIR"    ; KDateTimeTestsome needs TZDIR
+                     (string-append (assoc-ref inputs "tzdata")
+                                    "/share/zoneinfo"))
+             ;; Make Qt render "offscreen", required for tests
+             (setenv "QT_QPA_PLATFORM" "offscreen")
+             ;; enable debug output
+             (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug output
+             (setenv "DBUS_FATAL_WARNINGS" "0")
+             ;; TODO: Make this tests pass (also see
+             ;; https://bugs.kde.org/381098)
+             (zero? (system* "dbus-launch" "ctest" "."
+                             "-E" "kmimetypetest|kstandarddirstest")))))))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "KDE Frameworks 5 porting aid from KDELibs4")
+    (description "This framework provides code and utilities to ease the
+transition from kdelibs 4 to KDE Frameworks 5.  This includes CMake macros and
+C++ classes whose functionality has been replaced by code in CMake, Qt and
+other frameworks.
+
+Code should aim to port away from this framework eventually.  The API
+documentation of the classes in this framework and the notes at
+http://community.kde.org/Frameworks/Porting_Notes should help with this.")
+    ;; Most files are distributed under LGPL2+, but the package includes code
+    ;; under a variety of licenses.
+    (license (list license:lgpl2.1+ license:lgpl2.0 license:lgpl2.0+
+                   license:gpl2 license:gpl2+
+                   license:expat license:bsd-2 license:bsd-3
+                   license:public-domain))))
+
+(define-public khtml
+  (package
+    (name "khtml")
+    (version "5.34.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://kde/stable/frameworks/"
+             (version-major+minor version) "/portingAids/"
+             name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0j490jfnz8pbfl1i11wj514nw0skpnxr2fvi9pqpfql9lfhsanxv"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("perl", perl)))
+    (inputs
+     `(("giflib" ,giflib)
+       ("karchive" ,karchive)
+       ("kcodecs" ,kcodecs)
+       ("kglobalaccel" ,kglobalaccel)
+       ("ki18n" ,ki18n)
+       ("kiconthemes" ,kiconthemes)
+       ("kio" ,kio)
+       ("kjs" ,kjs)
+       ("knotifications" ,knotifications)
+       ("kparts" ,kparts)
+       ("ktextwidgets" ,ktextwidgets)
+       ("kwallet", kwallet)
+       ("kwidgetsaddons" ,kwidgetsaddons)
+       ("kwindowsystem" ,kwindowsystem)
+       ("kxmlgui" ,kxmlgui)
+       ("libjpeg", libjpeg)
+       ("libpng", libpng)
+       ("openssl", openssl)
+       ("phonon", phonon)
+       ("qtbase" ,qtbase)
+       ("qtx11extras" ,qtx11extras)
+       ("sonnet" ,sonnet)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'check-setup
+           (lambda _
+             ;; Make Qt render "offscreen", required for tests
+             (setenv "QT_QPA_PLATFORM" "offscreen")
+             #t)))))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "KDE Frameworks 5 HTML widget and component")
+    (description "KHTML is a web rendering engine, based on the KParts
+technology and using KJS for JavaScript support.")
+    ;; Most files are distributed under LGPL2+, but the package includes code
+    ;; under a variety of licenses.
+    (license (list license:lgpl2.0+ license:lgpl2.1+
+                   license:gpl2  license:gpl3+
+                   license:expat license:bsd-2 license:bsd-3))))
+
+(define-public kjs
+  (package
+    (name "kjs")
+    (version "5.34.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://kde/stable/frameworks/"
+             (version-major+minor version) "/portingAids/"
+             name "-" version ".tar.xz"))
+       (sha256
+        (base32 "18b7k1hi73iqn06c1ryy9lcmvscr9d08q7n1wwkrn0l2xmy05xsq"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("kdoctools" ,kdoctools)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("pcre" ,pcre)
+       ("qtbase" ,qtbase)))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "KDE Frameworks 5 support for Javascript scripting in Qt
+applications")
+    (description "Add-on library to Qt which adds JavaScript scripting
+support.")
+    ;; Most files are distributed under LGPL2+, but the package also includes
+    ;; code under a variety of licenses.
+    (license (list license:lgpl2.1+
+                   license:bsd-2 license:bsd-3
+                   (license:non-copyleft "file://src/kjs/dtoa.cpp")))))
+
+(define-public kjsembed
+  (package
+    (name "kjsembed")
+    (version "5.34.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://kde/stable/frameworks/"
+             (version-major+minor version) "/portingAids/"
+             name "-" version ".tar.xz"))
+       (sha256
+        (base32 "17w8i370pqks1fj3pcziz7j014chnc6yi7md7w2p4xprw54pbmbk"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("kdoctools" ,kdoctools)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("ki18n" ,ki18n)
+       ("kjs" ,kjs)
+       ("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "KDE Frameworks 5 embedded Javascript engine for Qt")
+    (description "KJSEmbed provides a method of binding Javascript objects to
+QObjects, so you can script your applications.")
+    (license license:lgpl2.1+)))
+
+(define-public kmediaplayer
+  (package
+    (name "kmediaplayer")
+    (version "5.34.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://kde/stable/frameworks/"
+             (version-major+minor version) "/portingAids/"
+             name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1mq87qf86sdvwhas4w7rspd221qp4x9kds4nd0lpldiay4483k86"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("kdoctools" ,kdoctools)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("kcompletion" ,kcompletion)
+       ("kcoreaddons" ,kcoreaddons)
+       ("ki18n" ,ki18n)
+       ("kiconthemes" ,kiconthemes)
+       ("kio" ,kio)
+       ("kparts" ,kparts)
+       ("kwidgetsaddons" ,kwidgetsaddons)
+       ("kxmlgui" ,kxmlgui)
+       ("qtbase" ,qtbase)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'check-setup
+           (lambda _
+             ;; Make Qt render "offscreen", required for tests
+             (setenv "QT_QPA_PLATFORM" "offscreen")
+             #t)))))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "KDE Frameworks 5 plugin interface for media player features")
+    (description "KMediaPlayer builds on the KParts framework to provide a
+common interface for KParts that can play media files.
+
+This framework is a porting aid.  It is not recommended for new projects, and
+existing projects that use it are advised to port away from it, and use plain
+KParts instead.")
+    (license license:expat)))
+
+(define-public kross
+  (package
+    (name "kross")
+    (version "5.34.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://kde/stable/frameworks/"
+             (version-major+minor version) "/portingAids/"
+             name "-" version ".tar.xz"))
+       (sha256
+        (base32 "092qz8vyiialv9fvk4wvn8mrfhz5i5hnbq0xnz6nvi1pk3db6bxq"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("kdoctools" ,kdoctools)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("kcompletion" ,kcompletion)
+       ("kcoreaddons" ,kcoreaddons)
+       ("ki18n" ,ki18n)
+       ("kiconthemes" ,kiconthemes)
+       ("kparts" ,kparts)
+       ("kwidgetsaddons" ,kwidgetsaddons)
+       ("kxmlgui" ,kxmlgui)
+       ("qtbase" ,qtbase)
+       ("qtscript" ,qtscript)))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "KDE Frameworks 5 solution for application scripting")
+    (description "Kross is a scripting bridge for the KDE Development Platform
+used to embed scripting functionality into an application.  It supports
+QtScript as a scripting interpreter backend.
+
+Kross provides an abstract API to provide scripting functionality in a
+interpreter-independent way.  The application that uses Kross should not need
+to know anything about the scripting language being used.  The core of Kross
+provides the framework to deal transparently with interpreter-backends and
+offers abstract functionality to deal with scripts.")
+    ;; Most files are distributed under LGPL2+, but the package includes code
+    ;; under a variety of licenses.
+    (license (list license:lgpl2.0+ license:lgpl2.1+
+                   license:lgpl2.0 license:gpl3+))))