-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
-;;;
-;;; 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)
- #:use-module ((guix licenses) #:select (bsd-2 lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3+))
- #:use-module (guix packages)
- #:use-module (guix download)
- #:use-module (guix build-system cmake)
- #:use-module (gnu packages compression)
- #:use-module (gnu packages doxygen)
- #:use-module (gnu packages geeqie)
- #:use-module (gnu packages glib)
- #:use-module (gnu packages perl)
- #:use-module (gnu packages pkg-config)
- #:use-module (gnu packages pulseaudio)
- #:use-module (gnu packages python)
- #:use-module (gnu packages qt)
- #:use-module (gnu packages rdf)
- #:use-module (gnu packages ruby)
- #:use-module (gnu packages video)
- #:use-module (gnu packages xml)
- #:use-module (gnu packages xorg))
-
-(define-public automoc4
- (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"))))
- (build-system cmake-build-system)
- (inputs
- `(("qt" ,qt-4)))
- (arguments
- `(#:tests? #f)) ; no check target
- (home-page "http://techbase.kde.org/Development/Tools/Automoc4")
- (synopsis "Build tool for KDE")
- (description "AutoMoc4 automatically generates moc-files for KDE.")
- (license bsd-2)))
-
-(define-public phonon
- (package
- (name "phonon")
- (version "4.8.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://download.kde.org/stable/" name
- "/" version "/src/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "05nshngk03ln90vsjz44dx8al576f4vd5fvhs1l0jmx13jb9q551"))))
- (build-system cmake-build-system)
- ;; FIXME: Add optional input libqzeitgeist once available.
- (native-inputs
- `(("automoc4" ,automoc4)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("glib" ,glib)
- ("libx11" ,libx11)
- ("pulseaudio" ,pulseaudio)))
- (propagated-inputs
- `(("qt" ,qt-4))) ; according to phonon.pc
- (arguments
- `(#:tests? #f)) ; no test target
- (home-page "http://phonon.kde.org/")
- (synopsis "Qt 4 multimedia API")
- (description "KDE desktop environment")
- (license lgpl2.1+)))
-
-(define-public qjson
- (package
- (name "qjson")
- (version "0.8.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/flavio/qjson/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "163fspi0xc705irv79qw861fmh68pjyla9vx3kqiq6xrdhb9834j"))))
- (build-system cmake-build-system)
- (inputs
- `(("qt" ,qt-4)))
- (arguments
- `(#:tests? #f)) ; no test target
- (home-page "http://qjson.sourceforge.net/")
- (synopsis "Qt-based library for handling JSON")
- (description "QJson is a Qt-based library that maps JSON data to QVariant
-objects and vice versa. JSON arrays are mapped to QVariantList instances,
-while JSON objects are mapped to QVariantMap.")
- (license lgpl2.1+)))
-
-(define-public libdbusmenu-qt
- (package
- (name "libdbusmenu-qt")
- (version "0.9.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://launchpad.net/" name "/trunk/"
- version "/+download/"
- name "-" version ".tar.bz2"))
- (sha256
- (base32
- "1v0ri5g9xw2z64ik0kx0ra01v8rpjn2kxprrxppkls1wvav1qv5f"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("doxygen" ,doxygen) ; used for static documentation
- ("pkg-config" ,pkg-config)
- ("qjson", qjson))) ; used for the tests
- (inputs
- `(("qt" ,qt-4)))
- (arguments
- `(#:tests? #f)) ; no check target
- (home-page "https://launchpad.net/libdbusmenu-qt/")
- (synopsis "Qt implementation of the DBusMenu protocol")
- (description "The library provides a Qt implementation of the DBusMenu
-protocol. The DBusMenu protocol makes it possible for applications to export
-and import their menus over DBus.")
- (license lgpl2.0+)))
-
-(define-public attica
- (package
- (name "attica")
- (version "0.4.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://download.kde.org/stable/"
- name "/"
- name "-" version ".tar.bz2"))
- (sha256
- (base32
- "1y74gsyzi70dfr9d1f1b08k130rm3jaibsppg8dv5h3211vm771v"))))
- (build-system cmake-build-system)
- (inputs
- `(("qt" ,qt-4)))
- (home-page "https://projects.kde.org/projects/frameworks/attica")
- (synopsis "Qt library for the Open Collaboration Services API")
- (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.")
- (license lgpl2.1+)))
-
-(define-public strigi
- (package
- (name "strigi")
- (version "0.7.8")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://www.vandenoever.info/software/"
- name "/"
- name "-" version ".tar.bz2"))
- (sha256
- (base32
- "12grxzqwnvbyqw7q1gnz42lypadxmq89vk2qpxczmpmc4nk63r23"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- ;; FIXME: Add optional inputs XAttr, FAM, Log4cxx
- (inputs
- `(("clucene" ,clucene)
- ("dbus" ,dbus)
- ("exiv2" ,exiv2)
- ("ffmpeg" ,ffmpeg)
- ("libxml2" ,libxml2)
- ("perl" ,perl)
- ("python" ,python-wrapper)
- ("qt" ,qt-4)
- ("zlib" ,zlib)))
- (arguments
- `(#:tests? #f)) ; FIXME: Test 23/25 ProcessInputStreamTest fails.
- (home-page "http://www.vandenoever.info/software/strigi/")
- (synopsis "Desktop search daemon")
- (description "Strigi is a desktop search daemon with the following
-main features:
-very fast crawling;
-very small memory footprint;
-no hammering of the system;
-pluggable backend, currently clucene and hyperestraier, sqlite3 and xapian
-are in the works;
-communication between daemon and search program over an abstract interface,
-currently a simple socket;
-simple interface for implementing plugins for extracting information;
-calculation of sha1 for every file crawled
-(allows fast finding of duplicates).")
- (license lgpl2.0+)))
-
-(define-public oxygen-icons
- (package
- (name "oxygen-icons")
- (version "4.14.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://download.kde.org/stable/" version
- "/src/" name "-"
- version ".tar.xz"))
- (sha256
- (base32
- "1mz73f54qh2vd8ibp60f6fjflrprz0lvqfkgh805l7wfhrv4ckbz"))))
- (build-system cmake-build-system)
- (arguments
- `(#:tests? #f)) ; no test target
- (home-page "http://www.kde.org/")
- (synopsis "oxygen icon theme for the KDE desktop")
- (description "KDE desktop environment")
- (license lgpl3+)))
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
+;;;
+;;; 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)
+ #:use-module (guix build-system cmake)
+ #: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 tls)
+ #:use-module (gnu packages qt)
+ #:use-module (gnu packages version-control))
+
+(define-public kdevelop
+ (package
+ (name "kdevelop")
+ (version "5.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/kdevelop"
+ "/" version "/src/kdevelop-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0m6pnmylp1gij5cr75waz8hjry5894qillj5977h467hnbzs808a"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("pkg-config" ,pkg-config)
+ ("qttools" ,qttools)))
+ (inputs
+ `(("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
+ `(#: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"))
+ (qtbase (assoc-ref inputs "qtbase"))
+ (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_QPA_PLATFORM_PLUGIN_PATH" ":" =
+ (,(string-append qtbase "/plugins/platforms")))
+ `("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 kdevelop-pg-qt
+ (package
+ (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.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/kdevelop"
+ "/" version "/src/kdevplatform-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "09p7lvniw55g6x8v8wl3azlps8c13yx03x1m9cd3qdxi282l8n9i"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("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 _
+ ;; TODO: Verify: This should no longer be necessary, since
+ ;; KF5AuthConfig.cmake.in contains this already.
+ (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)) ; 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)))