kde-frameworks.scm 149 KB

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