kde-frameworks.scm 148 KB

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