;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;;
;;; This file is part of GNU Guix.
;;;
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages kde)
- #:use-module ((guix licenses) #:select (bsd-2 lgpl2.1+))
- #:use-module (guix packages)
- #:use-module (guix download)
#:use-module (guix build-system cmake)
- #:use-module (gnu packages glib)
+ #:use-module (guix download)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix utils)
+ #:use-module (gnu packages apr)
+ #:use-module (gnu packages boost)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages documentation)
+ #:use-module (gnu packages gl)
+ #:use-module (gnu packages gnome)
+ #:use-module (gnu packages kde-frameworks)
+ #:use-module (gnu packages llvm)
#:use-module (gnu packages pkg-config)
- #:use-module (gnu packages pulseaudio)
+ #:use-module (gnu packages tls)
#:use-module (gnu packages qt)
- #:use-module (gnu packages xorg))
+ #:use-module (gnu packages version-control))
-(define-public automoc4
+(define-public kdevelop
(package
- (name "automoc4")
- (version "0.9.88")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://download.kde.org/stable/" name
- "/" version "/" name "-"
- version ".tar.bz2"))
- (sha256
- (base32
- "0jackvg0bdjg797qlbbyf9syylm0qjs55mllhn11vqjsq3s1ch93"))))
+ (name "kdevelop")
+ (version "5.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/kdevelop"
+ "/" version "/src/kdevelop-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1s4cbkx2a0p73b52yxmf5dhv08xk9pxgrkjsnbzy76ssfr545g60"))))
(build-system cmake-build-system)
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("pkg-config" ,pkg-config)
+ ("qttools" ,qttools)))
(inputs
- `(("qt" ,qt-4)))
+ `(("kdevplatform" ,kdevplatform)
+ ("kdevelop-pg-qt" ,kdevelop-pg-qt)
+ ("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)
+ ("qtquickcontrols" ,qtquickcontrols)
+ ("qtwebkit" ,qtwebkit)
+ ("karchive" ,karchive)
+ ("kcmutils" ,kcmutils)
+ ("kconfig" ,kconfig)
+ ("kdeclarative" ,kdeclarative)
+ ("kdoctools" ,kdoctools)
+ ("kguiaddons" ,kguiaddons)
+ ("ki18n" ,ki18n)
+ ("kio" ,kio)
+ ("kiconthemes" ,kiconthemes)
+ ("kitemmodels" ,kitemmodels)
+ ("kitemviews" ,kitemviews)
+ ("kjobwidgets" ,kjobwidgets)
+ ("knotifyconfig" ,knotifyconfig)
+ ("knotifications" ,knotifications)
+ ("kparts" ,kparts)
+ ("kcrash" ,kcrash)
+ ("knewstuff" ,knewstuff)
+ ("krunner" ,krunner)
+ ("kxmlgui" ,kxmlgui)
+ ("libksysguard" ,libksysguard)
+ ("threadweaver" ,threadweaver)
+ ("ktexteditor" ,ktexteditor)
+ ("kwindowsystem" ,kwindowsystem)
+ ("plasma" ,plasma-framework)
+ ("grantlee" ,grantlee)
+ ("libepoxy" ,libepoxy)
+ ("clang" ,clang)
+ ("shared-mime-info" ,shared-mime-info)))
(arguments
- `(#:tests? #f)) ; no check target
- (home-page "http://techbase.kde.org/Development/Tools/Automoc4")
- (synopsis "build tool for KDE")
- (description "KDE desktop environment")
- (license bsd-2)))
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'check) ;; there are some issues with the test suite
+ (add-after 'install 'wrap-executable
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (kdevplatform (assoc-ref inputs "kdevplatform"))
+ (kio (assoc-ref inputs "kio"))
+ (kcmutils (assoc-ref inputs "kcmutils"))
+ (qtquickcontrols (assoc-ref inputs "qtquickcontrols"))
+ (qtdeclarative (assoc-ref inputs "qtdeclarative"))
+ (profile "$HOME/.guix-profile")
+ (qml "/qml"))
+ (wrap-program (string-append out "/bin/kdevelop")
+ `("XDG_DATA_DIRS" ":" prefix
+ ,(map (lambda (s) (string-append s "/share"))
+ (list profile out kdevplatform kcmutils)))
+ `("QT_PLUGIN_PATH" ":" prefix
+ ,(map (lambda (s) (string-append s "/lib/plugins"))
+ (list profile out kdevplatform kio)))
+ `("QML2_IMPORT_PATH" ":" prefix
+ (,(string-append qtquickcontrols qml)
+ ,(string-append qtdeclarative qml))))))))))
+ (home-page "https://kdevelop.org")
+ (synopsis "IDE for C, C++, Python, Javascript and PHP")
+ (description "The KDevelop IDE provides semantic syntax highlighting, as
+well as code navigation and completion for C, C++ (using Clang/LLVM), QML,
+JavaScript, Python and PHP. It also integrates with a debugger, different
+build systems (CMake, QMake, custom Makefiles) and version control
+software (Git, Subversion, Mercurial, CVS and Bazaar).")
+ (license license:lgpl2.1+)))
-(define-public phonon
+(define-public kdevelop-pg-qt
(package
- (name "phonon")
- (version "4.7.0")
+ (name "kdevelop-pg-qt")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/KDE/kdevelop-pg-qt/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1av8plqz7hyhrd07avnmn6ryslqlarmxn0pw7swzvb6ddiqp59j4"))))
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)))
+ (inputs
+ `(("qtbase" ,qtbase)))
+ (build-system cmake-build-system)
+ (home-page "https://kde.org")
+ (synopsis "Parser generator library for KDevplatform")
+ (description "KDevelop-PG-Qt is the parser generator used in KDevplatform
+for some KDevelop language plugins (Ruby, PHP, CSS...).")
+ (license license:lgpl2.0+)))
+
+(define-public kdevplatform
+ (package
+ (name "kdevplatform")
+ (version "5.1.0")
(source (origin
- (method url-fetch)
- (uri (string-append "http://download.kde.org/stable/" name
- "/" version "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1sxrnwm16dxy32xmrqf26762wmbqing1zx8i4vlvzgzvd9xy39ac"))))
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/kdevelop"
+ "/" version "/src/kdevplatform-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1nxf66vk6p7lmckdsha9fpq3zchwbg79qhy49f4hndlxgj03p7zh"))))
(build-system cmake-build-system)
- ;; FIXME: Add interpreter ruby once available.
- ;; Add optional input libqtzeitgeist.
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("pkg-config" ,pkg-config)))
(inputs
- `(("automoc4" ,automoc4)
- ("glib" ,glib)
- ("libx11" ,libx11)
- ("pulseaudio" ,pulseaudio)
- ("qt" ,qt-4)))
+ `(("apr" ,apr)
+ ("apr-util" ,apr-util)
+ ("boost" ,boost)
+ ("karchive" ,karchive)
+ ("kconfigwidgets" ,kconfigwidgets)
+ ("kcmutils" ,kcmutils)
+ ("kiconthemes" ,kiconthemes)
+ ("kdeclarative" ,kdeclarative)
+ ("kdoctools" ,kdoctools)
+ ("kguiaddons" ,kguiaddons)
+ ("kinit" ,kinit)
+ ("kitemmodels" ,kitemmodels)
+ ("knewstuff" ,knewstuff)
+ ("knotifications" ,knotifications)
+ ("knotifyconfig" ,knotifyconfig)
+ ("kwindowsystem" ,kwindowsystem)
+ ("kio" ,kio)
+ ("ki18n" ,ki18n)
+ ("kparts" ,kparts)
+ ("kservice" ,kservice)
+ ("grantlee" ,grantlee)
+ ("libkomparediff2" ,libkomparediff2)
+ ("sonnet" ,sonnet)
+ ("threadweaver" ,threadweaver)
+ ("ktexteditor" ,ktexteditor)
+ ("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)
+ ("qtscript" ,qtscript)
+ ("qtwebkit" ,qtwebkit)
+ ("qtx11extras" ,qtx11extras)
+ ("plasma" ,plasma-framework)
+ ("subversion" ,subversion)
+ ("zlib" ,zlib)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'check)
+ (add-after 'install 'check ;; add-after 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
+ (setenv "QT_PLUGIN_PATH"
+ (string-append out "/lib/plugins:"
+ (getenv "QT_PLUGIN_PATH")))
+ (setenv "XDG_DATA_DIRS"
+ (string-append out "/share:"
+ (getenv "XDG_DATA_DIRS")))
+ (zero?
+ (system* "ctest" "-R" ;; almost all tests require a display
+ "filteringstrategy|kdevvarlengtharray|kdevhash"))))))))
+ (home-page "https://github.com/KDE/kdevplatform")
+ (synopsis "Framework to build integrated development environments (IDEs)")
+ (description "KDevPlatform is the basis of KDevelop and contains some
+plugins, as well as code to create plugins, or complete applications.")
+ (license license:gpl3+)))
+
+(define-public libkomparediff2
+ (package
+ (name "libkomparediff2")
+ (version "16.08.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/KDE/libkomparediff2/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1lafifrwfxvn0jwhz67kwv7m38lm4syips3fq77rwcvfhmkiijmh"))))
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("kcodecs" ,kcodecs)
+ ("kconfig" ,kconfig)
+ ("kcoreaddons" ,kcoreaddons)
+ ("ki18n" ,ki18n)
+ ("kio" ,kio)
+ ("kxmlgui" ,kxmlgui)
+ ("qtbase" ,qtbase)))
+ (build-system cmake-build-system)
+ (home-page "https://kde.org")
+ (synopsis "Library to compare files and strings, used in Kompare and KDevelop")
+ (description "Libkomparediff2 is a library to work with diffs and patches,
+used in KDE development tools Kompare and KDevelop.")
+
+ ;; GPL, some files are also licensed under LGPL or BSD, see COPYING in the
+ ;; source archive
+ (license (list license:gpl2+ license:lgpl2.0+ license:bsd-3))))
+
+(define-public libksysguard
+ (package
+ (name "libksysguard")
+ (version "5.8.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde//stable/plasma/" version
+ "/libksysguard-" version ".tar.xz"))
+ (sha256
+ (base32
+ "158n30wbpsgbw3axhhsc58hnwhwdd02j3zc9hhcybmnbkfl5c96l"))))
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("kconfigwidgets" ,kconfigwidgets)
+ ("kiconthemes" ,kiconthemes)
+ ("kwindowsystem" ,kwindowsystem)
+ ("ki18n" ,ki18n)
+ ("kauth" ,kauth)
+ ("kcompletion" ,kcompletion)
+ ("kconfig" ,kconfig)
+ ("kcoreaddons" ,kcoreaddons)
+ ("kwidgetsaddons" ,kwidgetsaddons)
+ ("kservice" ,kservice)
+ ("qtbase" ,qtbase)
+ ("qtscript" ,qtscript)
+ ("qtwebkit" ,qtwebkit)
+ ("qtx11extras" ,qtx11extras)
+ ("plasma" ,plasma-framework)
+ ("zlib" ,zlib)))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags
+ `(,(string-append "-DKDE_INSTALL_DATADIR="
+ (assoc-ref %outputs "out") "/share"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'patch-cmakelists
+ (lambda _
+ (substitute* "processcore/CMakeLists.txt"
+ (("KAUTH_HELPER_INSTALL_DIR") "KDE_INSTALL_LIBEXECDIR"))))
+ (replace 'check
+ (lambda _ ;other tests require a display and therefore fail
+ (zero? (system* "ctest" "-R" "chronotest")))))))
+ (home-page "https://www.kde.org/info/plasma-5.8.2.php")
+ (synopsis "Network enabled task and system monitoring")
+ (description "KSysGuard can obtain information on system load and
+manage running processes. It obtains this information by interacting
+with a ksysguardd daemon, which may also run on a remote system.")
+ (license license:gpl3+)))
+
+(define-public qca
+ (package
+ (name "qca")
+ (version "2.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://download.kde.org/stable/qca/" version
+ "/src/qca-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0lz3n652z208daxypdcxiybl0a9fnn6ida0q7fh5f42269mdhgq0"))))
+ (build-system cmake-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("openssl" ,openssl)
+ ("qtbase" ,qtbase)))
+ (home-page "https://userbase.kde.org/QCA")
+ (synopsis "Libraries for the Qt Cryptographic Architecture")
+ (description "The Qt Cryptographic Architecture (QCA) provides a
+straightforward and cross-platform API for a range of cryptographic features,
+including SSL/TLS, X.509 certificates, SASL, OpenPGP, S/MIME CMS, and smart
+cards.")
+ (license license:lgpl2.1)))
+
+(define-public snorenotify
+ (package
+ (name "snorenotify")
+ (version "0.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://download.kde.org/stable/snorenotify/"
+ version "/src/snorenotify-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0jz6ivk90h7iwgyxar7xzzj8yvzn6s1my6cqs9bdnwqswfk1nhbd"))))
+ (build-system cmake-build-system)
(arguments
- `(#:tests? #f)) ; no test target
- (home-page "http://phonon.kde.org/")
- (synopsis "Qt 4 multimedia API")
- (description "KDE desktop environment")
- (license lgpl2.1+)))
+ `(#:tests? #f)) ; both tests fail, require display
+ (inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("qtbase" ,qtbase)
+ ("qttools" ,qttools)))
+ (home-page "https://techbase.kde.org/Projects/Snorenotify")
+ (synopsis "Qt notification framework")
+ (description "Snorenotify is a multi platform Qt notification framework.
+Using a plugin system it is possible to create notifications with many
+different notification systems.")
+ (license license:lgpl3)))