Commit | Line | Data |
---|---|---|
d34c594a | 1 | ;;; GNU Guix --- Functional package management for GNU |
ce8964b6 | 2 | ;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il> |
d3065c87 | 3 | ;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be> |
a50f5258 | 4 | ;;; Copyright © 2017, 2018 Mark Meyer <mark@ofosos.org> |
819488fb | 5 | ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> |
a50f5258 | 6 | ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com> |
d34c594a EF |
7 | ;;; |
8 | ;;; This file is part of GNU Guix. | |
9 | ;;; | |
10 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
11 | ;;; under the terms of the GNU General Public License as published by | |
12 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
13 | ;;; your option) any later version. | |
14 | ;;; | |
15 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
16 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
18 | ;;; GNU General Public License for more details. | |
19 | ;;; | |
20 | ;;; You should have received a copy of the GNU General Public License | |
21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
22 | ||
23 | (define-module (gnu packages kde) | |
24 | #:use-module (guix build-system cmake) | |
25 | #:use-module (guix download) | |
a50f5258 | 26 | #:use-module (guix git-download) |
d34c594a EF |
27 | #:use-module ((guix licenses) #:prefix license:) |
28 | #:use-module (guix packages) | |
29 | #:use-module (guix utils) | |
40761f57 | 30 | #:use-module (gnu packages algebra) |
c02c8cf4 TD |
31 | #:use-module (gnu packages apr) |
32 | #:use-module (gnu packages boost) | |
f447dbc7 | 33 | #:use-module (gnu packages compression) |
40761f57 | 34 | #:use-module (gnu packages curl) |
f447dbc7 | 35 | #:use-module (gnu packages documentation) |
40761f57 MM |
36 | #:use-module (gnu packages gettext) |
37 | #:use-module (gnu packages ghostscript) | |
7781afde TD |
38 | #:use-module (gnu packages gl) |
39 | #:use-module (gnu packages gnome) | |
40761f57 MM |
40 | #:use-module (gnu packages graphics) |
41 | #:use-module (gnu packages image) | |
550791b8 | 42 | #:use-module (gnu packages kde-frameworks) |
bec2a2e1 | 43 | #:use-module (gnu packages kde-plasma) |
7781afde | 44 | #:use-module (gnu packages llvm) |
40761f57 MM |
45 | #:use-module (gnu packages maths) |
46 | #:use-module (gnu packages pdf) | |
47 | #:use-module (gnu packages perl) | |
48 | #:use-module (gnu packages photo) | |
d34c594a | 49 | #:use-module (gnu packages pkg-config) |
ce8964b6 | 50 | #:use-module (gnu packages python) |
d34c594a | 51 | #:use-module (gnu packages tls) |
c02c8cf4 | 52 | #:use-module (gnu packages qt) |
40761f57 | 53 | #:use-module (gnu packages version-control) |
a50f5258 | 54 | #:use-module (gnu packages video) |
ce8964b6 | 55 | #:use-module (gnu packages xdisorg) |
40761f57 | 56 | #:use-module (gnu packages xorg)) |
d34c594a | 57 | |
a50f5258 MM |
58 | (define-public kdenlive |
59 | (let ((version "18.08.1")) | |
60 | (package | |
61 | (name "kdenlive") | |
62 | (version version) | |
63 | (source | |
64 | (origin | |
65 | (method git-fetch) | |
66 | (uri (git-reference | |
67 | (url "git://anongit.kde.org/kdenlive.git") | |
68 | (commit (string-append "v" version)))) | |
69 | (file-name (string-append name "-" version "-checkout")) | |
70 | (sha256 | |
71 | (base32 | |
72 | "0ifnaclsz7w08mc485i3j1kkcpd1m8q5qamckrfwc375ac13xf4g")))) | |
73 | (build-system cmake-build-system) | |
74 | (native-inputs | |
75 | `(("extra-cmake-modules" ,extra-cmake-modules) | |
76 | ("qttools" ,qttools))) | |
77 | (propagated-inputs | |
78 | `(("mlt" ,mlt))) | |
79 | (inputs | |
80 | `(("shared-mime-info" ,shared-mime-info) | |
81 | ("frei0r-plugins" ,frei0r-plugins) | |
82 | ("qtbase" ,qtbase) | |
83 | ("qtscript" ,qtscript) | |
84 | ("qtsvg" ,qtsvg) | |
85 | ("kparts" ,kparts) | |
86 | ("knotifications" ,knotifications) | |
87 | ("karchive" ,karchive) | |
88 | ("kdbusaddons" ,kdbusaddons) | |
89 | ("kcrash" ,kcrash) | |
90 | ("kguiaddons" ,kguiaddons) | |
91 | ("knewstuff" ,knewstuff) | |
92 | ("knotifyconfig" ,knotifyconfig) | |
93 | ("kfilemetadata" ,kfilemetadata) | |
94 | ("kdoctools" ,kdoctools) | |
b42b5afd MW |
95 | ("kdeclarative" ,kdeclarative) |
96 | ("qtdeclarative" ,qtdeclarative) | |
97 | ("qtquickcontrols" ,qtquickcontrols) | |
98 | ("kiconthemes" ,kiconthemes) | |
a50f5258 | 99 | ("qtgraphicaleffects" ,qtgraphicaleffects) |
b42b5afd | 100 | ("kplotting" ,kplotting))) |
a50f5258 MM |
101 | (arguments |
102 | `(#:phases | |
103 | (modify-phases %standard-phases | |
104 | (add-after 'install 'wrap-executable | |
105 | (lambda* (#:key inputs outputs #:allow-other-keys) | |
106 | (let* ((out (assoc-ref outputs "out")) | |
107 | (qtquickcontrols (assoc-ref inputs "qtquickcontrols")) | |
108 | (qtbase (assoc-ref inputs "qtbase")) | |
109 | (qtdeclarative (assoc-ref inputs "qtdeclarative")) | |
110 | (frei0r (assoc-ref inputs "frei0r-plugins")) | |
111 | (qml "/lib/qt5/qml")) | |
112 | (wrap-program (string-append out "/bin/kdenlive") | |
113 | `("QT_PLUGIN_PATH" ":" prefix | |
114 | ,(map (lambda (label) | |
115 | (string-append (assoc-ref inputs label) | |
116 | "/lib/qt5/plugins/")) | |
b42b5afd | 117 | '("qtbase" "qtsvg"))) |
a50f5258 MM |
118 | `("FREI0R_PATH" ":" = |
119 | (,(string-append frei0r "/lib/frei0r-1/"))) | |
120 | `("QT_QPA_PLATFORM_PLUGIN_PATH" ":" = | |
121 | (,(string-append qtbase "/lib/qt5/plugins/platforms"))) | |
122 | `("QML2_IMPORT_PATH" ":" prefix | |
123 | (,(string-append qtquickcontrols qml) | |
124 | ,(string-append qtdeclarative qml))))) | |
125 | #t))))) | |
126 | (home-page "https://kdenlive.org") | |
127 | (synopsis "Non-linear video editor") | |
128 | (description "Kdenlive is an acronym for KDE Non-Linear Video Editor. | |
129 | ||
130 | Non-linear video editing is much more powerful than beginner's (linear) | |
131 | editors, hence it requires a bit more organization before starting. However, | |
132 | it is not reserved to specialists and can be used for small personal | |
133 | projects.") | |
134 | (license license:gpl2+)))) | |
135 | ||
7781afde TD |
136 | (define-public kdevelop |
137 | (package | |
138 | (name "kdevelop") | |
c93ffc11 | 139 | (version "5.1.2") |
7781afde TD |
140 | (source |
141 | (origin | |
142 | (method url-fetch) | |
143 | (uri (string-append "mirror://kde/stable/kdevelop" | |
144 | "/" version "/src/kdevelop-" | |
145 | version ".tar.xz")) | |
146 | (sha256 | |
147 | (base32 | |
c93ffc11 | 148 | "1iqaq0ilijjigqb34v5wq9in6bnjs0p9cmgbygjmy53xhh3yhm5g")))) |
7781afde TD |
149 | (build-system cmake-build-system) |
150 | (native-inputs | |
151 | `(("extra-cmake-modules" ,extra-cmake-modules) | |
152 | ("pkg-config" ,pkg-config) | |
153 | ("qttools" ,qttools))) | |
154 | (inputs | |
155 | `(("kdevplatform" ,kdevplatform) | |
156 | ("kdevelop-pg-qt" ,kdevelop-pg-qt) | |
157 | ("qtbase" ,qtbase) | |
158 | ("qtdeclarative" ,qtdeclarative) | |
159 | ("qtquickcontrols" ,qtquickcontrols) | |
160 | ("qtwebkit" ,qtwebkit) | |
161 | ("karchive" ,karchive) | |
162 | ("kcmutils" ,kcmutils) | |
163 | ("kconfig" ,kconfig) | |
164 | ("kdeclarative" ,kdeclarative) | |
165 | ("kdoctools" ,kdoctools) | |
166 | ("kguiaddons" ,kguiaddons) | |
167 | ("ki18n" ,ki18n) | |
168 | ("kio" ,kio) | |
169 | ("kiconthemes" ,kiconthemes) | |
170 | ("kitemmodels" ,kitemmodels) | |
171 | ("kitemviews" ,kitemviews) | |
172 | ("kjobwidgets" ,kjobwidgets) | |
173 | ("knotifyconfig" ,knotifyconfig) | |
174 | ("knotifications" ,knotifications) | |
175 | ("kparts" ,kparts) | |
176 | ("kcrash" ,kcrash) | |
177 | ("knewstuff" ,knewstuff) | |
178 | ("krunner" ,krunner) | |
179 | ("kxmlgui" ,kxmlgui) | |
180 | ("libksysguard" ,libksysguard) | |
181 | ("threadweaver" ,threadweaver) | |
182 | ("ktexteditor" ,ktexteditor) | |
183 | ("kwindowsystem" ,kwindowsystem) | |
184 | ("plasma" ,plasma-framework) | |
185 | ("grantlee" ,grantlee) | |
186 | ("libepoxy" ,libepoxy) | |
187 | ("clang" ,clang) | |
188 | ("shared-mime-info" ,shared-mime-info))) | |
189 | (arguments | |
190 | `(#:phases | |
191 | (modify-phases %standard-phases | |
192 | (delete 'check) ;; there are some issues with the test suite | |
193 | (add-after 'install 'wrap-executable | |
194 | (lambda* (#:key inputs outputs #:allow-other-keys) | |
195 | (let* ((out (assoc-ref outputs "out")) | |
196 | (kdevplatform (assoc-ref inputs "kdevplatform")) | |
197 | (kio (assoc-ref inputs "kio")) | |
2f4d08ee | 198 | (kcmutils (assoc-ref inputs "kcmutils")) |
7781afde | 199 | (qtquickcontrols (assoc-ref inputs "qtquickcontrols")) |
c84384cb | 200 | (qtbase (assoc-ref inputs "qtbase")) |
7781afde | 201 | (qtdeclarative (assoc-ref inputs "qtdeclarative")) |
7781afde TD |
202 | (qml "/qml")) |
203 | (wrap-program (string-append out "/bin/kdevelop") | |
2f4d08ee TD |
204 | `("XDG_DATA_DIRS" ":" prefix |
205 | ,(map (lambda (s) (string-append s "/share")) | |
3ceb70e1 | 206 | (list out kdevplatform kcmutils))) |
c84384cb TD |
207 | `("QT_QPA_PLATFORM_PLUGIN_PATH" ":" = |
208 | (,(string-append qtbase "/plugins/platforms"))) | |
7781afde | 209 | `("QT_PLUGIN_PATH" ":" prefix |
2f4d08ee | 210 | ,(map (lambda (s) (string-append s "/lib/plugins")) |
3ceb70e1 | 211 | (list out kdevplatform kio))) |
7781afde TD |
212 | `("QML2_IMPORT_PATH" ":" prefix |
213 | (,(string-append qtquickcontrols qml) | |
214 | ,(string-append qtdeclarative qml)))))))))) | |
215 | (home-page "https://kdevelop.org") | |
216 | (synopsis "IDE for C, C++, Python, Javascript and PHP") | |
217 | (description "The KDevelop IDE provides semantic syntax highlighting, as | |
218 | well as code navigation and completion for C, C++ (using Clang/LLVM), QML, | |
219 | JavaScript, Python and PHP. It also integrates with a debugger, different | |
220 | build systems (CMake, QMake, custom Makefiles) and version control | |
221 | software (Git, Subversion, Mercurial, CVS and Bazaar).") | |
222 | (license license:lgpl2.1+))) | |
223 | ||
8bb115e0 TD |
224 | (define-public kdevelop-pg-qt |
225 | (package | |
226 | (name "kdevelop-pg-qt") | |
227 | (version "2.0.0") | |
228 | (source | |
229 | (origin | |
230 | (method url-fetch) | |
231 | (uri (string-append "https://github.com/KDE/kdevelop-pg-qt/archive/v" | |
232 | version ".tar.gz")) | |
233 | (file-name (string-append name "-" version ".tar.gz")) | |
234 | (sha256 | |
235 | (base32 "1av8plqz7hyhrd07avnmn6ryslqlarmxn0pw7swzvb6ddiqp59j4")))) | |
236 | (native-inputs | |
237 | `(("extra-cmake-modules" ,extra-cmake-modules))) | |
238 | (inputs | |
239 | `(("qtbase" ,qtbase))) | |
240 | (build-system cmake-build-system) | |
241 | (home-page "https://kde.org") | |
242 | (synopsis "Parser generator library for KDevplatform") | |
243 | (description "KDevelop-PG-Qt is the parser generator used in KDevplatform | |
244 | for some KDevelop language plugins (Ruby, PHP, CSS...).") | |
245 | (license license:lgpl2.0+))) | |
246 | ||
c02c8cf4 TD |
247 | (define-public kdevplatform |
248 | (package | |
249 | (name "kdevplatform") | |
c93ffc11 | 250 | (version "5.1.2") |
c02c8cf4 TD |
251 | (source (origin |
252 | (method url-fetch) | |
faa65e27 TD |
253 | (uri (string-append "mirror://kde/stable/kdevelop" |
254 | "/" version "/src/kdevplatform-" | |
255 | version ".tar.xz")) | |
c02c8cf4 TD |
256 | (sha256 |
257 | (base32 | |
c93ffc11 | 258 | "0jk6g1kiqpyjy8pca0236b9944gxqnymqv8ny6m8nrraannxs8p6")))) |
c02c8cf4 TD |
259 | (build-system cmake-build-system) |
260 | (native-inputs | |
261 | `(("extra-cmake-modules" ,extra-cmake-modules) | |
262 | ("pkg-config" ,pkg-config))) | |
263 | (inputs | |
264 | `(("apr" ,apr) | |
265 | ("apr-util" ,apr-util) | |
266 | ("boost" ,boost) | |
267 | ("karchive" ,karchive) | |
268 | ("kconfigwidgets" ,kconfigwidgets) | |
269 | ("kcmutils" ,kcmutils) | |
270 | ("kiconthemes" ,kiconthemes) | |
271 | ("kdeclarative" ,kdeclarative) | |
272 | ("kdoctools" ,kdoctools) | |
273 | ("kguiaddons" ,kguiaddons) | |
274 | ("kinit" ,kinit) | |
275 | ("kitemmodels" ,kitemmodels) | |
276 | ("knewstuff" ,knewstuff) | |
277 | ("knotifications" ,knotifications) | |
278 | ("knotifyconfig" ,knotifyconfig) | |
279 | ("kwindowsystem" ,kwindowsystem) | |
280 | ("kio" ,kio) | |
281 | ("ki18n" ,ki18n) | |
282 | ("kparts" ,kparts) | |
283 | ("kservice" ,kservice) | |
284 | ("grantlee" ,grantlee) | |
285 | ("libkomparediff2" ,libkomparediff2) | |
286 | ("sonnet" ,sonnet) | |
287 | ("threadweaver" ,threadweaver) | |
288 | ("ktexteditor" ,ktexteditor) | |
289 | ("qtbase" ,qtbase) | |
290 | ("qtdeclarative" ,qtdeclarative) | |
291 | ("qtscript" ,qtscript) | |
292 | ("qtwebkit" ,qtwebkit) | |
293 | ("qtx11extras" ,qtx11extras) | |
294 | ("plasma" ,plasma-framework) | |
295 | ("subversion" ,subversion) | |
296 | ("zlib" ,zlib))) | |
297 | (arguments | |
298 | `(#:phases | |
299 | (modify-phases %standard-phases | |
300 | (delete 'check) | |
70554077 | 301 | (add-after 'install 'check |
c02c8cf4 TD |
302 | (lambda* (#:key outputs #:allow-other-keys) |
303 | (let ((out (assoc-ref outputs "out"))) | |
304 | (setenv "CTEST_OUTPUT_ON_FAILURE" "1") | |
305 | (setenv "QT_PLUGIN_PATH" | |
306 | (string-append out "/lib/plugins:" | |
307 | (getenv "QT_PLUGIN_PATH"))) | |
308 | (setenv "XDG_DATA_DIRS" | |
309 | (string-append out "/share:" | |
310 | (getenv "XDG_DATA_DIRS"))) | |
70554077 RW |
311 | (invoke "ctest" "-R" ; almost all tests require a display |
312 | "filteringstrategy|kdevvarlengtharray|kdevhash"))))))) | |
c02c8cf4 TD |
313 | (home-page "https://github.com/KDE/kdevplatform") |
314 | (synopsis "Framework to build integrated development environments (IDEs)") | |
315 | (description "KDevPlatform is the basis of KDevelop and contains some | |
316 | plugins, as well as code to create plugins, or complete applications.") | |
317 | (license license:gpl3+))) | |
318 | ||
40761f57 MM |
319 | (define-public krita |
320 | (package | |
321 | (name "krita") | |
818f317a | 322 | (version "4.1.7.101") |
40761f57 MM |
323 | (source (origin |
324 | (method url-fetch) | |
325 | (uri (string-append | |
326 | "mirror://kde/stable/krita/" | |
f05c46d9 LF |
327 | (version-prefix version 3) |
328 | "/" name "-" version ".tar.gz")) | |
40761f57 MM |
329 | (sha256 |
330 | (base32 | |
818f317a | 331 | "0pvghb17vj3y19wa1n1zfg3yl5206ir3y45znrgdgdw076m5pjav")))) |
40761f57 MM |
332 | (build-system cmake-build-system) |
333 | (arguments | |
334 | `(#:tests? #f | |
335 | #:configure-flags | |
336 | (list "-DBUILD_TESTING=OFF" "-DKDE4_BUILD_TESTS=OFF" | |
337 | (string-append "-DWITH_FFTW3=" | |
338 | (assoc-ref %build-inputs "fftw")) | |
339 | (string-append "-DWITH_GSL=" | |
340 | (assoc-ref %build-inputs "gsl")) | |
341 | (string-append "-DWITH_LibRaw=" | |
342 | (assoc-ref %build-inputs "libraw")) | |
343 | (string-append "-DWITH_TIFF=" | |
1475d5c6 MM |
344 | (assoc-ref %build-inputs "libtiff")) |
345 | (string-append "-DCMAKE_CXX_FLAGS=-I" | |
346 | (assoc-ref %build-inputs "ilmbase") | |
990e93fc LF |
347 | "/include/OpenEXR")) |
348 | #:phases | |
349 | (modify-phases %standard-phases | |
1ee750ba LF |
350 | ;; Ensure that icons are found at runtime. |
351 | ;; This works around <https://bugs.gnu.org/22138>. | |
990e93fc LF |
352 | (add-after 'install 'wrap-executable |
353 | (lambda* (#:key inputs outputs #:allow-other-keys) | |
354 | (let ((out (assoc-ref outputs "out")) | |
355 | (qt '("qtbase" "qtsvg"))) | |
356 | (wrap-program (string-append out "/bin/krita") | |
357 | `("QT_PLUGIN_PATH" ":" prefix | |
358 | ,(map (lambda (label) | |
359 | (string-append (assoc-ref inputs label) | |
360 | "/lib/qt5/plugins/")) | |
361 | qt))) | |
362 | #t)))))) | |
40761f57 MM |
363 | (native-inputs |
364 | `(("curl" ,curl) | |
365 | ("eigen" ,eigen) | |
366 | ("extra-cmake-modules" ,extra-cmake-modules) | |
367 | ("gettext-minimal" ,gettext-minimal) | |
368 | ("kitemmodels" ,kitemmodels) | |
1475d5c6 MM |
369 | ("qwt" ,qwt) |
370 | ("vc" ,vc))) | |
40761f57 MM |
371 | (inputs |
372 | `(("qtbase" ,qtbase) | |
373 | ("qtdeclarative" ,qtdeclarative) | |
374 | ("qtmultimedia" ,qtmultimedia) | |
375 | ("qtx11extras" ,qtx11extras) | |
376 | ("qtsvg" ,qtsvg) | |
377 | ("karchive" ,karchive) | |
378 | ("kcompletion" ,kcompletion) | |
379 | ("kconfig" ,kconfig) | |
380 | ("kcoreaddons" ,kcoreaddons) | |
381 | ("kcrash" ,kcrash) | |
382 | ("kguiaddons" ,kguiaddons) | |
383 | ("ki18n" ,ki18n) | |
384 | ("kiconthemes" ,kiconthemes) | |
385 | ("kio" ,kio) | |
386 | ("kitemviews" ,kitemviews) | |
387 | ("kwidgetsaddons" ,kwidgetsaddons) | |
388 | ("kwindowsystem" ,kwindowsystem) | |
389 | ("kxmlgui" ,kxmlgui) | |
390 | ("boost" ,boost) | |
391 | ("exiv2" ,exiv2) | |
392 | ("lcms" ,lcms) | |
393 | ("libpng" ,libpng) | |
1475d5c6 | 394 | ("libjpeg-turbo" ,libjpeg-turbo) |
40761f57 MM |
395 | ("zlib" ,zlib) |
396 | ("libx11" ,libx11) | |
397 | ("libxcb" ,libxcb) | |
398 | ("libxi" ,libxi) | |
399 | ("fftw" ,fftw) | |
400 | ("gsl" ,gsl) | |
401 | ("poppler-qt5" ,poppler-qt5) | |
fd67d793 | 402 | ("libraw" ,libraw-0.18) |
40761f57 | 403 | ("libtiff" ,libtiff) |
1475d5c6 MM |
404 | ("perl" ,perl) |
405 | ("ilmbase" ,ilmbase) | |
406 | ("openexr" ,openexr))) | |
40761f57 MM |
407 | (home-page "https://krita.org") |
408 | (synopsis "Digital painting application") | |
409 | (description | |
410 | "Krita is a professional painting tool designed for concept artists, | |
411 | illustrators, matte and texture artists, and the VFX industry. Notable | |
412 | features include brush stabilizers, brush engines and wrap-around mode.") | |
413 | (license license:gpl2+))) | |
414 | ||
b907b364 HG |
415 | (define-public kholidays |
416 | (package | |
417 | (name "kholidays") | |
418 | (version "17.12.1") | |
419 | (source | |
420 | (origin | |
421 | (method url-fetch) | |
422 | (uri (string-append | |
423 | "mirror://kde/stable/applications/" version "/src/" | |
424 | name "-" version ".tar.xz")) | |
425 | (sha256 | |
426 | (base32 "0595d7wbnz8kyq1bnivdrp20lwdp8ykvdll1fmb0fgm4q24z0cl8")))) | |
427 | (build-system cmake-build-system) | |
428 | (arguments | |
429 | `(#:phases | |
430 | (modify-phases %standard-phases | |
431 | (add-before 'check 'check-setup | |
432 | (lambda _ | |
433 | ;; blacklist a failing test function TODO: make it pass | |
434 | (with-output-to-file "autotests/BLACKLIST" | |
435 | (lambda _ | |
436 | (display "[testDefaultRegions]\n*\n"))) | |
437 | #t))))) | |
438 | (native-inputs | |
439 | `(("extra-cmake-modules" ,extra-cmake-modules) | |
440 | ("qttools" ,qttools))) | |
441 | (inputs | |
442 | `(("qtbase" ,qtbase) | |
443 | ("qtdeclarative" ,qtdeclarative))) | |
444 | (home-page "https://cgit.kde.org/kholidays.git") | |
445 | (synopsis "Library for regional holiday information") | |
446 | (description "This library provides a C++ API that determines holiday and | |
447 | other special events for a geographical region.") | |
448 | (license license:lgpl2.0+))) | |
449 | ||
5a16e1c0 TD |
450 | (define-public libkomparediff2 |
451 | (package | |
452 | (name "libkomparediff2") | |
0691567d | 453 | (version "19.04.1") |
5a16e1c0 TD |
454 | (source |
455 | (origin | |
456 | (method url-fetch) | |
40b5ec2f TGR |
457 | (uri (string-append "mirror://kde/stable/applications/" version |
458 | "/src/libkomparediff2-" version ".tar.xz")) | |
5a16e1c0 | 459 | (sha256 |
0691567d | 460 | (base32 "1cyi7a5ss7jv87llk0k8c9g3h1qsp6j6nmdzh3xxcswr4p5skc9a")))) |
5a16e1c0 TD |
461 | (native-inputs |
462 | `(("extra-cmake-modules" ,extra-cmake-modules) | |
463 | ("pkg-config" ,pkg-config))) | |
464 | (inputs | |
465 | `(("kcodecs" ,kcodecs) | |
466 | ("kconfig" ,kconfig) | |
467 | ("kcoreaddons" ,kcoreaddons) | |
468 | ("ki18n" ,ki18n) | |
469 | ("kio" ,kio) | |
470 | ("kxmlgui" ,kxmlgui) | |
471 | ("qtbase" ,qtbase))) | |
472 | (build-system cmake-build-system) | |
473 | (home-page "https://kde.org") | |
474 | (synopsis "Library to compare files and strings, used in Kompare and KDevelop") | |
475 | (description "Libkomparediff2 is a library to work with diffs and patches, | |
476 | used in KDE development tools Kompare and KDevelop.") | |
477 | ||
478 | ;; GPL, some files are also licensed under LGPL or BSD, see COPYING in the | |
479 | ;; source archive | |
480 | (license (list license:gpl2+ license:lgpl2.0+ license:bsd-3)))) | |
481 | ||
d34c594a EF |
482 | (define-public qca |
483 | (package | |
484 | (name "qca") | |
49e6b0d9 | 485 | (version "2.1.3") |
d34c594a EF |
486 | (source |
487 | (origin | |
488 | (method url-fetch) | |
bb8d1b2a | 489 | (uri (string-append "mirror://kde/stable/qca/" version |
d34c594a EF |
490 | "/src/qca-" version ".tar.xz")) |
491 | (sha256 | |
492 | (base32 | |
49e6b0d9 | 493 | "0lz3n652z208daxypdcxiybl0a9fnn6ida0q7fh5f42269mdhgq0")))) |
d34c594a EF |
494 | (build-system cmake-build-system) |
495 | (native-inputs | |
496 | `(("pkg-config" ,pkg-config))) | |
497 | (inputs | |
498 | `(("openssl" ,openssl) | |
05b9c00e | 499 | ("qtbase" ,qtbase))) |
49e6b0d9 | 500 | (home-page "https://userbase.kde.org/QCA") |
d34c594a EF |
501 | (synopsis "Libraries for the Qt Cryptographic Architecture") |
502 | (description "The Qt Cryptographic Architecture (QCA) provides a | |
503 | straightforward and cross-platform API for a range of cryptographic features, | |
504 | including SSL/TLS, X.509 certificates, SASL, OpenPGP, S/MIME CMS, and smart | |
505 | cards.") | |
506 | (license license:lgpl2.1))) | |
550791b8 EF |
507 | |
508 | (define-public snorenotify | |
509 | (package | |
510 | (name "snorenotify") | |
511 | (version "0.7.0") | |
512 | (source | |
513 | (origin | |
514 | (method url-fetch) | |
343bffbd | 515 | (uri (string-append "mirror://kde/stable/snorenotify/" |
550791b8 EF |
516 | version "/src/snorenotify-" version ".tar.xz")) |
517 | (sha256 | |
518 | (base32 | |
519 | "0jz6ivk90h7iwgyxar7xzzj8yvzn6s1my6cqs9bdnwqswfk1nhbd")))) | |
520 | (build-system cmake-build-system) | |
521 | (arguments | |
522 | `(#:tests? #f)) ; both tests fail, require display | |
523 | (inputs | |
524 | `(("extra-cmake-modules" ,extra-cmake-modules) | |
5f2074ca EF |
525 | ("qtbase" ,qtbase) |
526 | ("qttools" ,qttools))) | |
550791b8 EF |
527 | (home-page "https://techbase.kde.org/Projects/Snorenotify") |
528 | (synopsis "Qt notification framework") | |
529 | (description "Snorenotify is a multi platform Qt notification framework. | |
530 | Using a plugin system it is possible to create notifications with many | |
531 | different notification systems.") | |
532 | (license license:lgpl3))) | |
ce8964b6 EF |
533 | |
534 | (define-public kdeconnect | |
535 | (package | |
536 | (name "kdeconnect") | |
537 | (version "1.3.3") | |
538 | (source | |
539 | (origin | |
540 | (method url-fetch) | |
541 | (uri (string-append "mirror://kde/stable/kdeconnect/" | |
542 | version "/src/kdeconnect-kde-" | |
543 | version ".tar.xz")) | |
544 | (sha256 | |
545 | (base32 | |
546 | "1vac0mw1myrswr61adv7lgif0c4wzw5wnsj0sqxj6msp4l4pfgsg")))) | |
547 | (build-system cmake-build-system) | |
548 | (arguments | |
549 | `(#:configure-flags '("-DBUILD_TESTING=ON") | |
550 | #:tests? #f ; tests fail hard in our build environment | |
551 | #:modules ((guix build cmake-build-system) | |
552 | (guix build qt-utils) | |
553 | (guix build utils)) | |
554 | #:imported-modules (,@%cmake-build-system-modules | |
555 | (guix build qt-utils)) | |
556 | #:phases | |
557 | (modify-phases %standard-phases | |
558 | (add-before 'check 'check-setup | |
559 | (lambda _ | |
560 | (setenv "QT_QPA_PLATFORM" "offscreen") | |
561 | #t)) | |
562 | (add-after 'install 'wrap-executable | |
563 | (lambda* (#:key outputs #:allow-other-keys) | |
564 | (let ((out (assoc-ref outputs "out"))) | |
565 | (setenv "QT_PLUGIN_PATH" | |
566 | (string-append out "/lib/qt5/plugins" | |
567 | ":" (getenv "QT_PLUGIN_PATH"))) | |
568 | (wrap-qt-program out "../lib/libexec/kdeconnectd") | |
569 | (wrap-qt-program out "kdeconnect-cli") | |
570 | (wrap-qt-program out "kdeconnect-handler") | |
571 | (wrap-qt-program out "kdeconnect-indicator")) | |
572 | #t))))) | |
573 | (native-inputs | |
574 | `(("extra-cmake-modules" ,extra-cmake-modules) | |
575 | ("kdoctools" ,kdoctools) | |
576 | ("libxtst" ,libxtst) | |
577 | ("pkg-config" ,pkg-config) | |
578 | ("python" ,python-wrapper))) | |
579 | (inputs | |
580 | `(("kcmutils" ,kcmutils) | |
581 | ("kconfigwidgets" ,kconfigwidgets) | |
582 | ("kdbusaddons" ,kdbusaddons) | |
583 | ("ki18n" ,ki18n) | |
584 | ("kiconthemes" ,kiconthemes) | |
585 | ("kio" ,kio) | |
586 | ("knotifications" ,knotifications) | |
587 | ("kwayland" ,kwayland) | |
588 | ("libfakekey" ,libfakekey) | |
589 | ("qca" ,qca) | |
590 | ("qtbase" ,qtbase) | |
591 | ("qtdeclarative" ,qtdeclarative) | |
592 | ("qtx11extras" ,qtx11extras))) | |
593 | (home-page "https://community.kde.org/KDEConnect") | |
594 | (synopsis "Enable your devices to communicate with each other") | |
595 | (description "KDE Connect is a project that enables all your devices to | |
596 | communicate with each other. Here's a few things KDE Connect can do: | |
597 | @enumerate | |
598 | @item Receive your phone notifications on your desktop computer and reply to messages | |
599 | @item Control music playing on your desktop from your phone | |
600 | @item Use your phone as a remote control for your desktop | |
601 | @item Run predefined commands on your PC from connected devices | |
602 | @item Check your phones battery level from the desktop | |
603 | @item Ring your phone to help finding it | |
604 | @item Share files and links between devices | |
605 | @item Browse your phone from the desktop | |
606 | @item Control the desktop's volume from the phone | |
607 | @end enumerate") | |
608 | (license (list license:gpl2 license:gpl3)))) ; dual licensed |