summaryrefslogtreecommitdiff
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+))))