kde-frameworks.scm 140 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753
  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
  3. ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
  4. ;;; Copyright © 2016-2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
  5. ;;; Copyright © 2016 David Craven <david@craven.ch>
  6. ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
  7. ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
  8. ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
  9. ;;;
  10. ;;; This file is part of GNU Guix.
  11. ;;;
  12. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  13. ;;; under the terms of the GNU General Public License as published by
  14. ;;; the Free Software Foundation; either version 3 of the License, or (at
  15. ;;; your option) any later version.
  16. ;;;
  17. ;;; GNU Guix is distributed in the hope that it will be useful, but
  18. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  19. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  20. ;;; GNU General Public License for more details.
  21. ;;;
  22. ;;; You should have received a copy of the GNU General Public License
  23. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  24. (define-module (gnu packages kde-frameworks)
  25. #:use-module (guix build-system cmake)
  26. #:use-module (guix download)
  27. #:use-module ((guix licenses) #:prefix license:)
  28. #:use-module (guix packages)
  29. #:use-module (guix utils)
  30. #:use-module (gnu packages)
  31. #:use-module (gnu packages acl)
  32. #:use-module (gnu packages admin)
  33. #:use-module (gnu packages aidc)
  34. #:use-module (gnu packages attr)
  35. #:use-module (gnu packages avahi)
  36. #:use-module (gnu packages base)
  37. #:use-module (gnu packages boost)
  38. #:use-module (gnu packages bison)
  39. #:use-module (gnu packages boost)
  40. #:use-module (gnu packages compression)
  41. #:use-module (gnu packages databases)
  42. #:use-module (gnu packages disk)
  43. #:use-module (gnu packages docbook)
  44. #:use-module (gnu packages flex)
  45. #:use-module (gnu packages freedesktop)
  46. #:use-module (gnu packages gettext)
  47. #:use-module (gnu packages gl)
  48. #:use-module (gnu packages glib)
  49. #:use-module (gnu packages gnome)
  50. #:use-module (gnu packages gnupg)
  51. #:use-module (gnu packages gperf)
  52. #:use-module (gnu packages graphics)
  53. #:use-module (gnu packages gstreamer)
  54. #:use-module (gnu packages image)
  55. #:use-module (gnu packages kerberos)
  56. #:use-module (gnu packages libreoffice)
  57. #:use-module (gnu packages linux)
  58. #:use-module (gnu packages mp3)
  59. #:use-module (gnu packages openbox)
  60. #:use-module (gnu packages pdf)
  61. #:use-module (gnu packages pcre)
  62. #:use-module (gnu packages perl)
  63. #:use-module (gnu packages pkg-config)
  64. #:use-module (gnu packages polkit)
  65. #:use-module (gnu packages python)
  66. #:use-module (gnu packages python-xyz)
  67. #:use-module (gnu packages qt)
  68. #:use-module (gnu packages textutils)
  69. #:use-module (gnu packages tls)
  70. #:use-module (gnu packages version-control)
  71. #:use-module (gnu packages video)
  72. #:use-module (gnu packages web)
  73. #:use-module (gnu packages xml)
  74. #:use-module (gnu packages xorg)
  75. #:use-module (srfi srfi-1))
  76. (define-public extra-cmake-modules
  77. (package
  78. (name "extra-cmake-modules")
  79. (version "5.55.0")
  80. (source (origin
  81. (method url-fetch)
  82. (uri (string-append
  83. "mirror://kde/stable/frameworks/"
  84. (version-major+minor version) "/"
  85. name "-" version ".tar.xz"))
  86. (sha256
  87. (base32
  88. "1x868hs9jiqzkqx7gld4mdm5dzfxc5kann22y15a4f7g5a957534"))))
  89. (build-system cmake-build-system)
  90. (native-inputs
  91. `(("qtbase" ,qtbase))) ; For tests (needs qmake)
  92. (arguments
  93. `(#:phases
  94. (modify-phases %standard-phases
  95. (add-after 'unpack 'fix-lib-path
  96. (lambda _
  97. ;; Always install into /lib and not into /lib64.
  98. (substitute* "kde-modules/KDEInstallDirs.cmake"
  99. (("\"lib64\"") "\"lib\"")
  100. ;; TODO: Base the following on values taken from Qt
  101. ;; Install plugins into lib/qt5/plugins
  102. ;; TODO: Check if this is okay for Android, too
  103. ;; (see comment in KDEInstallDirs.cmake)
  104. (("_define_relative\\(QTPLUGINDIR \"\\$\\{_pluginsDirParent}\" \"plugins\"")
  105. "_define_relative(QTPLUGINDIR \"${_pluginsDirParent}\" \"qt5/plugins\"")
  106. ;; Install imports into lib/qt5/imports
  107. (("_define_relative\\(QTQUICKIMPORTSDIR QTPLUGINDIR \"imports\"")
  108. "_define_relative(QTQUICKIMPORTSDIR LIBDIR \"qt5/imports\"")
  109. ;; Install qml-files into lib/qt5/qml
  110. (("_define_relative\\(QMLDIR LIBDIR \"qml\"")
  111. "_define_relative(QMLDIR LIBDIR \"qt5/qml\""))
  112. (substitute* "modules/ECMGeneratePriFile.cmake"
  113. ;; Install pri-files into lib/qt5/mkspecs
  114. (("set\\(ECM_MKSPECS_INSTALL_DIR mkspecs/modules")
  115. "set(ECM_MKSPECS_INSTALL_DIR lib/qt5/mkspecs/modules"))
  116. #t))
  117. ;; install and check phase are swapped to prevent install from failing
  118. ;; after testsuire has run
  119. (add-after 'install 'check-post-install
  120. (assoc-ref %standard-phases 'check))
  121. (delete 'check))))
  122. ;; optional dependencies - to save space, we do not add these inputs.
  123. ;; Sphinx > 1.2:
  124. ;; Required to build Extra CMake Modules documentation in Qt Help format.
  125. ;; Qt5LinguistTools , Qt5 linguist tools. , <http://www.qt.io/>
  126. ;; Required to run tests for the ECMPoQmTools module.
  127. ;; Qt5Core
  128. ;; Required to run tests for the ECMQtDeclareLoggingCategory module,
  129. ;; and for some tests of the KDEInstallDirs module.
  130. (home-page "https://community.kde.org/Frameworks")
  131. (synopsis "CMake module files for common software used by KDE")
  132. (description "The Extra CMake Modules package, or ECM, adds to the
  133. modules provided by CMake to find common software. In addition, it provides
  134. common build settings used in software produced by the KDE community.")
  135. (license license:bsd-3)))
  136. (define-public phonon
  137. (package
  138. (name "phonon")
  139. (version "4.10.1")
  140. (source (origin
  141. (method url-fetch)
  142. (uri (string-append
  143. "mirror://kde/stable/phonon"
  144. "/" version "/"
  145. name "-" version ".tar.xz"))
  146. (sha256
  147. (base32
  148. "1dwdw0hm6685psrp7v9frhkhqvsxrbdnm3gw794j5z7g3brqvag5"))))
  149. (build-system cmake-build-system)
  150. (native-inputs
  151. ;; TODO: Think about adding pulseaudio. Is it required for sound?
  152. ;; TODO: Add building the super experimental QML support
  153. `(("extra-cmake-modules" ,extra-cmake-modules)
  154. ("pkg-config" ,pkg-config)
  155. ("qttools" ,qttools)))
  156. (inputs
  157. `(("qtbase" ,qtbase)))
  158. (arguments
  159. `(#:configure-flags
  160. '("-DCMAKE_CXX_FLAGS=-fPIC"
  161. "-DPHONON_BUILD_PHONON4QT5=ON")
  162. #:phases
  163. (modify-phases %standard-phases
  164. (add-before 'install 'patch-installdir
  165. (lambda* (#:key inputs outputs #:allow-other-keys)
  166. (let ((regex (string-append "(INSTALL DESTINATION \")"
  167. (assoc-ref inputs "qtbase"))))
  168. (substitute* "cmake_install.cmake"
  169. ((regex all dest)
  170. (string-append dest (assoc-ref outputs "out")))))
  171. #t)))))
  172. (home-page "https://phonon.kde.org")
  173. (synopsis "KDE's multimedia library")
  174. (description "KDE's multimedia library.")
  175. (license license:lgpl2.1+)))
  176. (define-public phonon-backend-gstreamer
  177. (package
  178. (name "phonon-backend-gstreamer")
  179. (version "4.9.0")
  180. (source (origin
  181. (method url-fetch)
  182. (uri (string-append
  183. "mirror://kde/stable/phonon/"
  184. name "/" version "/"
  185. name "-" version ".tar.xz"))
  186. (sha256
  187. (base32
  188. "1wc5p1rqglf0n1avp55s50k7fjdzdrhg0gind15k8796w7nfbhyf"))))
  189. (build-system cmake-build-system)
  190. (native-inputs
  191. `(("extra-cmake-modules" ,extra-cmake-modules)
  192. ("pkg-config" ,pkg-config)))
  193. (inputs
  194. `(("qtbase" ,qtbase)
  195. ("phonon" ,phonon)
  196. ("qtbase" ,qtbase)
  197. ("qtx11extras" ,qtx11extras)
  198. ("gstreamer" ,gstreamer)
  199. ("gst-plugins-base" ,gst-plugins-base)
  200. ("libxml2" ,libxml2)))
  201. (arguments
  202. `(#:configure-flags
  203. '( "-DPHONON_BUILD_PHONON4QT5=ON")))
  204. (home-page "https://phonon.kde.org")
  205. (synopsis "Phonon backend which uses GStreamer")
  206. (description "Phonon makes use of backend libraries to provide sound.
  207. Phonon-GStreamer is a backend based on the GStreamer multimedia library.")
  208. ;; license: source files mention "either version 2.1 or 3"
  209. (license (list license:lgpl2.1 license:lgpl3))))
  210. (define-public kpmcore
  211. (package
  212. (name "kpmcore")
  213. (version "3.3.0")
  214. (source (origin
  215. (method url-fetch)
  216. (uri (string-append
  217. "mirror://kde/stable/kpmcore"
  218. "/" version "/src/"
  219. name "-" version ".tar.xz"))
  220. (sha256
  221. (base32
  222. "0s6v0jfrhjg31ri5p6h9n4w29jvasf5dj954j3vfpzl91lygmmmq"))))
  223. (build-system cmake-build-system)
  224. (native-inputs
  225. `(("extra-cmake-modules" ,extra-cmake-modules)
  226. ("pkg-config" ,pkg-config)))
  227. (inputs
  228. `(("kconfigwidgets" ,kconfigwidgets)
  229. ("kiconthemes" ,kiconthemes)
  230. ("kio" ,kio)
  231. ("ki18n" ,ki18n)
  232. ("kservice" ,kservice)
  233. ("libatasmart" ,libatasmart)
  234. ("parted" ,parted)
  235. ("qtbase" ,qtbase)
  236. ("util-linux" ,util-linux)))
  237. (home-page "https://community.kde.org/Frameworks")
  238. (synopsis "Library for managing partitions")
  239. (description "Library for managing partitions.")
  240. (license license:gpl3+)))
  241. ;; Tier 1
  242. ;;
  243. ;; Tier 1 frameworks depend only on Qt (and possibly a small number of other
  244. ;; third-party libraries), so can easily be used by an Qt-based project.
  245. (define-public attica
  246. (package
  247. (name "attica")
  248. (version "5.55.0")
  249. (source (origin
  250. (method url-fetch)
  251. (uri (string-append
  252. "mirror://kde/stable/frameworks/"
  253. (version-major+minor version) "/"
  254. name "-" version ".tar.xz"))
  255. (sha256
  256. (base32
  257. "0bsn9mi3nj23k2r3mfgjm9i1mp8qnwf08xn9x757wk3xas0cx98v"))))
  258. (build-system cmake-build-system)
  259. (arguments
  260. `(#:phases
  261. (modify-phases %standard-phases
  262. (add-after 'unpack 'disable-network-tests
  263. (lambda _
  264. ;; These tests require network access.
  265. (substitute* "autotests/CMakeLists.txt"
  266. ((".*providertest.cpp") "")))))))
  267. (native-inputs
  268. `(("extra-cmake-modules" ,extra-cmake-modules)))
  269. (inputs
  270. `(("qtbase" ,qtbase)))
  271. (home-page "https://community.kde.org/Frameworks")
  272. (synopsis "Open Collaboration Service client library")
  273. (description "Attica is a Qt library that implements the Open
  274. Collaboration Services API version 1.6.
  275. It grants easy access to the services such as querying information about
  276. persons and contents. The library is used in KNewStuff3 as content provider.
  277. In order to integrate with KDE's Plasma Desktop, a platform plugin exists in
  278. kdebase.
  279. The REST API is defined here:
  280. http://freedesktop.org/wiki/Specifications/open-collaboration-services/")
  281. (license (list license:lgpl2.1+ license:lgpl3+))))
  282. (define-public bluez-qt
  283. (package
  284. (name "bluez-qt")
  285. (version "5.55.0")
  286. (source (origin
  287. (method url-fetch)
  288. (uri (string-append
  289. "mirror://kde/stable/frameworks/"
  290. (version-major+minor version) "/"
  291. name "-" version ".tar.xz"))
  292. (sha256
  293. (base32
  294. "1ixad1ya3c339c675w8nwmbga8ydq16db9fk2az3gjm68z3dch8a"))))
  295. (build-system cmake-build-system)
  296. (native-inputs
  297. `(("dbus" ,dbus)
  298. ("extra-cmake-modules" ,extra-cmake-modules)))
  299. (inputs
  300. ;; TODO: qtdeclarative (yields one failing test)
  301. `(("qtbase" ,qtbase)))
  302. (arguments
  303. `(#:configure-flags
  304. (list (string-append
  305. "-DUDEV_RULES_INSTALL_DIR=" %output "/lib/udev/rules.d"))
  306. ;; TODO: Make tests pass: DBUS_FATAL_WARNINGS=0 still yields 7/8 tests
  307. ;; failing. When running after install, tests hang.
  308. #:tests? #f))
  309. (home-page "https://community.kde.org/Frameworks")
  310. (synopsis "QML wrapper for BlueZ")
  311. (description "bluez-qt is a Qt-style library for accessing the bluez
  312. Bluetooth stack. It is used by the KDE Bluetooth stack, BlueDevil.")
  313. (license (list license:lgpl2.1+ license:lgpl3+))))
  314. (define-public breeze-icons
  315. (package
  316. (name "breeze-icons")
  317. (version "5.55.0")
  318. (source (origin
  319. (method url-fetch)
  320. (uri (string-append
  321. "mirror://kde/stable/frameworks/"
  322. (version-major+minor version) "/"
  323. name "-" version ".tar.xz"))
  324. (sha256
  325. (base32
  326. "03mb7x8mc2h6cjb4mrifrbkbpj3lv9c0mg4m619rqiydg0p1yf49"))))
  327. (build-system cmake-build-system)
  328. (native-inputs
  329. `(("extra-cmake-modules" ,extra-cmake-modules)
  330. ("fdupes" ,fdupes)
  331. ("libxml2" ,libxml2)))
  332. (inputs
  333. `(("qtbase" ,qtbase)))
  334. (home-page "https://community.kde.org/Frameworks")
  335. (synopsis "Default KDE Plasma 5 icon theme")
  336. (description "Breeze provides a freedesktop.org compatible icon theme.
  337. It is the default icon theme for the KDE Plasma 5 desktop.")
  338. ;; The license file mentions lgpl3+. The license files in the source
  339. ;; directories are lgpl3, while the top directory contains the lgpl2.1.
  340. ;; text.
  341. (license license:lgpl3+)))
  342. (define-public kapidox
  343. (package
  344. (name "kapidox")
  345. (version "5.55.0")
  346. (source (origin
  347. (method url-fetch)
  348. (uri (string-append
  349. "mirror://kde/stable/frameworks/"
  350. (version-major+minor version) "/"
  351. name "-" version ".tar.xz"))
  352. (sha256
  353. (base32
  354. "0x41adp3rnvr6njc57ffdyh6d5i5aw13xcjdr4p6kacw9pk63ajf"))))
  355. (build-system cmake-build-system)
  356. (arguments
  357. `(#:tests? #f)) ; has no test target
  358. (native-inputs
  359. `(("extra-cmake-modules" ,extra-cmake-modules)))
  360. (propagated-inputs
  361. ;; kapidox is a python programm
  362. ;; TODO: check if doxygen has to be installed, the readme does not
  363. ;; mention it. The openSuse .rpm lists doxygen, graphviz, graphviz-gd,
  364. ;; and python-xml.
  365. `(("python" ,python)
  366. ("python-jinja2" ,python-jinja2)
  367. ("python-pyyaml" ,python-pyyaml)))
  368. (inputs
  369. `(("qtbase" ,qtbase)))
  370. (home-page "https://community.kde.org/Frameworks")
  371. (synopsis "KDE Doxygen Tools")
  372. (description "This framework contains scripts and data for building API
  373. documentation (dox) in a standard format and style for KDE.
  374. For the actual documentation extraction and formatting the Doxygen tool is
  375. used, but this framework provides a wrapper script to make generating the
  376. documentation more convenient (including reading settings from the target
  377. framework or other module) and a standard template for the generated
  378. documentation.")
  379. ;; Most parts are bsd-2, but incuded jquery is expat
  380. ;; This list is taken from http://packaging.neon.kde.org/cgit/
  381. (license (list license:bsd-2 license:expat))))
  382. (define-public karchive
  383. (package
  384. (name "karchive")
  385. (version "5.55.0")
  386. (source (origin
  387. (method url-fetch)
  388. (uri (string-append
  389. "mirror://kde/stable/frameworks/"
  390. (version-major+minor version) "/"
  391. name "-" version ".tar.xz"))
  392. (sha256
  393. (base32
  394. "1llznxc5wjjnmbjx8iwi3a93gc2z0z344viknsgls1fwdjjfyxc4"))))
  395. (build-system cmake-build-system)
  396. (native-inputs
  397. `(("extra-cmake-modules" ,extra-cmake-modules)))
  398. (inputs
  399. `(("bzip2" ,bzip2)
  400. ("qtbase" ,qtbase)
  401. ("xz" ,xz)
  402. ("zlib" ,zlib)))
  403. (home-page "https://community.kde.org/Frameworks")
  404. (synopsis "Qt 5 addon providing access to numerous types of archives")
  405. (description "KArchive provides classes for easy reading, creation and
  406. manipulation of 'archive' formats like ZIP and TAR.
  407. It also provides transparent compression and decompression of data, like the
  408. GZip format, via a subclass of QIODevice.")
  409. ;; The included licenses is are gpl2 and lgpl2.1, but the sources are
  410. ;; under a variety of licenses.
  411. ;; This list is taken from http://packaging.neon.kde.org/cgit/
  412. (license (list license:lgpl2.1 license:lgpl2.1+
  413. license:lgpl3+ license:bsd-2))))
  414. (define-public kcodecs
  415. (package
  416. (name "kcodecs")
  417. (version "5.55.0")
  418. (source (origin
  419. (method url-fetch)
  420. (uri (string-append
  421. "mirror://kde/stable/frameworks/"
  422. (version-major+minor version) "/"
  423. name "-" version ".tar.xz"))
  424. (sha256
  425. (base32
  426. "0491j6l28jwfpgaqs2816qpyggnra2df33iw3fgvb0wd4r4gvmjb"))))
  427. (build-system cmake-build-system)
  428. (native-inputs
  429. `(("extra-cmake-modules" ,extra-cmake-modules)
  430. ("gperf" ,gperf)
  431. ("qttools" ,qttools)))
  432. (inputs
  433. `(("qtbase" ,qtbase)))
  434. (home-page "https://community.kde.org/Frameworks")
  435. (synopsis "String encoding and manipulating library")
  436. (description "KCodecs provide a collection of methods to manipulate
  437. strings using various encodings.
  438. It can automatically determine the charset of a string, translate XML
  439. entities, validate email addresses, and find encodings by name in a more
  440. tolerant way than QTextCodec (useful e.g. for data coming from the
  441. Internet).")
  442. ;; The included licenses is are gpl2 and lgpl2.1, but the sources are
  443. ;; under a variety of licenses.
  444. ;; This list is taken from http://packaging.neon.kde.org/cgit/
  445. (license (list license:gpl2 license:gpl2+ license:bsd-2
  446. license:lgpl2.1 license:lgpl2.1+ license:expat
  447. license:lgpl3+ license:mpl1.1))))
  448. (define-public kconfig
  449. (package
  450. (name "kconfig")
  451. (version "5.55.0")
  452. (source (origin
  453. (method url-fetch)
  454. (uri (string-append
  455. "mirror://kde/stable/frameworks/"
  456. (version-major+minor version) "/"
  457. name "-" version ".tar.xz"))
  458. (sha256
  459. (base32
  460. "06gscipc3914gwiswhp1xx4sy74bpy645ykq2i6r1sb6sm16hmja"))))
  461. (build-system cmake-build-system)
  462. (native-inputs
  463. `(("dbus" ,dbus)
  464. ("extra-cmake-modules" ,extra-cmake-modules)
  465. ("inetutils" ,inetutils)
  466. ("qttools" ,qttools)
  467. ("xorg-server" ,xorg-server)))
  468. (inputs
  469. `(("qtbase" ,qtbase)))
  470. (arguments
  471. `(#:phases
  472. (modify-phases %standard-phases
  473. (add-before 'check 'check-setup
  474. (lambda _
  475. (setenv "HOME" (getcwd))
  476. (setenv "TMPDIR" (getcwd))
  477. #t))
  478. (replace 'check
  479. (lambda _
  480. (setenv "QT_QPA_PLATFORM" "offscreen")
  481. (invoke "dbus-launch" "ctest" "."))))))
  482. (home-page "https://community.kde.org/Frameworks")
  483. (synopsis "Kconfiguration settings framework for Qt")
  484. (description "KConfig provides an advanced configuration system.
  485. It is made of two parts: KConfigCore and KConfigGui.
  486. KConfigCore provides access to the configuration files themselves.
  487. It features:
  488. @enumerate
  489. @item Code generation: describe your configuration in an XML file, and use
  490. `kconfig_compiler to generate classes that read and write configuration
  491. entries.
  492. @item Cascading configuration files (global settings overridden by local
  493. settings).
  494. @item Optional shell expansion support (see docs/options.md).
  495. @item The ability to lock down configuration options (see docs/options.md).
  496. @end enumerate
  497. KConfigGui provides a way to hook widgets to the configuration so that they
  498. are automatically initialized from the configuration and automatically
  499. propagate their changes to their respective configuration files.")
  500. ;; The included licenses is are gpl2 and lgpl2.1, but the sources are
  501. ;; under a variety of licenses.
  502. ;; This list is taken from http://packaging.neon.kde.org/cgit/
  503. (license (list license:lgpl2.1 license:lgpl2.1+ license:expat
  504. license:lgpl3+ license:gpl1 ; licende:mit-olif
  505. license:bsd-2 license:bsd-3))))
  506. (define-public kcoreaddons
  507. (package
  508. (name "kcoreaddons")
  509. (version "5.55.0")
  510. (source (origin
  511. (method url-fetch)
  512. (uri (string-append
  513. "mirror://kde/stable/frameworks/"
  514. (version-major+minor version) "/"
  515. name "-" version ".tar.xz"))
  516. (sha256
  517. (base32
  518. "1j7bc5fhak8db3vdfslbjdffbdclakhfwsni2a855d08yfrl1n1w"))))
  519. (build-system cmake-build-system)
  520. (native-inputs
  521. `(("extra-cmake-modules" ,extra-cmake-modules)
  522. ("qttools" ,qttools)
  523. ("shared-mime-info" ,shared-mime-info)
  524. ;; TODO: FAM: File alteration notification http://oss.sgi.com/projects/fam
  525. ("xorg-server" ,xorg-server))) ; for the tests
  526. (inputs
  527. `(("qtbase" ,qtbase)))
  528. (arguments
  529. `(#:phases
  530. (modify-phases %standard-phases
  531. (add-before 'check 'blacklist-failing-test
  532. (lambda _
  533. ;; Blacklist failing tests.
  534. (with-output-to-file "autotests/BLACKLIST"
  535. (lambda _
  536. ;; FIXME: Make it pass. Test failure caused by stout/stderr
  537. ;; being interleaved.
  538. (display "[test_channels]\n*\n")
  539. ;; This fails with ENOSPC because of too many inotify watches.
  540. (display "[benchNotifyWatcher]\n*\n")))
  541. #t))
  542. ;; See upstream commit ee424e9b62368485bba4193053cabb553a1d268e
  543. (add-after 'unpack 'fix-broken-test
  544. (lambda _
  545. (substitute* "autotests/kdirwatch_unittest.cpp"
  546. (("QVERIFY\\(waitForRecreationSignal\\(watch, existingFile\\)\\);" m)
  547. (string-append m "\nwaitUntilNewSecond();")))
  548. #t))
  549. (add-before 'check 'check-setup
  550. (lambda _
  551. (setenv "HOME" (getcwd))
  552. (setenv "TMPDIR" (getcwd))
  553. #t)))))
  554. (home-page "https://community.kde.org/Frameworks")
  555. (synopsis "Qt addon library with a collection of non-GUI utilities")
  556. (description "KCoreAddons provides classes built on top of QtCore to
  557. perform various tasks such as manipulating mime types, autosaving files,
  558. creating backup files, generating random sequences, performing text
  559. manipulations such as macro replacement, accessing user information and
  560. many more.")
  561. (license (list license:lgpl2.0+ license:lgpl2.1+))))
  562. (define-public kdbusaddons
  563. (package
  564. (name "kdbusaddons")
  565. (version "5.55.0")
  566. (source (origin
  567. (method url-fetch)
  568. (uri (string-append
  569. "mirror://kde/stable/frameworks/"
  570. (version-major+minor version) "/"
  571. name "-" version ".tar.xz"))
  572. (sha256
  573. (base32
  574. "1sj3cycgci3ih65bkh7bsvbzyp7r654ppcryj4azpcsxqhy5gc7l"))
  575. (patches (search-patches "kdbusaddons-kinit-file-name.patch"))))
  576. (build-system cmake-build-system)
  577. (native-inputs
  578. `(("extra-cmake-modules" ,extra-cmake-modules)
  579. ("dbus" ,dbus)
  580. ("qttools" ,qttools)))
  581. (inputs
  582. `(("qtbase" ,qtbase)
  583. ("qtx11extras" ,qtx11extras)
  584. ("kinit" ,kinit-bootstrap))) ;; kinit-bootstrap: kinit package which does not depend on kdbusaddons.
  585. (arguments
  586. `(#:phases
  587. (modify-phases %standard-phases
  588. (add-before
  589. 'configure 'patch-source
  590. (lambda* (#:key inputs #:allow-other-keys)
  591. ;; look for the kdeinit5 executable in kinit's store directory,
  592. ;; instead of the current application's directory:
  593. (substitute* "src/kdeinitinterface.cpp"
  594. (("@SUBSTITUTEME@") (assoc-ref inputs "kinit")))))
  595. (replace 'check
  596. (lambda _
  597. (setenv "DBUS_FATAL_WARNINGS" "0")
  598. (invoke "dbus-launch" "ctest" "."))))))
  599. (home-page "https://community.kde.org/Frameworks")
  600. (synopsis "Convenience classes for DBus")
  601. (description "KDBusAddons provides convenience classes on top of QtDBus,
  602. as well as an API to create KDED modules.")
  603. ;; Some source files mention lgpl2.0+, but the included license is
  604. ;; the lgpl2.1. Some source files are under non-copyleft licenses.
  605. (license license:lgpl2.1+)))
  606. (define-public kdnssd
  607. (package
  608. (name "kdnssd")
  609. (version "5.55.0")
  610. (source (origin
  611. (method url-fetch)
  612. (uri (string-append
  613. "mirror://kde/stable/frameworks/"
  614. (version-major+minor version) "/"
  615. name "-" version ".tar.xz"))
  616. (sha256
  617. (base32
  618. "0lljj7mxmqm60kfzr37zb7z58mfyfh7zgykf7a5is1k0lxpgk6zc"))))
  619. (build-system cmake-build-system)
  620. (native-inputs
  621. `(("extra-cmake-modules" ,extra-cmake-modules)
  622. ("qttools" ,qttools)))
  623. (inputs
  624. `(("avahi" ,avahi) ; alternativly dnssd could be used
  625. ("qtbase" ,qtbase)))
  626. (home-page "https://community.kde.org/Frameworks")
  627. (synopsis "Network service discovery using Zeroconf")
  628. (description "KDNSSD is a library for handling the DNS-based Service
  629. Discovery Protocol (DNS-SD), the layer of Zeroconf that allows network services,
  630. such as printers, to be discovered without any user intervention or centralized
  631. infrastructure.")
  632. (license license:lgpl2.1+)))
  633. (define-public kguiaddons
  634. (package
  635. (name "kguiaddons")
  636. (version "5.55.0")
  637. (source (origin
  638. (method url-fetch)
  639. (uri (string-append
  640. "mirror://kde/stable/frameworks/"
  641. (version-major+minor version) "/"
  642. name "-" version ".tar.xz"))
  643. (sha256
  644. (base32
  645. "190jwhvq2fi8g03saszlaslzxmcbqrbwli9f9vm6h5j9nnc0z6h3"))))
  646. (build-system cmake-build-system)
  647. ;; TODO: Build packages for the Python bindings. Ideally this will be
  648. ;; done for all versions of python guix supports. Requires python,
  649. ;; python-sip, clang-python, libclang. Requires python-2 in all cases for
  650. ;; clang-python.
  651. (native-inputs
  652. `(("extra-cmake-modules" ,extra-cmake-modules)
  653. ("pkg-config" ,pkg-config)))
  654. (inputs
  655. `(("qtbase" ,qtbase)
  656. ("qtx11extras" ,qtx11extras)))
  657. (arguments
  658. `(#:phases
  659. (modify-phases %standard-phases
  660. (add-before 'check 'check-setup
  661. (lambda _
  662. ;; make Qt render "offscreen", required for tests
  663. (setenv "QT_QPA_PLATFORM" "offscreen")
  664. #t)))))
  665. (home-page "https://community.kde.org/Frameworks")
  666. (synopsis "Utilities for graphical user interfaces")
  667. (description "The KDE GUI addons provide utilities for graphical user
  668. interfaces in the areas of colors, fonts, text, images, keyboard input.")
  669. (license (list license:gpl2+ license:lgpl2.1+))))
  670. (define-public ki18n
  671. (package
  672. (name "ki18n")
  673. (version "5.55.0")
  674. (source (origin
  675. (method url-fetch)
  676. (uri (string-append
  677. "mirror://kde/stable/frameworks/"
  678. (version-major+minor version) "/"
  679. name "-" version ".tar.xz"))
  680. (sha256
  681. (base32
  682. "0kvwjzqibby9fawyfb8bd81abjhsjlyi8xy9mcapnih5x2gx3z92"))))
  683. (build-system cmake-build-system)
  684. (propagated-inputs
  685. `(("gettext" ,gettext-minimal)
  686. ("python" ,python)))
  687. (native-inputs
  688. `(("extra-cmake-modules" ,extra-cmake-modules)))
  689. (inputs
  690. `(("qtbase" ,qtbase)
  691. ("qtdeclarative" ,qtdeclarative)
  692. ("qtscript" ,qtscript)))
  693. (arguments
  694. `(#:phases
  695. (modify-phases %standard-phases
  696. (add-before 'check 'check-setup
  697. (lambda _
  698. (setenv "HOME" (getcwd))
  699. #t)))))
  700. (home-page "https://community.kde.org/Frameworks")
  701. (synopsis "KDE Gettext-based UI text internationalization")
  702. (description "KI18n provides functionality for internationalizing user
  703. interface text in applications, based on the GNU Gettext translation system. It
  704. wraps the standard Gettext functionality, so that the programmers and translators
  705. can use the familiar Gettext tools and workflows.
  706. KI18n provides additional functionality as well, for both programmers and
  707. translators, which can help to achieve a higher overall quality of source and
  708. translated text. This includes argument capturing, customizable markup, and
  709. translation scripting.")
  710. (license license:lgpl2.1+)))
  711. (define-public kidletime
  712. (package
  713. (name "kidletime")
  714. (version "5.55.0")
  715. (source (origin
  716. (method url-fetch)
  717. (uri (string-append
  718. "mirror://kde/stable/frameworks/"
  719. (version-major+minor version) "/"
  720. name "-" version ".tar.xz"))
  721. (sha256
  722. (base32
  723. "1kq6zh6cjhzffjhxnc7l1pw6g38swxyspp8xl8c860zdhc9xfd1g"))))
  724. (build-system cmake-build-system)
  725. (native-inputs
  726. `(("extra-cmake-modules" ,extra-cmake-modules)
  727. ("pkg-config" ,pkg-config)))
  728. (inputs
  729. `(("libxscrnsaver" ,libxscrnsaver) ; X-Screensaver based poller, fallback mode
  730. ("qtbase" ,qtbase)
  731. ("qtx11extras" ,qtx11extras)))
  732. (home-page "https://community.kde.org/Frameworks")
  733. (synopsis "Reporting of idle time of user and system")
  734. (description "KIdleTime is a singleton reporting information on idle time.
  735. It is useful not only for finding out about the current idle time of the PC,
  736. but also for getting notified upon idle time events, such as custom timeouts,
  737. or user activity.")
  738. (license (list license:gpl2+ license:lgpl2.1+))))
  739. (define-public kirigami
  740. ;; Kirigami is listed as tier 1 framework, but optionally includes
  741. ;; plasma-framework which is tier 3.
  742. (package
  743. (name "kirigami")
  744. (version "5.55.0")
  745. (source (origin
  746. (method url-fetch)
  747. (uri (string-append
  748. "mirror://kde/stable/frameworks/"
  749. (version-major+minor version) "/"
  750. "kirigami2-" version ".tar.xz"))
  751. (sha256
  752. (base32
  753. "11djxli5cq7pn19lmjz2y7z39mhlr98jskasfzyax546j47v973k"))))
  754. (properties `((upstream-name . "kirigami2")))
  755. (build-system cmake-build-system)
  756. (native-inputs
  757. `(("extra-cmake-modules" ,extra-cmake-modules)
  758. ("qttools" ,qttools)))
  759. (inputs
  760. `(("kwindowsystem" ,kwindowsystem)
  761. ;; TODO: Find a way to activate this optional include without
  762. ;; introducing a recursive dependency.
  763. ;;("plasma-frameworks" ,plasma-framework) ;; Tier 3!
  764. ("qtbase" ,qtbase)
  765. ("qtdeclarative" ,qtdeclarative)
  766. ("qtquickcontrols2" ,qtquickcontrols2)
  767. ("qtsvg" ,qtsvg)
  768. ;; Run-time dependency
  769. ("qtgraphicaleffects" ,qtgraphicaleffects)))
  770. (home-page "https://community.kde.org/Frameworks")
  771. (synopsis "QtQuick components for mobile user interfaces")
  772. (description "Kirigami is a set of high level QtQuick components looking
  773. and feeling well on both mobile and desktop devices. They ease the creation
  774. of applications that follow the Kirigami Human Interface Guidelines.")
  775. (license license:lgpl2.1+)))
  776. (define-public kitemmodels
  777. (package
  778. (name "kitemmodels")
  779. (version "5.55.0")
  780. (source (origin
  781. (method url-fetch)
  782. (uri (string-append
  783. "mirror://kde/stable/frameworks/"
  784. (version-major+minor version) "/"
  785. name "-" version ".tar.xz"))
  786. (sha256
  787. (base32
  788. "13609avkqrfi79zyr737662nr8bwcfdya9dxc6gzyqx5i0l2nbw6"))))
  789. (build-system cmake-build-system)
  790. (native-inputs
  791. `(("extra-cmake-modules" ,extra-cmake-modules)))
  792. (inputs
  793. `(("qtbase" ,qtbase)
  794. ("qtdeclarative" ,qtdeclarative)))
  795. (arguments
  796. `(#:phases
  797. (modify-phases %standard-phases
  798. (add-before 'check 'check-setup
  799. (lambda _
  800. ;; make Qt render "offscreen", required for tests
  801. (setenv "QT_QPA_PLATFORM" "offscreen")
  802. #t)))))
  803. (home-page "https://community.kde.org/Frameworks")
  804. (synopsis "Set of item models extending the Qt model-view framework")
  805. (description "KItemModels provides the following models:
  806. @enumerate
  807. @item KBreadcrumbSelectionModel - Selects the parents of selected items to
  808. create breadcrumbs.
  809. @item KCheckableProxyModel - Adds a checkable capability to a source model.
  810. @item KConcatenateRowsProxyModel - Concatenates rows from multiple source models.
  811. @item KDescendantsProxyModel - Proxy Model for restructuring a Tree into a list.
  812. @item KExtraColumnsProxyModel - Adds columns after existing columns.
  813. @item KLinkItemSelectionModel - Share a selection in multiple views which do
  814. not have the same source model.
  815. @item KModelIndexProxyMapper - Mapping of indexes and selections through proxy
  816. models.
  817. @item KRearrangeColumnsProxyModel - Can reorder and hide columns from the source
  818. model.
  819. @item KRecursiveFilterProxyModel - Recursive filtering of models.
  820. @item KSelectionProxyModel - A Proxy Model which presents a subset of its source
  821. model to observers
  822. @end enumerate")
  823. (license license:lgpl2.1+)))
  824. (define-public kitemviews
  825. (package
  826. (name "kitemviews")
  827. (version "5.55.0")
  828. (source (origin
  829. (method url-fetch)
  830. (uri (string-append
  831. "mirror://kde/stable/frameworks/"
  832. (version-major+minor version) "/"
  833. name "-" version ".tar.xz"))
  834. (sha256
  835. (base32
  836. "1mgh7z5xcbhc7a2qq8mqfp7j4amk93hypkpy2zc3rdhc60ps94ad"))))
  837. (build-system cmake-build-system)
  838. (native-inputs
  839. `(("extra-cmake-modules" ,extra-cmake-modules)
  840. ("qttools" ,qttools)))
  841. (inputs
  842. `(("qtbase" ,qtbase)))
  843. (arguments
  844. `(#:phases
  845. (modify-phases %standard-phases
  846. (add-before 'check 'check-setup
  847. (lambda _
  848. (setenv "DBUS_FATAL_WARNINGS" "0")
  849. ;; make Qt render "offscreen", required for tests
  850. (setenv "QT_QPA_PLATFORM" "offscreen")
  851. #t)))))
  852. (home-page "https://community.kde.org/Frameworks")
  853. (synopsis "Set of item views extending the Qt model-view framework")
  854. (description "KItemViews includes a set of views, which can be used with
  855. item models. It includes views for categorizing lists and to add search filters
  856. to flat and hierarchical lists.")
  857. (license (list license:gpl2+ license:lgpl2.1+))))
  858. (define-public kplotting
  859. (package
  860. (name "kplotting")
  861. (version "5.55.0")
  862. (source (origin
  863. (method url-fetch)
  864. (uri (string-append
  865. "mirror://kde/stable/frameworks/"
  866. (version-major+minor version) "/"
  867. name "-" version ".tar.xz"))
  868. (sha256
  869. (base32
  870. "0nn2v1yvvpzpi1y1pm47zvmwsa942c7d9n8iqymqihnp0fqjr8y7"))))
  871. (build-system cmake-build-system)
  872. (native-inputs
  873. `(("extra-cmake-modules" ,extra-cmake-modules)))
  874. (inputs
  875. `(("qtbase" ,qtbase)))
  876. (arguments
  877. `(#:phases
  878. (modify-phases %standard-phases
  879. (add-before 'check 'check-setup
  880. (lambda _ ; kplotting
  881. ;; make Qt render "offscreen", required for tests
  882. (setenv "QT_QPA_PLATFORM" "offscreen")
  883. #t)))))
  884. (home-page "https://community.kde.org/Frameworks")
  885. (synopsis "Data plotting library")
  886. (description "KPlotWidget is a QWidget-derived class that provides a virtual
  887. base class for easy data-plotting. The idea behind KPlotWidget is that you only
  888. have to specify information in \"data units\", the natural units of the
  889. data being plotted. KPlotWidget automatically converts everything to screen
  890. pixel units.")
  891. (license license:lgpl2.1+)))
  892. (define-public ksyntaxhighlighting
  893. (package
  894. (name "ksyntaxhighlighting")
  895. (version "5.55.0")
  896. (source (origin
  897. (method url-fetch)
  898. (uri (string-append
  899. "mirror://kde/stable/frameworks/"
  900. (version-major+minor version) "/"
  901. "syntax-highlighting-" version ".tar.xz"))
  902. (sha256
  903. (base32
  904. "00w5nmz9l70znv8q7q1zw3f7gngwfgf41iwbs53zqcv1z7wmrz6m"))))
  905. (build-system cmake-build-system)
  906. (native-inputs
  907. `(("extra-cmake-modules" ,extra-cmake-modules)
  908. ("perl" ,perl)
  909. ("qttools" ,qttools)
  910. ;; Optional, for compile-time validation of syntax definition files:
  911. ("qtxmlpatterns" ,qtxmlpatterns)))
  912. (inputs
  913. `(("qtbase" ,qtbase)))
  914. (arguments
  915. `(#:phases
  916. (modify-phases %standard-phases
  917. (add-after 'patch-source-shebangs 'unpatch-source-shebang
  918. (lambda _
  919. ;; revert the patch-shebang phase on scripts which are
  920. ;; in fact test data
  921. (substitute* '("autotests/input/test.bash"
  922. "autotests/folding/test.bash.fold")
  923. (((which "bash")) "/bin/bash"))
  924. (substitute* '("autotests/input/highlight.sh"
  925. "autotests/folding/highlight.sh.fold")
  926. (((which "sh")) " /bin/sh")) ;; space in front!
  927. (substitute* '("autotests/input/highlight.pl"
  928. "autotests/folding/highlight.pl.fold")
  929. (((which "perl")) "/usr/bin/perl"))
  930. #t)))))
  931. (home-page "https://community.kde.org/Frameworks")
  932. (synopsis "Syntax highlighting engine for Kate syntax definitions")
  933. (description "This is a stand-alone implementation of the Kate syntax
  934. highlighting engine. It's meant as a building block for text editors as well
  935. as for simple highlighted text rendering (e.g. as HTML), supporting both
  936. integration with a custom editor as well as a ready-to-use
  937. @code{QSyntaxHighlighter} sub-class.")
  938. (properties `((upstream-name . "syntax-highlighting")))
  939. (license license:lgpl2.1+)))
  940. (define-public kwayland
  941. (package
  942. (name "kwayland")
  943. (version "5.55.0")
  944. (source (origin
  945. (method url-fetch)
  946. (uri (string-append
  947. "mirror://kde/stable/frameworks/"
  948. (version-major+minor version) "/"
  949. name "-" version ".tar.xz"))
  950. (sha256
  951. (base32
  952. "0m9q13qzgvp03jrsyc59l6pp7jf0dvhx768p21drs46qxw6wla7l"))))
  953. (build-system cmake-build-system)
  954. (native-inputs
  955. `(("extra-cmake-modules" ,extra-cmake-modules)
  956. ("pkg-config" ,pkg-config)))
  957. (inputs
  958. `(("qtbase" ,qtbase)
  959. ("wayland" ,wayland)))
  960. (arguments
  961. `(#:tests? #f ; FIXME tests require weston to run
  962. ; weston requires wayland flags in mesa
  963. #:phases
  964. (modify-phases %standard-phases
  965. (add-before 'check 'check-setup
  966. (lambda _
  967. (setenv "XDG_RUNTIME_DIR" "/tmp")
  968. #t)))))
  969. (home-page "https://community.kde.org/Frameworks")
  970. (synopsis "Qt-style API to interact with the wayland client and server")
  971. (description "As the names suggest they implement a Client respectively a
  972. Server API for the Wayland protocol. The API is Qt-styled removing the needs to
  973. interact with a for a Qt developer uncomfortable low-level C-API. For example
  974. the callback mechanism from the Wayland API is replaced by signals, data types
  975. are adjusted to be what a Qt developer expects - two arguments of int are
  976. represented by a QPoint or a QSize.")
  977. (license license:lgpl2.1+)))
  978. (define-public kwidgetsaddons
  979. (package
  980. (name "kwidgetsaddons")
  981. (version "5.55.0")
  982. (source (origin
  983. (method url-fetch)
  984. (uri (string-append
  985. "mirror://kde/stable/frameworks/"
  986. (version-major+minor version) "/"
  987. name "-" version ".tar.xz"))
  988. (sha256
  989. (base32
  990. "0kpbvvmjrhxxjqc0cb63zlq06a3xspq43xv3wdingcn28zypynzc"))))
  991. (build-system cmake-build-system)
  992. (native-inputs
  993. `(("extra-cmake-modules" ,extra-cmake-modules)
  994. ("qttools" ,qttools)
  995. ("xorg-server" ,xorg-server)))
  996. (inputs
  997. `(("qtbase" ,qtbase)))
  998. (arguments
  999. `(#:phases
  1000. (modify-phases %standard-phases
  1001. (add-before 'check 'check-setup
  1002. (lambda _
  1003. ;; make Qt render "offscreen", required for tests
  1004. (setenv "QT_QPA_PLATFORM" "offscreen")
  1005. (setenv "DBUS_FATAL_WARNINGS" "0")
  1006. #t))
  1007. (add-before 'check 'start-xorg-server
  1008. (lambda* (#:key inputs #:allow-other-keys)
  1009. ;; The test suite requires a running X server.
  1010. ;; Xvfb doesn't have proper glx support and needs a pixeldepth
  1011. ;; of 24 bit to avoid "libGL error: failed to load driver: swrast"
  1012. ;; "Could not initialize GLX"
  1013. (system (string-append (assoc-ref inputs "xorg-server")
  1014. "/bin/Xvfb :1 -screen 0 640x480x24 &"))
  1015. (setenv "DISPLAY" ":1")
  1016. #t)))))
  1017. (home-page "https://community.kde.org/Frameworks")
  1018. (synopsis "Large set of desktop widgets")
  1019. (description "Provided are action classes that can be added to toolbars or
  1020. menus, a wide range of widgets for selecting characters, fonts, colors, actions,
  1021. dates and times, or MIME types, as well as platform-aware dialogs for
  1022. configuration pages, message boxes, and password requests.")
  1023. (license (list license:gpl2+ license:lgpl2.1+))))
  1024. (define-public kwindowsystem
  1025. (package
  1026. (name "kwindowsystem")
  1027. (version "5.55.0")
  1028. (source (origin
  1029. (method url-fetch)
  1030. (uri (string-append
  1031. "mirror://kde/stable/frameworks/"
  1032. (version-major+minor version) "/"
  1033. name "-" version ".tar.xz"))
  1034. (sha256
  1035. (base32
  1036. "10zdxm08d758zbwlrbsn0ghxjpf39ids2s5pnca072gbrbrxv656"))))
  1037. (build-system cmake-build-system)
  1038. (native-inputs
  1039. `(("extra-cmake-modules" ,extra-cmake-modules)
  1040. ("pkg-config" ,pkg-config)
  1041. ("dbus" ,dbus) ; for the tests
  1042. ("openbox" ,openbox) ; for the tests
  1043. ("qttools" ,qttools)
  1044. ("xorg-server" ,xorg-server))) ; for the tests
  1045. (inputs
  1046. `(("libxrender" ,libxrender)
  1047. ("qtbase" ,qtbase)
  1048. ("qtx11extras" ,qtx11extras)
  1049. ("xcb-utils-keysyms" ,xcb-util-keysyms)))
  1050. (arguments
  1051. `(#:phases
  1052. (modify-phases %standard-phases
  1053. (add-before 'check 'blacklist-failing-tests
  1054. (lambda _
  1055. ;; Blacklist a failing test-functions. FIXME: Make it pass.
  1056. (with-output-to-file "autotests/BLACKLIST"
  1057. (lambda _
  1058. (display "[testState]\n*\n")
  1059. (display "[testSupported]\n*\n")))
  1060. #t))
  1061. (replace 'check
  1062. (lambda _
  1063. ;; The test suite requires a running window anager
  1064. (system "Xvfb :1 -ac -screen 0 640x480x24 &")
  1065. (setenv "DISPLAY" ":1")
  1066. (sleep 5) ;; Give Xvfb a few moments to get on it's feet
  1067. (system "openbox &")
  1068. (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
  1069. (setenv "DBUS_FATAL_WARNINGS" "0")
  1070. (invoke "dbus-launch" "ctest" "."))))))
  1071. (home-page "https://community.kde.org/Frameworks")
  1072. (synopsis "KDE access to the windowing system")
  1073. (description "KWindowSystem provides information about and allows
  1074. interaction with the windowing system. It provides a high level API, which
  1075. is windowing system independent and has platform specific
  1076. implementations. This API is inspired by X11 and thus not all functionality
  1077. is available on all windowing systems.
  1078. In addition to the high level API, this framework also provides several
  1079. lower level classes for interaction with the X Windowing System.")
  1080. ;; Some source files mention lgpl2.0+, but the included license is
  1081. ;; the lgpl2.1. Some source files are under non-copyleft licenses.
  1082. (license license:lgpl2.1+)))
  1083. (define-public modemmanager-qt
  1084. (package
  1085. (name "modemmanager-qt")
  1086. (version "5.55.0")
  1087. (source (origin
  1088. (method url-fetch)
  1089. (uri (string-append
  1090. "mirror://kde/stable/frameworks/"
  1091. (version-major+minor version) "/"
  1092. name "-" version ".tar.xz"))
  1093. (sha256
  1094. (base32
  1095. "10pkgm4dzsrfnjsf78pssd1wp0y27d1y834chd267hx9vgrv8axm"))))
  1096. (build-system cmake-build-system)
  1097. (native-inputs
  1098. `(("extra-cmake-modules" ,extra-cmake-modules)
  1099. ("dbus" ,dbus)
  1100. ("pkg-config" ,pkg-config)))
  1101. (propagated-inputs
  1102. ;; Headers contain #include <ModemManager/ModemManager.h>
  1103. `(("modem-manager" ,modem-manager)))
  1104. (inputs
  1105. `(("qtbase" ,qtbase)))
  1106. (arguments
  1107. `(#:phases
  1108. (modify-phases %standard-phases
  1109. (replace 'check
  1110. (lambda _
  1111. (setenv "DBUS_FATAL_WARNINGS" "0")
  1112. (invoke "dbus-launch" "ctest" "."))))))
  1113. (home-page "https://community.kde.org/Frameworks")
  1114. (synopsis "Qt wrapper for ModemManager DBus API")
  1115. (description "ModemManagerQt provides access to all ModemManager features
  1116. exposed on DBus. It allows you to manage modem devices and access to
  1117. information available for your modem devices, like signal, location and
  1118. messages.")
  1119. (license license:lgpl2.1+)))
  1120. (define-public networkmanager-qt
  1121. (package
  1122. (name "networkmanager-qt")
  1123. (version "5.55.0")
  1124. (source (origin
  1125. (method url-fetch)
  1126. (uri (string-append
  1127. "mirror://kde/stable/frameworks/"
  1128. (version-major+minor version) "/"
  1129. name "-" version ".tar.xz"))
  1130. (sha256
  1131. (base32
  1132. "0j8l4k13vsqh0a8mw8dw5bc78xvxhz2rh7bb870as04i32bvw772"))))
  1133. (build-system cmake-build-system)
  1134. (native-inputs
  1135. `(("extra-cmake-modules" ,extra-cmake-modules)
  1136. ("dbus" ,dbus)
  1137. ("pkg-config" ,pkg-config)))
  1138. (propagated-inputs
  1139. ;; Headers contain #include <NetworkManager.h> and
  1140. ;; #include <libnm/NetworkManager.h>
  1141. `(("network-manager" ,network-manager)))
  1142. (inputs
  1143. `(("qtbase" ,qtbase)))
  1144. (arguments
  1145. `(#:phases
  1146. (modify-phases %standard-phases
  1147. (replace 'check
  1148. (lambda _
  1149. (setenv "DBUS_FATAL_WARNINGS" "0")
  1150. (invoke "dbus-launch" "ctest" "."))))))
  1151. (home-page "https://community.kde.org/Frameworks")
  1152. (synopsis "Qt wrapper for NetworkManager DBus API")
  1153. (description "NetworkManagerQt provides access to all NetworkManager
  1154. features exposed on DBus. It allows you to manage your connections and control
  1155. your network devices and also provides a library for parsing connection settings
  1156. which are used in DBus communication.")
  1157. (license license:lgpl2.1+)))
  1158. (define-public oxygen-icons
  1159. (package
  1160. (name "oxygen-icons")
  1161. (version "5.55.0")
  1162. (source (origin
  1163. (method url-fetch)
  1164. (uri (string-append
  1165. "mirror://kde/stable/frameworks/"
  1166. (version-major+minor version) "/"
  1167. name "5" "-" version ".tar.xz"))
  1168. (sha256
  1169. (base32
  1170. "0fvm9bq1573xkha4a577s1iik8nwzks8xhrli5mm6rbh53s12wp4"))))
  1171. (build-system cmake-build-system)
  1172. (native-inputs
  1173. `(("extra-cmake-modules" ,extra-cmake-modules)
  1174. ("fdupes" ,fdupes)))
  1175. (inputs
  1176. `(("qtbase" ,qtbase)))
  1177. (home-page "https://community.kde.org/Frameworks")
  1178. (synopsis "Oxygen provides the standard icon theme for the KDE desktop")
  1179. (description "Oxygen icon theme for the KDE desktop")
  1180. (license license:lgpl3+)
  1181. (properties '((upstream-name . "oxygen-icons5")))))
  1182. (define-public prison
  1183. (package
  1184. (name "prison")
  1185. (version "5.55.0")
  1186. (source
  1187. (origin
  1188. (method url-fetch)
  1189. (uri (string-append "mirror://kde/stable/frameworks/"
  1190. (version-major+minor version) "/"
  1191. name "-" version ".tar.xz"))
  1192. (sha256
  1193. (base32 "1xadc2fq6csml78czg5p572cwvmqmn334a5dxjnd7k1pdx50gi07"))))
  1194. (build-system cmake-build-system)
  1195. (native-inputs
  1196. `(("extra-cmake-modules" ,extra-cmake-modules)))
  1197. (inputs
  1198. `(("libdmtx" ,libdmtx)
  1199. ("qrencode" ,qrencode)
  1200. ("qtbase" ,qtbase))) ;; TODO: rethink: nix propagates this
  1201. (home-page "https://api.kde.org/frameworks/prison/html/index.html")
  1202. (synopsis "Barcode generation abstraction layer")
  1203. (description "Prison is a Qt-based barcode abstraction layer/library and
  1204. provides uniform access to generation of barcodes with data.")
  1205. (license license:lgpl2.1+)))
  1206. (define-public qqc2-desktop-style
  1207. (package
  1208. (name "qqc2-desktop-style")
  1209. (version "5.55.0")
  1210. (source (origin
  1211. (method url-fetch)
  1212. (uri (string-append
  1213. "mirror://kde/stable/frameworks/"
  1214. (version-major+minor version) "/"
  1215. name "-" version ".tar.xz"))
  1216. (sha256
  1217. (base32
  1218. "0aj37ldc3ywqap3sz73j54kbzycn529imr15jgl252k04rqpjya5"))))
  1219. (build-system cmake-build-system)
  1220. (native-inputs
  1221. `(("extra-cmake-modules" ,extra-cmake-modules)
  1222. ("pkg-config" ,pkg-config)))
  1223. (inputs
  1224. `(("kauth" ,kauth)
  1225. ("kconfigwidgets" ,kconfigwidgets) ; optional
  1226. ("kcoreaddons" ,kcoreaddons)
  1227. ("kiconthemes" ,kiconthemes) ; optional
  1228. ("kirigami" ,kirigami)
  1229. ("qtbase" ,qtbase)
  1230. ("qtdeclarative" ,qtdeclarative)
  1231. ("qtquickcontrols2" ,qtquickcontrols2)))
  1232. (home-page "https://community.kde.org/Frameworks")
  1233. (synopsis "QtQuickControls2 style that integrates with the desktop")
  1234. (description "This is a style for QtQuickControls2 which is using
  1235. QWidget's QStyle to paint the controls in order to give it a native look and
  1236. feel.")
  1237. ;; Mostly LGPL 2+, but many files are dual-licensed
  1238. (license (list license:lgpl2.1+ license:gpl3+))))
  1239. (define-public solid
  1240. (package
  1241. (name "solid")
  1242. (version "5.55.0")
  1243. (source (origin
  1244. (method url-fetch)
  1245. (uri (string-append
  1246. "mirror://kde/stable/frameworks/"
  1247. (version-major+minor version) "/"
  1248. name "-" version ".tar.xz"))
  1249. (sha256
  1250. (base32
  1251. "18dw55g41q34m2qzvybvpsas1dnyryqxnlf2md0xc4r36ib9p2pn"))))
  1252. (build-system cmake-build-system)
  1253. (arguments
  1254. `(#:phases
  1255. (modify-phases %standard-phases
  1256. (replace 'check
  1257. (lambda _
  1258. (setenv "DBUS_FATAL_WARNINGS" "0")
  1259. (invoke "dbus-launch" "ctest" "."))))))
  1260. (native-inputs
  1261. `(("bison" ,bison)
  1262. ("dbus" ,dbus)
  1263. ("extra-cmake-modules" ,extra-cmake-modules)
  1264. ("flex" ,flex)
  1265. ("qttools" ,qttools)))
  1266. (inputs
  1267. `(("qtbase" ,qtbase)
  1268. ("qtdeclarative" ,qtdeclarative)
  1269. ("udev" ,eudev)))
  1270. ;; TODO: Add runtime-only dependency MediaPlayerInfo
  1271. (home-page "https://community.kde.org/Frameworks")
  1272. (synopsis "Desktop hardware abstraction")
  1273. (description "Solid is a device integration framework. It provides a way of
  1274. querying and interacting with hardware independently of the underlying operating
  1275. system.")
  1276. (license license:lgpl2.1+)))
  1277. (define-public sonnet
  1278. (package
  1279. (name "sonnet")
  1280. (version "5.55.0")
  1281. (source (origin
  1282. (method url-fetch)
  1283. (uri (string-append
  1284. "mirror://kde/stable/frameworks/"
  1285. (version-major+minor version) "/"
  1286. name "-" version ".tar.xz"))
  1287. (sha256
  1288. (base32
  1289. "13bb1s2f4kfaikcga297j2fqlyr4qxdcq4v1b3zs1gas4z1wpcg6"))))
  1290. (build-system cmake-build-system)
  1291. (arguments
  1292. `(#:phases
  1293. (modify-phases %standard-phases
  1294. (add-before 'check 'check-setup
  1295. (lambda _
  1296. ;; make Qt render "offscreen", required for tests
  1297. (setenv "QT_QPA_PLATFORM" "offscreen")
  1298. #t)))))
  1299. (native-inputs
  1300. `(("extra-cmake-modules" ,extra-cmake-modules)
  1301. ("pkg-config" ,pkg-config)
  1302. ("qttools" ,qttools)))
  1303. (inputs
  1304. `(("hunspell" ,hunspell)
  1305. ;; TODO: hspell (for Hebrew), Voikko (for Finish)
  1306. ("qtbase" ,qtbase)))
  1307. (home-page "https://community.kde.org/Frameworks")
  1308. (synopsis "Multi-language spell checker")
  1309. (description "Sonnet is a plugin-based spell checking library for Qt-based
  1310. applications. It supports several different plugins, including HSpell, Enchant,
  1311. ASpell and HUNSPELL.")
  1312. (license license:lgpl2.1+)))
  1313. (define-public threadweaver
  1314. (package
  1315. (name "threadweaver")
  1316. (version "5.55.0")
  1317. (source (origin
  1318. (method url-fetch)
  1319. (uri (string-append
  1320. "mirror://kde/stable/frameworks/"
  1321. (version-major+minor version) "/"
  1322. name "-" version ".tar.xz"))
  1323. (sha256
  1324. (base32
  1325. "0r0ml5pz7h0vmydcg4gqqkl21lp6c5gqdwyfsnyad02dcjkh4hql"))))
  1326. (build-system cmake-build-system)
  1327. (native-inputs
  1328. `(("extra-cmake-modules" ,extra-cmake-modules)))
  1329. (inputs
  1330. `(("qtbase" ,qtbase)))
  1331. (home-page "https://community.kde.org/Frameworks")
  1332. (synopsis "Helper for multithreaded programming")
  1333. (description "ThreadWeaver is a helper for multithreaded programming. It
  1334. uses a job-based interface to queue tasks and execute them in an efficient way.")
  1335. (license license:lgpl2.1+)))
  1336. ;; Tier 2
  1337. ;;
  1338. ;; Tier 2 frameworks additionally depend on tier 1 frameworks, but still have
  1339. ;; easily manageable dependencies.
  1340. (define-public kactivities
  1341. (package
  1342. (name "kactivities")
  1343. (version "5.55.0")
  1344. (source (origin
  1345. (method url-fetch)
  1346. (uri (string-append
  1347. "mirror://kde/stable/frameworks/"
  1348. (version-major+minor version) "/"
  1349. name "-" version ".tar.xz"))
  1350. (sha256
  1351. (base32
  1352. "0dp9vx2nl9fnawzcz04fqa731s3bk2izxrqbvn71aqyrs7fymabg"))))
  1353. (build-system cmake-build-system)
  1354. (native-inputs
  1355. `(("extra-cmake-modules" ,extra-cmake-modules)))
  1356. (inputs
  1357. `(("boost" ,boost)
  1358. ("kauth" ,kauth)
  1359. ("kbookmarks" ,kbookmarks)
  1360. ("kcodecs" ,kcodecs)
  1361. ("kcompletion" ,kcompletion)
  1362. ("kconfig" ,kconfig)
  1363. ("kconfigwidgets" ,kconfigwidgets)
  1364. ("kcoreaddons" ,kcoreaddons)
  1365. ("kio" ,kio)
  1366. ("kitemviews" ,kitemviews)
  1367. ("kjobwidgets" ,kjobwidgets)
  1368. ("kservice" ,kservice)
  1369. ("kwidgetsaddons" ,kwidgetsaddons)
  1370. ("kwindowsystem" ,kwindowsystem)
  1371. ("kxmlgui" ,kxmlgui)
  1372. ("qtbase" ,qtbase)
  1373. ("qtdeclarative" ,qtdeclarative)
  1374. ("solid" ,solid)))
  1375. (home-page "https://community.kde.org/Frameworks")
  1376. (synopsis "Core components for the KDE Activity concept")
  1377. (description "KActivities provides the infrastructure needed to manage a
  1378. user's activities, allowing them to switch between tasks, and for applications
  1379. to update their state to match the user's current activity. This includes a
  1380. daemon, a library for interacting with that daemon, and plugins for integration
  1381. with other frameworks.")
  1382. ;; triple licensed
  1383. (license (list license:gpl2+ license:lgpl2.0+ license:lgpl2.1+))))
  1384. (define-public kauth
  1385. (package
  1386. (name "kauth")
  1387. (version "5.55.0")
  1388. (source (origin
  1389. (method url-fetch)
  1390. (uri (string-append
  1391. "mirror://kde/stable/frameworks/"
  1392. (version-major+minor version) "/"
  1393. name "-" version ".tar.xz"))
  1394. (sha256
  1395. (base32
  1396. "1w6bp2kbp1sn4cl76fgl2pqrg660ix99qq4h65g090kc934np3zc"))))
  1397. (build-system cmake-build-system)
  1398. (native-inputs
  1399. `(("dbus" ,dbus)
  1400. ("extra-cmake-modules" ,extra-cmake-modules)
  1401. ("qttools" ,qttools)))
  1402. (inputs
  1403. `(("kcoreaddons" ,kcoreaddons)
  1404. ("polkit-qt" ,polkit-qt)
  1405. ("qtbase" ,qtbase)))
  1406. (arguments
  1407. `(#:phases
  1408. (modify-phases %standard-phases
  1409. (add-after 'unpack 'fix-cmake-install-directories
  1410. (lambda _
  1411. ;; Make packages using kauth put their policy files and helpers
  1412. ;; into their own prefix.
  1413. (substitute* "KF5AuthConfig.cmake.in"
  1414. (("@KAUTH_POLICY_FILES_INSTALL_DIR@")
  1415. "${KDE_INSTALL_DATADIR}/polkit-1/actions")
  1416. (("@KAUTH_HELPER_INSTALL_DIR@")
  1417. "${KDE_INSTALL_LIBEXECDIR}")
  1418. (("@KAUTH_HELPER_INSTALL_ABSOLUTE_DIR@")
  1419. "${KDE_INSTALL_LIBEXECDIR}"))))
  1420. (replace 'check
  1421. (lambda _
  1422. (setenv "DBUS_FATAL_WARNINGS" "0")
  1423. (invoke "dbus-launch" "ctest" "."))))))
  1424. (home-page "https://community.kde.org/Frameworks")
  1425. (synopsis "Execute actions as privileged user")
  1426. (description "KAuth provides a convenient, system-integrated way to offload
  1427. actions that need to be performed as a privileged user to small set of helper
  1428. utilities.")
  1429. (license license:lgpl2.1+)))
  1430. (define-public kcompletion
  1431. (package
  1432. (name "kcompletion")
  1433. (version "5.55.0")
  1434. (source (origin
  1435. (method url-fetch)
  1436. (uri (string-append
  1437. "mirror://kde/stable/frameworks/"
  1438. (version-major+minor version) "/"
  1439. name "-" version ".tar.xz"))
  1440. (sha256
  1441. (base32
  1442. "08ym79fqk7vshsf3jk37d6jvg7ys63kwflcn5dff5ci18jan2ir2"))))
  1443. (build-system cmake-build-system)
  1444. (native-inputs
  1445. `(("extra-cmake-modules" ,extra-cmake-modules)
  1446. ("qttools" ,qttools)))
  1447. (inputs
  1448. `(("kconfig" ,kconfig)
  1449. ("kwidgetsaddons" ,kwidgetsaddons)
  1450. ("qtbase" ,qtbase)))
  1451. (arguments
  1452. `(#:phases
  1453. (modify-phases %standard-phases
  1454. (add-before 'check 'check-setup
  1455. (lambda _
  1456. ;; make Qt render "offscreen", required for tests
  1457. (setenv "QT_QPA_PLATFORM" "offscreen")
  1458. #t)))))
  1459. (home-page "https://community.kde.org/Frameworks")
  1460. (synopsis "Powerful autocompletion framework and widgets")
  1461. (description "This framework helps implement autocompletion in Qt-based
  1462. applications. It provides a set of completion-ready widgets, or can be
  1463. integrated it into your application's other widgets.")
  1464. (license license:lgpl2.1+)))
  1465. (define-public kcrash
  1466. (package
  1467. (name "kcrash")
  1468. (version "5.55.0")
  1469. (source (origin
  1470. (method url-fetch)
  1471. (uri (string-append
  1472. "mirror://kde/stable/frameworks/"
  1473. (version-major+minor version) "/"
  1474. name "-" version ".tar.xz"))
  1475. (sha256
  1476. (base32
  1477. "08a8c5mbj6ll0d1ivhcjx5ga1jfbnwxsk618wcfpwwi6mkxrc3f9"))))
  1478. (build-system cmake-build-system)
  1479. (native-inputs
  1480. `(("extra-cmake-modules" ,extra-cmake-modules)))
  1481. (inputs
  1482. `(("kcoreaddons" ,kcoreaddons)
  1483. ("kwindowsystem" ,kwindowsystem)
  1484. ("qtbase" ,qtbase)
  1485. ("qtx11extras" ,qtx11extras)))
  1486. (arguments
  1487. `(#:phases
  1488. (modify-phases %standard-phases
  1489. (add-before 'check 'check-setup
  1490. (lambda _
  1491. ;; make Qt render "offscreen", required for tests
  1492. (setenv "QT_QPA_PLATFORM" "offscreen")
  1493. #t)))))
  1494. (home-page "https://community.kde.org/Frameworks")
  1495. (synopsis "Graceful handling of application crashes")
  1496. (description "KCrash provides support for intercepting and handling
  1497. application crashes.")
  1498. (license license:lgpl2.1+)))
  1499. (define-public kdoctools
  1500. (package
  1501. (name "kdoctools")
  1502. (version "5.55.0")
  1503. (source (origin
  1504. (method url-fetch)
  1505. (uri (string-append
  1506. "mirror://kde/stable/frameworks/"
  1507. (version-major+minor version) "/"
  1508. name "-" version ".tar.xz"))
  1509. (sha256
  1510. (base32
  1511. "0dlal0vkxf5yh1hbfhrcrxqqi1w43q7bvv8ws8pb18jjgimzr46l"))))
  1512. (build-system cmake-build-system)
  1513. (native-inputs
  1514. `(("extra-cmake-modules" ,extra-cmake-modules)))
  1515. (inputs
  1516. `(("docbook-xml" ,docbook-xml)
  1517. ("docbook-xsl" ,docbook-xsl)
  1518. ("karchive" ,karchive)
  1519. ("ki18n" ,ki18n)
  1520. ("libxml2" ,libxml2)
  1521. ("libxslt" ,libxslt)
  1522. ("perl" ,perl)
  1523. ("perl-uri" ,perl-uri)
  1524. ("qtbase" ,qtbase)))
  1525. (arguments
  1526. `(#:phases
  1527. (modify-phases %standard-phases
  1528. (add-after 'unpack 'cmake-find-docbook
  1529. (lambda* (#:key inputs #:allow-other-keys)
  1530. (substitute* (find-files "cmake" "\\.cmake$")
  1531. (("CMAKE_SYSTEM_PREFIX_PATH")
  1532. "CMAKE_PREFIX_PATH"))
  1533. (substitute* "cmake/FindDocBookXML4.cmake"
  1534. (("^.*xml/docbook/schema/dtd.*$")
  1535. "xml/dtd/docbook\n"))
  1536. (substitute* "cmake/FindDocBookXSL.cmake"
  1537. (("^.*xml/docbook/stylesheet.*$")
  1538. (string-append "xml/xsl/docbook-xsl-"
  1539. ,(package-version docbook-xsl) "\n")))
  1540. #t))
  1541. (add-after 'install 'add-symlinks
  1542. ;; Some package(s) (e.g. kdelibs4support) refer to this locale by a
  1543. ;; different spelling.
  1544. (lambda* (#:key outputs #:allow-other-keys)
  1545. (let ((xsl (string-append (assoc-ref outputs "out")
  1546. "/share/kf5/kdoctools/customization/xsl/")))
  1547. (symlink (string-append xsl "pt_br.xml")
  1548. (string-append xsl "pt-BR.xml")))
  1549. #t)))))
  1550. (home-page "https://community.kde.org/Frameworks")
  1551. (synopsis "Create documentation from DocBook")
  1552. (description "Provides tools to generate documentation in various format
  1553. from DocBook files.")
  1554. (license license:lgpl2.1+)))
  1555. (define-public kfilemetadata
  1556. (package
  1557. (name "kfilemetadata")
  1558. (version "5.55.0")
  1559. (source (origin
  1560. (method url-fetch)
  1561. (uri (string-append
  1562. "mirror://kde/stable/frameworks/"
  1563. (version-major+minor version) "/"
  1564. name "-" version ".tar.xz"))
  1565. (sha256
  1566. (base32
  1567. "0fqj266f9f66rfjzg0rl35fac5rn5n3npyfb4gsla3mdc8fjz9mi"))))
  1568. (build-system cmake-build-system)
  1569. (arguments
  1570. `(#:phases
  1571. (modify-phases %standard-phases
  1572. (add-before 'check 'disable-failing-test
  1573. (lambda _
  1574. ;; Blacklist a failing test-function. FIXME: Make it pass.
  1575. ;; UserMetaDataWriterTest fails with getxattr("…/writertest.txt")
  1576. ;; -> EOPNOTSUPP (Operation not supported)
  1577. (with-output-to-file "autotests/BLACKLIST"
  1578. (lambda _
  1579. (display "[test]\n*\n")))
  1580. #t)))))
  1581. (native-inputs
  1582. `(("extra-cmake-modules" ,extra-cmake-modules)
  1583. ("pkg-config" ,pkg-config)
  1584. ("python-2" ,python-2)))
  1585. (inputs
  1586. `(("attr" ,attr)
  1587. ;; TODO: EPub http://sourceforge.net/projects/ebook-tools
  1588. ("karchive" ,karchive)
  1589. ("ki18n" ,ki18n)
  1590. ("qtmultimedia" ,qtmultimedia)
  1591. ("qtbase" ,qtbase)
  1592. ;; Required run-time packages
  1593. ("catdoc" ,catdoc)
  1594. ;; Optional run-time packages
  1595. ("exiv2" ,exiv2)
  1596. ("ffmpeg" ,ffmpeg)
  1597. ("poppler-qt5" ,poppler-qt5)
  1598. ("taglib" ,taglib)))
  1599. (home-page "https://community.kde.org/Frameworks")
  1600. (synopsis "Extract metadata from different fileformats")
  1601. (description "KFileMetaData provides a simple library for extracting the
  1602. text and metadata from a number of different files. This library is typically
  1603. used by file indexers to retrieve the metadata. This library can also be used
  1604. by applications to write metadata.")
  1605. (license (list license:lgpl2.0 license:lgpl2.1 license:lgpl3))))
  1606. (define-public kimageformats
  1607. (package
  1608. (name "kimageformats")
  1609. (version "5.55.0")
  1610. (source (origin
  1611. (method url-fetch)
  1612. (uri (string-append
  1613. "mirror://kde/stable/frameworks/"
  1614. (version-major+minor version) "/"
  1615. name "-" version ".tar.xz"))
  1616. (sha256
  1617. (base32
  1618. "0hhxv8m5993vlpi5yf7w3fadzckficn16flshdkby7bwq8agrbz1"))))
  1619. (build-system cmake-build-system)
  1620. (native-inputs
  1621. `(("extra-cmake-modules" ,extra-cmake-modules)
  1622. ("pkg-config" ,pkg-config)))
  1623. (inputs
  1624. `(("karchive" ,karchive) ; for Krita and OpenRaster images
  1625. ("openexr" ,openexr) ; for OpenEXR high dynamic-range images
  1626. ("qtbase" ,qtbase)))
  1627. (arguments
  1628. `(#:phases
  1629. (modify-phases %standard-phases
  1630. ;; This test fails regularly (also at KDE CI, see
  1631. ;; https://build.kde.org/job/Frameworks%20kimageformats%20kf5-qt5%20XenialQt5.7/6/testReport/)
  1632. ;; delete offending portion
  1633. (add-after 'unpack 'neuter-read-xcf-test
  1634. (lambda _
  1635. (delete-file "autotests/read/xcf/simple-rgba-gimp-2.8.10.png")
  1636. (delete-file "autotests/read/xcf/simple-rgba-gimp-2.8.10.xcf")))
  1637. (add-before 'check 'check-setup
  1638. (lambda _
  1639. ;; make Qt render "offscreen", required for tests
  1640. (setenv "QT_QPA_PLATFORM" "offscreen")
  1641. (setenv "QT_PLUGIN_PATH"
  1642. (string-append (getcwd) "/bin:"
  1643. (getenv "QT_PLUGIN_PATH")))
  1644. #t)))
  1645. ;; FIXME: The header files of ilmbase (propagated by openexr) are not
  1646. ;; found when included by the header files of openexr, and an explicit
  1647. ;; flag needs to be set.
  1648. #:configure-flags
  1649. (list (string-append "-DCMAKE_CXX_FLAGS=-I"
  1650. (assoc-ref %build-inputs "ilmbase")
  1651. "/include/OpenEXR"))))
  1652. (home-page "https://community.kde.org/Frameworks")
  1653. (synopsis "Plugins to allow QImage to support extra file formats")
  1654. (description "This framework provides additional image format plugins for
  1655. QtGui. As such it is not required for the compilation of any other software,
  1656. but may be a runtime requirement for Qt-based software to support certain image
  1657. formats.")
  1658. (license license:lgpl2.1+)))
  1659. (define-public kjobwidgets
  1660. (package
  1661. (name "kjobwidgets")
  1662. (version "5.55.0")
  1663. (source (origin
  1664. (method url-fetch)
  1665. (uri (string-append
  1666. "mirror://kde/stable/frameworks/"
  1667. (version-major+minor version) "/"
  1668. name "-" version ".tar.xz"))
  1669. (sha256
  1670. (base32
  1671. "1pbx974jpn8n2080gblmbh8q0yb5wxb9xblpm100rbhpg20sc2by"))))
  1672. (build-system cmake-build-system)
  1673. (native-inputs
  1674. `(("extra-cmake-modules" ,extra-cmake-modules)
  1675. ("qttools" ,qttools)))
  1676. (inputs
  1677. `(("kcoreaddons" ,kcoreaddons)
  1678. ("kwidgetsaddons" ,kwidgetsaddons)
  1679. ("qtbase" ,qtbase)
  1680. ("qtx11extras" ,qtx11extras)))
  1681. (home-page "https://community.kde.org/Frameworks")
  1682. (synopsis "Widgets for showing progress of asynchronous jobs")
  1683. (description "KJobWIdgets provides widgets for showing progress of
  1684. asynchronous jobs.")
  1685. (license license:lgpl2.1+)))
  1686. (define-public knotifications
  1687. (package
  1688. (name "knotifications")
  1689. (version "5.55.0")
  1690. (source (origin
  1691. (method url-fetch)
  1692. (uri (string-append
  1693. "mirror://kde/stable/frameworks/"
  1694. (version-major+minor version) "/"
  1695. name "-" version ".tar.xz"))
  1696. (sha256
  1697. (base32
  1698. "1dbrk9r3w8pmg15bhrb8qdk4fiqvc9qggb67zvk1n7ddlfkyarz6"))))
  1699. (build-system cmake-build-system)
  1700. (native-inputs
  1701. `(("extra-cmake-modules" ,extra-cmake-modules)
  1702. ("dbus" ,dbus)
  1703. ("qttools" ,qttools)))
  1704. (inputs
  1705. `(("kcodecs" ,kcodecs)
  1706. ("kconfig" ,kconfig)
  1707. ("kcoreaddons" ,kcoreaddons)
  1708. ("kwindowsystem" ,kwindowsystem)
  1709. ("phonon" ,phonon)
  1710. ("qtbase" ,qtbase)
  1711. ("qtspeech" ,qtspeech)
  1712. ;; TODO: Think about adding dbusmenu-qt5 from
  1713. ;; https://launchpad.net/libdbusmenu-qt
  1714. ("qtx11extras" ,qtx11extras)))
  1715. (arguments
  1716. `(#:phases
  1717. (modify-phases %standard-phases
  1718. (add-before 'check 'check-setup
  1719. (lambda _
  1720. (setenv "HOME" (getcwd))
  1721. #t))
  1722. (replace 'check
  1723. (lambda _
  1724. (setenv "DBUS_FATAL_WARNINGS" "0")
  1725. (invoke "dbus-launch" "ctest" "."))))))
  1726. (home-page "https://community.kde.org/Frameworks")
  1727. (synopsis "Desktop notifications")
  1728. (description "KNotification is used to notify the user of an event. It
  1729. covers feedback and persistent events.")
  1730. (license license:lgpl2.1+)))
  1731. (define-public kpackage
  1732. (package
  1733. (name "kpackage")
  1734. (version "5.55.0")
  1735. (source (origin
  1736. (method url-fetch)
  1737. (uri (string-append
  1738. "mirror://kde/stable/frameworks/"
  1739. (version-major+minor version) "/"
  1740. name "-" version ".tar.xz"))
  1741. (sha256
  1742. (base32
  1743. "175b0lj4qybddjpc25b1p60lr8f9220i9ymk3wk3y3vf4893v833"))
  1744. ;; Default to: external paths/symlinks can be followed by a
  1745. ;; package
  1746. (patches (search-patches "kpackage-allow-external-paths.patch"))))
  1747. (build-system cmake-build-system)
  1748. (native-inputs
  1749. `(("extra-cmake-modules" ,extra-cmake-modules)))
  1750. (inputs
  1751. `(("karchive" ,karchive)
  1752. ("kconfig" ,kconfig)
  1753. ("kcoreaddons" ,kcoreaddons)
  1754. ("kdoctools" ,kdoctools)
  1755. ("ki18n" ,ki18n)
  1756. ("qtbase" ,qtbase)))
  1757. (arguments
  1758. `(#:phases
  1759. (modify-phases %standard-phases
  1760. (add-after 'unpack 'patch
  1761. (lambda _
  1762. ;; Make QDirIterator follow symlinks
  1763. (substitute* '("src/kpackage/packageloader.cpp"
  1764. "src/kpackage/private/packagejobthread.cpp")
  1765. (("^\\s*(const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories)(;)" _ a b)
  1766. (string-append a " | QDirIterator::FollowSymlinks" b))
  1767. (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
  1768. (string-append a " | QDirIterator::FollowSymlinks" b)))
  1769. #t))
  1770. (add-after 'unpack 'patch-tests
  1771. (lambda _
  1772. ;; /bin/ls doesn't exist in the build-container use /etc/passwd
  1773. (substitute* "autotests/packagestructuretest.cpp"
  1774. (("(addDirectoryDefinition\\(\")bin(\".*\")bin(\".*\")bin\""
  1775. _ a b c)
  1776. (string-append a "etc" b "etc" c "etc\""))
  1777. (("filePath\\(\"bin\", QStringLiteral\\(\"ls\"))")
  1778. "filePath(\"etc\", QStringLiteral(\"passwd\"))")
  1779. (("\"/bin/ls\"") "\"/etc/passwd\""))
  1780. #t))
  1781. (add-before 'check 'check-setup
  1782. (lambda _
  1783. (setenv "HOME" (getcwd))
  1784. #t)))))
  1785. (home-page "https://community.kde.org/Frameworks")
  1786. (synopsis "Installation and loading of additional content as packages")
  1787. (description "The Package framework lets the user install and load packages
  1788. of non binary content such as scripted extensions or graphic assets, as if they
  1789. were traditional plugins.")
  1790. (license (list license:gpl2+ license:lgpl2.1+))))
  1791. (define-public kpty
  1792. (package
  1793. (name "kpty")
  1794. (version "5.55.0")
  1795. (source (origin
  1796. (method url-fetch)
  1797. (uri (string-append
  1798. "mirror://kde/stable/frameworks/"
  1799. (version-major+minor version) "/"
  1800. name "-" version ".tar.xz"))
  1801. (sha256
  1802. (base32
  1803. "0r5080xl7x13qmjnjssb0d1pk626anaa4xahb7fi869fndr4xhzn"))))
  1804. (build-system cmake-build-system)
  1805. (native-inputs
  1806. `(("extra-cmake-modules" ,extra-cmake-modules)))
  1807. (inputs
  1808. `(("kcoreaddons" ,kcoreaddons)
  1809. ("ki18n" ,ki18n)
  1810. ;; TODO: utempter, for managing UTMP entries
  1811. ("qtbase" ,qtbase)))
  1812. (arguments
  1813. `(#:tests? #f ; FIXME: 1/1 tests fail.
  1814. #:phases
  1815. (modify-phases %standard-phases
  1816. (add-after 'unpack 'patch-tests
  1817. (lambda _
  1818. (substitute* "autotests/kptyprocesstest.cpp"
  1819. (("/bin/bash") (which "bash")))
  1820. #t)))))
  1821. (home-page "https://community.kde.org/Frameworks")
  1822. (synopsis "Interfacing with pseudo terminal devices")
  1823. (description "This library provides primitives to interface with pseudo
  1824. terminal devices as well as a KProcess derived class for running child processes
  1825. and communicating with them using a pty.")
  1826. (license (list license:gpl2+ license:lgpl2.1+))))
  1827. (define-public kunitconversion
  1828. (package
  1829. (name "kunitconversion")
  1830. (version "5.55.0")
  1831. (source (origin
  1832. (method url-fetch)
  1833. (uri (string-append
  1834. "mirror://kde/stable/frameworks/"
  1835. (version-major+minor version) "/"
  1836. name "-" version ".tar.xz"))
  1837. (sha256
  1838. (base32
  1839. "1v5cfxk5v76w1f1qvrpilrs111wvp8bn2p3bswhqp4lg0qxync0q"))))
  1840. (build-system cmake-build-system)
  1841. (arguments
  1842. `(#:phases
  1843. (modify-phases %standard-phases
  1844. (add-after 'unpack 'disable-a-failing-test-case
  1845. (lambda _
  1846. ;; FIXME: Re-enable this test-case. It was committed with the
  1847. ;; message: "tsan says it's clean, apart from issues in Qt
  1848. ;; (reported upstream)"
  1849. (substitute* "autotests/convertertest.cpp"
  1850. (("const int numThreads = 2") "const int numThreads = 0")))))))
  1851. (native-inputs
  1852. `(("extra-cmake-modules" ,extra-cmake-modules)))
  1853. (inputs
  1854. `(("ki18n" ,ki18n)
  1855. ("qtbase" ,qtbase)))
  1856. (home-page "https://community.kde.org/Frameworks")
  1857. (synopsis "Converting physical units")
  1858. (description "KUnitConversion provides functions to convert values in
  1859. different physical units. It supports converting different prefixes (e.g. kilo,
  1860. mega, giga) as well as converting between different unit systems (e.g. liters,
  1861. gallons).")
  1862. (license license:lgpl2.1+)))
  1863. ;; Tier 3
  1864. ;;
  1865. ;; Tier 3 frameworks are generally more powerful, comprehensive packages, and
  1866. ;; consequently have more complex dependencies.
  1867. (define-public baloo
  1868. (package
  1869. (name "baloo")
  1870. (version "5.55.0")
  1871. (source (origin
  1872. (method url-fetch)
  1873. (uri (string-append
  1874. "mirror://kde/stable/frameworks/"
  1875. (version-major+minor version) "/"
  1876. name "-" version ".tar.xz"))
  1877. (sha256
  1878. (base32
  1879. "068ms071639pskhjz37cszylvfzzqhp7x1rmwdfn5nlvzrv6lrxh"))))
  1880. (build-system cmake-build-system)
  1881. (propagated-inputs
  1882. `(("kcoreaddons" ,kcoreaddons)
  1883. ("kfilemetadata" ,kfilemetadata)))
  1884. (native-inputs
  1885. `(("dbus" ,dbus)
  1886. ("extra-cmake-modules" ,extra-cmake-modules)))
  1887. (inputs
  1888. `(("kbookmarks" ,kbookmarks)
  1889. ("kcompletion" ,kcompletion)
  1890. ("kconfig" ,kconfig)
  1891. ("kcrash" ,kcrash)
  1892. ("kdbusaddons" ,kdbusaddons)
  1893. ("kidletime" ,kidletime)
  1894. ("kio" ,kio)
  1895. ("kitemviews" ,kitemviews)
  1896. ("ki18n" ,ki18n)
  1897. ("kjobwidgets" ,kjobwidgets)
  1898. ("kservice" ,kservice)
  1899. ("kwidgetsaddons" ,kwidgetsaddons)
  1900. ("kxmlgui" ,kxmlgui)
  1901. ("lmdb" ,lmdb)
  1902. ("qtbase" ,qtbase)
  1903. ("qtdeclarative" ,qtdeclarative)
  1904. ("solid" ,solid)))
  1905. (arguments
  1906. `(#:phases
  1907. (modify-phases %standard-phases
  1908. (add-before 'check 'check-setup
  1909. (lambda _
  1910. (setenv "HOME" (getcwd))
  1911. ;; make Qt render "offscreen", required for tests
  1912. (setenv "QT_QPA_PLATFORM" "offscreen")
  1913. #t))
  1914. (add-after 'unpack 'remove-failing-test
  1915. ;; This test fails on i686 and aarch64
  1916. (lambda _
  1917. (substitute* "autotests/unit/file/CMakeLists.txt"
  1918. (("^\\s*ecm_add_test\\(.* TEST_NAME metadatamovertest .*" line)
  1919. (string-append "# " line)))
  1920. #t))
  1921. (replace 'check
  1922. (lambda _
  1923. (setenv "DBUS_FATAL_WARNINGS" "0")
  1924. (invoke "dbus-launch" "ctest" "."))))))
  1925. (home-page "https://community.kde.org/Frameworks")
  1926. (synopsis "File searching and indexing")
  1927. (description "Baloo provides file searching and indexing. It does so by
  1928. maintaining an index of the contents of your files.")
  1929. ;; dual licensed
  1930. (license (list license:gpl2+ license:lgpl2.1+))))
  1931. (define-public kactivities-stats
  1932. (package
  1933. (name "kactivities-stats")
  1934. (version "5.55.0")
  1935. (source (origin
  1936. (method url-fetch)
  1937. (uri (string-append
  1938. "mirror://kde/stable/frameworks/"
  1939. (version-major+minor version) "/"
  1940. name "-" version ".tar.xz"))
  1941. (sha256
  1942. (base32
  1943. "12n178244ysfak0x9qm9a2k814qi56w8xpkg03na7hlsz2l4y9v6"))))
  1944. (build-system cmake-build-system)
  1945. (native-inputs
  1946. `(("extra-cmake-modules" ,extra-cmake-modules)))
  1947. (inputs
  1948. `(("boost" ,boost)
  1949. ("kactivities" ,kactivities)
  1950. ("kconfig" ,kconfig)
  1951. ("qtbase" ,qtbase)
  1952. ("qtdeclarative" ,qtdeclarative)))
  1953. (home-page "https://community.kde.org/Frameworks")
  1954. (synopsis "Access usage statistics collected by the activity manager")
  1955. (description "The KActivitiesStats library provides a querying mechanism for
  1956. the data that the activitiy manager collects - which documents have been opened
  1957. by which applications, and what documents have been linked to which activity.")
  1958. ;; triple licensed
  1959. (license (list license:lgpl2.0+ license:lgpl2.1+ license:lgpl3+))))
  1960. (define-public kbookmarks
  1961. (package
  1962. (name "kbookmarks")
  1963. (version "5.55.0")
  1964. (source (origin
  1965. (method url-fetch)
  1966. (uri (string-append
  1967. "mirror://kde/stable/frameworks/"
  1968. (version-major+minor version) "/"
  1969. name "-" version ".tar.xz"))
  1970. (sha256
  1971. (base32
  1972. "0vsn98znzdbiy8clbl9p3kiag3zvxgc9701gwg2ig8mpv3ci9lkg"))))
  1973. (build-system cmake-build-system)
  1974. (propagated-inputs
  1975. `(("kwidgetsaddons" ,kwidgetsaddons)))
  1976. (native-inputs
  1977. `(("extra-cmake-modules" ,extra-cmake-modules)
  1978. ("qttools" ,qttools)))
  1979. (inputs
  1980. `(("kauth" ,kauth)
  1981. ("kcodecs" ,kcodecs)
  1982. ("kconfig" ,kconfig)
  1983. ("kconfigwidgets" ,kconfigwidgets)
  1984. ("kcoreaddons" ,kcoreaddons)
  1985. ("kiconthemes" ,kiconthemes)
  1986. ("kxmlgui" ,kxmlgui)
  1987. ("qtbase" ,qtbase)))
  1988. (arguments
  1989. `(#:phases
  1990. (modify-phases %standard-phases
  1991. (add-before 'check 'check-setup
  1992. (lambda _
  1993. (setenv "HOME" (getcwd))
  1994. ;; make Qt render "offscreen", required for tests
  1995. (setenv "QT_QPA_PLATFORM" "offscreen")
  1996. #t)))))
  1997. (home-page "https://community.kde.org/Frameworks")
  1998. (synopsis "Bookmarks management library")
  1999. (description "KBookmarks lets you access and manipulate bookmarks stored
  2000. using the XBEL format.")
  2001. (license license:lgpl2.1+)))
  2002. (define-public kcmutils
  2003. (package
  2004. (name "kcmutils")
  2005. (version "5.55.0")
  2006. (source (origin
  2007. (method url-fetch)
  2008. (uri (string-append
  2009. "mirror://kde/stable/frameworks/"
  2010. (version-major+minor version) "/"
  2011. name "-" version ".tar.xz"))
  2012. (sha256
  2013. (base32
  2014. "1f49864xpxrbj77n7l474wkn3rw4zy8vkl3psdya7ccdk7ac2s0k"))))
  2015. (build-system cmake-build-system)
  2016. (propagated-inputs
  2017. `(("kconfigwidgets" ,kconfigwidgets)
  2018. ("kservice" ,kservice)))
  2019. (native-inputs
  2020. `(("extra-cmake-modules" ,extra-cmake-modules)))
  2021. (arguments
  2022. `(#:phases
  2023. (modify-phases %standard-phases
  2024. (add-after 'unpack 'patch
  2025. (lambda _
  2026. (substitute* "src/kpluginselector.cpp"
  2027. ;; make QDirIterator follow symlinks
  2028. (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
  2029. (string-append a " | QDirIterator::FollowSymlinks" b)))
  2030. (substitute* "src/kcmoduleloader.cpp"
  2031. ;; print plugin name when loading fails
  2032. (("^\\s*(qWarning\\(\\) << \"Error loading) (plugin:\")( << loader\\.errorString\\(\\);)" _ a b c)
  2033. (string-append a " KCM plugin\" << mod.service()->library() << \":\"" c)))
  2034. #t)))))
  2035. (inputs
  2036. `(("kauth" ,kauth)
  2037. ("kcodecs" ,kcodecs)
  2038. ("kconfig" ,kconfig)
  2039. ("kcoreaddons" ,kcoreaddons)
  2040. ("kdeclarative" ,kdeclarative)
  2041. ("kiconthemes" ,kiconthemes)
  2042. ("kitemviews" ,kitemviews)
  2043. ("ki18n" ,ki18n)
  2044. ("kpackage" ,kpackage)
  2045. ("kwidgetsaddons" ,kwidgetsaddons)
  2046. ("kxmlgui" ,kxmlgui)
  2047. ("qtbase" ,qtbase)
  2048. ("qtdeclarative" ,qtdeclarative)))
  2049. (home-page "https://community.kde.org/Frameworks")
  2050. (synopsis "Utilities for KDE System Settings modules")
  2051. (description "KCMUtils provides various classes to work with KCModules.
  2052. KCModules can be created with the KConfigWidgets framework.")
  2053. (license license:lgpl2.1+)))
  2054. (define-public kconfigwidgets
  2055. (package
  2056. (name "kconfigwidgets")
  2057. (version "5.55.0")
  2058. (source (origin
  2059. (method url-fetch)
  2060. (uri (string-append
  2061. "mirror://kde/stable/frameworks/"
  2062. (version-major+minor version) "/"
  2063. name "-" version ".tar.xz"))
  2064. (sha256
  2065. (base32
  2066. "0npfp6z5lc2h8y6slmz3sbymyyv9k2w73rpsjzl5zswqhzlvrb5k"))))
  2067. (build-system cmake-build-system)
  2068. (propagated-inputs
  2069. `(("kauth" ,kauth)
  2070. ("kcodecs" ,kcodecs)
  2071. ("kconfig" ,kconfig)
  2072. ("kwidgetsaddons" ,kwidgetsaddons)))
  2073. (native-inputs
  2074. `(("extra-cmake-modules" ,extra-cmake-modules)
  2075. ("kdoctools" ,kdoctools)))
  2076. (inputs
  2077. `(("kcoreaddons" ,kcoreaddons)
  2078. ("kguiaddons" ,kguiaddons)
  2079. ("ki18n" ,ki18n)
  2080. ("qtbase" ,qtbase)))
  2081. (arguments
  2082. `(#:phases
  2083. (modify-phases %standard-phases
  2084. (add-after 'unpack 'patch
  2085. (lambda _
  2086. (substitute* "src/khelpclient.cpp"
  2087. ;; make QDirIterator follow symlinks
  2088. (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
  2089. (string-append a " | QDirIterator::FollowSymlinks" b)))
  2090. #t))
  2091. (add-before 'check 'check-setup
  2092. (lambda _
  2093. ;; make Qt render "offscreen", required for tests
  2094. (setenv "QT_QPA_PLATFORM" "offscreen")
  2095. #t)))))
  2096. (home-page "https://community.kde.org/Frameworks")
  2097. (synopsis "Widgets for configuration dialogs")
  2098. (description "KConfigWidgets provides easy-to-use classes to create
  2099. configuration dialogs, as well as a set of widgets which uses KConfig to store
  2100. their settings.")
  2101. ;; dual licensed
  2102. (license (list license:gpl2+ license:lgpl2.1+))))
  2103. (define-public kdeclarative
  2104. (package
  2105. (name "kdeclarative")
  2106. (version "5.55.0")
  2107. (source (origin
  2108. (method url-fetch)
  2109. (uri (string-append
  2110. "mirror://kde/stable/frameworks/"
  2111. (version-major+minor version) "/"
  2112. name "-" version ".tar.xz"))
  2113. (sha256
  2114. (base32
  2115. "043jl7rn9yawh04fwgaxb8iwksn3z8qb4yfc4s6v1znwcs7ajlda"))))
  2116. (build-system cmake-build-system)
  2117. (propagated-inputs
  2118. `(("kconfig" ,kconfig)
  2119. ("kpackage" ,kpackage)))
  2120. (native-inputs
  2121. `(("extra-cmake-modules" ,extra-cmake-modules)
  2122. ("pkg-config" ,pkg-config)
  2123. ("xorg-server" ,xorg-server)))
  2124. (inputs
  2125. `(("kauth" ,kauth)
  2126. ("kbookmarks" ,kbookmarks)
  2127. ("kcodecs" ,kcodecs)
  2128. ("kcompletion" ,kcompletion)
  2129. ("kconfigwidgets" ,kconfigwidgets)
  2130. ("kcoreaddons" ,kcoreaddons)
  2131. ("kglobalaccel" ,kglobalaccel)
  2132. ("kguiaddons" ,kguiaddons)
  2133. ("kiconthemes" ,kiconthemes)
  2134. ("kio" ,kio)
  2135. ("kitemviews" ,kitemviews)
  2136. ("ki18n" ,ki18n)
  2137. ("kjobwidgets" ,kjobwidgets)
  2138. ("kservice" ,kservice)
  2139. ("kwidgetsaddons" ,kwidgetsaddons)
  2140. ("kwindowsystem" ,kwindowsystem)
  2141. ("kxmlgui" ,kxmlgui)
  2142. ("libepoxy" ,libepoxy)
  2143. ("qtbase" ,qtbase)
  2144. ("qtdeclarative" ,qtdeclarative)
  2145. ("solid" ,solid)))
  2146. (arguments
  2147. `(#:phases
  2148. (modify-phases %standard-phases
  2149. (add-before 'check 'start-xorg-server
  2150. (lambda* (#:key inputs #:allow-other-keys)
  2151. ;; The test suite requires a running X server, setting
  2152. ;; QT_QPA_PLATFORM=offscreen does not suffice.
  2153. (system (string-append (assoc-ref inputs "xorg-server")
  2154. "/bin/Xvfb :1 -screen 0 640x480x24 &"))
  2155. (setenv "DISPLAY" ":1")
  2156. #t)))))
  2157. (home-page "https://community.kde.org/Frameworks")
  2158. (synopsis "Integration of QML and KDE work spaces")
  2159. (description "KDeclarative provides integration of QML and KDE work spaces.
  2160. It's comprises two parts: a library used by the C++ part of your application to
  2161. intergrate QML with KDE Frameworks specific features, and a series of QML imports
  2162. that offer bindings to some of the Frameworks.")
  2163. ;; dual licensed
  2164. (license (list license:gpl2+ license:lgpl2.1+))))
  2165. (define-public kded
  2166. (package
  2167. (name "kded")
  2168. (version "5.55.0")
  2169. (source (origin
  2170. (method url-fetch)
  2171. (uri (string-append
  2172. "mirror://kde/stable/frameworks/"
  2173. (version-major+minor version) "/"
  2174. name "-" version ".tar.xz"))
  2175. (sha256
  2176. (base32
  2177. "0kn9kzzji257mppd12jzwiibha8127ajxvng2ls765lylv9nad7q"))))
  2178. (build-system cmake-build-system)
  2179. (native-inputs
  2180. `(("extra-cmake-modules" ,extra-cmake-modules)))
  2181. (inputs
  2182. `(("kconfig" ,kconfig)
  2183. ("kcoreaddons" ,kcoreaddons)
  2184. ("kcrash" ,kcrash)
  2185. ("kdbusaddons" ,kdbusaddons)
  2186. ("kdoctools" ,kdoctools)
  2187. ("kinit" ,kinit)
  2188. ("kservice" ,kservice)
  2189. ("qtbase" ,qtbase)))
  2190. (home-page "https://community.kde.org/Frameworks")
  2191. (synopsis "Central daemon of KDE work spaces")
  2192. (description "KDED stands for KDE Daemon. KDED runs in the background and
  2193. performs a number of small tasks. Some of these tasks are built in, others are
  2194. started on demand.")
  2195. ;; dual licensed
  2196. (license (list license:lgpl2.0+ license:lgpl2.1+))))
  2197. (define-public kdesignerplugin
  2198. (package
  2199. (name "kdesignerplugin")
  2200. (version "5.55.0")
  2201. (source (origin
  2202. (method url-fetch)
  2203. (uri (string-append
  2204. "mirror://kde/stable/frameworks/"
  2205. (version-major+minor version) "/"
  2206. name "-" version ".tar.xz"))
  2207. (sha256
  2208. (base32
  2209. "114035wil0p5z6h0li8wjzivsdxhqbih54kn4nvhn43b71xnzs3y"))))
  2210. (build-system cmake-build-system)
  2211. (native-inputs
  2212. `(("extra-cmake-modules" ,extra-cmake-modules)
  2213. ("qttools" ,qttools)))
  2214. (inputs
  2215. `(("kconfig" ,kconfig)
  2216. ("kcoreaddons" ,kcoreaddons)
  2217. ("kdoctools" ,kdoctools)
  2218. ("qtbase" ,qtbase)
  2219. ;; optional:
  2220. ("kcompletion" ,kcompletion)
  2221. ("kconfigwidgets" ,kconfigwidgets)
  2222. ("kiconthemes" ,kiconthemes)
  2223. ("kitemviews" ,kitemviews)
  2224. ("kio" ,kio)
  2225. ("kplotting" ,kplotting)
  2226. ("ktextwidgets" ,ktextwidgets)
  2227. ("kdewebkit" ,kdewebkit)
  2228. ("kwidgetsaddons" ,kwidgetsaddons)
  2229. ("kxmlgui" ,kxmlgui)
  2230. ("qtwebkit" ,qtwebkit)
  2231. ("sonnet" ,sonnet)))
  2232. (arguments
  2233. `(#:phases
  2234. (modify-phases %standard-phases
  2235. (add-before 'check 'check-setup
  2236. (lambda _
  2237. ;; make Qt render "offscreen", required for tests
  2238. (setenv "QT_QPA_PLATFORM" "offscreen")
  2239. #t)))))
  2240. (home-page "https://community.kde.org/Frameworks")
  2241. (synopsis "Integrating KDE frameworks widgets with Qt Designer")
  2242. (description "This framework provides plugins for Qt Designer that allow it
  2243. to display the widgets provided by various KDE frameworks, as well as a utility
  2244. (kgendesignerplugin) that can be used to generate other such plugins from
  2245. ini-style description files.")
  2246. (license license:lgpl2.1+)))
  2247. (define-public kdesu
  2248. (package
  2249. (name "kdesu")
  2250. (version "5.55.0")
  2251. (source (origin
  2252. (method url-fetch)
  2253. (uri (string-append
  2254. "mirror://kde/stable/frameworks/"
  2255. (version-major+minor version) "/"
  2256. name "-" version ".tar.xz"))
  2257. (sha256
  2258. (base32
  2259. "1x2gjnmgpcaxvfav2pm92zfgxbn60awpvmn9ycs68rq47p6h9x0f"))))
  2260. (build-system cmake-build-system)
  2261. (propagated-inputs
  2262. `(("kpty" ,kpty)))
  2263. (native-inputs
  2264. `(("extra-cmake-modules" ,extra-cmake-modules)))
  2265. (inputs
  2266. `(("kconfig" ,kconfig)
  2267. ("kcoreaddons" ,kcoreaddons)
  2268. ("ki18n" ,ki18n)
  2269. ("kservice" ,kservice)
  2270. ("qtbase" ,qtbase)))
  2271. (home-page "https://community.kde.org/Frameworks")
  2272. (synopsis "User interface for running shell commands with root privileges")
  2273. (description "KDESU provides functionality for building GUI front ends for
  2274. (password asking) console mode programs. kdesu and kdessh use it to interface
  2275. with su and ssh respectively.")
  2276. (license license:lgpl2.1+)))
  2277. (define-public kdewebkit
  2278. (package
  2279. (name "kdewebkit")
  2280. (version "5.55.0")
  2281. (source (origin
  2282. (method url-fetch)
  2283. (uri (string-append
  2284. "mirror://kde/stable/frameworks/"
  2285. (version-major+minor version) "/"
  2286. name "-" version ".tar.xz"))
  2287. (sha256
  2288. (base32
  2289. "1mnbdsiih94hlwwff9fs9gnzl3y7ayf1pskmz1rajgjmqd6rm7mm"))))
  2290. (build-system cmake-build-system)
  2291. (native-inputs
  2292. `(("extra-cmake-modules" ,extra-cmake-modules)))
  2293. (inputs
  2294. `(("kconfig" ,kconfig)
  2295. ("kcoreaddons" ,kcoreaddons)
  2296. ("kio" ,kio)
  2297. ("kjobwidgets" ,kjobwidgets)
  2298. ("kparts" ,kparts)
  2299. ("kservice" ,kservice)
  2300. ("kwallet" ,kwallet)
  2301. ("qtbase" ,qtbase)
  2302. ("qtwebkit" ,qtwebkit)))
  2303. (home-page "https://community.kde.org/Frameworks")
  2304. (synopsis "KDE Integration for QtWebKit")
  2305. (description "This library provides KDE integration of the HTML rendering
  2306. engine WebKit via QtWebKit.")
  2307. (license license:lgpl2.1+)))
  2308. (define-public kemoticons
  2309. (package
  2310. (name "kemoticons")
  2311. (version "5.55.0")
  2312. (source (origin
  2313. (method url-fetch)
  2314. (uri (string-append
  2315. "mirror://kde/stable/frameworks/"
  2316. (version-major+minor version) "/"
  2317. name "-" version ".tar.xz"))
  2318. (sha256
  2319. (base32
  2320. "03vx22f9mjd10qm61f6ihr283w2sarrhg0rssxp7g7wahvshcvmh"))))
  2321. (build-system cmake-build-system)
  2322. (propagated-inputs
  2323. `(("kservice" ,kservice)))
  2324. (native-inputs
  2325. `(("extra-cmake-modules" ,extra-cmake-modules)))
  2326. (inputs
  2327. `(("karchive" ,karchive)
  2328. ("kconfig" ,kconfig)
  2329. ("kcoreaddons" ,kcoreaddons)
  2330. ("qtbase" ,qtbase)))
  2331. (arguments
  2332. `(#:phases
  2333. (modify-phases %standard-phases
  2334. (add-before 'check 'check-setup
  2335. (lambda _
  2336. (setenv "HOME" (getcwd))
  2337. ;; make Qt render "offscreen", required for tests
  2338. (setenv "QT_QPA_PLATFORM" "offscreen")
  2339. #t)))))
  2340. (home-page "https://community.kde.org/Frameworks")
  2341. (synopsis "Convert text emoticons to graphical emoticons")
  2342. (description "KEmoticons converts emoticons from text to a graphical
  2343. representation with images in HTML. It supports setting different themes for
  2344. emoticons coming from different providers.")
  2345. ;; dual licensed, image files are licensed under cc-by-sa4.0
  2346. (license (list license:gpl2+ license:lgpl2.1+ license:cc-by-sa4.0))))
  2347. (define-public kglobalaccel
  2348. (package
  2349. (name "kglobalaccel")
  2350. (version "5.55.0")
  2351. (source (origin
  2352. (method url-fetch)
  2353. (uri (string-append
  2354. "mirror://kde/stable/frameworks/"
  2355. (version-major+minor version) "/"
  2356. name "-" version ".tar.xz"))
  2357. (sha256
  2358. (base32
  2359. "1c6dxp6jvbw8l74n1mv0v62yr34b9447szhvd61y4sxmmfjimhz4"))))
  2360. (build-system cmake-build-system)
  2361. (native-inputs
  2362. `(("extra-cmake-modules" ,extra-cmake-modules)
  2363. ("pkg-config" ,pkg-config)
  2364. ("qttools" ,qttools)))
  2365. (inputs
  2366. `(("kconfig" ,kconfig)
  2367. ("kcrash" ,kcrash)
  2368. ("kcoreaddons" ,kcoreaddons)
  2369. ("kdbusaddons" ,kdbusaddons)
  2370. ("kservice" ,kservice)
  2371. ("kwindowsystem" ,kwindowsystem)
  2372. ("libxcb" ,libxcb)
  2373. ("qtbase" ,qtbase)
  2374. ("qtx11extras" ,qtx11extras)
  2375. ("xcb-util-keysyms" ,xcb-util-keysyms)))
  2376. (arguments
  2377. `(#:phases
  2378. (modify-phases %standard-phases
  2379. (add-before 'check 'check-setup
  2380. (lambda _
  2381. ;; make Qt render "offscreen", required for tests
  2382. (setenv "QT_QPA_PLATFORM" "offscreen")
  2383. #t)))))
  2384. (home-page "https://community.kde.org/Frameworks")
  2385. (synopsis "Global desktop keyboard shortcuts")
  2386. (description "KGlobalAccel allows you to have global accelerators that are
  2387. independent of the focused window. Unlike regular shortcuts, the application's
  2388. window does not need focus for them to be activated.")
  2389. (license license:lgpl2.1+)))
  2390. (define-public kiconthemes
  2391. (package
  2392. (name "kiconthemes")
  2393. (version "5.55.0")
  2394. (source (origin
  2395. (method url-fetch)
  2396. (uri (string-append
  2397. "mirror://kde/stable/frameworks/"
  2398. (version-major+minor version) "/"
  2399. name "-" version ".tar.xz"))
  2400. (sha256
  2401. (base32
  2402. "1rgbfklb7xxg7z2zyrsmaxf883ixgfbkqilps3npwk3xac2f66rw"))))
  2403. (build-system cmake-build-system)
  2404. (native-inputs
  2405. `(("extra-cmake-modules" ,extra-cmake-modules)
  2406. ("shared-mime-info" ,shared-mime-info)))
  2407. (inputs
  2408. `(("karchive" ,karchive)
  2409. ("kauth" ,kauth)
  2410. ("kcodecs" ,kcodecs)
  2411. ("kcoreaddons" ,kcoreaddons)
  2412. ("kconfig" ,kconfig)
  2413. ("kconfigwidgets" ,kconfigwidgets)
  2414. ("ki18n" ,ki18n)
  2415. ("kitemviews" ,kitemviews)
  2416. ("kwidgetsaddons" ,kwidgetsaddons)
  2417. ("qtbase" ,qtbase)
  2418. ("qtsvg" ,qtsvg)))
  2419. (arguments
  2420. `(#:phases
  2421. (modify-phases %standard-phases
  2422. (add-before 'check 'check-setup
  2423. (lambda* (#:key inputs #:allow-other-keys)
  2424. (setenv "XDG_DATA_DIRS"
  2425. (string-append (assoc-ref inputs "shared-mime-info")
  2426. "/share"))
  2427. (setenv "HOME" (getcwd))
  2428. ;; make Qt render "offscreen", required for tests
  2429. (setenv "QT_QPA_PLATFORM" "offscreen")
  2430. #t)))))
  2431. (home-page "https://community.kde.org/Frameworks")
  2432. (synopsis "Icon GUI utilities")
  2433. (description "This library contains classes to improve the handling of icons
  2434. in applications using the KDE Frameworks.")
  2435. (license license:lgpl2.1+)))
  2436. (define-public kinit
  2437. (package
  2438. (name "kinit")
  2439. (version "5.55.0")
  2440. (source (origin
  2441. (method url-fetch)
  2442. (uri (string-append
  2443. "mirror://kde/stable/frameworks/"
  2444. (version-major+minor version) "/"
  2445. name "-" version ".tar.xz"))
  2446. (sha256
  2447. (base32
  2448. "11xwiny5sfqbdls249vnq6ssp5pzw1w9wg4ql9nkwwygl4ml8b9y"))
  2449. ;; Use the store paths for other packages and dynamically loaded
  2450. ;; libs
  2451. (patches (search-patches "kinit-kdeinit-extra_libs.patch"
  2452. "kinit-kdeinit-libpath.patch"))))
  2453. (build-system cmake-build-system)
  2454. (arguments
  2455. `(#:phases
  2456. (modify-phases %standard-phases
  2457. (add-after 'unpack 'patch-paths
  2458. (lambda* (#:key inputs outputs #:allow-other-keys)
  2459. ;; Set patched-in values:
  2460. (substitute* "src/kdeinit/kinit.cpp"
  2461. (("GUIX_PKGS_KF5_KIO") (assoc-ref inputs "kio"))
  2462. (("GUIX_PKGS_KF5_PARTS") (assoc-ref inputs "kparts"))
  2463. (("GUIX_PKGS_KF5_PLASMA") (assoc-ref inputs "plasma-framework")))
  2464. #t)))))
  2465. (native-search-paths
  2466. (list (search-path-specification
  2467. (variable "KDEINIT5_LIBRARY_PATH")
  2468. (files '("lib/")))))
  2469. (native-inputs
  2470. `(("extra-cmake-modules" ,extra-cmake-modules)
  2471. ("pkg-config" ,pkg-config)))
  2472. (inputs
  2473. `(("kauth" ,kauth)
  2474. ("kbookmarks" ,kbookmarks)
  2475. ("kcodecs" ,kcodecs)
  2476. ("kcompletion" ,kcompletion)
  2477. ("kconfig" ,kconfig)
  2478. ("kconfigwidgets" ,kconfigwidgets)
  2479. ("kcoreaddons" ,kcoreaddons)
  2480. ("kcrash" ,kcrash)
  2481. ("kdoctools" ,kdoctools)
  2482. ("kio" ,kio)
  2483. ("kitemviews" ,kitemviews)
  2484. ("ki18n" ,ki18n)
  2485. ("kjobwidgets" ,kjobwidgets)
  2486. ("kparts" ,kparts)
  2487. ("kservice" ,kservice)
  2488. ("kwidgetsaddons" ,kwidgetsaddons)
  2489. ("kwindowsystem" ,kwindowsystem)
  2490. ("kxmlgui" ,kxmlgui)
  2491. ("libcap" ,libcap) ; to install start_kdeinit with CAP_SYS_RESOURCE
  2492. ("plasma-framework" ,plasma-framework)
  2493. ("qtbase" ,qtbase)
  2494. ("solid" ,solid)))
  2495. (home-page "https://community.kde.org/Frameworks")
  2496. (synopsis "Library to speed up start of applications on KDE workspaces")
  2497. (description "Kdeinit is a process launcher similar to init used for booting
  2498. UNIX. It launches processes by forking and then loading a dynamic library which
  2499. contains a 'kdemain(...)' function. Using kdeinit to launch KDE applications
  2500. makes starting KDE applications faster and reduces memory consumption.")
  2501. ;; dual licensed
  2502. (license (list license:lgpl2.0+ license:lgpl2.1+))))
  2503. (define-public kio
  2504. (package
  2505. (name "kio")
  2506. (version "5.55.0")
  2507. (source (origin
  2508. (method url-fetch)
  2509. (uri (string-append
  2510. "mirror://kde/stable/frameworks/"
  2511. (version-major+minor version) "/"
  2512. name "-" version ".tar.xz"))
  2513. (sha256
  2514. (base32
  2515. "1k3cn7hvp5z9nirss29v164hahrlvlqivxlk64c8w9ynjx699ira"))
  2516. (patches (search-patches "kio-search-smbd-on-PATH.patch"))))
  2517. (build-system cmake-build-system)
  2518. (propagated-inputs
  2519. `(("kbookmarks" ,kbookmarks)
  2520. ("kconfig" ,kconfig)
  2521. ("kcompletion" ,kcompletion)
  2522. ("kcoreaddons" ,kcoreaddons)
  2523. ("kitemviews" ,kitemviews)
  2524. ("kjobwidgets" ,kjobwidgets)
  2525. ("kservice" ,kservice)
  2526. ("kxmlgui" ,kxmlgui)
  2527. ("solid" ,solid)))
  2528. (native-inputs
  2529. `(("dbus" ,dbus)
  2530. ("extra-cmake-modules" ,extra-cmake-modules)))
  2531. (inputs
  2532. `(;; TODO: LibACL , <ftp://oss.sgi.com/projects/xfs/cmd_tars>
  2533. ("krb5" ,mit-krb5)
  2534. ("karchive" ,karchive)
  2535. ("kauth" ,kauth)
  2536. ("kcodecs" ,kcodecs)
  2537. ("kconfigwidgets" ,kconfigwidgets)
  2538. ("kcrash" ,kcrash)
  2539. ("kdbusaddons" ,kdbusaddons)
  2540. ("kdoctools" ,kdoctools)
  2541. ("kiconthemes" ,kiconthemes)
  2542. ("ki18n" ,ki18n)
  2543. ("knotifications" ,knotifications)
  2544. ("ktextwidgets" ,ktextwidgets)
  2545. ("kwallet" ,kwallet)
  2546. ("kwidgetsaddons" ,kwidgetsaddons)
  2547. ("kwindowsystem" ,kwindowsystem)
  2548. ("libxml2" ,libxml2)
  2549. ("libxslt" ,libxslt)
  2550. ("qtbase" ,qtbase)
  2551. ("qtscript" ,qtscript)
  2552. ("qtx11extras" ,qtx11extras)
  2553. ("sonnet" ,sonnet)))
  2554. (arguments
  2555. `(#:tests? #f ; FIXME: 41/50 tests fail.
  2556. #:phases
  2557. (modify-phases %standard-phases
  2558. (add-after 'unpack 'patch
  2559. (lambda _
  2560. ;; Better error message (taken from NixOS)
  2561. (substitute* "src/kiod/kiod_main.cpp"
  2562. (("(^\\s*qCWarning(KIOD_CATEGORY) << \"Error loading plugin:\")( << loader.errorString();)" _ a b)
  2563. (string-append a "<< name" b)))
  2564. #t))
  2565. (add-before 'check 'check-setup
  2566. (lambda _
  2567. (setenv "HOME" (getcwd))
  2568. (setenv "XDG_RUNTIME_DIR" (getcwd))
  2569. ;; make Qt render "offscreen", required for tests
  2570. (setenv "QT_QPA_PLATFORM" "offscreen")
  2571. #t))
  2572. (add-after 'install 'add-symlinks
  2573. ;; Some package(s) (e.g. bluedevil) refer to these service types by
  2574. ;; the wrong name. I would prefer to patch those packages, but I
  2575. ;; cannot find the files!
  2576. (lambda* (#:key outputs #:allow-other-keys)
  2577. (let ((kst5 (string-append (assoc-ref outputs "out")
  2578. "/share/kservicetypes5/")))
  2579. (symlink (string-append kst5 "kfileitemactionplugin.desktop")
  2580. (string-append kst5 "kfileitemaction-plugin.desktop"))))))))
  2581. ;;(replace 'check
  2582. ;; (lambda _
  2583. ;; (setenv "DBUS_FATAL_WARNINGS" "0")
  2584. ;; (zero? (system* "dbus-launch" "ctest" ".")))))))
  2585. (home-page "https://community.kde.org/Frameworks")
  2586. (synopsis "Network transparent access to files and data")
  2587. (description "This framework implements a lot of file management functions.
  2588. It supports accessing files locally as well as via HTTP and FTP out of the box
  2589. and can be extended by plugins to support other protocols as well. There is a
  2590. variety of plugins available, e.g. to support access via SSH. The framework can
  2591. also be used to bridge a native protocol to a file-based interface. This makes
  2592. the data accessible in all applications using the KDE file dialog or any other
  2593. KIO enabled infrastructure.")
  2594. (license license:lgpl2.1+)))
  2595. (define-public knewstuff
  2596. (package
  2597. (name "knewstuff")
  2598. (version "5.55.0")
  2599. (source (origin
  2600. (method url-fetch)
  2601. (uri (string-append
  2602. "mirror://kde/stable/frameworks/"
  2603. (version-major+minor version) "/"
  2604. name "-" version ".tar.xz"))
  2605. (sha256
  2606. (base32
  2607. "0a2d9wrhjsjl0klsrn501sp9681v7qmq6hmalw061arjv165dzw2"))))
  2608. (build-system cmake-build-system)
  2609. (propagated-inputs
  2610. `(("attica" ,attica)
  2611. ("kservice" ,kservice)
  2612. ("kxmlgui" ,kxmlgui)))
  2613. (native-inputs
  2614. `(("extra-cmake-modules" ,extra-cmake-modules)))
  2615. (inputs
  2616. `(("karchive" ,karchive)
  2617. ("kauth" ,kauth)
  2618. ("kbookmarks" ,kbookmarks)
  2619. ("kcodecs" ,kcodecs)
  2620. ("kcompletion" ,kcompletion)
  2621. ("kconfig" ,kconfig)
  2622. ("kconfigwidgets" ,kconfigwidgets)
  2623. ("kcoreaddons" ,kcoreaddons)
  2624. ("kio" ,kio)
  2625. ("kitemviews" ,kitemviews)
  2626. ("ki18n" ,ki18n)
  2627. ("kiconthemes" ,kiconthemes)
  2628. ("kjobwidgets" ,kjobwidgets)
  2629. ("ktextwidgets" ,ktextwidgets)
  2630. ("kwidgetsaddons" ,kwidgetsaddons)
  2631. ("qtbase" ,qtbase)
  2632. ("qtdeclarative" ,qtdeclarative)
  2633. ("solid" ,solid)
  2634. ("sonnet" ,sonnet)))
  2635. (arguments
  2636. `(#:phases
  2637. (modify-phases %standard-phases
  2638. (add-before 'check 'check-setup
  2639. (lambda _ ; XDG_DATA_DIRS isn't set
  2640. (setenv "HOME" (getcwd))
  2641. ;; make Qt render "offscreen", required for tests
  2642. (setenv "QT_QPA_PLATFORM" "offscreen")
  2643. #t)))))
  2644. (home-page "https://community.kde.org/Frameworks")
  2645. (synopsis "Framework for downloading and sharing additional application data")
  2646. (description "The KNewStuff library implements collaborative data sharing
  2647. for applications. It uses libattica to support the Open Collaboration Services
  2648. specification.")
  2649. (license license:lgpl2.1+)))
  2650. (define-public knotifyconfig
  2651. (package
  2652. (name "knotifyconfig")
  2653. (version "5.55.0")
  2654. (source (origin
  2655. (method url-fetch)
  2656. (uri (string-append
  2657. "mirror://kde/stable/frameworks/"
  2658. (version-major+minor version) "/"
  2659. name "-" version ".tar.xz"))
  2660. (sha256
  2661. (base32
  2662. "01hxj6s2sq5k5j6j1y4c5gxyl1886j7ghh0hdc95b7n4gdjwwbci"))))
  2663. (build-system cmake-build-system)
  2664. (native-inputs
  2665. `(("extra-cmake-modules" ,extra-cmake-modules)))
  2666. (inputs
  2667. `(("kauth" ,kauth)
  2668. ("kbookmarks" ,kbookmarks)
  2669. ("kcodecs" ,kcodecs)
  2670. ("kcompletion" ,kcompletion)
  2671. ("kconfig" ,kconfig)
  2672. ("kconfigwidgets" ,kconfigwidgets)
  2673. ("kcoreaddons" ,kcoreaddons)
  2674. ("kio" ,kio)
  2675. ("kitemviews" ,kitemviews)
  2676. ("ki18n" ,ki18n)
  2677. ("kjobwidgets" ,kjobwidgets)
  2678. ("knotifications" ,knotifications)
  2679. ("kservice" ,kservice)
  2680. ("kwidgetsaddons" ,kwidgetsaddons)
  2681. ("kxmlgui" ,kxmlgui)
  2682. ("phonon" ,phonon)
  2683. ("qtbase" ,qtbase)
  2684. ("solid" ,solid)))
  2685. (home-page "https://community.kde.org/Frameworks")
  2686. (synopsis "Configuration dialog for desktop notifications")
  2687. (description "KNotifyConfig provides a configuration dialog for desktop
  2688. notifications which can be embedded in your application.")
  2689. ;; dual licensed
  2690. (license (list license:lgpl2.0+ license:lgpl2.1+))))
  2691. (define-public kparts
  2692. (package
  2693. (name "kparts")
  2694. (version "5.55.0")
  2695. (source (origin
  2696. (method url-fetch)
  2697. (uri (string-append
  2698. "mirror://kde/stable/frameworks/"
  2699. (version-major+minor version) "/"
  2700. name "-" version ".tar.xz"))
  2701. (sha256
  2702. (base32
  2703. "0gqkgnvkdai8hbg1n32jq4a3yzlkarmw8a7hxlfr0ykgysanjh65"))))
  2704. (build-system cmake-build-system)
  2705. (propagated-inputs
  2706. `(("kio" ,kio)
  2707. ("ktextwidgets" ,ktextwidgets)
  2708. ("kxmlgui" ,kxmlgui)))
  2709. (native-inputs
  2710. `(("extra-cmake-modules" ,extra-cmake-modules)
  2711. ("shared-mime-info" ,shared-mime-info)))
  2712. (inputs
  2713. `(("kauth" ,kauth)
  2714. ("kbookmarks" ,kbookmarks)
  2715. ("kcodecs" ,kcodecs)
  2716. ("kcompletion" ,kcompletion)
  2717. ("kconfig" ,kconfig)
  2718. ("kconfigwidgets" ,kconfigwidgets)
  2719. ("kcoreaddons" ,kcoreaddons)
  2720. ("kiconthemes" ,kiconthemes)
  2721. ("kitemviews" ,kitemviews)
  2722. ("ki18n" ,ki18n)
  2723. ("kjobwidgets" ,kjobwidgets)
  2724. ("kservice" ,kservice)
  2725. ("kwidgetsaddons" ,kwidgetsaddons)
  2726. ("qtbase" ,qtbase)
  2727. ("solid" ,solid)
  2728. ("sonnet" ,sonnet)))
  2729. (arguments
  2730. `(#:phases
  2731. (modify-phases %standard-phases
  2732. (add-before 'check 'check-setup
  2733. (lambda _
  2734. ;; make Qt render "offscreen", required for tests
  2735. (setenv "QT_QPA_PLATFORM" "offscreen")
  2736. #t)))))
  2737. (home-page "https://community.kde.org/Frameworks")
  2738. (synopsis "Plugin framework for user interface components")
  2739. (description "This library implements the framework for KDE parts, which are
  2740. widgets with a user-interface defined in terms of actions.")
  2741. (license license:lgpl2.1+)))
  2742. (define-public kpeople
  2743. (package
  2744. (name "kpeople")
  2745. (version "5.55.0")
  2746. (source (origin
  2747. (method url-fetch)
  2748. (uri (string-append
  2749. "mirror://kde/stable/frameworks/"
  2750. (version-major+minor version) "/"
  2751. name "-" version ".tar.xz"))
  2752. (sha256
  2753. (base32
  2754. "0vbgi4l14g4f0klbxqbkjcag6yi0ghhpxn5nik5sssmcx8qyk885"))))
  2755. (build-system cmake-build-system)
  2756. (native-inputs
  2757. `(("extra-cmake-modules" ,extra-cmake-modules)))
  2758. (inputs
  2759. `(("kconfig" ,kconfig)
  2760. ("kcoreaddons" ,kcoreaddons)
  2761. ("kitemviews" ,kitemviews)
  2762. ("ki18n" ,ki18n)
  2763. ("kservice" ,kservice)
  2764. ("kwidgetsaddons" ,kwidgetsaddons)
  2765. ("qtbase" ,qtbase)
  2766. ("qtdeclarative" ,qtdeclarative)))
  2767. (arguments
  2768. `(#:tests? #f ; FIXME: 1/3 tests fail.
  2769. #:phases
  2770. (modify-phases %standard-phases
  2771. (add-before 'check 'check-setup
  2772. (lambda _
  2773. ;; make Qt render "offscreen", required for tests
  2774. (setenv "QT_QPA_PLATFORM" "offscreen")
  2775. #t)))))
  2776. (home-page "https://community.kde.org/Frameworks")
  2777. (synopsis "Provides access to all contacts and aggregates them by person")
  2778. (description "KPeople offers unified access to our contacts from different
  2779. sources, grouping them by person while still exposing all the data. KPeople
  2780. also provides facilities to integrate the data provided in user interfaces by
  2781. providing QML and Qt Widgets components. The sources are plugin-based, allowing
  2782. to easily extend the contacts collection.")
  2783. (license license:lgpl2.1+)))
  2784. (define-public krunner
  2785. (package
  2786. (name "krunner")
  2787. (version "5.55.0")
  2788. (source (origin
  2789. (method url-fetch)
  2790. (uri (string-append
  2791. "mirror://kde/stable/frameworks/"
  2792. (version-major+minor version) "/"
  2793. name "-" version ".tar.xz"))
  2794. (sha256
  2795. (base32
  2796. "0yw2jh9dailhcwkkjl2qggg5k90bwbfsn88a3hzwyj2ng2haypis"))))
  2797. (build-system cmake-build-system)
  2798. (propagated-inputs
  2799. `(("plasma-framework" ,plasma-framework)))
  2800. (native-inputs
  2801. `(("extra-cmake-modules" ,extra-cmake-modules)))
  2802. (inputs
  2803. `(("kauth" ,kauth)
  2804. ("kbookmarks" ,kbookmarks)
  2805. ("kcodecs" ,kcodecs)
  2806. ("kcompletion" ,kcompletion)
  2807. ("kconfig" ,kconfig)
  2808. ("kconfigwidgets" ,kconfigwidgets)
  2809. ("kcoreaddons" ,kcoreaddons)
  2810. ("kio" ,kio)
  2811. ("kitemviews" ,kitemviews)
  2812. ("ki18n" ,ki18n)
  2813. ("kjobwidgets" ,kjobwidgets)
  2814. ("kpackage" ,kpackage)
  2815. ("kservice" ,kservice)
  2816. ("kwidgetsaddons" ,kwidgetsaddons)
  2817. ("kwindowsystem" ,kwindowsystem)
  2818. ("kxmlgui" ,kxmlgui)
  2819. ("qtbase" ,qtbase)
  2820. ("qtdeclarative" ,qtdeclarative)
  2821. ("solid" ,solid)
  2822. ("threadweaver" ,threadweaver)))
  2823. (arguments
  2824. `(#:phases
  2825. (modify-phases %standard-phases
  2826. (add-after 'unpack 'fix-paths-for-test
  2827. ;; This test tries to access paths like /home, /usr/bin and /bin/ls
  2828. ;; which don't exist in the build-container. Change to existing paths.
  2829. (lambda _
  2830. (substitute* "autotests/runnercontexttest.cpp"
  2831. (("/home\"") "/tmp\"") ;; single path-part
  2832. (("//usr/bin\"") (string-append (getcwd) "\"")) ;; multiple path-parts
  2833. (("/bin/ls" path)
  2834. (string-append (assoc-ref %build-inputs "coreutils") path)))))
  2835. (add-before 'check 'check-setup
  2836. (lambda _
  2837. (setenv "HOME" (getcwd))
  2838. ;; make Qt render "offscreen", required for tests
  2839. (setenv "QT_QPA_PLATFORM" "offscreen")
  2840. ;; Blacklist some failing test-functions. FIXME: Make them pass.
  2841. (with-output-to-file "bin/BLACKLIST"
  2842. (lambda _
  2843. (display "[testMatch]\n*\n")
  2844. (display "[testMulti]\n*\n")))
  2845. #t)))))
  2846. (home-page "https://community.kde.org/Frameworks")
  2847. (synopsis "Framework for Plasma runners")
  2848. (description "The Plasma workspace provides an application called KRunner
  2849. which, among other things, allows one to type into a text area which causes
  2850. various actions and information that match the text appear as the text is being
  2851. typed.")
  2852. (license license:lgpl2.1+)))
  2853. (define-public kservice
  2854. (package
  2855. (name "kservice")
  2856. (version "5.55.0")
  2857. (source (origin
  2858. (method url-fetch)
  2859. (uri (string-append
  2860. "mirror://kde/stable/frameworks/"
  2861. (version-major+minor version) "/"
  2862. name "-" version ".tar.xz"))
  2863. (sha256
  2864. (base32
  2865. "0k8xksmw2ai7m0js7l98rv5v6ykifmnqiyy2yc1xhgn40lf1r89j"))))
  2866. (build-system cmake-build-system)
  2867. (propagated-inputs
  2868. `(("kconfig" ,kconfig)
  2869. ("kcoreaddons" ,kcoreaddons)))
  2870. (native-inputs
  2871. `(("bison" ,bison)
  2872. ("extra-cmake-modules" ,extra-cmake-modules)
  2873. ("flex" ,flex)))
  2874. (inputs
  2875. `(("kcrash" ,kcrash)
  2876. ("kdbusaddons" ,kdbusaddons)
  2877. ("kdoctools" ,kdoctools)
  2878. ("ki18n" ,ki18n)
  2879. ("qtbase" ,qtbase)))
  2880. (arguments
  2881. `(#:tests? #f ; FIXME: 6/10 tests fail.
  2882. #:phases
  2883. (modify-phases %standard-phases
  2884. (add-after 'unpack 'patch
  2885. ;; Adopted from NixOS' patches "qdiriterator-follow-symlinks" and
  2886. ;; "no-canonicalize-path".
  2887. (lambda _
  2888. (substitute* "src/sycoca/kbuildsycoca.cpp"
  2889. ;; make QDirIterator follow symlinks
  2890. (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
  2891. (string-append a " | QDirIterator::FollowSymlinks" b)))
  2892. (substitute* "src/sycoca/vfolder_menu.cpp"
  2893. ;; Normalize path, but don't resolve symlinks (taken from
  2894. ;; NixOS)
  2895. (("^\\s*QString resolved = QDir\\(dir\\)\\.canonicalPath\\(\\);")
  2896. "QString resolved = QDir::cleanPath(dir);"))
  2897. #t))
  2898. (add-before 'check 'check-setup
  2899. (lambda _
  2900. (setenv "HOME" (getcwd))
  2901. ;; make Qt render "offscreen", required for tests
  2902. (setenv "QT_QPA_PLATFORM" "offscreen")
  2903. #t)))))
  2904. (home-page "https://community.kde.org/Frameworks")
  2905. (synopsis "Plugin framework for desktop services")
  2906. (description "KService provides a plugin framework for handling desktop
  2907. services. Services can be applications or libraries. They can be bound to MIME
  2908. types or handled by application specific code.")
  2909. ;; triple licensed
  2910. (license (list license:gpl2+ license:gpl3+ license:lgpl2.1+))))
  2911. (define-public ktexteditor
  2912. (package
  2913. (name "ktexteditor")
  2914. (version "5.55.0")
  2915. (source (origin
  2916. (method url-fetch)
  2917. (uri (string-append
  2918. "mirror://kde/stable/frameworks/"
  2919. (version-major+minor version) "/"
  2920. "ktexteditor-" version ".tar.xz"))
  2921. (sha256
  2922. (base32
  2923. "0b5zqhm5aw7jj7dj600xa674ik11gwyzamhyz5962xhvsg5pyjwx"))))
  2924. (build-system cmake-build-system)
  2925. (propagated-inputs
  2926. `(("kparts" ,kparts)))
  2927. (native-inputs
  2928. `(("extra-cmake-modules" ,extra-cmake-modules)
  2929. ("pkg-config" ,pkg-config)))
  2930. (inputs
  2931. `(;; TODO: editor-config
  2932. ("karchive" ,karchive)
  2933. ("kauth" ,kauth)
  2934. ("kbookmarks" ,kbookmarks)
  2935. ("kcodecs" ,kcodecs)
  2936. ("kcompletion" ,kcompletion)
  2937. ("kconfig" ,kconfig)
  2938. ("kconfigwidgets" ,kconfigwidgets)
  2939. ("kcoreaddons" ,kcoreaddons)
  2940. ("kguiaddons" ,kguiaddons)
  2941. ("kiconthemes" ,kiconthemes)
  2942. ("kio" ,kio)
  2943. ("kitemviews" ,kitemviews)
  2944. ("ki18n" ,ki18n)
  2945. ("kjobwidgets" ,kjobwidgets)
  2946. ("kservice" ,kservice)
  2947. ("ksyntaxhighlighting" ,ksyntaxhighlighting)
  2948. ("ktextwidgets" ,ktextwidgets)
  2949. ("kwidgetsaddons" ,kwidgetsaddons)
  2950. ("kxmlgui" ,kxmlgui)
  2951. ("libgit2" ,libgit2)
  2952. ("perl" ,perl)
  2953. ("qtbase" ,qtbase)
  2954. ("qtdeclarative" ,qtdeclarative)
  2955. ("qtscript" ,qtscript)
  2956. ("qtxmlpatterns" ,qtxmlpatterns)
  2957. ("solid" ,solid)
  2958. ("sonnet" ,sonnet)))
  2959. (arguments
  2960. `(#:tests? #f ; FIXME: 2/54 tests fail: Cannot find fontdirectory qtbase/lib/font
  2961. #:phases
  2962. (modify-phases %standard-phases
  2963. (add-after 'unpack 'setup
  2964. (lambda* (#:key inputs #:allow-other-keys)
  2965. (setenv "XDG_DATA_DIRS" ; FIXME build phase doesn't find parts.desktop
  2966. (string-append (assoc-ref inputs "kparts") "/share"))
  2967. #t))
  2968. (add-before 'check 'check-setup
  2969. (lambda _
  2970. (setenv "HOME" (getcwd))
  2971. ;; make Qt render "offscreen", required for tests
  2972. (setenv "QT_QPA_PLATFORM" "offscreen")
  2973. #t))
  2974. (add-after 'install 'add-symlinks
  2975. ;; Some package(s) (e.g. plasma-sdk) refer to these service types
  2976. ;; by the wrong name. I would prefer to patch those packages, but
  2977. ;; I cannot find the files!
  2978. (lambda* (#:key outputs #:allow-other-keys)
  2979. (let ((kst5 (string-append (assoc-ref outputs "out")
  2980. "/share/kservicetypes5/")))
  2981. (symlink (string-append kst5 "ktexteditorplugin.desktop")
  2982. (string-append kst5 "ktexteditor-plugin.desktop"))
  2983. #t))))))
  2984. (home-page "https://community.kde.org/Frameworks")
  2985. (synopsis "Full text editor component")
  2986. (description "KTextEditor provides a powerful text editor component that you
  2987. can embed in your application, either as a KPart or using the KF5::TextEditor
  2988. library.")
  2989. ;; triple licensed
  2990. (license (list license:gpl2+ license:lgpl2.0+ license:lgpl2.1+))))
  2991. (define-public ktextwidgets
  2992. (package
  2993. (name "ktextwidgets")
  2994. (version "5.55.0")
  2995. (source (origin
  2996. (method url-fetch)
  2997. (uri (string-append
  2998. "mirror://kde/stable/frameworks/"
  2999. (version-major+minor version) "/"
  3000. name "-" version ".tar.xz"))
  3001. (sha256
  3002. (base32
  3003. "1ymqmb5z4flzrns3wdjagxbzbpighbincwbhy29a0mqg4zcm82xk"))))
  3004. (build-system cmake-build-system)
  3005. (propagated-inputs
  3006. `(("ki18n" ,ki18n)
  3007. ("sonnet" ,sonnet)))
  3008. (native-inputs
  3009. `(("extra-cmake-modules" ,extra-cmake-modules)))
  3010. (inputs
  3011. `(("kauth" ,kauth)
  3012. ("kcodecs" ,kcodecs)
  3013. ("kcompletion" ,kcompletion)
  3014. ("kconfig" ,kconfig)
  3015. ("kconfigwidgets" ,kconfigwidgets)
  3016. ("kcoreaddons" ,kcoreaddons)
  3017. ("kiconthemes" ,kiconthemes)
  3018. ("kservice" ,kservice)
  3019. ("kwidgetsaddons" ,kwidgetsaddons)
  3020. ("kwindowsystem" ,kwindowsystem)
  3021. ("qtbase" ,qtbase)
  3022. ("qtspeech" ,qtspeech)))
  3023. (arguments
  3024. `(#:phases
  3025. (modify-phases %standard-phases
  3026. (add-before 'check 'check-setup
  3027. (lambda _
  3028. ;; make Qt render "offscreen", required for tests
  3029. (setenv "QT_QPA_PLATFORM" "offscreen")
  3030. #t)))))
  3031. (home-page "https://community.kde.org/Frameworks")
  3032. (synopsis "Text editing widgets")
  3033. (description "KTextWidgets provides widgets for displaying and editing text.
  3034. It supports rich text as well as plain text.")
  3035. ;; dual licensed
  3036. (license (list license:lgpl2.0+ license:lgpl2.1+))))
  3037. (define-public kwallet
  3038. (package
  3039. (name "kwallet")
  3040. (version "5.55.0")
  3041. (source (origin
  3042. (method url-fetch)
  3043. (uri (string-append
  3044. "mirror://kde/stable/frameworks/"
  3045. (version-major+minor version) "/"
  3046. name "-" version ".tar.xz"))
  3047. (sha256
  3048. (base32
  3049. "1dp072h5r6yd81i69759pj8klfsikrg25za44sry2kh6fxvwmngm"))))
  3050. (build-system cmake-build-system)
  3051. (native-inputs
  3052. `(("extra-cmake-modules" ,extra-cmake-modules)))
  3053. (inputs
  3054. `(("gpgme" ,gpgme)
  3055. ("kauth" ,kauth)
  3056. ("kcodecs" ,kcodecs)
  3057. ("kconfig" ,kconfig)
  3058. ("kconfigwidgets" ,kconfigwidgets)
  3059. ("kcoreaddons" ,kcoreaddons)
  3060. ("kdbusaddons" ,kdbusaddons)
  3061. ("kdoctools" ,kdoctools)
  3062. ("kiconthemes" ,kiconthemes)
  3063. ("ki18n" ,ki18n)
  3064. ("knotifications" ,knotifications)
  3065. ("kservice" ,kservice)
  3066. ("kwidgetsaddons" ,kwidgetsaddons)
  3067. ("kwindowsystem" ,kwindowsystem)
  3068. ("libgcrypt" ,libgcrypt)
  3069. ("phonon" ,phonon)
  3070. ("qgpgme" ,qgpgme)
  3071. ("qtbase" ,qtbase)))
  3072. (home-page "https://community.kde.org/Frameworks")
  3073. (synopsis "Safe desktop-wide storage for passwords")
  3074. (description "This framework contains an interface to KWallet, a safe
  3075. desktop-wide storage for passwords and the kwalletd daemon used to safely store
  3076. the passwords on KDE work spaces.")
  3077. (license license:lgpl2.1+)))
  3078. (define-public kxmlgui
  3079. (package
  3080. (name "kxmlgui")
  3081. (version "5.55.0")
  3082. (source (origin
  3083. (method url-fetch)
  3084. (uri (string-append
  3085. "mirror://kde/stable/frameworks/"
  3086. (version-major+minor version) "/"
  3087. name "-" version ".tar.xz"))
  3088. (sha256
  3089. (base32
  3090. "0ph67zarf1sccvp7882brrihv4dsmxq0nggan0rnk54qg0zdhgcn"))))
  3091. (build-system cmake-build-system)
  3092. (propagated-inputs
  3093. `(("kconfig" ,kconfig)
  3094. ("kconfigwidgets" ,kconfigwidgets)))
  3095. (native-inputs
  3096. `(("extra-cmake-modules" ,extra-cmake-modules)))
  3097. (inputs
  3098. `(("attica" ,attica)
  3099. ("kauth" ,kauth)
  3100. ("kcodecs" ,kcodecs)
  3101. ("kcoreaddons" ,kcoreaddons)
  3102. ("kglobalaccel" ,kglobalaccel)
  3103. ("kiconthemes" ,kiconthemes)
  3104. ("kitemviews" ,kitemviews)
  3105. ("ki18n" ,ki18n)
  3106. ("ktextwidgets" ,ktextwidgets)
  3107. ("kwidgetsaddons" ,kwidgetsaddons)
  3108. ("kwindowsystem" ,kwindowsystem)
  3109. ("qtbase" ,qtbase)
  3110. ("sonnet" ,sonnet)))
  3111. (arguments
  3112. `(#:tests? #f ; FIXME: 1/5 tests fail.
  3113. #:phases
  3114. (modify-phases %standard-phases
  3115. (add-before 'check 'check-setup
  3116. (lambda _
  3117. (setenv "HOME" (getcwd))
  3118. ;; make Qt render "offscreen", required for tests
  3119. (setenv "QT_QPA_PLATFORM" "offscreen")
  3120. #t)))))
  3121. (home-page "https://community.kde.org/Frameworks")
  3122. (synopsis "Framework for managing menu and toolbar actions")
  3123. (description "KXMLGUI provides a framework for managing menu and toolbar
  3124. actions in an abstract way. The actions are configured through a XML description
  3125. and hooks in the application code. The framework supports merging of multiple
  3126. descriptions for integrating actions from plugins.")
  3127. ;; dual licensed
  3128. (license (list license:gpl2+ license:lgpl2.1+))))
  3129. (define-public kxmlrpcclient
  3130. (package
  3131. (name "kxmlrpcclient")
  3132. (version "5.55.0")
  3133. (source (origin
  3134. (method url-fetch)
  3135. (uri (string-append
  3136. "mirror://kde/stable/frameworks/"
  3137. (version-major+minor version) "/"
  3138. name "-" version ".tar.xz"))
  3139. (sha256
  3140. (base32
  3141. "1573wnv2fbjjzgx3f1qm7y8wlj22bz45mny0rxci90i76nnh4538"))))
  3142. (build-system cmake-build-system)
  3143. (propagated-inputs
  3144. `(("kio" ,kio)))
  3145. (native-inputs
  3146. `(("extra-cmake-modules" ,extra-cmake-modules)))
  3147. (inputs
  3148. `(("kauth" ,kauth)
  3149. ("kbookmarks" ,kbookmarks)
  3150. ("kcodecs" ,kcodecs)
  3151. ("kcompletion" ,kcompletion)
  3152. ("kconfig" ,kconfig)
  3153. ("kconfigwidgets" ,kconfigwidgets)
  3154. ("kcoreaddons" ,kcoreaddons)
  3155. ("kitemviews" ,kitemviews)
  3156. ("ki18n" ,ki18n)
  3157. ("kjobwidgets" ,kjobwidgets)
  3158. ("kservice" ,kservice)
  3159. ("kwidgetsaddons" ,kwidgetsaddons)
  3160. ("kxmlgui" ,kxmlgui)
  3161. ("qtbase" ,qtbase)
  3162. ("solid" ,solid)))
  3163. (home-page "https://community.kde.org/Frameworks")
  3164. (synopsis "XML-RPC client")
  3165. (description "This library contains simple XML-RPC Client support. It is a
  3166. complete client and is easy to use. Only one interface is exposed,
  3167. kxmlrpcclient/client.h and from that interface, you only need to use 3 methods:
  3168. setUrl, setUserAgent and call.")
  3169. ;; dual licensed
  3170. (license (list license:bsd-2 license:lgpl2.1+))))
  3171. (define-public plasma-framework
  3172. (package
  3173. (name "plasma-framework")
  3174. (version "5.55.0")
  3175. (source (origin
  3176. (method url-fetch)
  3177. (uri (string-append
  3178. "mirror://kde/stable/frameworks/"
  3179. (version-major+minor version) "/"
  3180. name "-" version ".tar.xz"))
  3181. (sha256
  3182. (base32
  3183. "1pvxxw52s03i11p5byd2sh8sbvlk6h8q6briq9d4qvjy6c0pmbq4"))))
  3184. (build-system cmake-build-system)
  3185. (propagated-inputs
  3186. `(("kpackage" ,kpackage)
  3187. ("kservice" ,kservice)))
  3188. (native-inputs
  3189. `(("extra-cmake-modules" ,extra-cmake-modules)
  3190. ("pkg-config" ,pkg-config)))
  3191. (inputs
  3192. `(("kactivities" ,kactivities)
  3193. ("karchive" ,karchive)
  3194. ("kauth" ,kauth)
  3195. ("kbookmarks" ,kbookmarks)
  3196. ("kcodecs" ,kcodecs)
  3197. ("kcompletion" ,kcompletion)
  3198. ("kconfig" ,kconfig)
  3199. ("kconfigwidgets" ,kconfigwidgets)
  3200. ("kcoreaddons" ,kcoreaddons)
  3201. ("kdbusaddons" ,kdbusaddons)
  3202. ("kdeclarative" ,kdeclarative)
  3203. ("kdoctools" ,kdoctools)
  3204. ("kglobalaccel" ,kglobalaccel)
  3205. ("kguiaddons" ,kguiaddons)
  3206. ("kiconthemes" ,kiconthemes)
  3207. ("kirigami" ,kirigami)
  3208. ("kitemviews" ,kitemviews)
  3209. ("kio" ,kio)
  3210. ("ki18n" ,ki18n)
  3211. ("kjobwidgets" ,kjobwidgets)
  3212. ("knotificantions" ,knotifications)
  3213. ("kwayland" ,kwayland)
  3214. ("kwidgetsaddons" ,kwidgetsaddons)
  3215. ("kwindowsystem" ,kwindowsystem)
  3216. ("kxmlgui" ,kxmlgui)
  3217. ("phonon" ,phonon)
  3218. ("qtbase" ,qtbase)
  3219. ("qtdeclarative" ,qtdeclarative)
  3220. ("qtquickcontrols2" ,qtquickcontrols2)
  3221. ("qtsvg" ,qtsvg)
  3222. ("qtx11extras" ,qtx11extras)
  3223. ("solid" ,solid)))
  3224. (arguments
  3225. `(#:tests? #f ; FIXME: 9/15 tests fail.
  3226. #:phases
  3227. (modify-phases %standard-phases
  3228. (add-before 'check 'check-setup
  3229. (lambda _
  3230. (setenv "HOME" (getcwd))
  3231. ;; make Qt render "offscreen", required for tests
  3232. (setenv "QT_QPA_PLATFORM" "offscreen")
  3233. #t)))))
  3234. (home-page "https://community.kde.org/Frameworks")
  3235. (synopsis "Libraries, components and tools of Plasma workspaces")
  3236. (description "The plasma framework provides QML components, libplasma and
  3237. script engines.")
  3238. ;; dual licensed
  3239. (license (list license:gpl2+ license:lgpl2.1+))))
  3240. ;; This version of kdbusaddons does not use kinit as an input, and is used to
  3241. ;; build kinit-bootstrap, as well as bootstrap versions of all kinit
  3242. ;; dependencies which also rely on kdbusaddons.
  3243. (define kdbusaddons-bootstrap
  3244. (package
  3245. (inherit kdbusaddons)
  3246. (source (origin
  3247. (inherit (package-source kdbusaddons))
  3248. (patches '())))
  3249. (inputs (alist-delete "kinit" (package-inputs kdbusaddons)))
  3250. (arguments
  3251. (substitute-keyword-arguments (package-arguments kdbusaddons)
  3252. ((#:phases phases)
  3253. `(modify-phases ,phases
  3254. (delete 'patch-source)))))))
  3255. (define kinit-bootstrap
  3256. ((package-input-rewriting `((,kdbusaddons . ,kdbusaddons-bootstrap))) kinit))
  3257. ;; Tier 4
  3258. ;;
  3259. ;; Tier 4 frameworks can be mostly ignored by application programmers; this
  3260. ;; tier consists of plugins acting behind the scenes to provide additional
  3261. ;; functionality or platform integration to existing frameworks (including
  3262. ;; Qt).
  3263. (define-public kde-frameworkintegration
  3264. (package
  3265. (name "kde-frameworkintegration")
  3266. (version "5.55.0")
  3267. (source (origin
  3268. (method url-fetch)
  3269. (uri (string-append
  3270. "mirror://kde/stable/frameworks/"
  3271. (version-major+minor version) "/"
  3272. "frameworkintegration-" version ".tar.xz"))
  3273. (sha256
  3274. (base32
  3275. "0pfpk268x06pjwciv4jr5v259kjck0sf4xzsgn29ifkmsk74wwmi"))))
  3276. (build-system cmake-build-system)
  3277. (native-inputs
  3278. `(("extra-cmake-modules" ,extra-cmake-modules)
  3279. ("pkg-config" ,pkg-config)))
  3280. ;; TODO: Optional packages not yet in Guix: packagekitqt5, AppStreamQt
  3281. (inputs
  3282. `(("kconfig" ,kconfig)
  3283. ("kconfigwidgets" ,kconfigwidgets)
  3284. ("kcoreaddons" ,kcoreaddons)
  3285. ("ki18n" ,ki18n)
  3286. ("kiconthemes" ,kiconthemes)
  3287. ("kitemviews" ,kitemviews)
  3288. ("knewstuff" ,knewstuff)
  3289. ("knotificantions" ,knotifications)
  3290. ("kpackage" ,kpackage)
  3291. ("kwidgetsaddons" ,kwidgetsaddons)
  3292. ("qtbase" ,qtbase)
  3293. ("qtx11extras" ,qtx11extras)))
  3294. (arguments
  3295. `(#:phases
  3296. (modify-phases %standard-phases
  3297. (add-before 'check 'check-setup
  3298. (lambda _
  3299. (setenv "HOME" (getcwd))
  3300. ;; Make Qt render "offscreen", required for tests
  3301. (setenv "QT_QPA_PLATFORM" "offscreen")
  3302. #t)))))
  3303. (home-page "https://community.kde.org/Frameworks")
  3304. (synopsis "KDE Frameworks 5 workspace and cross-framework integration plugins")
  3305. (description "Framework Integration is a set of plugins responsible for
  3306. better integration of Qt applications when running on a KDE Plasma
  3307. workspace.")
  3308. ;; This package is distributed under either LGPL2 or LGPL3, but some
  3309. ;; files are explicitly LGPL2+.
  3310. (license (list license:lgpl2.0 license:lgpl3 license:lgpl2.0+))
  3311. (properties `((upstream-name . "frameworkintegration")))))
  3312. ;; Porting Aids
  3313. ;;
  3314. ;; Porting Aids frameworks provide code and utilities to ease the transition
  3315. ;; from kdelibs 4 to KDE Frameworks 5. Code should aim to port away from this
  3316. ;; framework, new projects should avoid using these libraries.
  3317. (define-public kdelibs4support
  3318. (package
  3319. (name "kdelibs4support")
  3320. (version "5.55.0")
  3321. (source
  3322. (origin
  3323. (method url-fetch)
  3324. (uri (string-append
  3325. "mirror://kde/stable/frameworks/"
  3326. (version-major+minor version) "/portingAids/"
  3327. name "-" version ".tar.xz"))
  3328. (sha256
  3329. (base32 "1l1gjv06yp9jdiapiypwscbb6y0rfgrnw9rdsl7kkxh9ps8b8j39"))))
  3330. (build-system cmake-build-system)
  3331. (native-inputs
  3332. `(("dbus" ,dbus)
  3333. ("docbook-xml" ,docbook-xml-4.4) ; optional
  3334. ("extra-cmake-modules" ,extra-cmake-modules)
  3335. ("perl" ,perl)
  3336. ("perl-uri" ,perl-uri)
  3337. ("pkg-config" ,pkg-config)
  3338. ("shared-mime-info" ,shared-mime-info)
  3339. ("kjobwidgets" ,kjobwidgets) ;; required for running the tests
  3340. ("strace" ,strace)
  3341. ("tzdata" ,tzdata)))
  3342. (propagated-inputs
  3343. ;; These are required to be installed along with this package, see
  3344. ;; lib64/cmake/KF5KDELibs4Support/KF5KDELibs4SupportConfig.cmake
  3345. `(("karchive" ,karchive)
  3346. ("kauth" ,kauth)
  3347. ("kconfigwidgets" ,kconfigwidgets)
  3348. ("kcoreaddons" ,kcoreaddons)
  3349. ("kcrash" ,kcrash)
  3350. ("kdbusaddons" ,kdbusaddons)
  3351. ("kdesignerplugin" ,kdesignerplugin)
  3352. ("kdoctools" ,kdoctools)
  3353. ("kemoticons" ,kemoticons)
  3354. ("kguiaddons" ,kguiaddons)
  3355. ("kiconthemes" ,kiconthemes)
  3356. ("kinit" ,kinit)
  3357. ("kitemmodels" ,kitemmodels)
  3358. ("knotifications" ,knotifications)
  3359. ("kparts" ,kparts)
  3360. ("ktextwidgets" ,ktextwidgets)
  3361. ("kunitconversion" ,kunitconversion)
  3362. ("kwindowsystem" ,kwindowsystem)
  3363. ("qtbase" ,qtbase)))
  3364. (inputs
  3365. `(("kcompletion" ,kcompletion)
  3366. ("kconfig" ,kconfig)
  3367. ("kded" ,kded)
  3368. ("kglobalaccel" ,kglobalaccel)
  3369. ("ki18n" ,ki18n)
  3370. ("kio" ,kio)
  3371. ("kservice" ,kservice)
  3372. ("kwidgetsaddons" ,kwidgetsaddons)
  3373. ("kxmlgui" ,kxmlgui)
  3374. ("libsm" ,libsm)
  3375. ("networkmanager-qt" ,networkmanager-qt)
  3376. ("openssl" ,openssl)
  3377. ("qtsvg" ,qtsvg)
  3378. ("qttools" ,qttools)
  3379. ("qtx11extras" ,qtx11extras)))
  3380. ;; FIXME: Use GuixSD ca-bundle.crt in etc/xdg/ksslcalist and
  3381. ;; share/kf5/kssl/ca-bundle.crt
  3382. ;; TODO: NixOS has nix-kde-include-dir.patch to change std-dir "include"
  3383. ;; into "@dev@/include/". Think about whether this is needed for us, too.
  3384. (arguments
  3385. `(#:phases
  3386. (modify-phases %standard-phases
  3387. (add-after 'unpack 'make-cmake-to-find-docbook
  3388. (lambda _
  3389. (substitute* "cmake/FindDocBookXML4.cmake"
  3390. (("^.*xml/docbook/schema/dtd.*$")
  3391. "xml/dtd/docbook\n"))
  3392. #t))
  3393. (delete 'check)
  3394. (add-after 'install 'check-post-install
  3395. (lambda* (#:key inputs tests? #:allow-other-keys)
  3396. (setenv "HOME" (getcwd))
  3397. (setenv "TZDIR" ; KDateTimeTestsome needs TZDIR
  3398. (string-append (assoc-ref inputs "tzdata")
  3399. "/share/zoneinfo"))
  3400. ;; Make Qt render "offscreen", required for tests
  3401. (setenv "QT_QPA_PLATFORM" "offscreen")
  3402. ;; enable debug output
  3403. (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug output
  3404. (setenv "DBUS_FATAL_WARNINGS" "0")
  3405. ;; Make kstandarddirstest pass (see https://bugs.kde.org/381098)
  3406. (mkdir-p ".kde-unit-test/xdg/config")
  3407. (with-output-to-file ".kde-unit-test/xdg/config/foorc"
  3408. (lambda () #t)) ;; simply touch the file
  3409. ;; Blacklist a test-function (failing at build.kde.org, too).
  3410. (with-output-to-file "autotests/BLACKLIST"
  3411. (lambda _
  3412. (display "[testSmb]\n*\n")))
  3413. ;; kuniqueapptest hangs. FIXME: Make this test pass.
  3414. (invoke "dbus-launch" "ctest" "."
  3415. "-E" "kstandarddirstest|kuniqueapptest"))))))
  3416. (home-page "https://community.kde.org/Frameworks")
  3417. (synopsis "KDE Frameworks 5 porting aid from KDELibs4")
  3418. (description "This framework provides code and utilities to ease the
  3419. transition from kdelibs 4 to KDE Frameworks 5. This includes CMake macros and
  3420. C++ classes whose functionality has been replaced by code in CMake, Qt and
  3421. other frameworks.
  3422. Code should aim to port away from this framework eventually. The API
  3423. documentation of the classes in this framework and the notes at
  3424. http://community.kde.org/Frameworks/Porting_Notes should help with this.")
  3425. ;; Most files are distributed under LGPL2+, but the package includes code
  3426. ;; under a variety of licenses.
  3427. (license (list license:lgpl2.1+ license:lgpl2.0 license:lgpl2.0+
  3428. license:gpl2 license:gpl2+
  3429. license:expat license:bsd-2 license:bsd-3
  3430. license:public-domain))))
  3431. (define-public khtml
  3432. (package
  3433. (name "khtml")
  3434. (version "5.55.0")
  3435. (source
  3436. (origin
  3437. (method url-fetch)
  3438. (uri (string-append
  3439. "mirror://kde/stable/frameworks/"
  3440. (version-major+minor version) "/portingAids/"
  3441. name "-" version ".tar.xz"))
  3442. (sha256
  3443. (base32 "0wh9z5xm0gaf1c2s7cq7763jfyv83d58x80nwsvb0ayd6y8id1bq"))))
  3444. (build-system cmake-build-system)
  3445. (native-inputs
  3446. `(("extra-cmake-modules" ,extra-cmake-modules)
  3447. ("perl" ,perl)))
  3448. (inputs
  3449. `(("giflib" ,giflib)
  3450. ("gperf" ,gperf)
  3451. ("karchive" ,karchive)
  3452. ("kcodecs" ,kcodecs)
  3453. ("kglobalaccel" ,kglobalaccel)
  3454. ("ki18n" ,ki18n)
  3455. ("kiconthemes" ,kiconthemes)
  3456. ("kio" ,kio)
  3457. ("kjs" ,kjs)
  3458. ("knotifications" ,knotifications)
  3459. ("kparts" ,kparts)
  3460. ("ktextwidgets" ,ktextwidgets)
  3461. ("kwallet" ,kwallet)
  3462. ("kwidgetsaddons" ,kwidgetsaddons)
  3463. ("kwindowsystem" ,kwindowsystem)
  3464. ("kxmlgui" ,kxmlgui)
  3465. ("libjpeg" ,libjpeg)
  3466. ("libpng" ,libpng)
  3467. ("openssl" ,openssl)
  3468. ("phonon" ,phonon)
  3469. ("qtbase" ,qtbase)
  3470. ("qtx11extras" ,qtx11extras)
  3471. ("sonnet" ,sonnet)))
  3472. (arguments
  3473. `(#:phases
  3474. (modify-phases %standard-phases
  3475. (add-before 'check 'check-setup
  3476. (lambda _
  3477. ;; Make Qt render "offscreen", required for tests
  3478. (setenv "QT_QPA_PLATFORM" "offscreen")
  3479. #t)))))
  3480. (home-page "https://community.kde.org/Frameworks")
  3481. (synopsis "KDE Frameworks 5 HTML widget and component")
  3482. (description "KHTML is a web rendering engine, based on the KParts
  3483. technology and using KJS for JavaScript support.")
  3484. ;; Most files are distributed under LGPL2+, but the package includes code
  3485. ;; under a variety of licenses.
  3486. (license (list license:lgpl2.0+ license:lgpl2.1+
  3487. license:gpl2 license:gpl3+
  3488. license:expat license:bsd-2 license:bsd-3))))
  3489. (define-public kjs
  3490. (package
  3491. (name "kjs")
  3492. (version "5.55.0")
  3493. (source
  3494. (origin
  3495. (method url-fetch)
  3496. (uri (string-append
  3497. "mirror://kde/stable/frameworks/"
  3498. (version-major+minor version) "/portingAids/"
  3499. name "-" version ".tar.xz"))
  3500. (sha256
  3501. (base32 "0c1wyxsgn70jvw7zcjjpw12w9sg9xxvyslgnqlnnyh8sx7rrp70c"))))
  3502. (build-system cmake-build-system)
  3503. (native-inputs
  3504. `(("extra-cmake-modules" ,extra-cmake-modules)
  3505. ("kdoctools" ,kdoctools)
  3506. ("perl" ,perl)
  3507. ("pkg-config" ,pkg-config)))
  3508. (inputs
  3509. `(("pcre" ,pcre)
  3510. ("qtbase" ,qtbase)))
  3511. (home-page "https://community.kde.org/Frameworks")
  3512. (synopsis "KDE Frameworks 5 support for Javascript scripting in Qt
  3513. applications")
  3514. (description "Add-on library to Qt which adds JavaScript scripting
  3515. support.")
  3516. ;; Most files are distributed under LGPL2+, but the package also includes
  3517. ;; code under a variety of licenses.
  3518. (license (list license:lgpl2.1+
  3519. license:bsd-2 license:bsd-3
  3520. (license:non-copyleft "file://src/kjs/dtoa.cpp")))))
  3521. (define-public kjsembed
  3522. (package
  3523. (name "kjsembed")
  3524. (version "5.55.0")
  3525. (source
  3526. (origin
  3527. (method url-fetch)
  3528. (uri (string-append
  3529. "mirror://kde/stable/frameworks/"
  3530. (version-major+minor version) "/portingAids/"
  3531. name "-" version ".tar.xz"))
  3532. (sha256
  3533. (base32 "0dh9012y9bqj48jp50lrsmd28bbvf4jd93l34vfzmza252yvyw3l"))))
  3534. (build-system cmake-build-system)
  3535. (native-inputs
  3536. `(("extra-cmake-modules" ,extra-cmake-modules)
  3537. ("kdoctools" ,kdoctools)
  3538. ("qttools" ,qttools)))
  3539. (inputs
  3540. `(("ki18n" ,ki18n)
  3541. ("kjs" ,kjs)
  3542. ("qtbase" ,qtbase)
  3543. ("qtsvg" ,qtsvg)))
  3544. (home-page "https://community.kde.org/Frameworks")
  3545. (synopsis "KDE Frameworks 5 embedded Javascript engine for Qt")
  3546. (description "KJSEmbed provides a method of binding Javascript objects to
  3547. QObjects, so you can script your applications.")
  3548. (license license:lgpl2.1+)))
  3549. (define-public kmediaplayer
  3550. (package
  3551. (name "kmediaplayer")
  3552. (version "5.55.0")
  3553. (source
  3554. (origin
  3555. (method url-fetch)
  3556. (uri (string-append
  3557. "mirror://kde/stable/frameworks/"
  3558. (version-major+minor version) "/portingAids/"
  3559. name "-" version ".tar.xz"))
  3560. (sha256
  3561. (base32 "0gpfrhgk2l63lyz0bz93cg7mc5g7mjvrkfvpyndmi1v7vhndp5zq"))))
  3562. (build-system cmake-build-system)
  3563. (native-inputs
  3564. `(("extra-cmake-modules" ,extra-cmake-modules)
  3565. ("kdoctools" ,kdoctools)
  3566. ("qttools" ,qttools)))
  3567. (inputs
  3568. `(("kcompletion" ,kcompletion)
  3569. ("kcoreaddons" ,kcoreaddons)
  3570. ("ki18n" ,ki18n)
  3571. ("kiconthemes" ,kiconthemes)
  3572. ("kio" ,kio)
  3573. ("kparts" ,kparts)
  3574. ("kwidgetsaddons" ,kwidgetsaddons)
  3575. ("kxmlgui" ,kxmlgui)
  3576. ("qtbase" ,qtbase)))
  3577. (arguments
  3578. `(#:phases
  3579. (modify-phases %standard-phases
  3580. (add-before 'check 'check-setup
  3581. (lambda _
  3582. ;; Make Qt render "offscreen", required for tests
  3583. (setenv "QT_QPA_PLATFORM" "offscreen")
  3584. #t)))))
  3585. (home-page "https://community.kde.org/Frameworks")
  3586. (synopsis "KDE Frameworks 5 plugin interface for media player features")
  3587. (description "KMediaPlayer builds on the KParts framework to provide a
  3588. common interface for KParts that can play media files.
  3589. This framework is a porting aid. It is not recommended for new projects, and
  3590. existing projects that use it are advised to port away from it, and use plain
  3591. KParts instead.")
  3592. (license license:expat)))
  3593. (define-public kross
  3594. (package
  3595. (name "kross")
  3596. (version "5.55.0")
  3597. (source
  3598. (origin
  3599. (method url-fetch)
  3600. (uri (string-append
  3601. "mirror://kde/stable/frameworks/"
  3602. (version-major+minor version) "/portingAids/"
  3603. name "-" version ".tar.xz"))
  3604. (sha256
  3605. (base32 "0p3q36gka6m62nryc3l11d30mlhiqjpghvfcyq6wikiqlv2kqvjs"))))
  3606. (build-system cmake-build-system)
  3607. (native-inputs
  3608. `(("extra-cmake-modules" ,extra-cmake-modules)
  3609. ("kdoctools" ,kdoctools)
  3610. ("qttools" ,qttools)))
  3611. (inputs
  3612. `(("kcompletion" ,kcompletion)
  3613. ("kcoreaddons" ,kcoreaddons)
  3614. ("ki18n" ,ki18n)
  3615. ("kiconthemes" ,kiconthemes)
  3616. ("kparts" ,kparts)
  3617. ("kwidgetsaddons" ,kwidgetsaddons)
  3618. ("kxmlgui" ,kxmlgui)
  3619. ("qtbase" ,qtbase)
  3620. ("qtscript" ,qtscript)))
  3621. (home-page "https://community.kde.org/Frameworks")
  3622. (synopsis "KDE Frameworks 5 solution for application scripting")
  3623. (description "Kross is a scripting bridge for the KDE Development Platform
  3624. used to embed scripting functionality into an application. It supports
  3625. QtScript as a scripting interpreter backend.
  3626. Kross provides an abstract API to provide scripting functionality in a
  3627. interpreter-independent way. The application that uses Kross should not need
  3628. to know anything about the scripting language being used. The core of Kross
  3629. provides the framework to deal transparently with interpreter-backends and
  3630. offers abstract functionality to deal with scripts.")
  3631. ;; Most files are distributed under LGPL2+, but the package includes code
  3632. ;; under a variety of licenses.
  3633. (license (list license:lgpl2.0+ license:lgpl2.1+
  3634. license:lgpl2.0 license:gpl3+))))