projects/guix·blob python-team · refs

543 lines · 19.0 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2016, 2017 Thomas Danckaert <[email protected]>
3;;; Copyright © 2018-2020 Tobias Geerinckx-Rice <[email protected]>
4;;; Copyright © 2018-2020 Hartmut Goebel <[email protected]>
5;;; Copyright © 2019 Ludovic Courtès <[email protected]>
6;;; Copyright © 2020 Efraim Flashner <[email protected]>
7;;; Copyright © 2020 Marius Bakke <[email protected]>
8;;; Copyright © 2020 Michael Rohleder <[email protected]>
9;;; Copyright © 2021 Alexandros Theodotou <[email protected]>
10;;; Copyright © 2022 Brendan Tildesley <[email protected]>
11;;; Copyright © 2022 Petr Hodina <[email protected]>
12;;; Copyright © 2020, 2023-2025 Zheng Junjie <[email protected]>
13;;; Copyright © 2023-2026 Sughosha <[email protected]>
14;;;
15;;; This file is part of GNU Guix.
16;;;
17;;; GNU Guix is free software; you can redistribute it and/or modify it
18;;; under the terms of the GNU General Public License as published by
19;;; the Free Software Foundation; either version 3 of the License, or (at
20;;; your option) any later version.
21;;;
22;;; GNU Guix is distributed in the hope that it will be useful, but
23;;; WITHOUT ANY WARRANTY; without even the implied warranty of
24;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25;;; GNU General Public License for more details.
26;;;
27;;; You should have received a copy of the GNU General Public License
28;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
29
30(define-module (gnu packages kde-sdk)
31 #:use-module (guix build-system cmake)
32 #:use-module (guix build-system qt)
33 #:use-module (guix download)
34 #:use-module (guix gexp)
35 #:use-module ((guix licenses) #:prefix license:)
36 #:use-module (guix packages)
37 #:use-module (gnu packages)
38 #:use-module (gnu packages bison)
39 #:use-module (gnu packages compiler-tools)
40 #:use-module (gnu packages apr)
41 #:use-module (gnu packages boost)
42 #:use-module (gnu packages code)
43 #:use-module (gnu packages gettext)
44 #:use-module (gnu packages freedesktop)
45 #:use-module (gnu packages kde-frameworks)
46 #:use-module (gnu packages kde-graphics)
47 #:use-module (gnu packages kde-plasma)
48 #:use-module (gnu packages kde-systemtools)
49 #:use-module (gnu packages llvm)
50 #:use-module (gnu packages perl)
51 #:use-module (gnu packages pkg-config)
52 #:use-module (gnu packages python)
53 #:use-module (gnu packages qt)
54 #:use-module (gnu packages version-control)
55 #:use-module (gnu packages xml))
56
57(define-public dolphin-plugins
58 (package
59 (name "dolphin-plugins")
60 (version "26.04.1")
61 (source
62 (origin
63 (method url-fetch)
64 (uri (string-append "mirror://kde/stable/release-service/" version
65 "/src/dolphin-plugins-" version ".tar.xz"))
66 (sha256
67 (base32 "00kdy1h3ig5avxms05iz2yq2nzkypqr4y1wk9zx8arzgcf8y1x7g"))))
68 (build-system qt-build-system)
69 (native-inputs
70 (list extra-cmake-modules))
71 (inputs
72 (list dolphin
73 ki18n
74 kio
75 ktexteditor
76 ktextwidgets
77 ksyntaxhighlighting
78 kxmlgui
79 breeze-icons ;; default icon set
80 qt5compat))
81 (arguments
82 (list #:qtbase qtbase
83 #:tests? #f))
84 (home-page "https://www.kde.org/")
85 (synopsis "VCS-Plugins for Dolphin")
86 (description "This package contains plugins that offer integration in
87Dolphin with the version control systems: Bzr, Git, Mercurial, Subversion.")
88 (license license:gpl2+)))
89
90(define-public poxml
91 (package
92 (name "poxml")
93 (version "26.04.1")
94 (source (origin
95 (method url-fetch)
96 (uri
97 (string-append "mirror://kde/stable/release-service/" version
98 "/src/poxml-" version ".tar.xz"))
99 (sha256
100 (base32
101 "0acn5579ivvrsij4lf2c8rbxy9fbv8vx8linpcr7gnr7l2mhy2vs"))))
102 (build-system cmake-build-system)
103 (native-inputs
104 (list extra-cmake-modules kdoctools))
105 (inputs
106 (list gettext-minimal qtbase))
107 (home-page "https://apps.kde.org/development/")
108 (synopsis "Tools for translating DocBook XML files with Gettext")
109 (description "This is a collection of tools that facilitate translating
110DocBook XML files using Gettext message files (PO files). Also included are
111several command-line utilities for manipulating DocBook XML files, PO files and
112PO template files.")
113 (license license:gpl2+)))
114
115(define-public libkomparediff2
116 (package
117 (name "libkomparediff2")
118 (version "26.04.1")
119 (source
120 (origin
121 (method url-fetch)
122 (uri (string-append "mirror://kde/stable/release-service/" version
123 "/src/libkomparediff2-" version ".tar.xz"))
124 (sha256
125 (base32 "1bs15wqkqykmln4y3px7kqanfddxs3d9vzhylcvm7rm49xadwk9x"))))
126 (propagated-inputs
127 (list kconfig kxmlgui)) ;as required by KompareDiff2Config.cmake
128 (native-inputs
129 (list extra-cmake-modules pkg-config))
130 (inputs
131 (list kcodecs
132 kcoreaddons
133 ki18n
134 kio
135 qtbase))
136 (build-system cmake-build-system)
137 (home-page "https://kde.org")
138 (synopsis "Library to compare files and strings, used in Kompare and KDevelop")
139 (description "Libkomparediff2 is a library to work with diffs and patches,
140used in KDE development tools Kompare and KDevelop.")
141
142 ;; GPL, some files are also licensed under LGPL or BSD, see COPYING in the
143 ;; source archive
144 (license (list license:gpl2+ license:lgpl2.0+ license:bsd-3))))
145
146(define-public kapptemplate
147 (package
148 (name "kapptemplate")
149 (version "26.04.1")
150 (source
151 (origin
152 (method url-fetch)
153 (uri (string-append "mirror://kde/stable/release-service/" version
154 "/src/kapptemplate-" version ".tar.xz"))
155 (sha256
156 (base32 "06sdg9xiig4pplifph5rm5d885zkqf7lz8pw11izhicnxm7fkbbg"))))
157 (build-system qt-build-system)
158 (arguments
159 (list #:qtbase qtbase))
160 (native-inputs
161 (list extra-cmake-modules kdoctools))
162 (inputs
163 (list karchive
164 kcompletion
165 kconfigwidgets
166 kcoreaddons
167 kiconthemes
168 kirigami-addons
169 ki18n
170 kio
171 qtwayland))
172 (home-page "https://apps.kde.org/kapptemplate/")
173 (synopsis "Factory for easy creation of KDE/Qt components and programs")
174 (description "KAppTemplate is an application to start development quickly
175using existing templates providing basic repeatedly written code and a proper
176structure. It features:
177
178@itemize
179@item Templates for C++, Ruby, Python and PHP
180@item Categories
181@item Templates for different build-systems and frameworks
182@item Templates especially for KDE-development (plugins for Plasma, QtQuick
183 KTextEditor, KRunner, Akonadi)
184@item New templates using space holders and a simple CMake-command
185@item Integration into KDevelop
186@end itemize")
187 (license license:gpl2+)))
188
189(define-public kcachegrind
190 (package
191 (name "kcachegrind")
192 (version "26.08.0")
193 (source (origin
194 (method url-fetch)
195 (uri (string-append "mirror://kde/stable/release-service/" version
196 "/src/kcachegrind-" version ".tar.xz"))
197 (sha256
198 (base32
199 "1px0bhz2fan4m4vbs1621gk5whmy2gl2pnx6a6xxdkhjdyarc0kn"))))
200 (build-system cmake-build-system)
201 (native-inputs
202 (list extra-cmake-modules perl python qttools kdoctools))
203 (inputs
204 (list qtbase karchive ki18n kio kxmlgui kdbusaddons qtwayland))
205 (arguments (list #:tests? #f))
206 ;; Note: The 'hotshot2calltree' and 'pprof2calltree' scripts depend on
207 ;; Python and PHP, respectively. These are optional and we ignore them
208 ;; for now.
209 (home-page "https://kcachegrind.github.io/html/Home.html")
210 (synopsis "Visualize profiles produces by Valgrind's Cachegrind tool")
211 (description
212 "The data files generated by the Callgrind of Valgrind, an application
213profiler, can be loaded into KCachegrind for browsing the performance results.
214There is also a command-line tool to get ASCII reports from data files without
215the need to use KCachegrind.
216
217The format of Callgrind output is documented. With conversion scripts,
218KCachegrind is able to visualize output of other profilers like OProfile, a
219system-wide profiler for Linux using statistical sampling with hardware
220performance counters. There also exist converters for profiling output of
221Python, PHP, and Perl.")
222 (license license:gpl2)))
223
224(define-public kdesdk-thumbnailers
225 (package
226 (name "kdesdk-thumbnailers")
227 (version "26.04.1")
228 (source
229 (origin
230 (method url-fetch)
231 (uri (string-append "mirror://kde/stable/release-service/" version
232 "/src/kdesdk-thumbnailers-" version ".tar.xz"))
233 (sha256
234 (base32 "19kpj14bdj0ras5yfax901z0ic6zxn1cy3lbb546zzzlnc6zgjwk"))))
235 (build-system cmake-build-system)
236 (arguments
237 (list #:tests? #f)) ;no tests
238 (native-inputs
239 (list extra-cmake-modules))
240 (inputs
241 (list gettext-minimal kio qtbase))
242 (home-page "https://invent.kde.org/sdk/kdesdk-thumbnailers")
243 (synopsis "Plugins for the thumbnailing system")
244 (description "This package provides thumbnailer plugins for Gettext
245Translation (.po) files.")
246 (license license:gpl3+)))
247
248(define-public kdevelop-pg-qt
249 (package
250 (name "kdevelop-pg-qt")
251 (version "2.4.0")
252 (source
253 (origin
254 (method url-fetch)
255 (uri (string-append "mirror://kde/stable/kdevelop-pg-qt/" version
256 "/src/kdevelop-pg-qt-" version ".tar.xz"))
257 (sha256
258 (base32 "11mv4z8gi5bcsi3d3mhbjw392mg2wnzf667svhnsmmzmh8fbdgmc"))))
259 (native-inputs
260 (list extra-cmake-modules))
261 (inputs
262 (list bison flex qtbase))
263 (build-system cmake-build-system)
264 (home-page "https://kde.org")
265 (synopsis "Parser generator library for KDevplatform")
266 (description "KDevelop-PG-Qt is the parser generator used in KDevplatform
267for some KDevelop language plugins (Ruby, PHP, CSS...).")
268 (license license:lgpl2.0+)))
269
270(define-public kdevelop
271 (package
272 (name "kdevelop")
273 (version "26.04.1")
274 (source
275 (origin
276 (method url-fetch)
277 (uri (string-append "mirror://kde/stable/release-service/" version
278 "/src/kdevelop-" version ".tar.xz"))
279 (sha256
280 (base32 "0ss8yzf025zb7sra7kvifxs87va14fzmaqy1cjv1x21aks7lwdf9"))))
281 (build-system qt-build-system)
282 ;; As required by KDevPlatformConfig.cmake.
283 (propagated-inputs
284 (list ktexteditor qt5compat qtwebengine threadweaver))
285 (native-inputs
286 (list extra-cmake-modules pkg-config shared-mime-info qttools))
287 (inputs (list boost
288 clang-13
289 grantlee
290 karchive
291 kcmutils
292 kcrash
293 kdeclarative
294 kguiaddons
295 ki18n
296 kiconthemes
297 kio ;; not checked as requirement
298 kitemmodels
299 kitemviews
300 kjobwidgets
301 knotifications
302 knotifyconfig
303 kparts
304 kservice
305 ksyntaxhighlighting
306 ktexttemplate
307 ktextwidgets
308 kwindowsystem
309 kxmlgui
310 libkomparediff2
311 breeze-icons
312 qtdeclarative
313 qtwayland
314 ;; recommendes
315 astyle
316 kdevelop-pg-qt
317
318 ;; optional
319 apr ; required for subversion support
320 apr-util ; required for subversion support
321 attica
322 kconfigwidgets
323 knewstuff
324 krunner
325 ;; TODO: OktetaGui, OktetaKastenControllers
326 libplasma
327 ;; TODO: purpose
328 sonnet
329 subversion))
330 ;; run-time packages - TODO
331 ;; ClazyStandalone
332 ;; Cppcheck
333 ;; heaptrack
334 ;; heaptrack_gui
335 ;; meson
336 (arguments
337 (list #:qtbase qtbase
338 #:tests? #f ;; there are some issues with the test suite
339 #:phases
340 #~(modify-phases %standard-phases
341 (add-before 'configure 'add-include-path
342 (lambda* (#:key inputs #:allow-other-keys)
343 (substitute* "plugins/clang/Locate_CLANG_BUILTIN_DIR.cmake"
344 (("\"\\$[{]CLANG_INCLUDE_DIRS[}]\"" line)
345 (string-append
346 line " \""
347 (assoc-ref inputs "clang") "/lib\""))))))))
348 (home-page "https://kdevelop.org")
349 (synopsis "IDE for C, C++, Python, Javascript and PHP")
350 (description "The KDevelop IDE provides semantic syntax highlighting, as
351well as code navigation and completion for C, C++ (using Clang/LLVM), QML,
352JavaScript, Python and PHP. It also integrates with a debugger, different
353build systems (CMake, QMake, custom Makefiles) and version control
354software (Git, Subversion, Mercurial, CVS and Bazaar).")
355 (license license:lgpl2.1+)))
356
357(define-public kommit
358 (package
359 (name "kommit")
360 (version "1.7.1")
361 (source (origin
362 (method url-fetch)
363 (uri (string-append "mirror://kde/stable/"
364 name "/" name "-"
365 "v" version ".tar.xz"))
366 (sha256
367 (base32
368 "14gr0ms99il76k3yrdff2z4fj5pi5c613gk9n60gg66rmr7m3pnx"))))
369 (build-system qt-build-system)
370 (arguments
371 (list #:qtbase qtbase
372 #:configure-flags
373 #~(list "-DQT_MAJOR_VERSION=6")
374 #:phases
375 #~(modify-phases %standard-phases
376 (replace 'check
377 (lambda* (#:key tests? #:allow-other-keys)
378 (when tests?
379 ;; FIXME: many test is fail, but look likes it can works.
380 (invoke "ctest" "-E"
381 "(difftest|clonedialogtest|tagtest|indextest|\
382branchestest|configtest|stashtest|filetest|overlaytest|remotetest|clonetest|\
383submoduletest|cachetest|switchtest)")))))))
384 (native-inputs
385 (list extra-cmake-modules kdoctools pkg-config))
386 (inputs
387 (list ;; module cyclic referencing
388 (module-ref
389 (resolve-interface
390 '(gnu packages kde-systemtools))
391 'dolphin) ;for dolphin plugin
392 kconfigwidgets
393 kcoreaddons
394 kcrash
395 kdbusaddons
396 ki18n
397 kxmlgui
398 kio
399 ktextwidgets
400 ktexteditor
401 ksyntaxhighlighting
402 libgit2-1.8
403 qtwayland))
404 (home-page "https://apps.kde.org/kommit/")
405 (synopsis "Git client for KDE")
406 (description
407 "Kommit is a git client for KDE.")
408 (license license:gpl3+)))
409
410(define-public kompare
411 (package
412 (name "kompare")
413 (version "26.04.1")
414 (source (origin
415 (method url-fetch)
416 (uri (string-append "mirror://kde/stable/release-service/" version
417 "/src/kompare-" version ".tar.xz"))
418 (sha256
419 (base32
420 "0gbzrqb9gyh4lkddhjlzanca5gizynjkva0gbifl3nfaa9dzfxfw"))))
421 (build-system qt-build-system)
422 (arguments
423 (list #:qtbase qtbase
424 #:tests? #f))
425 (native-inputs
426 (list extra-cmake-modules kdoctools))
427 (inputs
428 (list libkomparediff2
429 kcodecs
430 kconfig
431 kcoreaddons
432 ki18n
433 kiconthemes
434 kjobwidgets
435 kparts
436 ktexteditor
437 kwidgetsaddons
438 qtwayland))
439 (home-page "https://apps.kde.org/kompare/")
440 (synopsis "Graphical file differences tool")
441 (description
442 "Kompare is a program to view the differences between files. Features
443include:
444@itemize
445@item comparison of files or directories via a graphical interface,
446@item bezier-based connection widget letting you see both source and destination,
447@item graphical viewing of patch files in normal, context, unified and diff
448 formats,
449@item interactive application of differences,
450@item network transparency,
451@item ability to view plain-text diff output in embedded viewer,
452@item navigation of multiple-file diffs with dockable navigation tree,
453@item graphical interface for commonly used diff command line options,
454@item switch source and destination
455@item and diff statistics.
456@end itemize")
457 (license license:gpl3+)))
458
459(define-public massif-visualizer
460 (package
461 (name "massif-visualizer")
462 (version "26.04.1")
463 (source
464 (origin
465 (method url-fetch)
466 (uri (string-append "mirror://kde/stable/release-service/" version
467 "/src/massif-visualizer-" version ".tar.xz"))
468 (sha256
469 (base32 "162791g0lbrl28b3w5y49wj8z7lzixzsdcpar3gjd0j612m0sm9z"))))
470 (build-system qt-build-system)
471 (native-inputs
472 (list extra-cmake-modules pkg-config shared-mime-info))
473 (inputs
474 (list karchive
475 kcoreaddons
476 kparts
477 kdiagram
478 kgraphviewer
479 kio
480 ki18n
481 qtsvg
482 qt5compat
483 qtwayland))
484 (arguments (list #:qtbase qtbase))
485 (home-page "https://apps.kde.org/massif_visualizer/")
486 (synopsis "Visualize massif data generated by Valgrind")
487 (description
488 "Massif Visualizer is a tool that visualizes massif data.
489You run your application in Valgrind with @code{--tool=massif} and then open
490the generated @file{massif.out.%pid} in the visualizer. Gzip or Bzip2
491compressed massif files can also be opened transparently.")
492 (license license:gpl2+)))
493
494(define-public umbrello
495 (package
496 (name "umbrello")
497 (version "26.04.1")
498 (source
499 (origin
500 (method url-fetch)
501 (uri (string-append "mirror://kde/stable/release-service/" version
502 "/src/umbrello-" version ".tar.xz"))
503 (sha256
504 (base32 "0q10xla82rmkbchfbynvr3y7mjs2ngg4a0mznrv8smci829cxk6m"))))
505 (build-system qt-build-system)
506 (arguments
507 (list #:qtbase qtbase
508 #:configure-flags
509 #~(list "-DQT_MAJOR_VERSION=6")))
510 (native-inputs
511 (list extra-cmake-modules kdoctools))
512 (inputs
513 (list karchive
514 kcompletion
515 kconfig
516 kcoreaddons
517 kcrash
518 kdevelop-pg-qt
519 ki18n
520 kiconthemes
521 kio
522 ktexteditor
523 kwidgetsaddons
524 kwindowsystem
525 kxmlgui
526 libxml2
527 libxslt
528 qtsvg
529 qtwayland))
530 (home-page "https://apps.kde.org/umbrello/")
531 (synopsis "GUI for diagramming Unified Modelling Language (UML)")
532 (description "Umbrello is a @acronym{UML, Unified Modelling Language}
533modelling tool and code generator. It can create diagrams of software and
534other systems in the industry-standard UML format, and can also generate code
535from UML diagrams in a variety of programming languages.
536
537Features:
538@itemize
539@item Supported formats: XMI.
540@item Types of diagrams: use case, class, sequence, communication, state,
541activity, component, deployment and relationship.
542@end itemize")
543 (license license:gpl2+)))