kde-frameworks.scm 148 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935
  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 kde-plasma)
  64. #:use-module (gnu packages libcanberra)
  65. #:use-module (gnu packages libreoffice)
  66. #:use-module (gnu packages linux)
  67. #:use-module (gnu packages mp3)
  68. #:use-module (gnu packages openbox)
  69. #:use-module (gnu packages pdf)
  70. #:use-module (gnu packages pcre)
  71. #:use-module (gnu packages perl)
  72. #:use-module (gnu packages pkg-config)
  73. #:use-module (gnu packages polkit)
  74. #:use-module (gnu packages pulseaudio)
  75. #:use-module (gnu packages python)
  76. #:use-module (gnu packages python-xyz)
  77. #:use-module (gnu packages qt)
  78. #:use-module (gnu packages textutils)
  79. #:use-module (gnu packages tls)
  80. #:use-module (gnu packages version-control)
  81. #:use-module (gnu packages video)
  82. #:use-module (gnu packages web)
  83. #:use-module (gnu packages xml)
  84. #:use-module (gnu packages xorg)
  85. #:use-module (srfi srfi-1))
  86. (define-public extra-cmake-modules
  87. (package
  88. (name "extra-cmake-modules")
  89. (version "5.86.0")
  90. (source (origin
  91. (method url-fetch)
  92. (uri (string-append
  93. "mirror://kde/stable/frameworks/"
  94. (version-major+minor version) "/"
  95. name "-" version ".tar.xz"))
  96. (sha256
  97. (base32
  98. "1dbazs15gyyc921vf0lqgjpnqikrqcc39qysw8sgx7krqp6mrk5a"))
  99. (patches ;; https://bugs.kde.org/show_bug.cgi?id=443532
  100. (search-patches "extra-cmake-modules-reproducible-tarballs.patch"))))
  101. (build-system cmake-build-system)
  102. (native-inputs
  103. ;; Add test dependencies, except on armhf where building it is too
  104. ;; expensive.
  105. (if (and (not (%current-target-system))
  106. (string=? (%current-system) "armhf-linux"))
  107. '()
  108. `(("qtbase" ,qtbase-5)
  109. ("qtdeclarative" ,qtdeclarative))))
  110. (arguments
  111. `(#:tests? ,(not (null? (package-native-inputs this-package)))
  112. #:phases
  113. (modify-phases %standard-phases
  114. (add-after 'unpack 'fix-lib-path
  115. (lambda _
  116. ;; Always install into /lib and not into /lib64.
  117. (substitute* "kde-modules/KDEInstallDirs.cmake"
  118. (("\"lib64\"") "\"lib\"")
  119. ;; TODO: Base the following on values taken from Qt
  120. ;; Install plugins into lib/qt5/plugins
  121. ;; TODO: Check if this is okay for Android, too
  122. ;; (see comment in KDEInstallDirs.cmake)
  123. (("_define_relative\\(QTPLUGINDIR \"\\$\\{_pluginsDirParent}\" \"plugins\"")
  124. "_define_relative(QTPLUGINDIR \"${_pluginsDirParent}\" \"qt5/plugins\"")
  125. ;; Install imports into lib/qt5/imports
  126. (("_define_relative\\(QTQUICKIMPORTSDIR QTPLUGINDIR \"imports\"")
  127. "_define_relative(QTQUICKIMPORTSDIR LIBDIR \"qt5/imports\"")
  128. ;; Install qml-files into lib/qt5/qml
  129. (("_define_relative\\(QMLDIR LIBDIR \"qml\"")
  130. "_define_relative(QMLDIR LIBDIR \"qt5/qml\""))
  131. (substitute* "modules/ECMGeneratePriFile.cmake"
  132. ;; Install pri-files into lib/qt5/mkspecs
  133. (("set\\(ECM_MKSPECS_INSTALL_DIR mkspecs/modules")
  134. "set(ECM_MKSPECS_INSTALL_DIR lib/qt5/mkspecs/modules"))
  135. #t))
  136. (replace 'check
  137. (lambda* (#:key tests? #:allow-other-keys)
  138. (when tests? ;; This test fails
  139. (invoke "ctest" "-E" "KDEFetchTranslations"))
  140. #t)))))
  141. (home-page "https://community.kde.org/Frameworks")
  142. (synopsis "CMake module files for common software used by KDE")
  143. (description "The Extra CMake Modules package, or ECM, adds to the
  144. modules provided by CMake to find common software. In addition, it provides
  145. common build settings used in software produced by the KDE community.")
  146. (license license:bsd-3)))
  147. (define-public phonon
  148. (package
  149. (name "phonon")
  150. (version "4.11.1")
  151. (source (origin
  152. (method url-fetch)
  153. (uri (string-append
  154. "mirror://kde/stable/phonon"
  155. "/" version "/"
  156. name "-" version ".tar.xz"))
  157. (sha256
  158. (base32
  159. "0bfy8iqmjhlg3ma3iqd3kxjc2zkzpjgashbpf5x17y0dc2i1whxl"))))
  160. (build-system cmake-build-system)
  161. (native-inputs
  162. ;; TODO: Think about adding pulseaudio. Is it required for sound?
  163. ;; TODO: Add building the super experimental QML support
  164. `(("extra-cmake-modules" ,extra-cmake-modules)
  165. ("pkg-config" ,pkg-config)
  166. ("qttools" ,qttools)))
  167. (inputs
  168. `(("qtbase" ,qtbase-5)))
  169. (arguments
  170. `(#:configure-flags
  171. '("-DCMAKE_CXX_FLAGS=-fPIC"
  172. "-DPHONON_BUILD_PHONON4QT5=ON")
  173. #:phases
  174. (modify-phases %standard-phases
  175. (add-before 'install 'patch-installdir
  176. (lambda* (#:key inputs outputs #:allow-other-keys)
  177. (let ((regex (string-append "(INSTALL DESTINATION \")"
  178. (assoc-ref inputs "qtbase"))))
  179. (substitute* "cmake_install.cmake"
  180. ((regex all dest)
  181. (string-append dest (assoc-ref outputs "out")))))
  182. #t)))))
  183. (home-page "https://community.kde.org/Phonon")
  184. (synopsis "KDE's multimedia library")
  185. (description "KDE's multimedia library.")
  186. (license license:lgpl2.1+)))
  187. (define-public phonon-backend-gstreamer
  188. (package
  189. (name "phonon-backend-gstreamer")
  190. (version "4.10.0")
  191. (source (origin
  192. (method url-fetch)
  193. (uri (string-append
  194. "mirror://kde/stable/phonon/"
  195. name "/" version "/"
  196. name "-" version ".tar.xz"))
  197. (sha256
  198. (base32
  199. "1wk1ip2w7fkh65zk6rilj314dna0hgsv2xhjmpr5w08xa8sii1y5"))))
  200. (build-system cmake-build-system)
  201. (native-inputs
  202. `(("extra-cmake-modules" ,extra-cmake-modules)
  203. ("pkg-config" ,pkg-config)
  204. ("qttools" ,qttools)))
  205. (inputs
  206. `(("qtbase" ,qtbase-5)
  207. ("phonon" ,phonon)
  208. ("qtbase" ,qtbase-5)
  209. ("qtx11extras" ,qtx11extras)
  210. ("gstreamer" ,gstreamer)
  211. ("gst-plugins-base" ,gst-plugins-base)
  212. ("libxml2" ,libxml2)))
  213. (arguments
  214. `(#:configure-flags
  215. '( "-DPHONON_BUILD_PHONON4QT5=ON")))
  216. (home-page "https://community.kde.org/Phonon")
  217. (synopsis "Phonon backend which uses GStreamer")
  218. (description "Phonon makes use of backend libraries to provide sound.
  219. Phonon-GStreamer is a backend based on the GStreamer multimedia library.")
  220. ;; license: source files mention "either version 2.1 or 3"
  221. (license (list license:lgpl2.1 license:lgpl3))))
  222. ;; Tier 1
  223. ;;
  224. ;; Tier 1 frameworks depend only on Qt (and possibly a small number of other
  225. ;; third-party libraries), so can easily be used by an Qt-based project.
  226. (define-public attica
  227. (package
  228. (name "attica")
  229. (version "5.86.0")
  230. (source (origin
  231. (method url-fetch)
  232. (uri (string-append
  233. "mirror://kde/stable/frameworks/"
  234. (version-major+minor version) "/"
  235. name "-" version ".tar.xz"))
  236. (sha256
  237. (base32
  238. "0zs61q7wigsqj2wy6hnl7d100f7n0va8cf6b7nk832sq8cvzwbwr"))))
  239. (build-system cmake-build-system)
  240. (arguments
  241. `(#:phases
  242. (modify-phases %standard-phases
  243. (add-after 'unpack 'disable-network-tests
  244. (lambda _
  245. ;; These tests require network access.
  246. (substitute* "autotests/CMakeLists.txt"
  247. ((".*providertest.cpp") "")))))))
  248. (native-inputs
  249. `(("extra-cmake-modules" ,extra-cmake-modules)))
  250. (inputs
  251. `(("qtbase" ,qtbase-5)))
  252. (home-page "https://community.kde.org/Frameworks")
  253. (synopsis "Open Collaboration Service client library")
  254. (description "Attica is a Qt library that implements the Open
  255. Collaboration Services API version 1.6.
  256. It grants easy access to the services such as querying information about
  257. persons and contents. The library is used in KNewStuff3 as content provider.
  258. In order to integrate with KDE's Plasma Desktop, a platform plugin exists in
  259. kdebase.
  260. The REST API is defined here:
  261. http://freedesktop.org/wiki/Specifications/open-collaboration-services/")
  262. (license (list license:lgpl2.1+ license:lgpl3+))))
  263. (define-public bluez-qt
  264. (package
  265. (name "bluez-qt")
  266. (version "5.86.0")
  267. (source (origin
  268. (method url-fetch)
  269. (uri (string-append
  270. "mirror://kde/stable/frameworks/"
  271. (version-major+minor version) "/"
  272. name "-" version ".tar.xz"))
  273. (sha256
  274. (base32
  275. "1zk1432mi3di25v3j2g1psxnxr3gqwa1bs5jx0cgn54hnbwdw3nl"))))
  276. (build-system cmake-build-system)
  277. (native-inputs
  278. `(("dbus" ,dbus)
  279. ("extra-cmake-modules" ,extra-cmake-modules)))
  280. (inputs
  281. ;; TODO: qtdeclarative (yields one failing test)
  282. `(("qtbase" ,qtbase-5)))
  283. (arguments
  284. `(#:configure-flags
  285. (list (string-append
  286. "-DUDEV_RULES_INSTALL_DIR=" %output "/lib/udev/rules.d"))
  287. #:phases
  288. (modify-phases %standard-phases
  289. (replace 'check
  290. (lambda* (#:key tests? #:allow-other-keys)
  291. (when tests?
  292. (setenv "DBUS_FATAL_WARNINGS" "0")
  293. (invoke "dbus-launch" "ctest")))))))
  294. (home-page "https://community.kde.org/Frameworks")
  295. (synopsis "QML wrapper for BlueZ")
  296. (description "bluez-qt is a Qt-style library for accessing the bluez
  297. Bluetooth stack. It is used by the KDE Bluetooth stack, BlueDevil.")
  298. (license (list license:lgpl2.1+ license:lgpl3+))))
  299. (define-public breeze-icons
  300. (package
  301. (name "breeze-icons")
  302. (version "5.86.0")
  303. (source (origin
  304. (method url-fetch)
  305. (uri (string-append
  306. "mirror://kde/stable/frameworks/"
  307. (version-major+minor version) "/"
  308. name "-" version ".tar.xz"))
  309. (sha256
  310. (base32
  311. "1dpf99szf0m92r1mxgb0sdzsb5x00braq2f0di51zdmkkp8b7xmw"))))
  312. (build-system cmake-build-system)
  313. (native-inputs
  314. `(("extra-cmake-modules" ,extra-cmake-modules)
  315. ("fdupes" ,fdupes)
  316. ("python-lxml" ,python-lxml)
  317. ("python" ,python)))
  318. (inputs
  319. `(("qtbase" ,qtbase-5)))
  320. (propagated-inputs
  321. ;; KDE apps will need qtsvg to make use of breeze which is SVG only.
  322. `(("qtsvg" ,qtsvg)))
  323. (home-page "https://community.kde.org/Frameworks")
  324. (synopsis "Default KDE Plasma 5 icon theme")
  325. (description "Breeze provides a freedesktop.org compatible icon theme.
  326. It is the default icon theme for the KDE Plasma 5 desktop.")
  327. ;; The license file mentions lgpl3+. The license files in the source
  328. ;; directories are lgpl3, while the top directory contains the lgpl2.1.
  329. ;; text.
  330. (license license:lgpl3+)))
  331. (define-public kapidox
  332. (package
  333. (name "kapidox")
  334. (version "5.86.0")
  335. (source (origin
  336. (method url-fetch)
  337. (uri (string-append
  338. "mirror://kde/stable/frameworks/"
  339. (version-major+minor version) "/"
  340. name "-" version ".tar.xz"))
  341. (sha256
  342. (base32
  343. "123j3vy1rqigwd6kpjvk7gsrfra7ghv4qcplxqxrld27a95p8l0s"))))
  344. (build-system cmake-build-system)
  345. (arguments
  346. `(#:tests? #f ; has no test target
  347. #:make-flags (list "DESTDIR=/"))) ;; Otherwise it doesn't install anything.
  348. (propagated-inputs
  349. ;; kapidox is a python programm
  350. ;; TODO: check if doxygen has to be installed, the readme does not
  351. ;; mention it. The openSuse .rpm lists doxygen, graphviz, graphviz-gd,
  352. ;; and python-xml.
  353. `(("python" ,python)
  354. ("python-jinja2" ,python-jinja2)
  355. ("python-pyyaml" ,python-pyyaml)))
  356. (inputs
  357. `(("qtbase" ,qtbase-5)))
  358. (home-page "https://community.kde.org/Frameworks")
  359. (synopsis "KDE Doxygen Tools")
  360. (description "This framework contains scripts and data for building API
  361. documentation (dox) in a standard format and style for KDE.
  362. For the actual documentation extraction and formatting the Doxygen tool is
  363. used, but this framework provides a wrapper script to make generating the
  364. documentation more convenient (including reading settings from the target
  365. framework or other module) and a standard template for the generated
  366. documentation.")
  367. ;; Most parts are bsd-2, but incuded jquery is expat
  368. ;; This list is taken from http://packaging.neon.kde.org/cgit/
  369. (license (list license:bsd-2 license:expat))))
  370. (define-public karchive
  371. (package
  372. (name "karchive")
  373. (version "5.86.0")
  374. (source (origin
  375. (method url-fetch)
  376. (uri (string-append
  377. "mirror://kde/stable/frameworks/"
  378. (version-major+minor version) "/"
  379. name "-" version ".tar.xz"))
  380. (sha256
  381. (base32
  382. "17bfc6sazckw6bhdz902b2lqnq0p13b60rybqclvifkif6hb1gqk"))))
  383. (build-system cmake-build-system)
  384. (native-inputs
  385. `(("extra-cmake-modules" ,extra-cmake-modules)
  386. ; ("pkg-config" ,pkg-config) ;; for zstd
  387. ))
  388. (inputs
  389. `(("bzip2" ,bzip2)
  390. ("qtbase" ,qtbase-5)
  391. ("xz" ,xz)
  392. ("zlib" ,zlib)
  393. ; ("zstd:lib" ,zstd "lib") ;; Tests fail with zstd
  394. ))
  395. (home-page "https://community.kde.org/Frameworks")
  396. (synopsis "Qt 5 addon providing access to numerous types of archives")
  397. (description "KArchive provides classes for easy reading, creation and
  398. manipulation of @code{archive} formats like ZIP and TAR.
  399. It also provides transparent compression and decompression of data, like the
  400. GZip format, via a subclass of QIODevice.")
  401. ;; The included licenses is are gpl2 and lgpl2.1, but the sources are
  402. ;; under a variety of licenses.
  403. ;; This list is taken from http://packaging.neon.kde.org/cgit/
  404. (license (list license:lgpl2.1 license:lgpl2.1+
  405. license:lgpl3+ license:bsd-2))))
  406. (define-public kcalendarcore
  407. (package
  408. (name "kcalendarcore")
  409. (version "5.86.0")
  410. (source (origin
  411. (method url-fetch)
  412. (uri (string-append
  413. "mirror://kde/stable/frameworks/"
  414. (version-major+minor version) "/"
  415. name "-" version ".tar.xz"))
  416. (sha256
  417. (base32
  418. "1d5j1ka158qy235rvn4q6463arg3fm4qdnwzigap2d0fcmxfsfcn"))))
  419. (build-system cmake-build-system)
  420. (native-inputs
  421. `(("extra-cmake-modules" ,extra-cmake-modules)
  422. ("perl" ,perl)
  423. ("tzdata" ,tzdata-for-tests)))
  424. (inputs
  425. `(("libical" ,libical)
  426. ("qtbase" ,qtbase-5)))
  427. (arguments
  428. `(#:phases
  429. (modify-phases %standard-phases
  430. (add-before 'check 'check-setup
  431. (lambda* (#:key inputs #:allow-other-keys)
  432. (setenv "QT_QPA_PLATFORM" "offscreen")
  433. (setenv "TZ" "Europe/Prague")
  434. (setenv "TZDIR"
  435. (search-input-directory inputs
  436. "share/zoneinfo")))))))
  437. (home-page "https://community.kde.org/Frameworks")
  438. (synopsis "Library for interfacing with calendars")
  439. (description "This library provides access to and handling of calendar
  440. data. It supports the standard formats iCalendar and vCalendar and the group
  441. scheduling standard iTIP.
  442. A calendar contains information like incidences (events, to-dos, journals),
  443. alarms, time zones, and other useful information. This API provides access to
  444. that calendar information via well known calendar formats iCalendar (or iCal)
  445. and the older vCalendar.")
  446. (license (list license:lgpl3+ license:bsd-2))))
  447. (define-public kcodecs
  448. (package
  449. (name "kcodecs")
  450. (version "5.86.0")
  451. (source (origin
  452. (method url-fetch)
  453. (uri (string-append
  454. "mirror://kde/stable/frameworks/"
  455. (version-major+minor version) "/"
  456. name "-" version ".tar.xz"))
  457. (sha256
  458. (base32
  459. "0crbnik03d98vywr31np6flzhhwv66qgrdmc7faklavkk5bwp5i0"))))
  460. (build-system cmake-build-system)
  461. (native-inputs
  462. `(("extra-cmake-modules" ,extra-cmake-modules)
  463. ("gperf" ,gperf)
  464. ("qttools" ,qttools)))
  465. (inputs
  466. `(("qtbase" ,qtbase-5)))
  467. (home-page "https://community.kde.org/Frameworks")
  468. (synopsis "String encoding and manipulating library")
  469. (description "KCodecs provide a collection of methods to manipulate
  470. strings using various encodings.
  471. It can automatically determine the charset of a string, translate XML
  472. entities, validate email addresses, and find encodings by name in a more
  473. tolerant way than QTextCodec (useful e.g. for data coming from the
  474. Internet).")
  475. ;; The included licenses is are gpl2 and lgpl2.1, but the sources are
  476. ;; under a variety of licenses.
  477. ;; This list is taken from http://packaging.neon.kde.org/cgit/
  478. (license (list license:gpl2 license:gpl2+ license:bsd-2
  479. license:lgpl2.1 license:lgpl2.1+ license:expat
  480. license:lgpl3+ license:mpl1.1))))
  481. (define-public kconfig
  482. (package
  483. (name "kconfig")
  484. (version "5.86.0")
  485. (source (origin
  486. (method url-fetch)
  487. (uri (string-append
  488. "mirror://kde/stable/frameworks/"
  489. (version-major+minor version) "/"
  490. name "-" version ".tar.xz"))
  491. (sha256
  492. (base32
  493. "05q4wqhxspja8a4j0gik62bp2lmyxv0cpbd188q16q97zgbb6xy1"))))
  494. (build-system cmake-build-system)
  495. (native-inputs
  496. `(("extra-cmake-modules" ,extra-cmake-modules)
  497. ("qttools" ,qttools)))
  498. (inputs
  499. `(("qtbase" ,qtbase-5)))
  500. (arguments
  501. `(#:phases
  502. (modify-phases %standard-phases
  503. (replace 'check
  504. (lambda* (#:key tests? #:allow-other-keys)
  505. (when tests? ;; kconfigcore-kconfigtest fails inconsistently!!
  506. (setenv "HOME" (getcwd))
  507. (setenv "QT_QPA_PLATFORM" "offscreen")
  508. (invoke "ctest" "-E" "kconfigcore-kconfigtest"))
  509. #t)))))
  510. (home-page "https://community.kde.org/Frameworks")
  511. (synopsis "Kconfiguration settings framework for Qt")
  512. (description "KConfig provides an advanced configuration system.
  513. It is made of two parts: KConfigCore and KConfigGui.
  514. KConfigCore provides access to the configuration files themselves.
  515. It features:
  516. @enumerate
  517. @item Code generation: describe your configuration in an XML file, and use
  518. `kconfig_compiler to generate classes that read and write configuration
  519. entries.
  520. @item Cascading configuration files (global settings overridden by local
  521. settings).
  522. @item Optional shell expansion support (see docs/options.md).
  523. @item The ability to lock down configuration options (see docs/options.md).
  524. @end enumerate
  525. KConfigGui provides a way to hook widgets to the configuration so that they
  526. are automatically initialized from the configuration and automatically
  527. propagate their changes to their respective configuration files.")
  528. ;; The included licenses is are gpl2 and lgpl2.1, but the sources are
  529. ;; under a variety of licenses.
  530. ;; This list is taken from http://packaging.neon.kde.org/cgit/
  531. (license (list license:lgpl2.1 license:lgpl2.1+ license:expat
  532. license:lgpl3+ license:gpl1 ; licende:mit-olif
  533. license:bsd-2 license:bsd-3))))
  534. (define-public kcoreaddons
  535. (package
  536. (name "kcoreaddons")
  537. (version "5.86.0")
  538. (source (origin
  539. (method url-fetch)
  540. (uri (string-append
  541. "mirror://kde/stable/frameworks/"
  542. (version-major+minor version) "/"
  543. name "-" version ".tar.xz"))
  544. (sha256
  545. (base32
  546. "1ncwf8kqrypmipp43a011rnhlw3qsb98x8nm98rm6v6gl2z3wgy6"))))
  547. (build-system cmake-build-system)
  548. (native-inputs
  549. `(("extra-cmake-modules" ,extra-cmake-modules)
  550. ("qttools" ,qttools)
  551. ("shared-mime-info" ,shared-mime-info)
  552. ;; TODO: FAM: File alteration notification http://oss.sgi.com/projects/fam
  553. ))
  554. (inputs
  555. `(("qtbase" ,qtbase-5)))
  556. (arguments
  557. `(#:phases
  558. (modify-phases %standard-phases
  559. (replace 'check
  560. (lambda* (#:key tests? #:allow-other-keys)
  561. (setenv "HOME" (getcwd))
  562. (setenv "TMPDIR" (getcwd))
  563. (when tests? ;; kdirwatch test fails inconsistently. kprocesstest fails.
  564. (invoke "ctest" "-E" "(kdirwatch_qfswatch_unittest|kprocesstest)"))
  565. #t)))))
  566. (home-page "https://community.kde.org/Frameworks")
  567. (synopsis "Qt addon library with a collection of non-GUI utilities")
  568. (description "KCoreAddons provides classes built on top of QtCore to
  569. perform various tasks such as manipulating mime types, autosaving files,
  570. creating backup files, generating random sequences, performing text
  571. manipulations such as macro replacement, accessing user information and
  572. many more.")
  573. (license (list license:lgpl2.0+ license:lgpl2.1+))))
  574. (define-public kdbusaddons
  575. (package
  576. (name "kdbusaddons")
  577. (version "5.86.0")
  578. (source (origin
  579. (method url-fetch)
  580. (uri (string-append
  581. "mirror://kde/stable/frameworks/"
  582. (version-major+minor version) "/"
  583. name "-" version ".tar.xz"))
  584. (sha256
  585. (base32
  586. "0l50ivsrlkl8npfkpj6qbi3fwwvwwsm0b5ihlp5xpr2pakvas95z"))))
  587. (build-system cmake-build-system)
  588. (native-inputs
  589. `(("extra-cmake-modules" ,extra-cmake-modules)
  590. ("dbus" ,dbus)
  591. ("qttools" ,qttools)))
  592. (inputs
  593. `(("qtbase" ,qtbase-5)
  594. ("qtx11extras" ,qtx11extras)
  595. ("kinit" ,kinit-bootstrap))) ;; kinit-bootstrap: kinit package which does not depend on kdbusaddons.
  596. (arguments
  597. `(#:phases
  598. (modify-phases %standard-phases
  599. (add-before
  600. 'configure 'patch-source
  601. (lambda* (#:key inputs #:allow-other-keys)
  602. ;; look for the kdeinit5 executable in kinit's store directory,
  603. ;; instead of the current application's directory:
  604. (substitute* "src/kdeinitinterface.cpp"
  605. (("<< QCoreApplication::applicationDirPath..")
  606. (string-append
  607. "<< QString::fromUtf8(\"" (assoc-ref inputs "kinit") "/bin\")" )))))
  608. (replace 'check
  609. (lambda* (#:key tests? #:allow-other-keys)
  610. (when tests?
  611. (setenv "DBUS_FATAL_WARNINGS" "0")
  612. (invoke "dbus-launch" "ctest")))))))
  613. (home-page "https://community.kde.org/Frameworks")
  614. (synopsis "Convenience classes for DBus")
  615. (description "KDBusAddons provides convenience classes on top of QtDBus,
  616. as well as an API to create KDED modules.")
  617. ;; Some source files mention lgpl2.0+, but the included license is
  618. ;; the lgpl2.1. Some source files are under non-copyleft licenses.
  619. (license license:lgpl2.1+)))
  620. (define-public kdnssd
  621. (package
  622. (name "kdnssd")
  623. (version "5.86.0")
  624. (source (origin
  625. (method url-fetch)
  626. (uri (string-append
  627. "mirror://kde/stable/frameworks/"
  628. (version-major+minor version) "/"
  629. name "-" version ".tar.xz"))
  630. (sha256
  631. (base32
  632. "1853jz3xm3hkij5wdxbdfbfwsfg31ynhf2pjrl5b6m29nxh4xr3j"))))
  633. (build-system cmake-build-system)
  634. (native-inputs
  635. `(("extra-cmake-modules" ,extra-cmake-modules)
  636. ("qttools" ,qttools)))
  637. (inputs
  638. `(("avahi" ,avahi) ; alternativly dnssd could be used
  639. ("qtbase" ,qtbase-5)))
  640. (home-page "https://community.kde.org/Frameworks")
  641. (synopsis "Network service discovery using Zeroconf")
  642. (description "KDNSSD is a library for handling the DNS-based Service
  643. Discovery Protocol (DNS-SD), the layer of Zeroconf that allows network services,
  644. such as printers, to be discovered without any user intervention or centralized
  645. infrastructure.")
  646. (license license:lgpl2.1+)))
  647. (define-public kgraphviewer
  648. (package
  649. (name "kgraphviewer")
  650. (version "2.4.3")
  651. (source (origin
  652. (method url-fetch)
  653. (uri (string-append
  654. "mirror://kde/stable/kgraphviewer/"
  655. version "/" name "-" version ".tar.xz"))
  656. (sha256
  657. (base32
  658. "1h6pgg89gvxl8gw7wmkabyqqrzad5pxyv5lsmn1fl4ir8lcc5q2l"))))
  659. (build-system cmake-build-system)
  660. (inputs
  661. `(("qtbase" ,qtbase-5)
  662. ("boost" ,boost)
  663. ("graphviz" ,graphviz)
  664. ("kiconthemes" ,kiconthemes)
  665. ("kparts" ,kparts)
  666. ("qtsvg" ,qtsvg)))
  667. (native-inputs
  668. `(("pkg-config" ,pkg-config)
  669. ("extra-cmake-modules" ,extra-cmake-modules)
  670. ("kdoctools" ,kdoctools)))
  671. (home-page "https://apps.kde.org/kgraphviewer/")
  672. (synopsis "Graphviz dot graph viewer for KDE")
  673. (description "KGraphViewer is a Graphviz DOT graph file viewer, aimed to
  674. replace the other outdated Graphviz tools.")
  675. (license license:gpl2+)))
  676. (define-public kguiaddons
  677. (package
  678. (name "kguiaddons")
  679. (version "5.86.0")
  680. (source (origin
  681. (method url-fetch)
  682. (uri (string-append
  683. "mirror://kde/stable/frameworks/"
  684. (version-major+minor version) "/"
  685. name "-" version ".tar.xz"))
  686. (sha256
  687. (base32
  688. "0zrylidwgsrzn23dhba7p9v4qsxa0axp1yjvniwcm0ww7nxk961z"))))
  689. (build-system qt-build-system)
  690. ;; TODO: Build packages for the Python bindings. Ideally this will be
  691. ;; done for all versions of python guix supports. Requires python,
  692. ;; python-sip, clang-python, libclang. Requires python-2 in all cases for
  693. ;; clang-python.
  694. (native-inputs
  695. `(("extra-cmake-modules" ,extra-cmake-modules)
  696. ("pkg-config" ,pkg-config)))
  697. (inputs
  698. `(("qtbase" ,qtbase-5)
  699. ("qtwayland" ,qtwayland)
  700. ("qtx11extras" ,qtx11extras)
  701. ("wayland" ,wayland)))
  702. (home-page "https://community.kde.org/Frameworks")
  703. (synopsis "Utilities for graphical user interfaces")
  704. (description "The KDE GUI addons provide utilities for graphical user
  705. interfaces in the areas of colors, fonts, text, images, keyboard input.")
  706. (license (list license:gpl2+ license:lgpl2.1+))))
  707. (define-public kholidays
  708. (package
  709. (name "kholidays")
  710. (version "5.86.0")
  711. (source (origin
  712. (method url-fetch)
  713. (uri (string-append
  714. "mirror://kde/stable/frameworks/"
  715. (version-major+minor version) "/"
  716. name "-" version ".tar.xz"))
  717. (sha256
  718. (base32 "1nqbplazr6nk2369d3jlcd2kkhjk0rjicy26y29q2cy0g7q56gb7"))))
  719. (build-system cmake-build-system)
  720. (native-inputs
  721. `(("extra-cmake-modules" ,extra-cmake-modules)
  722. ("qttools" ,qttools)))
  723. (inputs
  724. `(("qtbase" ,qtbase-5)
  725. ("qtdeclarative" ,qtdeclarative)))
  726. (home-page "https://invent.kde.org/frameworks/kholidays")
  727. (synopsis "Library for regional holiday information")
  728. (description "This library provides a C++ API that determines holiday and
  729. other special events for a geographical region.")
  730. (license license:lgpl2.0+)))
  731. (define-public ki18n
  732. (package
  733. (name "ki18n")
  734. (version "5.86.0")
  735. (source (origin
  736. (method url-fetch)
  737. (uri (string-append
  738. "mirror://kde/stable/frameworks/"
  739. (version-major+minor version) "/"
  740. name "-" version ".tar.xz"))
  741. (sha256
  742. (base32
  743. "1ldw8775kacs43kkl2yxx7gqqx6hf49pg2dg0fqaayaynx9ymndq"))))
  744. (build-system cmake-build-system)
  745. (propagated-inputs
  746. `(("gettext" ,gettext-minimal)
  747. ("python" ,python)))
  748. (native-inputs
  749. `(("extra-cmake-modules" ,extra-cmake-modules)))
  750. (inputs
  751. `(("qtbase" ,qtbase-5)
  752. ("qtdeclarative" ,qtdeclarative)))
  753. (arguments
  754. `(#:phases
  755. (modify-phases %standard-phases
  756. (add-before 'check 'check-setup
  757. (lambda _
  758. (setenv "HOME" (getcwd))
  759. #t)))))
  760. (home-page "https://community.kde.org/Frameworks")
  761. (synopsis "KDE Gettext-based UI text internationalization")
  762. (description "KI18n provides functionality for internationalizing user
  763. interface text in applications, based on the GNU Gettext translation system. It
  764. wraps the standard Gettext functionality, so that the programmers and translators
  765. can use the familiar Gettext tools and workflows.
  766. KI18n provides additional functionality as well, for both programmers and
  767. translators, which can help to achieve a higher overall quality of source and
  768. translated text. This includes argument capturing, customizable markup, and
  769. translation scripting.")
  770. (license license:lgpl2.1+)))
  771. (define-public kidletime
  772. (package
  773. (name "kidletime")
  774. (version "5.86.0")
  775. (source (origin
  776. (method url-fetch)
  777. (uri (string-append
  778. "mirror://kde/stable/frameworks/"
  779. (version-major+minor version) "/"
  780. name "-" version ".tar.xz"))
  781. (sha256
  782. (base32
  783. "10xk1ch9f3zcz2q5mc9bjzzc6crr3mvm1z6ap3vqd7b3ywv38psv"))))
  784. (build-system cmake-build-system)
  785. (native-inputs
  786. `(("extra-cmake-modules" ,extra-cmake-modules)
  787. ("pkg-config" ,pkg-config)))
  788. (inputs
  789. `(("libxscrnsaver" ,libxscrnsaver) ; X-Screensaver based poller, fallback mode
  790. ("qtbase" ,qtbase-5)
  791. ("qtx11extras" ,qtx11extras)))
  792. (home-page "https://community.kde.org/Frameworks")
  793. (synopsis "Reporting of idle time of user and system")
  794. (description "KIdleTime is a singleton reporting information on idle time.
  795. It is useful not only for finding out about the current idle time of the PC,
  796. but also for getting notified upon idle time events, such as custom timeouts,
  797. or user activity.")
  798. (license (list license:gpl2+ license:lgpl2.1+))))
  799. (define-public kirigami
  800. ;; Kirigami is listed as tier 1 framework, but optionally includes
  801. ;; plasma-framework which is tier 3.
  802. (package
  803. (name "kirigami")
  804. (version "5.86.0")
  805. (source (origin
  806. (method url-fetch)
  807. (uri (string-append
  808. "mirror://kde/stable/frameworks/"
  809. (version-major+minor version) "/"
  810. "kirigami2-" version ".tar.xz"))
  811. (sha256
  812. (base32
  813. "1rkxihxj5gh6rqr2h8v21afj1lgaab0v16w5lgzb102xbjl47v6f"))))
  814. (properties `((upstream-name . "kirigami2")))
  815. (build-system cmake-build-system)
  816. (native-inputs
  817. `(("extra-cmake-modules" ,extra-cmake-modules)
  818. ("qttools" ,qttools)))
  819. (inputs
  820. `(("kwindowsystem" ,kwindowsystem)
  821. ;; TODO: Find a way to activate this optional include without
  822. ;; introducing a recursive dependency.
  823. ;;("plasma-frameworks" ,plasma-framework) ;; Tier 3!
  824. ("qtbase" ,qtbase-5)
  825. ("qtdeclarative" ,qtdeclarative)
  826. ("qtquickcontrols2" ,qtquickcontrols2)
  827. ("qtsvg" ,qtsvg)
  828. ;; Run-time dependency
  829. ("qtgraphicaleffects" ,qtgraphicaleffects)))
  830. (home-page "https://community.kde.org/Frameworks")
  831. (synopsis "QtQuick components for mobile user interfaces")
  832. (description "Kirigami is a set of high level QtQuick components looking
  833. and feeling well on both mobile and desktop devices. They ease the creation
  834. of applications that follow the Kirigami Human Interface Guidelines.")
  835. (license license:lgpl2.1+)))
  836. (define-public kitemmodels
  837. (package
  838. (name "kitemmodels")
  839. (version "5.86.0")
  840. (source (origin
  841. (method url-fetch)
  842. (uri (string-append
  843. "mirror://kde/stable/frameworks/"
  844. (version-major+minor version) "/"
  845. name "-" version ".tar.xz"))
  846. (sha256
  847. (base32
  848. "05pjhvspgbsnalzbpn456xj8gl9wj2mzh0h8p40lcqvc9sl53nag"))))
  849. (build-system qt-build-system)
  850. (native-inputs
  851. `(("extra-cmake-modules" ,extra-cmake-modules)))
  852. (inputs
  853. `(("qtbase" ,qtbase-5)
  854. ("qtdeclarative" ,qtdeclarative)))
  855. (home-page "https://community.kde.org/Frameworks")
  856. (synopsis "Set of item models extending the Qt model-view framework")
  857. (description "KItemModels provides the following models:
  858. @enumerate
  859. @item KBreadcrumbSelectionModel - Selects the parents of selected items to
  860. create breadcrumbs.
  861. @item KCheckableProxyModel - Adds a checkable capability to a source model.
  862. @item KConcatenateRowsProxyModel - Concatenates rows from multiple source models.
  863. @item KDescendantsProxyModel - Proxy Model for restructuring a Tree into a list.
  864. @item KExtraColumnsProxyModel - Adds columns after existing columns.
  865. @item KLinkItemSelectionModel - Share a selection in multiple views which do
  866. not have the same source model.
  867. @item KModelIndexProxyMapper - Mapping of indexes and selections through proxy
  868. models.
  869. @item KRearrangeColumnsProxyModel - Can reorder and hide columns from the source
  870. model.
  871. @item KRecursiveFilterProxyModel - Recursive filtering of models.
  872. @item KSelectionProxyModel - A Proxy Model which presents a subset of its source
  873. model to observers
  874. @end enumerate")
  875. (license license:lgpl2.1+)))
  876. (define-public kitemviews
  877. (package
  878. (name "kitemviews")
  879. (version "5.86.0")
  880. (source (origin
  881. (method url-fetch)
  882. (uri (string-append
  883. "mirror://kde/stable/frameworks/"
  884. (version-major+minor version) "/"
  885. name "-" version ".tar.xz"))
  886. (sha256
  887. (base32
  888. "1mzm1wvapwni59x0missyp6mbl9n95kdp4a6c9jzdswydnvn3hpn"))))
  889. (build-system qt-build-system)
  890. (native-inputs
  891. `(("extra-cmake-modules" ,extra-cmake-modules)
  892. ("qttools" ,qttools)))
  893. (inputs
  894. `(("qtbase" ,qtbase-5)))
  895. (home-page "https://community.kde.org/Frameworks")
  896. (synopsis "Set of item views extending the Qt model-view framework")
  897. (description "KItemViews includes a set of views, which can be used with
  898. item models. It includes views for categorizing lists and to add search filters
  899. to flat and hierarchical lists.")
  900. (license (list license:gpl2+ license:lgpl2.1+))))
  901. (define-public kplotting
  902. (package
  903. (name "kplotting")
  904. (version "5.86.0")
  905. (source (origin
  906. (method url-fetch)
  907. (uri (string-append
  908. "mirror://kde/stable/frameworks/"
  909. (version-major+minor version) "/"
  910. name "-" version ".tar.xz"))
  911. (sha256
  912. (base32
  913. "16r0a4rnpzzmn3cyxc33gig7bn5h4p64q7a517s6ai97hm6y5r7w"))))
  914. (build-system qt-build-system)
  915. (native-inputs
  916. `(("extra-cmake-modules" ,extra-cmake-modules)
  917. ("qttools" ,qttools)))
  918. (inputs
  919. `(("qtbase" ,qtbase-5)))
  920. (home-page "https://community.kde.org/Frameworks")
  921. (synopsis "Data plotting library")
  922. (description "KPlotWidget is a QWidget-derived class that provides a virtual
  923. base class for easy data-plotting. The idea behind KPlotWidget is that you only
  924. have to specify information in \"data units\", the natural units of the
  925. data being plotted. KPlotWidget automatically converts everything to screen
  926. pixel units.")
  927. (license license:lgpl2.1+)))
  928. (define-public ksyntaxhighlighting
  929. (package
  930. (name "ksyntaxhighlighting")
  931. (version "5.86.0")
  932. (source (origin
  933. (method url-fetch)
  934. (uri (string-append
  935. "mirror://kde/stable/frameworks/"
  936. (version-major+minor version) "/"
  937. "syntax-highlighting-" version ".tar.xz"))
  938. (sha256
  939. (base32
  940. "0381j4vvh4g2773zbfd4f54iq6d7mclpqcsrc1bplyy5avmsa073"))))
  941. (build-system cmake-build-system)
  942. (native-inputs
  943. `(("extra-cmake-modules" ,extra-cmake-modules)
  944. ("perl" ,perl)
  945. ("qttools" ,qttools)
  946. ;; Optional, for compile-time validation of syntax definition files:
  947. ("qtxmlpatterns" ,qtxmlpatterns)))
  948. (inputs
  949. `(("qtbase" ,qtbase-5)))
  950. (arguments
  951. `(#:phases
  952. (modify-phases %standard-phases
  953. (add-after 'patch-source-shebangs 'unpatch-source-shebang
  954. (lambda _
  955. ;; revert the patch-shebang phase on scripts which are
  956. ;; in fact test data
  957. (substitute* '("autotests/input/highlight.sh"
  958. "autotests/folding/highlight.sh.fold")
  959. (((which "sh")) " /bin/sh")) ;; space in front!
  960. (substitute* '("autotests/input/highlight.pl"
  961. "autotests/folding/highlight.pl.fold")
  962. (((which "perl")) "/usr/bin/perl"))
  963. #t)))))
  964. (home-page "https://community.kde.org/Frameworks")
  965. (synopsis "Syntax highlighting engine for Kate syntax definitions")
  966. (description "This is a stand-alone implementation of the Kate syntax
  967. highlighting engine. It's meant as a building block for text editors as well
  968. as for simple highlighted text rendering (e.g. as HTML), supporting both
  969. integration with a custom editor as well as a ready-to-use
  970. @code{QSyntaxHighlighter} sub-class.")
  971. (properties `((upstream-name . "syntax-highlighting")))
  972. (license license:lgpl2.1+)))
  973. (define-public plasma-wayland-protocols
  974. (package
  975. (name "plasma-wayland-protocols")
  976. (version "1.4.0")
  977. (source (origin
  978. (method url-fetch)
  979. (uri (string-append "mirror://kde/stable/" name "/"
  980. name "-" version ".tar.xz"))
  981. (sha256
  982. (base32
  983. "1a8v5cyny20g7z3g1qzfkjw66swk0r12kf5bf0vkk0qsjcfl7c1q"))))
  984. (build-system cmake-build-system)
  985. (native-inputs
  986. `(("extra-cmake-modules" ,extra-cmake-modules)))
  987. (arguments `(#:tests? #f)) ;; No tests
  988. (home-page "https://community.kde.org/Frameworks")
  989. (synopsis "KDE Plasma Wayland Protocols")
  990. (description "Contains XML files describing non-standard wayland
  991. protocols used in KDE Plasma.")
  992. (license (list license:bsd-3
  993. license:lgpl2.1
  994. license:lgpl2.1+
  995. license:lgpl3
  996. license:expat))))
  997. (define-public kwayland
  998. (package
  999. (name "kwayland")
  1000. (version "5.86.0")
  1001. (source (origin
  1002. (method url-fetch)
  1003. (uri (string-append
  1004. "mirror://kde/stable/frameworks/"
  1005. (version-major+minor version) "/"
  1006. name "-" version ".tar.xz"))
  1007. (sha256
  1008. (base32
  1009. "18rx4lxlria9xzfrmp83qzs5dgqks5gv218sn0lx28is3gg42fw6"))))
  1010. (build-system cmake-build-system)
  1011. (native-inputs
  1012. `(("extra-cmake-modules" ,extra-cmake-modules)
  1013. ("pkg-config" ,pkg-config)))
  1014. (inputs
  1015. `(("plasma-wayland-protocol" ,plasma-wayland-protocols)
  1016. ("qtbase" ,qtbase-5)
  1017. ("qtwayland" ,qtwayland)
  1018. ("wayland" ,wayland)
  1019. ("wayland-protocols" ,wayland-protocols)))
  1020. (arguments
  1021. `(#:phases
  1022. (modify-phases %standard-phases
  1023. (replace 'check
  1024. (lambda* (#:key tests? #:allow-other-keys)
  1025. (setenv "XDG_RUNTIME_DIR" (getcwd))
  1026. (setenv "QT_QPA_PLATFORM" "offscreen")
  1027. (when tests? ;; One test fails.
  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.86.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. "1ywmyyqbi4lws3bwmak8lmgdfxir7zapq3xvqk2nrbka4i2bggiz"))))
  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.86.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. "15b5jd128az4agxkychkxwxm1bkpjyg8f5c11jnp3yd6r4q8gf46"))))
  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.86.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. "0pdbx3w9rfvj6z8caw7bd4pspxrd852i0f9vvi17hhw0abvc0km3"))))
  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.86.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. "1h1zfgdnc3331zxlb1g6l9x4n9rpmjjfz5rh4pqw6xplvgrapp2v"))))
  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.86.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. "1lgnw6w1mc50fpyasd8yx60vi6cgqj7f3h1jmkcz89nybypd1b52"))))
  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.86.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 "1p2ix3aw8d3zp1fwywza82dqf73fyqc3pghcp9gfiywbfz2gcli2"))))
  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.86.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. "1yd8j0lhbvqarxrknpvwnmsbggv8g7sg9fsgpzrimf4873pcslnv"))))
  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.86.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. "0vcb47rh7bvvplfjbhrx8iz0vsrc5rgb9cinbyz0a9qhg062r1m0"))))
  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.86.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. "0rx32rdb1f45d2ihbjlhivv7088iqmdl22mj9sqi3phwn6xb3z0j"))))
  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.86.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. "1gk45q3li66m8m9h26rm0l1ywzzdsy6shndd2d5hhq19irjbxp44"))))
  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.86.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. "1rmp5kxq2dwxg4a7m06ylibqzv7b95slmmllxpm53z7jn1ab7l35"))))
  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.86.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. "171f1sz1jn84b9z5c56fa12bcld2a5n5vmhmla0fxcm6ry5nygd6"))))
  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.86.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. "19l6paczba2l548jd5czcjd88fdr69vlc50izs353q1r89aqkiny"))))
  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.86.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. "18xkzl4m7dl1z4vpwmbcqjjhn7jsa3d8v4wjdz0iqwpzsq2vrdc1"))))
  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.86.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. "1cyiqca4cwz7r4082mpi3gviicyr28qgk7zswm4a38qhv7vi3rdr"))))
  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.86.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. "13miqjm9lv7jr0chrrynhks1k7f107f7z44f3mdzjx88jgiskllx"))))
  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.86.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. "1ksia9ni7427n2xa22gx8b6g7skisaj1fa1pxapcy5q0dw6djwka"))))
  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.86.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. "11d9p6h21mmwsi55173p8dcvvr2013y16af57y6ac499l9p2vfd5"))))
  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.86.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. "0jm71dy2f4pand2fr0vgbbc1xlpwi1y9mlbjj8q238pax62sh63b"))))
  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.86.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. "0d2hbmj1wlmsc30zb4j9crn22yqhh8nm0lgnfsjjlh3dzq3qf5za"))))
  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.86.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. "1kx22l42zvl0dv9alwpvz3lryzl7lw8zqp0xlwxg15vkxl2a6g1b"))
  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.86.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. "1rgc2n32k39axl2jlmwa8iqr9v4h7n3kwk9971xc1d08cfswqjkm"))))
  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.86.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. "1svw7ymv2nc89zw4sz0gmsfdji7adwdz8psqy2hkh0qjcwzs157w"))))
  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.86.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. "13kbkgbqxqx1ldzi2jsg6xhhwszvmf0ahzjgvjxa3mighzyv2d7f"))))
  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.86.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. "0z59zzvjzm4s751dklbv15ngrcrp05fzrqxvn32pawxiksfn1kj7"))))
  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.86.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. "16wlj7yvjnmv875srcvkqgi9ww80pbj7dc9b6z53rbyr5lczlirh"))))
  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.86.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. "1a0694cjnh9ipx34v009s4dxkz41z0483kfnx2cjj8p81rsil2jh"))))
  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.86.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. "0k6awhrws7v99lndy9kfh9fsrbsbb8hga6yza93m58q10kk9g1x8"))))
  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.86.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. "0k846cf2h76815ww514i69cdmhyi56dly5xcsigkd1l7dgm0fk76"))))
  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.86.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. "1d7d6limyd9mnnnz7ib3rrywcp5j4s0mfck1invlx3p79pisrj9d"))))
  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.86.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. "0sm3310l1rh1kb061flhbh4np954r2yinhsjrhmj7c8j2r656xyw"))))
  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.86.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. "143fi6rifkcjd37ha1nb1gfh27l15qa69pldf87xwqizb8f5mhxl"))))
  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.86.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. "08dmig0zlds1ckm2p2a0d0f11bkq06w1yp15a8fyipb8w7mgdxl8"))))
  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.86.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. "0vvsvlcq9mjgwklyrm60l25aqb7vx46xjjp6nv883gpy9ppzwvv1"))))
  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.86.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. "0lnglx5vaswcfsfj37arzhzinsr46f87s4z48gbs067x97pjj9xd"))))
  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.86.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. "0wn1c6xfh0q152b6bavr3k2jkbbdb7vrsv24ci133ms32617rhcj"))))
  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.86.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. "1sa0sn56dc539x3j9rbl7v0iicsqkrwhqsp3wmsiv5h79d2xw4q6"))))
  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.86.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. "0s6mw8xx1777h7zgw7mwvw1cv3jhlpqrkvhmf5s4pjmp40dkj2i7"))
  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.86.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. "01kyrwrrv1y4a4hw4ryfmnncxqcbkc09lz2hxv7w020wavrzm6fn"))
  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.86.0")
  2718. (source
  2719. (origin
  2720. (method url-fetch)
  2721. (uri (string-append
  2722. "mirror://kde/stable/frameworks/"
  2723. (version-major+minor version) "/"
  2724. name "-" version ".tar.xz"))
  2725. (sha256
  2726. (base32 "1wpybm79nw17dqyql312nizvm3rf54ya1drhgvadry1c2lgmdrf3"))))
  2727. (build-system qt-build-system)
  2728. (native-inputs
  2729. `(("extra-cmake-modules" ,extra-cmake-modules)))
  2730. (inputs
  2731. `(("kcoreaddons" ,kcoreaddons)
  2732. ("ki18n" ,ki18n)
  2733. ("kio" ,kio)
  2734. ("qtbase" ,qtbase-5)
  2735. ("qtxmlpatterns" ,qtxmlpatterns)))
  2736. (arguments
  2737. `(#:phases
  2738. (modify-phases %standard-phases
  2739. (replace 'check
  2740. (lambda* (#:key tests? #:allow-other-keys)
  2741. (when tests?
  2742. ;; Inconsistent test failure: https://bugs.kde.org/show_bug.cgi?id=442935
  2743. (invoke "ctest" "-E" "kdav-davcollectionsmultifetchjobtest")))))))
  2744. (home-page "https://invent.kde.org/frameworks/kdav")
  2745. (synopsis "DAV protocol implementation with KJobs")
  2746. (description "This is a DAV protocol implementation with KJobs. Calendars
  2747. and todos are supported, using either GroupDAV or CalDAV, and contacts are
  2748. supported using GroupDAV or CardDAV.")
  2749. (license ;; GPL for programs, LGPL for libraries
  2750. (list license:gpl2+ license:lgpl2.0+))))
  2751. (define-public knewstuff
  2752. (package
  2753. (name "knewstuff")
  2754. (version "5.86.0")
  2755. (source (origin
  2756. (method url-fetch)
  2757. (uri (string-append
  2758. "mirror://kde/stable/frameworks/"
  2759. (version-major+minor version) "/"
  2760. name "-" version ".tar.xz"))
  2761. (sha256
  2762. (base32
  2763. "1c3mbd1f2hwp4wj1maj7n0d5vmwn77drld3ig0g20l4hvn5biy16"))))
  2764. (build-system cmake-build-system)
  2765. (propagated-inputs
  2766. `(("attica" ,attica)
  2767. ("kservice" ,kservice)
  2768. ("kxmlgui" ,kxmlgui)))
  2769. (native-inputs
  2770. `(("extra-cmake-modules" ,extra-cmake-modules)))
  2771. (inputs
  2772. `(("karchive" ,karchive)
  2773. ("kauth" ,kauth)
  2774. ("kbookmarks" ,kbookmarks)
  2775. ("kcodecs" ,kcodecs)
  2776. ("kcompletion" ,kcompletion)
  2777. ("kconfig" ,kconfig)
  2778. ("kconfigwidgets" ,kconfigwidgets)
  2779. ("kcoreaddons" ,kcoreaddons)
  2780. ("kio" ,kio)
  2781. ("kitemviews" ,kitemviews)
  2782. ("ki18n" ,ki18n)
  2783. ("kiconthemes" ,kiconthemes)
  2784. ("kjobwidgets" ,kjobwidgets)
  2785. ("kpackage" ,kpackage)
  2786. ("ktextwidgets" ,ktextwidgets)
  2787. ("kwidgetsaddons" ,kwidgetsaddons)
  2788. ("qtbase" ,qtbase-5)
  2789. ("qtdeclarative" ,qtdeclarative)
  2790. ("solid" ,solid)
  2791. ("sonnet" ,sonnet)))
  2792. (arguments
  2793. `(#:phases
  2794. (modify-phases %standard-phases
  2795. (add-before 'check 'check-setup
  2796. (lambda _ ; XDG_DATA_DIRS isn't set
  2797. (setenv "HOME" (getcwd))
  2798. ;; make Qt render "offscreen", required for tests
  2799. (setenv "QT_QPA_PLATFORM" "offscreen")
  2800. #t)))))
  2801. (home-page "https://community.kde.org/Frameworks")
  2802. (synopsis "Framework for downloading and sharing additional application data")
  2803. (description "The KNewStuff library implements collaborative data sharing
  2804. for applications. It uses libattica to support the Open Collaboration Services
  2805. specification.")
  2806. (license license:lgpl2.1+)))
  2807. (define-public knotifyconfig
  2808. (package
  2809. (name "knotifyconfig")
  2810. (version "5.86.0")
  2811. (source (origin
  2812. (method url-fetch)
  2813. (uri (string-append
  2814. "mirror://kde/stable/frameworks/"
  2815. (version-major+minor version) "/"
  2816. name "-" version ".tar.xz"))
  2817. (sha256
  2818. (base32
  2819. "1slbsh1i7pld7vjsvsgvjyrb5ppzi9y4vfc9zw06kwnkb6m111fs"))))
  2820. (build-system cmake-build-system)
  2821. (native-inputs
  2822. `(("extra-cmake-modules" ,extra-cmake-modules)))
  2823. (inputs
  2824. `(("kauth" ,kauth)
  2825. ("kbookmarks" ,kbookmarks)
  2826. ("kcodecs" ,kcodecs)
  2827. ("kcompletion" ,kcompletion)
  2828. ("kconfig" ,kconfig)
  2829. ("kconfigwidgets" ,kconfigwidgets)
  2830. ("kcoreaddons" ,kcoreaddons)
  2831. ("kio" ,kio)
  2832. ("kitemviews" ,kitemviews)
  2833. ("ki18n" ,ki18n)
  2834. ("kjobwidgets" ,kjobwidgets)
  2835. ("knotifications" ,knotifications)
  2836. ("kservice" ,kservice)
  2837. ("kwidgetsaddons" ,kwidgetsaddons)
  2838. ("kxmlgui" ,kxmlgui)
  2839. ("phonon" ,phonon)
  2840. ("qtbase" ,qtbase-5)
  2841. ("solid" ,solid)))
  2842. (home-page "https://community.kde.org/Frameworks")
  2843. (synopsis "Configuration dialog for desktop notifications")
  2844. (description "KNotifyConfig provides a configuration dialog for desktop
  2845. notifications which can be embedded in your application.")
  2846. ;; dual licensed
  2847. (license (list license:lgpl2.0+ license:lgpl2.1+))))
  2848. (define-public kparts
  2849. (package
  2850. (name "kparts")
  2851. (version "5.86.0")
  2852. (source (origin
  2853. (method url-fetch)
  2854. (uri (string-append
  2855. "mirror://kde/stable/frameworks/"
  2856. (version-major+minor version) "/"
  2857. name "-" version ".tar.xz"))
  2858. (sha256
  2859. (base32
  2860. "0801far1wzac39cwdlh9nmspx1lvni6ky90ylcw5va69f2ll3ga0"))))
  2861. (build-system qt-build-system)
  2862. (arguments
  2863. '(#:phases (modify-phases %standard-phases
  2864. (add-after 'unpack 'disable-partloader-test
  2865. (lambda _
  2866. (substitute* "autotests/CMakeLists.txt"
  2867. ;; XXX: PartLoaderTest wants to create a .desktop file
  2868. ;; in the common locations and test that MIME types work.
  2869. ;; The setup required for this is extensive, skip for now.
  2870. (("partloadertest\\.cpp") ""))
  2871. #t)))))
  2872. (propagated-inputs
  2873. `(("kio" ,kio)
  2874. ("ktextwidgets" ,ktextwidgets)
  2875. ("kxmlgui" ,kxmlgui)))
  2876. (native-inputs
  2877. `(("extra-cmake-modules" ,extra-cmake-modules)
  2878. ("shared-mime-info" ,shared-mime-info)))
  2879. (inputs
  2880. `(("kauth" ,kauth)
  2881. ("kbookmarks" ,kbookmarks)
  2882. ("kcodecs" ,kcodecs)
  2883. ("kcompletion" ,kcompletion)
  2884. ("kconfig" ,kconfig)
  2885. ("kconfigwidgets" ,kconfigwidgets)
  2886. ("kcoreaddons" ,kcoreaddons)
  2887. ("kiconthemes" ,kiconthemes)
  2888. ("kitemviews" ,kitemviews)
  2889. ("ki18n" ,ki18n)
  2890. ("kjobwidgets" ,kjobwidgets)
  2891. ("kservice" ,kservice)
  2892. ("kwidgetsaddons" ,kwidgetsaddons)
  2893. ("qtbase" ,qtbase-5)
  2894. ("solid" ,solid)
  2895. ("sonnet" ,sonnet)))
  2896. (home-page "https://community.kde.org/Frameworks")
  2897. (synopsis "Plugin framework for user interface components")
  2898. (description "This library implements the framework for KDE parts, which are
  2899. widgets with a user-interface defined in terms of actions.")
  2900. (license license:lgpl2.1+)))
  2901. (define-public kpeople
  2902. (package
  2903. (name "kpeople")
  2904. (version "5.86.0")
  2905. (source (origin
  2906. (method url-fetch)
  2907. (uri (string-append
  2908. "mirror://kde/stable/frameworks/"
  2909. (version-major+minor version) "/"
  2910. name "-" version ".tar.xz"))
  2911. (sha256
  2912. (base32
  2913. "1ybrs1imlkb2q9nwlkc46fhj736273br0pnyhrfaad3cjrb1rqfh"))))
  2914. (build-system qt-build-system)
  2915. (native-inputs
  2916. `(("extra-cmake-modules" ,extra-cmake-modules)))
  2917. (inputs
  2918. `(("kconfig" ,kconfig)
  2919. ("kcoreaddons" ,kcoreaddons)
  2920. ("kitemviews" ,kitemviews)
  2921. ("ki18n" ,ki18n)
  2922. ("kservice" ,kservice)
  2923. ("kwidgetsaddons" ,kwidgetsaddons)
  2924. ("qtbase" ,qtbase-5)
  2925. ("qtdeclarative" ,qtdeclarative)))
  2926. (arguments
  2927. `(#:tests? #f)) ; FIXME: 1/3 tests fail.
  2928. (home-page "https://community.kde.org/Frameworks")
  2929. (synopsis "Provides access to all contacts and aggregates them by person")
  2930. (description "KPeople offers unified access to our contacts from different
  2931. sources, grouping them by person while still exposing all the data. KPeople
  2932. also provides facilities to integrate the data provided in user interfaces by
  2933. providing QML and Qt Widgets components. The sources are plugin-based, allowing
  2934. to easily extend the contacts collection.")
  2935. (license license:lgpl2.1+)))
  2936. (define-public krunner
  2937. (package
  2938. (name "krunner")
  2939. (version "5.86.0")
  2940. (source (origin
  2941. (method url-fetch)
  2942. (uri (string-append
  2943. "mirror://kde/stable/frameworks/"
  2944. (version-major+minor version) "/"
  2945. name "-" version ".tar.xz"))
  2946. (sha256
  2947. (base32
  2948. "17d31szm2pnmc6cp0ijcm3k4a148fhg4m6ccw34rk4pd5pbbfqai"))))
  2949. (build-system cmake-build-system)
  2950. (propagated-inputs
  2951. `(("plasma-framework" ,plasma-framework)))
  2952. (native-inputs
  2953. `(("extra-cmake-modules" ,extra-cmake-modules)
  2954. ;; For tests.
  2955. ("dbus" ,dbus)))
  2956. (inputs
  2957. `(("kauth" ,kauth)
  2958. ("kbookmarks" ,kbookmarks)
  2959. ("kcodecs" ,kcodecs)
  2960. ("kcompletion" ,kcompletion)
  2961. ("kconfig" ,kconfig)
  2962. ("kconfigwidgets" ,kconfigwidgets)
  2963. ("kcoreaddons" ,kcoreaddons)
  2964. ("kio" ,kio)
  2965. ("kitemviews" ,kitemviews)
  2966. ("ki18n" ,ki18n)
  2967. ("kjobwidgets" ,kjobwidgets)
  2968. ("kpackage" ,kpackage)
  2969. ("kservice" ,kservice)
  2970. ("kwidgetsaddons" ,kwidgetsaddons)
  2971. ("kwindowsystem" ,kwindowsystem)
  2972. ("kxmlgui" ,kxmlgui)
  2973. ("qtbase" ,qtbase-5)
  2974. ("qtdeclarative" ,qtdeclarative)
  2975. ("solid" ,solid)
  2976. ("threadweaver" ,threadweaver)))
  2977. (arguments
  2978. `(#:phases
  2979. (modify-phases %standard-phases
  2980. (add-after 'unpack 'fix-paths-for-test
  2981. ;; This test tries to access paths like /home, /usr/bin and /bin/ls
  2982. ;; which don't exist in the build-container. Change to existing paths.
  2983. (lambda _
  2984. (substitute* "autotests/runnercontexttest.cpp"
  2985. (("/home\"") "/tmp\"") ;; single path-part
  2986. (("//usr/bin\"") (string-append (getcwd) "\"")) ;; multiple path-parts
  2987. (("/bin/ls" path)
  2988. (string-append (assoc-ref %build-inputs "coreutils") path)))))
  2989. (replace 'check
  2990. (lambda* (#:key tests? #:allow-other-keys)
  2991. (when tests?
  2992. (setenv "HOME" (getcwd))
  2993. (setenv "QT_QPA_PLATFORM" "offscreen")
  2994. (invoke "dbus-launch" "ctest" "-E"
  2995. "(dbusrunnertest|runnermanagersinglerunnermodetest)")))))))
  2996. (home-page "https://community.kde.org/Frameworks")
  2997. (synopsis "Framework for Plasma runners")
  2998. (description "The Plasma workspace provides an application called KRunner
  2999. which, among other things, allows one to type into a text area which causes
  3000. various actions and information that match the text appear as the text is being
  3001. typed.")
  3002. (license license:lgpl2.1+)))
  3003. (define-public kservice
  3004. (package
  3005. (name "kservice")
  3006. (version "5.86.0")
  3007. (source (origin
  3008. (method url-fetch)
  3009. (uri (string-append
  3010. "mirror://kde/stable/frameworks/"
  3011. (version-major+minor version) "/"
  3012. name "-" version ".tar.xz"))
  3013. (sha256
  3014. (base32
  3015. "0fnrzfpzdprbk6rn9xdzmaj7pvg6lm72id23cl29zgp0v09a5qa6"))))
  3016. (build-system cmake-build-system)
  3017. (propagated-inputs
  3018. `(("kconfig" ,kconfig)
  3019. ("kcoreaddons" ,kcoreaddons)))
  3020. (native-inputs
  3021. `(("bison" ,bison)
  3022. ("extra-cmake-modules" ,extra-cmake-modules)
  3023. ("flex" ,flex)
  3024. ("shared-mime-info" ,shared-mime-info)))
  3025. (inputs
  3026. `(("kcrash" ,kcrash)
  3027. ("kdbusaddons" ,kdbusaddons)
  3028. ("kdoctools" ,kdoctools)
  3029. ("ki18n" ,ki18n)
  3030. ("qtbase" ,qtbase-5)))
  3031. (arguments
  3032. `(#:phases
  3033. (modify-phases %standard-phases
  3034. (add-after 'unpack 'patch
  3035. ;; Adopted from NixOS' patches "qdiriterator-follow-symlinks" and
  3036. ;; "no-canonicalize-path".
  3037. (lambda _
  3038. (substitute* "src/sycoca/kbuildsycoca.cpp"
  3039. ;; make QDirIterator follow symlinks
  3040. (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
  3041. (string-append a " | QDirIterator::FollowSymlinks" b)))
  3042. (substitute* "src/sycoca/vfolder_menu.cpp"
  3043. ;; Normalize path, but don't resolve symlinks (taken from
  3044. ;; NixOS)
  3045. (("^\\s*QString resolved = QDir\\(dir\\)\\.canonicalPath\\(\\);")
  3046. "QString resolved = QDir::cleanPath(dir);"))
  3047. #t))
  3048. (replace 'check
  3049. (lambda* (#:key tests? #:allow-other-keys)
  3050. (when tests?
  3051. (setenv "HOME" (getcwd))
  3052. (setenv "QT_QPA_PLATFORM" "offscreen")
  3053. ;; Disable failing tests.
  3054. (invoke "ctest" "-E" "(kautostarttest|ksycocatest)")))))))
  3055. (home-page "https://community.kde.org/Frameworks")
  3056. (synopsis "Plugin framework for desktop services")
  3057. (description "KService provides a plugin framework for handling desktop
  3058. services. Services can be applications or libraries. They can be bound to MIME
  3059. types or handled by application specific code.")
  3060. ;; triple licensed
  3061. (license (list license:gpl2+ license:gpl3+ license:lgpl2.1+))))
  3062. (define-public ktexteditor
  3063. (package
  3064. (name "ktexteditor")
  3065. (version "5.86.0")
  3066. (source (origin
  3067. (method url-fetch)
  3068. (uri (string-append
  3069. "mirror://kde/stable/frameworks/"
  3070. (version-major+minor version) "/"
  3071. "ktexteditor-" version ".tar.xz"))
  3072. (sha256
  3073. (base32
  3074. "1f7f89sv0wbjlwi1wy96viagxv2yzfn9hsh24yr45qzjvghgx0v2"))))
  3075. (build-system cmake-build-system)
  3076. (propagated-inputs
  3077. `(("kparts" ,kparts)))
  3078. (native-inputs
  3079. `(("extra-cmake-modules" ,extra-cmake-modules)
  3080. ("pkg-config" ,pkg-config)))
  3081. (inputs
  3082. `(;; TODO: editor-config
  3083. ("karchive" ,karchive)
  3084. ("kauth" ,kauth)
  3085. ("kbookmarks" ,kbookmarks)
  3086. ("kcodecs" ,kcodecs)
  3087. ("kcompletion" ,kcompletion)
  3088. ("kconfig" ,kconfig)
  3089. ("kconfigwidgets" ,kconfigwidgets)
  3090. ("kcoreaddons" ,kcoreaddons)
  3091. ("kguiaddons" ,kguiaddons)
  3092. ("kiconthemes" ,kiconthemes)
  3093. ("kio" ,kio)
  3094. ("kitemviews" ,kitemviews)
  3095. ("ki18n" ,ki18n)
  3096. ("kjobwidgets" ,kjobwidgets)
  3097. ("kservice" ,kservice)
  3098. ("ksyntaxhighlighting" ,ksyntaxhighlighting)
  3099. ("ktextwidgets" ,ktextwidgets)
  3100. ("kwidgetsaddons" ,kwidgetsaddons)
  3101. ("kxmlgui" ,kxmlgui)
  3102. ("libgit2" ,libgit2)
  3103. ("perl" ,perl)
  3104. ("qtbase" ,qtbase-5)
  3105. ("qtdeclarative" ,qtdeclarative)
  3106. ("qtscript" ,qtscript)
  3107. ("qtxmlpatterns" ,qtxmlpatterns)
  3108. ("solid" ,solid)
  3109. ("sonnet" ,sonnet)))
  3110. (arguments
  3111. `(#:phases
  3112. (modify-phases %standard-phases
  3113. (add-after 'unpack 'setup
  3114. (lambda* (#:key inputs #:allow-other-keys)
  3115. (setenv "XDG_DATA_DIRS" ; FIXME build phase doesn't find parts.desktop
  3116. (string-append (assoc-ref inputs "kparts") "/share"))
  3117. #t))
  3118. (replace 'check
  3119. (lambda* (#:key tests? #:allow-other-keys)
  3120. (when tests? ;; Maybe locale issues with tests?
  3121. (setenv "QT_QPA_PLATFORM" "offscreen")
  3122. (invoke "ctest" "-E" "(kateview_test|movingrange_test)"))
  3123. #t))
  3124. (add-after 'install 'add-symlinks
  3125. ;; Some package(s) (e.g. plasma-sdk) refer to these service types
  3126. ;; by the wrong name. I would prefer to patch those packages, but
  3127. ;; I cannot find the files!
  3128. (lambda* (#:key outputs #:allow-other-keys)
  3129. (let ((kst5 (string-append (assoc-ref outputs "out")
  3130. "/share/kservicetypes5/")))
  3131. (symlink (string-append kst5 "ktexteditorplugin.desktop")
  3132. (string-append kst5 "ktexteditor-plugin.desktop"))
  3133. #t))))))
  3134. (home-page "https://community.kde.org/Frameworks")
  3135. (synopsis "Full text editor component")
  3136. (description "KTextEditor provides a powerful text editor component that you
  3137. can embed in your application, either as a KPart or using the KF5::TextEditor
  3138. library.")
  3139. ;; triple licensed
  3140. (license (list license:gpl2+ license:lgpl2.0+ license:lgpl2.1+))))
  3141. (define-public ktextwidgets
  3142. (package
  3143. (name "ktextwidgets")
  3144. (version "5.86.0")
  3145. (source (origin
  3146. (method url-fetch)
  3147. (uri (string-append
  3148. "mirror://kde/stable/frameworks/"
  3149. (version-major+minor version) "/"
  3150. name "-" version ".tar.xz"))
  3151. (sha256
  3152. (base32
  3153. "1hdwq4kphy7vdy6fg32z8slg8jkz4npd85dsjh6qkrvwpzbbl7yn"))))
  3154. (build-system qt-build-system)
  3155. (propagated-inputs
  3156. `(("ki18n" ,ki18n)
  3157. ("sonnet" ,sonnet)))
  3158. (native-inputs
  3159. `(("extra-cmake-modules" ,extra-cmake-modules)
  3160. ("qttools" ,qttools)))
  3161. (inputs
  3162. `(("kauth" ,kauth)
  3163. ("kcodecs" ,kcodecs)
  3164. ("kcompletion" ,kcompletion)
  3165. ("kconfig" ,kconfig)
  3166. ("kconfigwidgets" ,kconfigwidgets)
  3167. ("kcoreaddons" ,kcoreaddons)
  3168. ("kiconthemes" ,kiconthemes)
  3169. ("kservice" ,kservice)
  3170. ("kwidgetsaddons" ,kwidgetsaddons)
  3171. ("kwindowsystem" ,kwindowsystem)
  3172. ("qtbase" ,qtbase-5)
  3173. ("qtspeech" ,qtspeech)))
  3174. (home-page "https://community.kde.org/Frameworks")
  3175. (synopsis "Text editing widgets")
  3176. (description "KTextWidgets provides widgets for displaying and editing text.
  3177. It supports rich text as well as plain text.")
  3178. ;; dual licensed
  3179. (license (list license:lgpl2.0+ license:lgpl2.1+))))
  3180. (define-public kwallet
  3181. (package
  3182. (name "kwallet")
  3183. (version "5.86.0")
  3184. (source (origin
  3185. (method url-fetch)
  3186. (uri (string-append
  3187. "mirror://kde/stable/frameworks/"
  3188. (version-major+minor version) "/"
  3189. name "-" version ".tar.xz"))
  3190. (sha256
  3191. (base32
  3192. "075djy98bfgxkx5s20h49flxmc20zi8h7bam6f4hgh5vcr0lbwlb"))))
  3193. (build-system cmake-build-system)
  3194. (native-inputs
  3195. `(("extra-cmake-modules" ,extra-cmake-modules)))
  3196. (inputs
  3197. `(("gpgme" ,gpgme)
  3198. ("kauth" ,kauth)
  3199. ("kcodecs" ,kcodecs)
  3200. ("kconfig" ,kconfig)
  3201. ("kconfigwidgets" ,kconfigwidgets)
  3202. ("kcoreaddons" ,kcoreaddons)
  3203. ("kdbusaddons" ,kdbusaddons)
  3204. ("kdoctools" ,kdoctools)
  3205. ("kiconthemes" ,kiconthemes)
  3206. ("ki18n" ,ki18n)
  3207. ("knotifications" ,knotifications)
  3208. ("kservice" ,kservice)
  3209. ("kwidgetsaddons" ,kwidgetsaddons)
  3210. ("kwindowsystem" ,kwindowsystem)
  3211. ("libgcrypt" ,libgcrypt)
  3212. ("phonon" ,phonon)
  3213. ("qgpgme" ,qgpgme)
  3214. ("qtbase" ,qtbase-5)))
  3215. (home-page "https://community.kde.org/Frameworks")
  3216. (synopsis "Safe desktop-wide storage for passwords")
  3217. (description "This framework contains an interface to KWallet, a safe
  3218. desktop-wide storage for passwords and the kwalletd daemon used to safely store
  3219. the passwords on KDE work spaces.")
  3220. (license license:lgpl2.1+)))
  3221. (define-public kxmlgui
  3222. (package
  3223. (name "kxmlgui")
  3224. (version "5.86.0")
  3225. (source (origin
  3226. (method url-fetch)
  3227. (uri (string-append
  3228. "mirror://kde/stable/frameworks/"
  3229. (version-major+minor version) "/"
  3230. name "-" version ".tar.xz"))
  3231. (sha256
  3232. (base32
  3233. "0y8kkqxsppv9h2wvgr76g23kzx0qb669cqbq13whhy0s5rmyxp0h"))))
  3234. (build-system cmake-build-system)
  3235. (propagated-inputs
  3236. `(("kconfig" ,kconfig)
  3237. ("kconfigwidgets" ,kconfigwidgets)))
  3238. (native-inputs
  3239. `(("extra-cmake-modules" ,extra-cmake-modules)
  3240. ("qttools" ,qttools)))
  3241. (inputs
  3242. `(("attica" ,attica)
  3243. ("kauth" ,kauth)
  3244. ("kcodecs" ,kcodecs)
  3245. ("kguiaddons" ,kguiaddons)
  3246. ("kcoreaddons" ,kcoreaddons)
  3247. ("kglobalaccel" ,kglobalaccel)
  3248. ("kiconthemes" ,kiconthemes)
  3249. ("kitemviews" ,kitemviews)
  3250. ("ki18n" ,ki18n)
  3251. ("ktextwidgets" ,ktextwidgets)
  3252. ("kwidgetsaddons" ,kwidgetsaddons)
  3253. ("kwindowsystem" ,kwindowsystem)
  3254. ("qtbase" ,qtbase-5)
  3255. ("sonnet" ,sonnet)))
  3256. (arguments
  3257. `(#:tests? #f ; FIXME: 1/5 tests fail.
  3258. #:phases
  3259. (modify-phases %standard-phases
  3260. (add-before 'check 'check-setup
  3261. (lambda _
  3262. (setenv "HOME" (getcwd))
  3263. ;; make Qt render "offscreen", required for tests
  3264. (setenv "QT_QPA_PLATFORM" "offscreen")
  3265. #t)))))
  3266. (home-page "https://community.kde.org/Frameworks")
  3267. (synopsis "Framework for managing menu and toolbar actions")
  3268. (description "KXMLGUI provides a framework for managing menu and toolbar
  3269. actions in an abstract way. The actions are configured through a XML description
  3270. and hooks in the application code. The framework supports merging of multiple
  3271. descriptions for integrating actions from plugins.")
  3272. ;; dual licensed
  3273. (license (list license:gpl2+ license:lgpl2.1+))))
  3274. (define-public kxmlrpcclient
  3275. (package
  3276. (name "kxmlrpcclient")
  3277. (version "5.86.0")
  3278. (source (origin
  3279. (method url-fetch)
  3280. (uri (string-append
  3281. "mirror://kde/stable/frameworks/"
  3282. (version-major+minor version) "/"
  3283. name "-" version ".tar.xz"))
  3284. (sha256
  3285. (base32
  3286. "13av5ycwfl6580s0hpkxgak4dwm5i5xwvsxr44cxr8mj72syllnq"))))
  3287. (build-system cmake-build-system)
  3288. (propagated-inputs
  3289. `(("kio" ,kio)))
  3290. (native-inputs
  3291. `(("extra-cmake-modules" ,extra-cmake-modules)))
  3292. (inputs
  3293. `(("kauth" ,kauth)
  3294. ("kbookmarks" ,kbookmarks)
  3295. ("kcodecs" ,kcodecs)
  3296. ("kcompletion" ,kcompletion)
  3297. ("kconfig" ,kconfig)
  3298. ("kconfigwidgets" ,kconfigwidgets)
  3299. ("kcoreaddons" ,kcoreaddons)
  3300. ("kitemviews" ,kitemviews)
  3301. ("ki18n" ,ki18n)
  3302. ("kjobwidgets" ,kjobwidgets)
  3303. ("kservice" ,kservice)
  3304. ("kwidgetsaddons" ,kwidgetsaddons)
  3305. ("kxmlgui" ,kxmlgui)
  3306. ("qtbase" ,qtbase-5)
  3307. ("solid" ,solid)))
  3308. (home-page "https://community.kde.org/Frameworks")
  3309. (synopsis "XML-RPC client")
  3310. (description "This library contains simple XML-RPC Client support. It is a
  3311. complete client and is easy to use. Only one interface is exposed,
  3312. kxmlrpcclient/client.h and from that interface, you only need to use 3 methods:
  3313. setUrl, setUserAgent and call.")
  3314. ;; dual licensed
  3315. (license (list license:bsd-2 license:lgpl2.1+))))
  3316. (define-public plasma-framework
  3317. (package
  3318. (name "plasma-framework")
  3319. (version "5.86.0")
  3320. (source (origin
  3321. (method url-fetch)
  3322. (uri (string-append
  3323. "mirror://kde/stable/frameworks/"
  3324. (version-major+minor version) "/"
  3325. name "-" version ".tar.xz"))
  3326. (sha256
  3327. (base32
  3328. "17dfxqqw02430zfzncx1gdw4b4ab5mzwb3svq5xsjw0k4vh1airh"))))
  3329. (build-system cmake-build-system)
  3330. (propagated-inputs
  3331. `(("kpackage" ,kpackage)
  3332. ("kservice" ,kservice)))
  3333. (native-inputs
  3334. `(("extra-cmake-modules" ,extra-cmake-modules)
  3335. ("pkg-config" ,pkg-config)))
  3336. (inputs
  3337. `(("kactivities" ,kactivities)
  3338. ("karchive" ,karchive)
  3339. ("kauth" ,kauth)
  3340. ("kbookmarks" ,kbookmarks)
  3341. ("kcodecs" ,kcodecs)
  3342. ("kcompletion" ,kcompletion)
  3343. ("kconfig" ,kconfig)
  3344. ("kconfigwidgets" ,kconfigwidgets)
  3345. ("kcoreaddons" ,kcoreaddons)
  3346. ("kdbusaddons" ,kdbusaddons)
  3347. ("kdeclarative" ,kdeclarative)
  3348. ("kdoctools" ,kdoctools)
  3349. ("kglobalaccel" ,kglobalaccel)
  3350. ("kguiaddons" ,kguiaddons)
  3351. ("kiconthemes" ,kiconthemes)
  3352. ("kirigami" ,kirigami)
  3353. ("kitemviews" ,kitemviews)
  3354. ("kio" ,kio)
  3355. ("ki18n" ,ki18n)
  3356. ("kjobwidgets" ,kjobwidgets)
  3357. ("knotificantions" ,knotifications)
  3358. ("kwayland" ,kwayland)
  3359. ("kwidgetsaddons" ,kwidgetsaddons)
  3360. ("kwindowsystem" ,kwindowsystem)
  3361. ("kxmlgui" ,kxmlgui)
  3362. ;; XXX: "undefined reference to `glGetString'" errors occur without libglvnd,
  3363. ("libglvnd" ,libglvnd)
  3364. ("phonon" ,phonon)
  3365. ("qtbase" ,qtbase-5)
  3366. ("qtdeclarative" ,qtdeclarative)
  3367. ("qtquickcontrols2" ,qtquickcontrols2)
  3368. ("qtsvg" ,qtsvg)
  3369. ("qtx11extras" ,qtx11extras)
  3370. ("solid" ,solid)))
  3371. (arguments
  3372. `(#:phases
  3373. (modify-phases %standard-phases
  3374. (replace 'check
  3375. (lambda* (#:key tests? #:allow-other-keys)
  3376. (when tests?
  3377. (setenv "HOME" (getcwd))
  3378. (setenv "QT_QPA_PLATFORM" "offscreen") ;; These tests fail
  3379. (invoke "ctest" "-E" (string-append "(plasma-dialogstatetest"
  3380. "|plasma-iconitemtest"
  3381. "|plasma-themetest"
  3382. "|dialognativetest)")))
  3383. #t)))))
  3384. (home-page "https://community.kde.org/Frameworks")
  3385. (synopsis "Libraries, components and tools of Plasma workspaces")
  3386. (description "The plasma framework provides QML components, libplasma and
  3387. script engines.")
  3388. ;; dual licensed
  3389. (license (list license:gpl2+ license:lgpl2.1+))))
  3390. (define-public purpose
  3391. (package
  3392. (name "purpose")
  3393. (version "5.86.0")
  3394. (source (origin
  3395. (method url-fetch)
  3396. (uri (string-append
  3397. "mirror://kde/stable/frameworks/"
  3398. (version-major+minor version) "/"
  3399. name "-" version ".tar.xz"))
  3400. (sha256
  3401. (base32
  3402. "18xvihyn6897vwk1x2y4xcmafdc2gqmxs58sjm17gm87xzxyc8k7"))))
  3403. (build-system cmake-build-system)
  3404. (native-inputs
  3405. `(("extra-cmake-modules" ,extra-cmake-modules)))
  3406. (inputs
  3407. `(;;TODO: ("kaccounts" ,kaccounts)
  3408. ("kconfig" ,kconfig)
  3409. ("kcoreaddons" ,kcoreaddons)
  3410. ("knotifications" ,knotifications)
  3411. ("ki18n" ,ki18n)
  3412. ("kio" ,kio)
  3413. ("kirigami" ,kirigami)
  3414. ("qtbase" ,qtbase-5)
  3415. ("qtdeclarative" ,qtdeclarative)))
  3416. (arguments
  3417. `(#:tests? #f ;; seem to require network; don't find QTQuick components
  3418. #:configure-flags '("-DBUILD_TESTING=OFF"))) ; not run anyway
  3419. (home-page "https://community.kde.org/Frameworks")
  3420. (synopsis "Offers available actions for a specific purpose")
  3421. (description "This framework offers the possibility to create integrate
  3422. services and actions on any application without having to implement them
  3423. specifically. Purpose will offer them mechanisms to list the different
  3424. alternatives to execute given the requested action type and will facilitate
  3425. components so that all the plugins can receive all the information they
  3426. need.")
  3427. (license license:lgpl2.1+)))
  3428. ;; This version of kdbusaddons does not use kinit as an input, and is used to
  3429. ;; build kinit-bootstrap, as well as bootstrap versions of all kinit
  3430. ;; dependencies which also rely on kdbusaddons.
  3431. (define kdbusaddons-bootstrap
  3432. (package
  3433. (inherit kdbusaddons)
  3434. (source (origin
  3435. (inherit (package-source kdbusaddons))
  3436. (patches '())))
  3437. (inputs (alist-delete "kinit" (package-inputs kdbusaddons)))
  3438. (arguments
  3439. (substitute-keyword-arguments (package-arguments kdbusaddons)
  3440. ((#:phases phases)
  3441. `(modify-phases ,phases
  3442. (delete 'patch-source)))))))
  3443. (define kinit-bootstrap
  3444. ((package-input-rewriting `((,kdbusaddons . ,kdbusaddons-bootstrap))) kinit))
  3445. ;; Tier 4
  3446. ;;
  3447. ;; Tier 4 frameworks can be mostly ignored by application programmers; this
  3448. ;; tier consists of plugins acting behind the scenes to provide additional
  3449. ;; functionality or platform integration to existing frameworks (including
  3450. ;; Qt).
  3451. (define-public kde-frameworkintegration
  3452. (package
  3453. (name "kde-frameworkintegration")
  3454. (version "5.86.0")
  3455. (source (origin
  3456. (method url-fetch)
  3457. (uri (string-append
  3458. "mirror://kde/stable/frameworks/"
  3459. (version-major+minor version) "/"
  3460. "frameworkintegration-" version ".tar.xz"))
  3461. (sha256
  3462. (base32
  3463. "0s966pmmykq9dkjhid6wh99v9h3dl5qjdxzyn155higz7p67finl"))))
  3464. (build-system cmake-build-system)
  3465. (native-inputs
  3466. `(("extra-cmake-modules" ,extra-cmake-modules)
  3467. ("pkg-config" ,pkg-config)))
  3468. ;; TODO: Optional packages not yet in Guix: packagekitqt5, AppStreamQt
  3469. (inputs
  3470. `(("kconfig" ,kconfig)
  3471. ("kconfigwidgets" ,kconfigwidgets)
  3472. ("kcoreaddons" ,kcoreaddons)
  3473. ("ki18n" ,ki18n)
  3474. ("kiconthemes" ,kiconthemes)
  3475. ("kitemviews" ,kitemviews)
  3476. ("knewstuff" ,knewstuff)
  3477. ("knotificantions" ,knotifications)
  3478. ("kpackage" ,kpackage)
  3479. ("kwidgetsaddons" ,kwidgetsaddons)
  3480. ("qtbase" ,qtbase-5)
  3481. ("qtx11extras" ,qtx11extras)))
  3482. (arguments
  3483. `(#:phases
  3484. (modify-phases %standard-phases
  3485. (add-before 'check 'check-setup
  3486. (lambda _
  3487. (setenv "HOME" (getcwd))
  3488. ;; Make Qt render "offscreen", required for tests
  3489. (setenv "QT_QPA_PLATFORM" "offscreen")
  3490. #t)))))
  3491. (home-page "https://community.kde.org/Frameworks")
  3492. (synopsis "KDE Frameworks 5 workspace and cross-framework integration plugins")
  3493. (description "Framework Integration is a set of plugins responsible for
  3494. better integration of Qt applications when running on a KDE Plasma
  3495. workspace.")
  3496. ;; This package is distributed under either LGPL2 or LGPL3, but some
  3497. ;; files are explicitly LGPL2+.
  3498. (license (list license:lgpl2.0 license:lgpl3 license:lgpl2.0+))
  3499. (properties `((upstream-name . "frameworkintegration")))))
  3500. ;; Porting Aids
  3501. ;;
  3502. ;; Porting Aids frameworks provide code and utilities to ease the transition
  3503. ;; from kdelibs 4 to KDE Frameworks 5. Code should aim to port away from this
  3504. ;; framework, new projects should avoid using these libraries.
  3505. (define-public kdelibs4support
  3506. (package
  3507. (name "kdelibs4support")
  3508. (version "5.86.0")
  3509. (source
  3510. (origin
  3511. (method url-fetch)
  3512. (uri (string-append
  3513. "mirror://kde/stable/frameworks/"
  3514. (version-major+minor version) "/portingAids/"
  3515. name "-" version ".tar.xz"))
  3516. (sha256
  3517. (base32 "1ss2viwnksvx24kwpg9x6fk0wfwd0cx84723nb83z5n42lfh07ch"))))
  3518. (build-system cmake-build-system)
  3519. (native-inputs
  3520. `(("dbus" ,dbus)
  3521. ("docbook-xml" ,docbook-xml-4.4) ; optional
  3522. ("extra-cmake-modules" ,extra-cmake-modules)
  3523. ("perl" ,perl)
  3524. ("perl-uri" ,perl-uri)
  3525. ("pkg-config" ,pkg-config)
  3526. ("shared-mime-info" ,shared-mime-info)
  3527. ("kjobwidgets" ,kjobwidgets) ;; required for running the tests
  3528. ("strace" ,strace)
  3529. ("tzdata" ,tzdata-for-tests)
  3530. ("qttools" ,qttools)))
  3531. (propagated-inputs
  3532. ;; These are required to be installed along with this package, see
  3533. ;; lib64/cmake/KF5KDELibs4Support/KF5KDELibs4SupportConfig.cmake
  3534. `(("karchive" ,karchive)
  3535. ("kauth" ,kauth)
  3536. ("kconfigwidgets" ,kconfigwidgets)
  3537. ("kcoreaddons" ,kcoreaddons)
  3538. ("kcrash" ,kcrash)
  3539. ("kdbusaddons" ,kdbusaddons)
  3540. ("kdesignerplugin" ,kdesignerplugin)
  3541. ("kdoctools" ,kdoctools)
  3542. ("kemoticons" ,kemoticons)
  3543. ("kguiaddons" ,kguiaddons)
  3544. ("kiconthemes" ,kiconthemes)
  3545. ("kinit" ,kinit)
  3546. ("kitemmodels" ,kitemmodels)
  3547. ("knotifications" ,knotifications)
  3548. ("kparts" ,kparts)
  3549. ("ktextwidgets" ,ktextwidgets)
  3550. ("kunitconversion" ,kunitconversion)
  3551. ("kwindowsystem" ,kwindowsystem)
  3552. ("qtbase" ,qtbase-5)))
  3553. (inputs
  3554. `(("kcompletion" ,kcompletion)
  3555. ("kconfig" ,kconfig)
  3556. ("kded" ,kded)
  3557. ("kglobalaccel" ,kglobalaccel)
  3558. ("ki18n" ,ki18n)
  3559. ("kio" ,kio)
  3560. ("kservice" ,kservice)
  3561. ("kwidgetsaddons" ,kwidgetsaddons)
  3562. ("kxmlgui" ,kxmlgui)
  3563. ("libsm" ,libsm)
  3564. ("networkmanager-qt" ,networkmanager-qt)
  3565. ("openssl" ,openssl)
  3566. ("qtsvg" ,qtsvg)
  3567. ("qtx11extras" ,qtx11extras)))
  3568. ;; FIXME: Use Guix ca-bundle.crt in etc/xdg/ksslcalist and
  3569. ;; share/kf5/kssl/ca-bundle.crt
  3570. ;; TODO: NixOS has nix-kde-include-dir.patch to change std-dir "include"
  3571. ;; into "@dev@/include/". Think about whether this is needed for us, too.
  3572. (arguments
  3573. `(#:phases
  3574. (modify-phases %standard-phases
  3575. (add-after 'unpack 'make-cmake-to-find-docbook
  3576. (lambda _
  3577. (substitute* "cmake/FindDocBookXML4.cmake"
  3578. (("^.*xml/docbook/schema/dtd.*$")
  3579. "xml/dtd/docbook\n"))
  3580. #t))
  3581. (delete 'check)
  3582. (add-after 'install 'check-post-install
  3583. (lambda* (#:key inputs tests? #:allow-other-keys)
  3584. (setenv "HOME" (getcwd))
  3585. (setenv "TZDIR" ; KDateTimeTestsome needs TZDIR
  3586. (search-input-directory inputs
  3587. "share/zoneinfo"))
  3588. ;; Make Qt render "offscreen", required for tests
  3589. (setenv "QT_QPA_PLATFORM" "offscreen")
  3590. ;; enable debug output
  3591. (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug output
  3592. (setenv "DBUS_FATAL_WARNINGS" "0")
  3593. ;; Make kstandarddirstest pass (see https://bugs.kde.org/381098)
  3594. (mkdir-p ".kde-unit-test/xdg/config")
  3595. (with-output-to-file ".kde-unit-test/xdg/config/foorc"
  3596. (lambda () #t)) ;; simply touch the file
  3597. ;; Blacklist a test-function (failing at build.kde.org, too).
  3598. (with-output-to-file "autotests/BLACKLIST"
  3599. (lambda _
  3600. (display "[testSmb]\n*\n")))
  3601. ;; kuniqueapptest hangs. FIXME: Make this test pass.
  3602. (invoke "dbus-launch" "ctest"
  3603. "-E" "kstandarddirstest|kuniqueapptest"))))))
  3604. (home-page "https://community.kde.org/Frameworks")
  3605. (synopsis "KDE Frameworks 5 porting aid from KDELibs4")
  3606. (description "This framework provides code and utilities to ease the
  3607. transition from kdelibs 4 to KDE Frameworks 5. This includes CMake macros and
  3608. C++ classes whose functionality has been replaced by code in CMake, Qt and
  3609. other frameworks.
  3610. Code should aim to port away from this framework eventually. The API
  3611. documentation of the classes in this framework and the notes at
  3612. http://community.kde.org/Frameworks/Porting_Notes should help with this.")
  3613. ;; Most files are distributed under LGPL2+, but the package includes code
  3614. ;; under a variety of licenses.
  3615. (license (list license:lgpl2.1+ license:lgpl2.0 license:lgpl2.0+
  3616. license:gpl2 license:gpl2+
  3617. license:expat license:bsd-2 license:bsd-3
  3618. license:public-domain))))
  3619. (define-public khtml
  3620. (package
  3621. (name "khtml")
  3622. (version "5.86.0")
  3623. (source
  3624. (origin
  3625. (method url-fetch)
  3626. (uri (string-append
  3627. "mirror://kde/stable/frameworks/"
  3628. (version-major+minor version) "/portingAids/"
  3629. name "-" version ".tar.xz"))
  3630. (sha256
  3631. (base32 "18q6hc4a41jqrmc2npidbp4h79q34wqjx78jv8w5n3s6kizhqvhl"))))
  3632. (build-system qt-build-system)
  3633. (native-inputs
  3634. `(("extra-cmake-modules" ,extra-cmake-modules)
  3635. ("perl" ,perl)))
  3636. (inputs
  3637. `(("giflib" ,giflib)
  3638. ("gperf" ,gperf)
  3639. ("karchive" ,karchive)
  3640. ("kcodecs" ,kcodecs)
  3641. ("kglobalaccel" ,kglobalaccel)
  3642. ("ki18n" ,ki18n)
  3643. ("kiconthemes" ,kiconthemes)
  3644. ("kio" ,kio)
  3645. ("kjs" ,kjs)
  3646. ("knotifications" ,knotifications)
  3647. ("kparts" ,kparts)
  3648. ("ktextwidgets" ,ktextwidgets)
  3649. ("kwallet" ,kwallet)
  3650. ("kwidgetsaddons" ,kwidgetsaddons)
  3651. ("kwindowsystem" ,kwindowsystem)
  3652. ("kxmlgui" ,kxmlgui)
  3653. ("libjpeg" ,libjpeg-turbo)
  3654. ("libpng" ,libpng)
  3655. ("openssl" ,openssl)
  3656. ("phonon" ,phonon)
  3657. ("qtbase" ,qtbase-5)
  3658. ("qtx11extras" ,qtx11extras)
  3659. ("sonnet" ,sonnet)))
  3660. (home-page "https://community.kde.org/Frameworks")
  3661. (synopsis "KDE Frameworks 5 HTML widget and component")
  3662. (description "KHTML is a web rendering engine, based on the KParts
  3663. technology and using KJS for JavaScript support.")
  3664. ;; Most files are distributed under LGPL2+, but the package includes code
  3665. ;; under a variety of licenses.
  3666. (license (list license:lgpl2.0+ license:lgpl2.1+
  3667. license:gpl2 license:gpl3+
  3668. license:expat license:bsd-2 license:bsd-3))))
  3669. (define-public kjs
  3670. (package
  3671. (name "kjs")
  3672. (version "5.86.0")
  3673. (source
  3674. (origin
  3675. (method url-fetch)
  3676. (uri (string-append
  3677. "mirror://kde/stable/frameworks/"
  3678. (version-major+minor version) "/portingAids/"
  3679. name "-" version ".tar.xz"))
  3680. (sha256
  3681. (base32 "0gk5za2xyavxm56gxpx1x6jlkgaxhn7mcgdqb60z85372g2kvqg2"))))
  3682. (build-system cmake-build-system)
  3683. (native-inputs
  3684. `(("extra-cmake-modules" ,extra-cmake-modules)
  3685. ("kdoctools" ,kdoctools)
  3686. ("perl" ,perl)
  3687. ("pkg-config" ,pkg-config)))
  3688. (inputs
  3689. `(("pcre" ,pcre)
  3690. ("qtbase" ,qtbase-5)))
  3691. (home-page "https://community.kde.org/Frameworks")
  3692. (synopsis "KDE Frameworks 5 support for Javascript scripting in Qt
  3693. applications")
  3694. (description "Add-on library to Qt which adds JavaScript scripting
  3695. support.")
  3696. ;; Most files are distributed under LGPL2+, but the package also includes
  3697. ;; code under a variety of licenses.
  3698. (license (list license:lgpl2.1+
  3699. license:bsd-2 license:bsd-3
  3700. (license:non-copyleft "file://src/kjs/dtoa.cpp")))))
  3701. (define-public kjsembed
  3702. (package
  3703. (name "kjsembed")
  3704. (version "5.86.0")
  3705. (source
  3706. (origin
  3707. (method url-fetch)
  3708. (uri (string-append
  3709. "mirror://kde/stable/frameworks/"
  3710. (version-major+minor version) "/portingAids/"
  3711. name "-" version ".tar.xz"))
  3712. (sha256
  3713. (base32 "1qash24j0y35j179kbmsp1wg30c97cy1z05vidqg9b7id57c2d5p"))))
  3714. (build-system cmake-build-system)
  3715. (native-inputs
  3716. `(("extra-cmake-modules" ,extra-cmake-modules)
  3717. ("kdoctools" ,kdoctools)
  3718. ("qttools" ,qttools)))
  3719. (inputs
  3720. `(("ki18n" ,ki18n)
  3721. ("kjs" ,kjs)
  3722. ("qtbase" ,qtbase-5)
  3723. ("qtsvg" ,qtsvg)))
  3724. (home-page "https://community.kde.org/Frameworks")
  3725. (synopsis "KDE Frameworks 5 embedded Javascript engine for Qt")
  3726. (description "KJSEmbed provides a method of binding Javascript objects to
  3727. QObjects, so you can script your applications.")
  3728. (license license:lgpl2.1+)))
  3729. (define-public kmediaplayer
  3730. (package
  3731. (name "kmediaplayer")
  3732. (version "5.86.0")
  3733. (source
  3734. (origin
  3735. (method url-fetch)
  3736. (uri (string-append
  3737. "mirror://kde/stable/frameworks/"
  3738. (version-major+minor version) "/portingAids/"
  3739. name "-" version ".tar.xz"))
  3740. (sha256
  3741. (base32 "182bg9cbn1m9flp8fqf5v37mjd1kwap16bvg13k9jagr1g9zmar4"))))
  3742. (build-system qt-build-system)
  3743. (native-inputs
  3744. `(("extra-cmake-modules" ,extra-cmake-modules)
  3745. ("kdoctools" ,kdoctools)
  3746. ("qttools" ,qttools)))
  3747. (inputs
  3748. `(("kcompletion" ,kcompletion)
  3749. ("kcoreaddons" ,kcoreaddons)
  3750. ("ki18n" ,ki18n)
  3751. ("kiconthemes" ,kiconthemes)
  3752. ("kio" ,kio)
  3753. ("kparts" ,kparts)
  3754. ("kwidgetsaddons" ,kwidgetsaddons)
  3755. ("kxmlgui" ,kxmlgui)
  3756. ("qtbase" ,qtbase-5)))
  3757. (home-page "https://community.kde.org/Frameworks")
  3758. (synopsis "KDE Frameworks 5 plugin interface for media player features")
  3759. (description "KMediaPlayer builds on the KParts framework to provide a
  3760. common interface for KParts that can play media files.
  3761. This framework is a porting aid. It is not recommended for new projects, and
  3762. existing projects that use it are advised to port away from it, and use plain
  3763. KParts instead.")
  3764. (license license:expat)))
  3765. (define-public kross
  3766. (package
  3767. (name "kross")
  3768. (version "5.86.0")
  3769. (source
  3770. (origin
  3771. (method url-fetch)
  3772. (uri (string-append
  3773. "mirror://kde/stable/frameworks/"
  3774. (version-major+minor version) "/portingAids/"
  3775. name "-" version ".tar.xz"))
  3776. (sha256
  3777. (base32 "1x7xc35ix83hks25hnwd2l8h1aw4zx8x32if8jbvwfw957i02gdf"))))
  3778. (build-system cmake-build-system)
  3779. (native-inputs
  3780. `(("extra-cmake-modules" ,extra-cmake-modules)
  3781. ("kdoctools" ,kdoctools)
  3782. ("qttools" ,qttools)))
  3783. (inputs
  3784. `(("kcompletion" ,kcompletion)
  3785. ("kcoreaddons" ,kcoreaddons)
  3786. ("ki18n" ,ki18n)
  3787. ("kiconthemes" ,kiconthemes)
  3788. ("kparts" ,kparts)
  3789. ("kwidgetsaddons" ,kwidgetsaddons)
  3790. ("kxmlgui" ,kxmlgui)
  3791. ("qtbase" ,qtbase-5)
  3792. ("qtscript" ,qtscript)))
  3793. (home-page "https://community.kde.org/Frameworks")
  3794. (synopsis "KDE Frameworks 5 solution for application scripting")
  3795. (description "Kross is a scripting bridge for the KDE Development Platform
  3796. used to embed scripting functionality into an application. It supports
  3797. QtScript as a scripting interpreter backend.
  3798. Kross provides an abstract API to provide scripting functionality in a
  3799. interpreter-independent way. The application that uses Kross should not need
  3800. to know anything about the scripting language being used. The core of Kross
  3801. provides the framework to deal transparently with interpreter-backends and
  3802. offers abstract functionality to deal with scripts.")
  3803. ;; Most files are distributed under LGPL2+, but the package includes code
  3804. ;; under a variety of licenses.
  3805. (license (list license:lgpl2.0+ license:lgpl2.1+
  3806. license:lgpl2.0 license:gpl3+))))