12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935 |
- ;;; GNU Guix --- Functional package management for GNU
- ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
- ;;; Copyright © 2016, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
- ;;; Copyright © 2016-2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
- ;;; Copyright © 2016 David Craven <david@craven.ch>
- ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
- ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
- ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
- ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
- ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
- ;;; Copyright © 2021 Alexandros Theodotou <alex@zrythm.org>
- ;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
- ;;;
- ;;; This file is part of GNU Guix.
- ;;;
- ;;; GNU Guix is free software; you can redistribute it and/or modify it
- ;;; under the terms of the GNU General Public License as published by
- ;;; the Free Software Foundation; either version 3 of the License, or (at
- ;;; your option) any later version.
- ;;;
- ;;; GNU Guix is distributed in the hope that it will be useful, but
- ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
- ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- ;;; GNU General Public License for more details.
- ;;;
- ;;; You should have received a copy of the GNU General Public License
- ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
- (define-module (gnu packages kde-frameworks)
- #:use-module (guix build-system cmake)
- #:use-module (guix build-system qt)
- #:use-module (guix build-system trivial)
- #:use-module (guix download)
- #:use-module ((guix licenses) #:prefix license:)
- #:use-module (guix packages)
- #:use-module (guix utils)
- #:use-module (gnu packages)
- #:use-module (gnu packages acl)
- #:use-module (gnu packages admin)
- #:use-module (gnu packages aidc)
- #:use-module (gnu packages attr)
- #:use-module (gnu packages avahi)
- #:use-module (gnu packages base)
- #:use-module (gnu packages boost)
- #:use-module (gnu packages bison)
- #:use-module (gnu packages boost)
- #:use-module (gnu packages calendar)
- #:use-module (gnu packages compression)
- #:use-module (gnu packages databases)
- #:use-module (gnu packages docbook)
- #:use-module (gnu packages flex)
- #:use-module (gnu packages freedesktop)
- #:use-module (gnu packages gettext)
- #:use-module (gnu packages gl)
- #:use-module (gnu packages glib)
- #:use-module (gnu packages gnome)
- #:use-module (gnu packages gnupg)
- #:use-module (gnu packages gperf)
- #:use-module (gnu packages graphics)
- #:use-module (gnu packages graphviz)
- #:use-module (gnu packages gstreamer)
- #:use-module (gnu packages image)
- #:use-module (gnu packages kerberos)
- #:use-module (gnu packages kde-plasma)
- #:use-module (gnu packages libcanberra)
- #:use-module (gnu packages libreoffice)
- #:use-module (gnu packages linux)
- #:use-module (gnu packages mp3)
- #:use-module (gnu packages openbox)
- #:use-module (gnu packages pdf)
- #:use-module (gnu packages pcre)
- #:use-module (gnu packages perl)
- #:use-module (gnu packages pkg-config)
- #:use-module (gnu packages polkit)
- #:use-module (gnu packages pulseaudio)
- #:use-module (gnu packages python)
- #:use-module (gnu packages python-xyz)
- #:use-module (gnu packages qt)
- #:use-module (gnu packages textutils)
- #:use-module (gnu packages tls)
- #:use-module (gnu packages version-control)
- #:use-module (gnu packages video)
- #:use-module (gnu packages web)
- #:use-module (gnu packages xml)
- #:use-module (gnu packages xorg)
- #:use-module (srfi srfi-1))
- (define-public extra-cmake-modules
- (package
- (name "extra-cmake-modules")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1dbazs15gyyc921vf0lqgjpnqikrqcc39qysw8sgx7krqp6mrk5a"))
- (patches ;; https://bugs.kde.org/show_bug.cgi?id=443532
- (search-patches "extra-cmake-modules-reproducible-tarballs.patch"))))
- (build-system cmake-build-system)
- (native-inputs
- ;; Add test dependencies, except on armhf where building it is too
- ;; expensive.
- (if (and (not (%current-target-system))
- (string=? (%current-system) "armhf-linux"))
- '()
- `(("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative))))
- (arguments
- `(#:tests? ,(not (null? (package-native-inputs this-package)))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-lib-path
- (lambda _
- ;; Always install into /lib and not into /lib64.
- (substitute* "kde-modules/KDEInstallDirs.cmake"
- (("\"lib64\"") "\"lib\"")
- ;; TODO: Base the following on values taken from Qt
- ;; Install plugins into lib/qt5/plugins
- ;; TODO: Check if this is okay for Android, too
- ;; (see comment in KDEInstallDirs.cmake)
- (("_define_relative\\(QTPLUGINDIR \"\\$\\{_pluginsDirParent}\" \"plugins\"")
- "_define_relative(QTPLUGINDIR \"${_pluginsDirParent}\" \"qt5/plugins\"")
- ;; Install imports into lib/qt5/imports
- (("_define_relative\\(QTQUICKIMPORTSDIR QTPLUGINDIR \"imports\"")
- "_define_relative(QTQUICKIMPORTSDIR LIBDIR \"qt5/imports\"")
- ;; Install qml-files into lib/qt5/qml
- (("_define_relative\\(QMLDIR LIBDIR \"qml\"")
- "_define_relative(QMLDIR LIBDIR \"qt5/qml\""))
- (substitute* "modules/ECMGeneratePriFile.cmake"
- ;; Install pri-files into lib/qt5/mkspecs
- (("set\\(ECM_MKSPECS_INSTALL_DIR mkspecs/modules")
- "set(ECM_MKSPECS_INSTALL_DIR lib/qt5/mkspecs/modules"))
- #t))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests? ;; This test fails
- (invoke "ctest" "-E" "KDEFetchTranslations"))
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "CMake module files for common software used by KDE")
- (description "The Extra CMake Modules package, or ECM, adds to the
- modules provided by CMake to find common software. In addition, it provides
- common build settings used in software produced by the KDE community.")
- (license license:bsd-3)))
- (define-public phonon
- (package
- (name "phonon")
- (version "4.11.1")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/phonon"
- "/" version "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0bfy8iqmjhlg3ma3iqd3kxjc2zkzpjgashbpf5x17y0dc2i1whxl"))))
- (build-system cmake-build-system)
- (native-inputs
- ;; TODO: Think about adding pulseaudio. Is it required for sound?
- ;; TODO: Add building the super experimental QML support
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("pkg-config" ,pkg-config)
- ("qttools" ,qttools)))
- (inputs
- `(("qtbase" ,qtbase-5)))
- (arguments
- `(#:configure-flags
- '("-DCMAKE_CXX_FLAGS=-fPIC"
- "-DPHONON_BUILD_PHONON4QT5=ON")
- #:phases
- (modify-phases %standard-phases
- (add-before 'install 'patch-installdir
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((regex (string-append "(INSTALL DESTINATION \")"
- (assoc-ref inputs "qtbase"))))
- (substitute* "cmake_install.cmake"
- ((regex all dest)
- (string-append dest (assoc-ref outputs "out")))))
- #t)))))
- (home-page "https://community.kde.org/Phonon")
- (synopsis "KDE's multimedia library")
- (description "KDE's multimedia library.")
- (license license:lgpl2.1+)))
- (define-public phonon-backend-gstreamer
- (package
- (name "phonon-backend-gstreamer")
- (version "4.10.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/phonon/"
- name "/" version "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1wk1ip2w7fkh65zk6rilj314dna0hgsv2xhjmpr5w08xa8sii1y5"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("pkg-config" ,pkg-config)
- ("qttools" ,qttools)))
- (inputs
- `(("qtbase" ,qtbase-5)
- ("phonon" ,phonon)
- ("qtbase" ,qtbase-5)
- ("qtx11extras" ,qtx11extras)
- ("gstreamer" ,gstreamer)
- ("gst-plugins-base" ,gst-plugins-base)
- ("libxml2" ,libxml2)))
- (arguments
- `(#:configure-flags
- '( "-DPHONON_BUILD_PHONON4QT5=ON")))
- (home-page "https://community.kde.org/Phonon")
- (synopsis "Phonon backend which uses GStreamer")
- (description "Phonon makes use of backend libraries to provide sound.
- Phonon-GStreamer is a backend based on the GStreamer multimedia library.")
- ;; license: source files mention "either version 2.1 or 3"
- (license (list license:lgpl2.1 license:lgpl3))))
- ;; Tier 1
- ;;
- ;; Tier 1 frameworks depend only on Qt (and possibly a small number of other
- ;; third-party libraries), so can easily be used by an Qt-based project.
- (define-public attica
- (package
- (name "attica")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0zs61q7wigsqj2wy6hnl7d100f7n0va8cf6b7nk832sq8cvzwbwr"))))
- (build-system cmake-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'disable-network-tests
- (lambda _
- ;; These tests require network access.
- (substitute* "autotests/CMakeLists.txt"
- ((".*providertest.cpp") "")))))))
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("qtbase" ,qtbase-5)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Open Collaboration Service client library")
- (description "Attica is a Qt library that implements the Open
- Collaboration Services API version 1.6.
- It grants easy access to the services such as querying information about
- persons and contents. The library is used in KNewStuff3 as content provider.
- In order to integrate with KDE's Plasma Desktop, a platform plugin exists in
- kdebase.
- The REST API is defined here:
- http://freedesktop.org/wiki/Specifications/open-collaboration-services/")
- (license (list license:lgpl2.1+ license:lgpl3+))))
- (define-public bluez-qt
- (package
- (name "bluez-qt")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1zk1432mi3di25v3j2g1psxnxr3gqwa1bs5jx0cgn54hnbwdw3nl"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("dbus" ,dbus)
- ("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- ;; TODO: qtdeclarative (yields one failing test)
- `(("qtbase" ,qtbase-5)))
- (arguments
- `(#:configure-flags
- (list (string-append
- "-DUDEV_RULES_INSTALL_DIR=" %output "/lib/udev/rules.d"))
- #:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "DBUS_FATAL_WARNINGS" "0")
- (invoke "dbus-launch" "ctest")))))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "QML wrapper for BlueZ")
- (description "bluez-qt is a Qt-style library for accessing the bluez
- Bluetooth stack. It is used by the KDE Bluetooth stack, BlueDevil.")
- (license (list license:lgpl2.1+ license:lgpl3+))))
- (define-public breeze-icons
- (package
- (name "breeze-icons")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1dpf99szf0m92r1mxgb0sdzsb5x00braq2f0di51zdmkkp8b7xmw"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("fdupes" ,fdupes)
- ("python-lxml" ,python-lxml)
- ("python" ,python)))
- (inputs
- `(("qtbase" ,qtbase-5)))
- (propagated-inputs
- ;; KDE apps will need qtsvg to make use of breeze which is SVG only.
- `(("qtsvg" ,qtsvg)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Default KDE Plasma 5 icon theme")
- (description "Breeze provides a freedesktop.org compatible icon theme.
- It is the default icon theme for the KDE Plasma 5 desktop.")
- ;; The license file mentions lgpl3+. The license files in the source
- ;; directories are lgpl3, while the top directory contains the lgpl2.1.
- ;; text.
- (license license:lgpl3+)))
- (define-public kapidox
- (package
- (name "kapidox")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "123j3vy1rqigwd6kpjvk7gsrfra7ghv4qcplxqxrld27a95p8l0s"))))
- (build-system cmake-build-system)
- (arguments
- `(#:tests? #f ; has no test target
- #:make-flags (list "DESTDIR=/"))) ;; Otherwise it doesn't install anything.
- (propagated-inputs
- ;; kapidox is a python programm
- ;; TODO: check if doxygen has to be installed, the readme does not
- ;; mention it. The openSuse .rpm lists doxygen, graphviz, graphviz-gd,
- ;; and python-xml.
- `(("python" ,python)
- ("python-jinja2" ,python-jinja2)
- ("python-pyyaml" ,python-pyyaml)))
- (inputs
- `(("qtbase" ,qtbase-5)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "KDE Doxygen Tools")
- (description "This framework contains scripts and data for building API
- documentation (dox) in a standard format and style for KDE.
- For the actual documentation extraction and formatting the Doxygen tool is
- used, but this framework provides a wrapper script to make generating the
- documentation more convenient (including reading settings from the target
- framework or other module) and a standard template for the generated
- documentation.")
- ;; Most parts are bsd-2, but incuded jquery is expat
- ;; This list is taken from http://packaging.neon.kde.org/cgit/
- (license (list license:bsd-2 license:expat))))
- (define-public karchive
- (package
- (name "karchive")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "17bfc6sazckw6bhdz902b2lqnq0p13b60rybqclvifkif6hb1gqk"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ; ("pkg-config" ,pkg-config) ;; for zstd
- ))
- (inputs
- `(("bzip2" ,bzip2)
- ("qtbase" ,qtbase-5)
- ("xz" ,xz)
- ("zlib" ,zlib)
- ; ("zstd:lib" ,zstd "lib") ;; Tests fail with zstd
- ))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Qt 5 addon providing access to numerous types of archives")
- (description "KArchive provides classes for easy reading, creation and
- manipulation of @code{archive} formats like ZIP and TAR.
- It also provides transparent compression and decompression of data, like the
- GZip format, via a subclass of QIODevice.")
- ;; The included licenses is are gpl2 and lgpl2.1, but the sources are
- ;; under a variety of licenses.
- ;; This list is taken from http://packaging.neon.kde.org/cgit/
- (license (list license:lgpl2.1 license:lgpl2.1+
- license:lgpl3+ license:bsd-2))))
- (define-public kcalendarcore
- (package
- (name "kcalendarcore")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1d5j1ka158qy235rvn4q6463arg3fm4qdnwzigap2d0fcmxfsfcn"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("perl" ,perl)
- ("tzdata" ,tzdata-for-tests)))
- (inputs
- `(("libical" ,libical)
- ("qtbase" ,qtbase-5)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'check-setup
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "QT_QPA_PLATFORM" "offscreen")
- (setenv "TZ" "Europe/Prague")
- (setenv "TZDIR"
- (search-input-directory inputs
- "share/zoneinfo")))))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Library for interfacing with calendars")
- (description "This library provides access to and handling of calendar
- data. It supports the standard formats iCalendar and vCalendar and the group
- scheduling standard iTIP.
- A calendar contains information like incidences (events, to-dos, journals),
- alarms, time zones, and other useful information. This API provides access to
- that calendar information via well known calendar formats iCalendar (or iCal)
- and the older vCalendar.")
- (license (list license:lgpl3+ license:bsd-2))))
- (define-public kcodecs
- (package
- (name "kcodecs")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0crbnik03d98vywr31np6flzhhwv66qgrdmc7faklavkk5bwp5i0"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("gperf" ,gperf)
- ("qttools" ,qttools)))
- (inputs
- `(("qtbase" ,qtbase-5)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "String encoding and manipulating library")
- (description "KCodecs provide a collection of methods to manipulate
- strings using various encodings.
- It can automatically determine the charset of a string, translate XML
- entities, validate email addresses, and find encodings by name in a more
- tolerant way than QTextCodec (useful e.g. for data coming from the
- Internet).")
- ;; The included licenses is are gpl2 and lgpl2.1, but the sources are
- ;; under a variety of licenses.
- ;; This list is taken from http://packaging.neon.kde.org/cgit/
- (license (list license:gpl2 license:gpl2+ license:bsd-2
- license:lgpl2.1 license:lgpl2.1+ license:expat
- license:lgpl3+ license:mpl1.1))))
- (define-public kconfig
- (package
- (name "kconfig")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "05q4wqhxspja8a4j0gik62bp2lmyxv0cpbd188q16q97zgbb6xy1"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("qttools" ,qttools)))
- (inputs
- `(("qtbase" ,qtbase-5)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests? ;; kconfigcore-kconfigtest fails inconsistently!!
- (setenv "HOME" (getcwd))
- (setenv "QT_QPA_PLATFORM" "offscreen")
- (invoke "ctest" "-E" "kconfigcore-kconfigtest"))
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Kconfiguration settings framework for Qt")
- (description "KConfig provides an advanced configuration system.
- It is made of two parts: KConfigCore and KConfigGui.
- KConfigCore provides access to the configuration files themselves.
- It features:
- @enumerate
- @item Code generation: describe your configuration in an XML file, and use
- `kconfig_compiler to generate classes that read and write configuration
- entries.
- @item Cascading configuration files (global settings overridden by local
- settings).
- @item Optional shell expansion support (see docs/options.md).
- @item The ability to lock down configuration options (see docs/options.md).
- @end enumerate
- KConfigGui provides a way to hook widgets to the configuration so that they
- are automatically initialized from the configuration and automatically
- propagate their changes to their respective configuration files.")
- ;; The included licenses is are gpl2 and lgpl2.1, but the sources are
- ;; under a variety of licenses.
- ;; This list is taken from http://packaging.neon.kde.org/cgit/
- (license (list license:lgpl2.1 license:lgpl2.1+ license:expat
- license:lgpl3+ license:gpl1 ; licende:mit-olif
- license:bsd-2 license:bsd-3))))
- (define-public kcoreaddons
- (package
- (name "kcoreaddons")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1ncwf8kqrypmipp43a011rnhlw3qsb98x8nm98rm6v6gl2z3wgy6"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("qttools" ,qttools)
- ("shared-mime-info" ,shared-mime-info)
- ;; TODO: FAM: File alteration notification http://oss.sgi.com/projects/fam
- ))
- (inputs
- `(("qtbase" ,qtbase-5)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (setenv "HOME" (getcwd))
- (setenv "TMPDIR" (getcwd))
- (when tests? ;; kdirwatch test fails inconsistently. kprocesstest fails.
- (invoke "ctest" "-E" "(kdirwatch_qfswatch_unittest|kprocesstest)"))
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Qt addon library with a collection of non-GUI utilities")
- (description "KCoreAddons provides classes built on top of QtCore to
- perform various tasks such as manipulating mime types, autosaving files,
- creating backup files, generating random sequences, performing text
- manipulations such as macro replacement, accessing user information and
- many more.")
- (license (list license:lgpl2.0+ license:lgpl2.1+))))
- (define-public kdbusaddons
- (package
- (name "kdbusaddons")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0l50ivsrlkl8npfkpj6qbi3fwwvwwsm0b5ihlp5xpr2pakvas95z"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("dbus" ,dbus)
- ("qttools" ,qttools)))
- (inputs
- `(("qtbase" ,qtbase-5)
- ("qtx11extras" ,qtx11extras)
- ("kinit" ,kinit-bootstrap))) ;; kinit-bootstrap: kinit package which does not depend on kdbusaddons.
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before
- 'configure 'patch-source
- (lambda* (#:key inputs #:allow-other-keys)
- ;; look for the kdeinit5 executable in kinit's store directory,
- ;; instead of the current application's directory:
- (substitute* "src/kdeinitinterface.cpp"
- (("<< QCoreApplication::applicationDirPath..")
- (string-append
- "<< QString::fromUtf8(\"" (assoc-ref inputs "kinit") "/bin\")" )))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "DBUS_FATAL_WARNINGS" "0")
- (invoke "dbus-launch" "ctest")))))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Convenience classes for DBus")
- (description "KDBusAddons provides convenience classes on top of QtDBus,
- as well as an API to create KDED modules.")
- ;; Some source files mention lgpl2.0+, but the included license is
- ;; the lgpl2.1. Some source files are under non-copyleft licenses.
- (license license:lgpl2.1+)))
- (define-public kdnssd
- (package
- (name "kdnssd")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1853jz3xm3hkij5wdxbdfbfwsfg31ynhf2pjrl5b6m29nxh4xr3j"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("qttools" ,qttools)))
- (inputs
- `(("avahi" ,avahi) ; alternativly dnssd could be used
- ("qtbase" ,qtbase-5)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Network service discovery using Zeroconf")
- (description "KDNSSD is a library for handling the DNS-based Service
- Discovery Protocol (DNS-SD), the layer of Zeroconf that allows network services,
- such as printers, to be discovered without any user intervention or centralized
- infrastructure.")
- (license license:lgpl2.1+)))
- (define-public kgraphviewer
- (package
- (name "kgraphviewer")
- (version "2.4.3")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/kgraphviewer/"
- version "/" name "-" version ".tar.xz"))
- (sha256
- (base32
- "1h6pgg89gvxl8gw7wmkabyqqrzad5pxyv5lsmn1fl4ir8lcc5q2l"))))
- (build-system cmake-build-system)
- (inputs
- `(("qtbase" ,qtbase-5)
- ("boost" ,boost)
- ("graphviz" ,graphviz)
- ("kiconthemes" ,kiconthemes)
- ("kparts" ,kparts)
- ("qtsvg" ,qtsvg)))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("extra-cmake-modules" ,extra-cmake-modules)
- ("kdoctools" ,kdoctools)))
- (home-page "https://apps.kde.org/kgraphviewer/")
- (synopsis "Graphviz dot graph viewer for KDE")
- (description "KGraphViewer is a Graphviz DOT graph file viewer, aimed to
- replace the other outdated Graphviz tools.")
- (license license:gpl2+)))
- (define-public kguiaddons
- (package
- (name "kguiaddons")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0zrylidwgsrzn23dhba7p9v4qsxa0axp1yjvniwcm0ww7nxk961z"))))
- (build-system qt-build-system)
- ;; TODO: Build packages for the Python bindings. Ideally this will be
- ;; done for all versions of python guix supports. Requires python,
- ;; python-sip, clang-python, libclang. Requires python-2 in all cases for
- ;; clang-python.
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("qtbase" ,qtbase-5)
- ("qtwayland" ,qtwayland)
- ("qtx11extras" ,qtx11extras)
- ("wayland" ,wayland)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Utilities for graphical user interfaces")
- (description "The KDE GUI addons provide utilities for graphical user
- interfaces in the areas of colors, fonts, text, images, keyboard input.")
- (license (list license:gpl2+ license:lgpl2.1+))))
- (define-public kholidays
- (package
- (name "kholidays")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "1nqbplazr6nk2369d3jlcd2kkhjk0rjicy26y29q2cy0g7q56gb7"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("qttools" ,qttools)))
- (inputs
- `(("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)))
- (home-page "https://invent.kde.org/frameworks/kholidays")
- (synopsis "Library for regional holiday information")
- (description "This library provides a C++ API that determines holiday and
- other special events for a geographical region.")
- (license license:lgpl2.0+)))
- (define-public ki18n
- (package
- (name "ki18n")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1ldw8775kacs43kkl2yxx7gqqx6hf49pg2dg0fqaayaynx9ymndq"))))
- (build-system cmake-build-system)
- (propagated-inputs
- `(("gettext" ,gettext-minimal)
- ("python" ,python)))
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'check-setup
- (lambda _
- (setenv "HOME" (getcwd))
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "KDE Gettext-based UI text internationalization")
- (description "KI18n provides functionality for internationalizing user
- interface text in applications, based on the GNU Gettext translation system. It
- wraps the standard Gettext functionality, so that the programmers and translators
- can use the familiar Gettext tools and workflows.
- KI18n provides additional functionality as well, for both programmers and
- translators, which can help to achieve a higher overall quality of source and
- translated text. This includes argument capturing, customizable markup, and
- translation scripting.")
- (license license:lgpl2.1+)))
- (define-public kidletime
- (package
- (name "kidletime")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "10xk1ch9f3zcz2q5mc9bjzzc6crr3mvm1z6ap3vqd7b3ywv38psv"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("libxscrnsaver" ,libxscrnsaver) ; X-Screensaver based poller, fallback mode
- ("qtbase" ,qtbase-5)
- ("qtx11extras" ,qtx11extras)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Reporting of idle time of user and system")
- (description "KIdleTime is a singleton reporting information on idle time.
- It is useful not only for finding out about the current idle time of the PC,
- but also for getting notified upon idle time events, such as custom timeouts,
- or user activity.")
- (license (list license:gpl2+ license:lgpl2.1+))))
- (define-public kirigami
- ;; Kirigami is listed as tier 1 framework, but optionally includes
- ;; plasma-framework which is tier 3.
- (package
- (name "kirigami")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- "kirigami2-" version ".tar.xz"))
- (sha256
- (base32
- "1rkxihxj5gh6rqr2h8v21afj1lgaab0v16w5lgzb102xbjl47v6f"))))
- (properties `((upstream-name . "kirigami2")))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("qttools" ,qttools)))
- (inputs
- `(("kwindowsystem" ,kwindowsystem)
- ;; TODO: Find a way to activate this optional include without
- ;; introducing a recursive dependency.
- ;;("plasma-frameworks" ,plasma-framework) ;; Tier 3!
- ("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)
- ("qtquickcontrols2" ,qtquickcontrols2)
- ("qtsvg" ,qtsvg)
- ;; Run-time dependency
- ("qtgraphicaleffects" ,qtgraphicaleffects)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "QtQuick components for mobile user interfaces")
- (description "Kirigami is a set of high level QtQuick components looking
- and feeling well on both mobile and desktop devices. They ease the creation
- of applications that follow the Kirigami Human Interface Guidelines.")
- (license license:lgpl2.1+)))
- (define-public kitemmodels
- (package
- (name "kitemmodels")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "05pjhvspgbsnalzbpn456xj8gl9wj2mzh0h8p40lcqvc9sl53nag"))))
- (build-system qt-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Set of item models extending the Qt model-view framework")
- (description "KItemModels provides the following models:
- @enumerate
- @item KBreadcrumbSelectionModel - Selects the parents of selected items to
- create breadcrumbs.
- @item KCheckableProxyModel - Adds a checkable capability to a source model.
- @item KConcatenateRowsProxyModel - Concatenates rows from multiple source models.
- @item KDescendantsProxyModel - Proxy Model for restructuring a Tree into a list.
- @item KExtraColumnsProxyModel - Adds columns after existing columns.
- @item KLinkItemSelectionModel - Share a selection in multiple views which do
- not have the same source model.
- @item KModelIndexProxyMapper - Mapping of indexes and selections through proxy
- models.
- @item KRearrangeColumnsProxyModel - Can reorder and hide columns from the source
- model.
- @item KRecursiveFilterProxyModel - Recursive filtering of models.
- @item KSelectionProxyModel - A Proxy Model which presents a subset of its source
- model to observers
- @end enumerate")
- (license license:lgpl2.1+)))
- (define-public kitemviews
- (package
- (name "kitemviews")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1mzm1wvapwni59x0missyp6mbl9n95kdp4a6c9jzdswydnvn3hpn"))))
- (build-system qt-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("qttools" ,qttools)))
- (inputs
- `(("qtbase" ,qtbase-5)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Set of item views extending the Qt model-view framework")
- (description "KItemViews includes a set of views, which can be used with
- item models. It includes views for categorizing lists and to add search filters
- to flat and hierarchical lists.")
- (license (list license:gpl2+ license:lgpl2.1+))))
- (define-public kplotting
- (package
- (name "kplotting")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "16r0a4rnpzzmn3cyxc33gig7bn5h4p64q7a517s6ai97hm6y5r7w"))))
- (build-system qt-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("qttools" ,qttools)))
- (inputs
- `(("qtbase" ,qtbase-5)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Data plotting library")
- (description "KPlotWidget is a QWidget-derived class that provides a virtual
- base class for easy data-plotting. The idea behind KPlotWidget is that you only
- have to specify information in \"data units\", the natural units of the
- data being plotted. KPlotWidget automatically converts everything to screen
- pixel units.")
- (license license:lgpl2.1+)))
- (define-public ksyntaxhighlighting
- (package
- (name "ksyntaxhighlighting")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- "syntax-highlighting-" version ".tar.xz"))
- (sha256
- (base32
- "0381j4vvh4g2773zbfd4f54iq6d7mclpqcsrc1bplyy5avmsa073"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("perl" ,perl)
- ("qttools" ,qttools)
- ;; Optional, for compile-time validation of syntax definition files:
- ("qtxmlpatterns" ,qtxmlpatterns)))
- (inputs
- `(("qtbase" ,qtbase-5)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'patch-source-shebangs 'unpatch-source-shebang
- (lambda _
- ;; revert the patch-shebang phase on scripts which are
- ;; in fact test data
- (substitute* '("autotests/input/highlight.sh"
- "autotests/folding/highlight.sh.fold")
- (((which "sh")) " /bin/sh")) ;; space in front!
- (substitute* '("autotests/input/highlight.pl"
- "autotests/folding/highlight.pl.fold")
- (((which "perl")) "/usr/bin/perl"))
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Syntax highlighting engine for Kate syntax definitions")
- (description "This is a stand-alone implementation of the Kate syntax
- highlighting engine. It's meant as a building block for text editors as well
- as for simple highlighted text rendering (e.g. as HTML), supporting both
- integration with a custom editor as well as a ready-to-use
- @code{QSyntaxHighlighter} sub-class.")
- (properties `((upstream-name . "syntax-highlighting")))
- (license license:lgpl2.1+)))
- (define-public plasma-wayland-protocols
- (package
- (name "plasma-wayland-protocols")
- (version "1.4.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://kde/stable/" name "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1a8v5cyny20g7z3g1qzfkjw66swk0r12kf5bf0vkk0qsjcfl7c1q"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (arguments `(#:tests? #f)) ;; No tests
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "KDE Plasma Wayland Protocols")
- (description "Contains XML files describing non-standard wayland
- protocols used in KDE Plasma.")
- (license (list license:bsd-3
- license:lgpl2.1
- license:lgpl2.1+
- license:lgpl3
- license:expat))))
- (define-public kwayland
- (package
- (name "kwayland")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "18rx4lxlria9xzfrmp83qzs5dgqks5gv218sn0lx28is3gg42fw6"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("plasma-wayland-protocol" ,plasma-wayland-protocols)
- ("qtbase" ,qtbase-5)
- ("qtwayland" ,qtwayland)
- ("wayland" ,wayland)
- ("wayland-protocols" ,wayland-protocols)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (setenv "XDG_RUNTIME_DIR" (getcwd))
- (setenv "QT_QPA_PLATFORM" "offscreen")
- (when tests? ;; One test fails.
- (invoke "ctest" "-E" "kwayland-testWaylandRegistry"))
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Qt-style API to interact with the wayland client and server")
- (description "As the names suggest they implement a Client respectively a
- Server API for the Wayland protocol. The API is Qt-styled removing the needs to
- interact with a for a Qt developer uncomfortable low-level C-API. For example
- the callback mechanism from the Wayland API is replaced by signals, data types
- are adjusted to be what a Qt developer expects - two arguments of int are
- represented by a QPoint or a QSize.")
- (license license:lgpl2.1+)))
- (define-public kwidgetsaddons
- (package
- (name "kwidgetsaddons")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1ywmyyqbi4lws3bwmak8lmgdfxir7zapq3xvqk2nrbka4i2bggiz"))))
- (build-system qt-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("qttools" ,qttools)
- ("xorg-server" ,xorg-server-for-tests)))
- (inputs
- `(("qtbase" ,qtbase-5)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'adjust-tests
- (lambda _
- ;; It is unclear why this test suddenly started failing.
- (substitute* "autotests/kcolumnresizertest.cpp"
- ((".*QCOMPARE.*") ""))
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Large set of desktop widgets")
- (description "Provided are action classes that can be added to toolbars or
- menus, a wide range of widgets for selecting characters, fonts, colors, actions,
- dates and times, or MIME types, as well as platform-aware dialogs for
- configuration pages, message boxes, and password requests.")
- (license (list license:gpl2+ license:lgpl2.1+))))
- (define-public kwindowsystem
- (package
- (name "kwindowsystem")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "15b5jd128az4agxkychkxwxm1bkpjyg8f5c11jnp3yd6r4q8gf46"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("pkg-config" ,pkg-config)
- ("dbus" ,dbus) ; for the tests
- ("openbox" ,openbox) ; for the tests
- ("qttools" ,qttools)
- ("xorg-server" ,xorg-server-for-tests))) ; for the tests
- (inputs
- `(("libxrender" ,libxrender)
- ("qtbase" ,qtbase-5)
- ("qtx11extras" ,qtx11extras)
- ("xcb-utils-keysyms" ,xcb-util-keysyms)
- ("xcb-util-wm" ,xcb-util-wm)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'blacklist-failing-tests
- (lambda _
- ;; Blacklist a failing test-functions. FIXME: Make it pass.
- (with-output-to-file "autotests/BLACKLIST"
- (lambda _
- (display "[testGroupLeader]\n*\n")
- (display "[testClientMachine]\n*\n"))) ;; requires network
- #t))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- ;; The test suite requires a running window anager
- (when tests?
- (setenv "XDG_RUNTIME_DIR" "/tmp")
- (system "Xvfb :1 -ac -screen 0 640x480x24 &")
- (setenv "DISPLAY" ":1")
- (sleep 5) ;; Give Xvfb a few moments to get on it's feet
- (system "openbox &")
- (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
- (setenv "DBUS_FATAL_WARNINGS" "0")
- (invoke "dbus-launch" "ctest"))
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "KDE access to the windowing system")
- (description "KWindowSystem provides information about and allows
- interaction with the windowing system. It provides a high level API, which
- is windowing system independent and has platform specific
- implementations. This API is inspired by X11 and thus not all functionality
- is available on all windowing systems.
- In addition to the high level API, this framework also provides several
- lower level classes for interaction with the X Windowing System.")
- ;; Some source files mention lgpl2.0+, but the included license is
- ;; the lgpl2.1. Some source files are under non-copyleft licenses.
- (license license:lgpl2.1+)))
- (define-public modemmanager-qt
- (package
- (name "modemmanager-qt")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0pdbx3w9rfvj6z8caw7bd4pspxrd852i0f9vvi17hhw0abvc0km3"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("dbus" ,dbus)
- ("pkg-config" ,pkg-config)))
- (propagated-inputs
- ;; Headers contain #include <ModemManager/ModemManager.h>
- `(("modem-manager" ,modem-manager)))
- (inputs
- `(("qtbase" ,qtbase-5)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "DBUS_FATAL_WARNINGS" "0")
- (invoke "dbus-launch" "ctest"))
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Qt wrapper for ModemManager DBus API")
- (description "ModemManagerQt provides access to all ModemManager features
- exposed on DBus. It allows you to manage modem devices and access to
- information available for your modem devices, like signal, location and
- messages.")
- (license license:lgpl2.1+)))
- (define-public networkmanager-qt
- (package
- (name "networkmanager-qt")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1h1zfgdnc3331zxlb1g6l9x4n9rpmjjfz5rh4pqw6xplvgrapp2v"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("dbus" ,dbus)
- ("pkg-config" ,pkg-config)))
- (propagated-inputs
- ;; Headers contain #include <NetworkManager.h> and
- ;; #include <libnm/NetworkManager.h>
- `(("network-manager" ,network-manager)))
- (inputs
- `(("qtbase" ,qtbase-5)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "DBUS_FATAL_WARNINGS" "0")
- (invoke "dbus-launch" "ctest"))
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Qt wrapper for NetworkManager DBus API")
- (description "NetworkManagerQt provides access to all NetworkManager
- features exposed on DBus. It allows you to manage your connections and control
- your network devices and also provides a library for parsing connection settings
- which are used in DBus communication.")
- (license license:lgpl2.1+)))
- (define-public oxygen-icons
- (package
- (name "oxygen-icons")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "5" "-" version ".tar.xz"))
- (sha256
- (base32
- "1lgnw6w1mc50fpyasd8yx60vi6cgqj7f3h1jmkcz89nybypd1b52"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("fdupes" ,fdupes)))
- (inputs
- `(("qtbase" ,qtbase-5)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Oxygen provides the standard icon theme for the KDE desktop")
- (description "Oxygen icon theme for the KDE desktop")
- (license license:lgpl3+)
- (properties '((upstream-name . "oxygen-icons5")))))
- (define-public prison
- (package
- (name "prison")
- (version "5.86.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "1p2ix3aw8d3zp1fwywza82dqf73fyqc3pghcp9gfiywbfz2gcli2"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("libdmtx" ,libdmtx)
- ("qrencode" ,qrencode)
- ("qtbase" ,qtbase-5))) ;; TODO: rethink: nix propagates this
- (home-page "https://api.kde.org/frameworks/prison/html/index.html")
- (synopsis "Barcode generation abstraction layer")
- (description "Prison is a Qt-based barcode abstraction layer/library and
- provides uniform access to generation of barcodes with data.")
- (license license:lgpl2.1+)))
- (define-public pulseaudio-qt
- (package
- (name "pulseaudio-qt")
- (version "1.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://kde/stable/pulseaudio-qt"
- "/pulseaudio-qt-" version ".tar.xz"))
- (sha256
- (base32
- "1i4yb0v1mmhih8c2i61hybg6q60qys3pc5wbjb7a0vwl1mihgsxw"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("glib" ,glib)
- ("pulseaudio" ,pulseaudio)
- ("qtdeclarative" ,qtdeclarative)
- ("qtbase" ,qtbase-5)))
- (home-page "https://invent.kde.org/libraries/pulseaudio-qt/")
- (synopsis "Qt bindings for PulseAudio")
- (description
- "pulseaudio-qt is a Qt-style wrapper for libpulse. It allows querying
- and manipulation of various PulseAudio objects such as @code{Sinks},
- @code{Sources} and @code{Streams}. It does not wrap the full feature set of
- libpulse.")
- ;; User can choose between LGPL version 2.1 or 3.0; or
- ;; "any later version accepted by the membership of KDE e.V".
- (license (list license:lgpl2.1 license:lgpl3))))
- (define-public qqc2-desktop-style
- (package
- (name "qqc2-desktop-style")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1yd8j0lhbvqarxrknpvwnmsbggv8g7sg9fsgpzrimf4873pcslnv"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("kauth" ,kauth)
- ("kconfigwidgets" ,kconfigwidgets) ; optional
- ("kcoreaddons" ,kcoreaddons)
- ("kiconthemes" ,kiconthemes) ; optional
- ("kirigami" ,kirigami)
- ("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)
- ("qtquickcontrols2" ,qtquickcontrols2)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "QtQuickControls2 style that integrates with the desktop")
- (description "This is a style for QtQuickControls2 which is using
- QWidget's QStyle to paint the controls in order to give it a native look and
- feel.")
- ;; Mostly LGPL 2+, but many files are dual-licensed
- (license (list license:lgpl2.1+ license:gpl3+))))
- (define-public solid
- (package
- (name "solid")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0vcb47rh7bvvplfjbhrx8iz0vsrc5rgb9cinbyz0a9qhg062r1m0"))))
- (build-system cmake-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "DBUS_FATAL_WARNINGS" "0")
- (invoke "dbus-launch" "ctest")))))))
- (native-inputs
- `(("bison" ,bison)
- ("dbus" ,dbus)
- ("extra-cmake-modules" ,extra-cmake-modules)
- ("flex" ,flex)
- ("qttools" ,qttools)))
- (inputs
- `(("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)
- ("udev" ,eudev)))
- ;; TODO: Add runtime-only dependency MediaPlayerInfo
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Desktop hardware abstraction")
- (description "Solid is a device integration framework. It provides a way of
- querying and interacting with hardware independently of the underlying operating
- system.")
- (license license:lgpl2.1+)))
- (define-public sonnet
- (package
- (name "sonnet")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0rx32rdb1f45d2ihbjlhivv7088iqmdl22mj9sqi3phwn6xb3z0j"))))
- (build-system qt-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("pkg-config" ,pkg-config)
- ("qttools" ,qttools)))
- (inputs
- `(("hunspell" ,hunspell)
- ;; TODO: hspell (for Hebrew), Voikko (for Finish)
- ("qtbase" ,qtbase-5)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Multi-language spell checker")
- (description "Sonnet is a plugin-based spell checking library for Qt-based
- applications. It supports several different plugins, including HSpell, Enchant,
- ASpell and HUNSPELL.")
- (license license:lgpl2.1+)))
- (define-public threadweaver
- (package
- (name "threadweaver")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1gk45q3li66m8m9h26rm0l1ywzzdsy6shndd2d5hhq19irjbxp44"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("qtbase" ,qtbase-5)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Helper for multithreaded programming")
- (description "ThreadWeaver is a helper for multithreaded programming. It
- uses a job-based interface to queue tasks and execute them in an efficient way.")
- (license license:lgpl2.1+)))
- ;; Tier 2
- ;;
- ;; Tier 2 frameworks additionally depend on tier 1 frameworks, but still have
- ;; easily manageable dependencies.
- (define-public kactivities
- (package
- (name "kactivities")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1rmp5kxq2dwxg4a7m06ylibqzv7b95slmmllxpm53z7jn1ab7l35"))))
- (build-system qt-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("boost" ,boost)
- ("kauth" ,kauth)
- ("kbookmarks" ,kbookmarks)
- ("kcodecs" ,kcodecs)
- ("kcompletion" ,kcompletion)
- ("kconfig" ,kconfig)
- ("kconfigwidgets" ,kconfigwidgets)
- ("kcoreaddons" ,kcoreaddons)
- ("kio" ,kio)
- ("kitemviews" ,kitemviews)
- ("kjobwidgets" ,kjobwidgets)
- ("kservice" ,kservice)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("kwindowsystem" ,kwindowsystem)
- ("kxmlgui" ,kxmlgui)
- ("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)
- ("solid" ,solid)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Core components for the KDE Activity concept")
- (description "KActivities provides the infrastructure needed to manage a
- user's activities, allowing them to switch between tasks, and for applications
- to update their state to match the user's current activity. This includes a
- daemon, a library for interacting with that daemon, and plugins for integration
- with other frameworks.")
- ;; triple licensed
- (license (list license:gpl2+ license:lgpl2.0+ license:lgpl2.1+))))
- (define-public kauth
- (package
- (name "kauth")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "171f1sz1jn84b9z5c56fa12bcld2a5n5vmhmla0fxcm6ry5nygd6"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("dbus" ,dbus)
- ("extra-cmake-modules" ,extra-cmake-modules)
- ("qttools" ,qttools)))
- (inputs
- `(("kcoreaddons" ,kcoreaddons)
- ("polkit-qt" ,polkit-qt)
- ("qtbase" ,qtbase-5)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-cmake-install-directories
- (lambda _
- ;; Make packages using kauth put their policy files and helpers
- ;; into their own prefix.
- (substitute* "KF5AuthConfig.cmake.in"
- (("@KAUTH_POLICY_FILES_INSTALL_DIR@")
- "${KDE_INSTALL_DATADIR}/polkit-1/actions")
- (("@KAUTH_HELPER_INSTALL_DIR@")
- "${KDE_INSTALL_LIBEXECDIR}")
- (("@KAUTH_HELPER_INSTALL_ABSOLUTE_DIR@")
- "${KDE_INSTALL_LIBEXECDIR}"))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (setenv "DBUS_FATAL_WARNINGS" "0")
- (when tests? (invoke "dbus-launch" "ctest"))
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Execute actions as privileged user")
- (description "KAuth provides a convenient, system-integrated way to offload
- actions that need to be performed as a privileged user to small set of helper
- utilities.")
- (license license:lgpl2.1+)))
- (define-public kcompletion
- (package
- (name "kcompletion")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "19l6paczba2l548jd5czcjd88fdr69vlc50izs353q1r89aqkiny"))))
- (build-system qt-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("qttools" ,qttools)))
- (inputs
- `(("kconfig" ,kconfig)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("qtbase" ,qtbase-5)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Powerful autocompletion framework and widgets")
- (description "This framework helps implement autocompletion in Qt-based
- applications. It provides a set of completion-ready widgets, or can be
- integrated it into your application's other widgets.")
- (license license:lgpl2.1+)))
- (define-public kcontacts
- (package
- (name "kcontacts")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "18xkzl4m7dl1z4vpwmbcqjjhn7jsa3d8v4wjdz0iqwpzsq2vrdc1"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("xorg-server" ,xorg-server))) ; for the tests
- (inputs
- `(("qtbase" ,qtbase-5)))
- (propagated-inputs
- `(;; As required by KF5ContactsConfig.cmake.
- ("kcodecs" ,kcodecs)
- ("kconfig" ,kconfig)
- ("kcoreaddons" ,kcoreaddons)
- ("ki18n" ,ki18n)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'start-xorg-server
- (lambda* (#:key inputs #:allow-other-keys)
- ;; The test suite requires a running X server.
- ;; Xvfb doesn't have proper glx support and needs a pixeldepth
- ;; of 24 bit to avoid "libGL error: failed to load driver: swrast"
- ;; "Could not initialize GLX"
- (system "Xvfb :1 -screen 0 640x480x24 &")
- (setenv "DISPLAY" ":1")
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "API for contacts/address book data following the vCard standard")
- (description "This library provides a vCard data model, vCard
- input/output, contact group management, locale-aware address formatting, and
- localized country name to ISO 3166-1 alpha 2 code mapping and vice verca.
- ")
- (license license:lgpl2.1+)))
- (define-public kcrash
- (package
- (name "kcrash")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1cyiqca4cwz7r4082mpi3gviicyr28qgk7zswm4a38qhv7vi3rdr"))))
- (build-system qt-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("kcoreaddons" ,kcoreaddons)
- ("kwindowsystem" ,kwindowsystem)
- ("qtbase" ,qtbase-5)
- ("qtx11extras" ,qtx11extras)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Graceful handling of application crashes")
- (description "KCrash provides support for intercepting and handling
- application crashes.")
- (license license:lgpl2.1+)))
- (define-public kdoctools
- (package
- (name "kdoctools")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "13miqjm9lv7jr0chrrynhks1k7f107f7z44f3mdzjx88jgiskllx"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("docbook-xml" ,docbook-xml)
- ("docbook-xsl" ,docbook-xsl)
- ("karchive" ,karchive)
- ("ki18n" ,ki18n)
- ("libxml2" ,libxml2)
- ("libxslt" ,libxslt)
- ("perl" ,perl)
- ("perl-uri" ,perl-uri)
- ("qtbase" ,qtbase-5)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'cmake-find-docbook
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* (find-files "cmake" "\\.cmake$")
- (("CMAKE_SYSTEM_PREFIX_PATH")
- "CMAKE_PREFIX_PATH"))
- (substitute* "cmake/FindDocBookXML4.cmake"
- (("^.*xml/docbook/schema/dtd.*$")
- "xml/dtd/docbook\n"))
- (substitute* "cmake/FindDocBookXSL.cmake"
- (("^.*xml/docbook/stylesheet.*$")
- (string-append "xml/xsl/docbook-xsl-"
- ,(package-version docbook-xsl) "\n")))
- #t))
- (add-after 'install 'add-symlinks
- ;; Some package(s) (e.g. kdelibs4support) refer to this locale by a
- ;; different spelling.
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((xsl (string-append (assoc-ref outputs "out")
- "/share/kf5/kdoctools/customization/xsl/")))
- (symlink (string-append xsl "pt_br.xml")
- (string-append xsl "pt-BR.xml")))
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Create documentation from DocBook")
- (description "Provides tools to generate documentation in various format
- from DocBook files.")
- (license license:lgpl2.1+)))
- (define-public kfilemetadata
- (package
- (name "kfilemetadata")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1ksia9ni7427n2xa22gx8b6g7skisaj1fa1pxapcy5q0dw6djwka"))))
- (build-system cmake-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- ;; FIXME: Test can't find audio/x-speex mimeinfo
- ;; (but it can find audio/x-speex+ogg).
- (invoke "ctest" "-E" "embeddedimagedatatest"))
- #t)))))
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("pkg-config" ,pkg-config)
- ))
- (inputs
- `(("attr" ,attr)
- ;; TODO: EPub http://sourceforge.net/projects/ebook-tools
- ("karchive" ,karchive)
- ("kcoreaddons" ,kcoreaddons)
- ("ki18n" ,ki18n)
- ("qtmultimedia" ,qtmultimedia)
- ("qtbase" ,qtbase-5)
- ;; Required run-time packages
- ("catdoc" ,catdoc)
- ;; Optional run-time packages
- ("exiv2" ,exiv2)
- ("ffmpeg" ,ffmpeg)
- ("poppler-qt5" ,poppler-qt5)
- ("taglib" ,taglib)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Extract metadata from different fileformats")
- (description "KFileMetaData provides a simple library for extracting the
- text and metadata from a number of different files. This library is typically
- used by file indexers to retrieve the metadata. This library can also be used
- by applications to write metadata.")
- (license (list license:lgpl2.0 license:lgpl2.1 license:lgpl3))))
- (define-public kimageformats
- (package
- (name "kimageformats")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "11d9p6h21mmwsi55173p8dcvvr2013y16af57y6ac499l9p2vfd5"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("karchive" ,karchive) ; for Krita and OpenRaster images
- ("openexr" ,openexr) ; for OpenEXR high dynamic-range images
- ("qtbase" ,qtbase-5)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- ;; This test fails regularly (also at KDE CI, see
- ;; https://build.kde.org/job/Frameworks%20kimageformats%20kf5-qt5%20XenialQt5.7/6/testReport/)
- ;; delete offending portion
- (add-after 'unpack 'neuter-read-xcf-test
- (lambda _
- (delete-file "autotests/read/xcf/simple-rgba-gimp-2.8.10.png")
- (delete-file "autotests/read/xcf/simple-rgba-gimp-2.8.10.xcf")))
- (add-before 'check 'check-setup
- (lambda _
- ;; make Qt render "offscreen", required for tests
- (setenv "QT_QPA_PLATFORM" "offscreen")
- (setenv "QT_PLUGIN_PATH"
- (string-append (getcwd) "/bin:"
- (getenv "QT_PLUGIN_PATH")))
- #t)))
- ;; FIXME: The header files of ilmbase (propagated by openexr) are not
- ;; found when included by the header files of openexr, and an explicit
- ;; flag needs to be set.
- #:configure-flags
- (list (string-append "-DCMAKE_CXX_FLAGS=-I"
- (assoc-ref %build-inputs "ilmbase")
- "/include/OpenEXR"))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Plugins to allow QImage to support extra file formats")
- (description "This framework provides additional image format plugins for
- QtGui. As such it is not required for the compilation of any other software,
- but may be a runtime requirement for Qt-based software to support certain image
- formats.")
- (license license:lgpl2.1+)))
- (define-public kjobwidgets
- (package
- (name "kjobwidgets")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0jm71dy2f4pand2fr0vgbbc1xlpwi1y9mlbjj8q238pax62sh63b"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("qttools" ,qttools)))
- (inputs
- `(("kcoreaddons" ,kcoreaddons)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("qtbase" ,qtbase-5)
- ("qtx11extras" ,qtx11extras)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Widgets for showing progress of asynchronous jobs")
- (description "KJobWIdgets provides widgets for showing progress of
- asynchronous jobs.")
- (license license:lgpl2.1+)))
- (define-public knotifications
- (package
- (name "knotifications")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0d2hbmj1wlmsc30zb4j9crn22yqhh8nm0lgnfsjjlh3dzq3qf5za"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("dbus" ,dbus)
- ("qttools" ,qttools)))
- (inputs
- `(("kcodecs" ,kcodecs)
- ("kconfig" ,kconfig)
- ("kcoreaddons" ,kcoreaddons)
- ("kwindowsystem" ,kwindowsystem)
- ("libcanberra" ,libcanberra)
- ("libdbusmenu-qt" ,libdbusmenu-qt)
- ("phonon" ,phonon)
- ("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)
- ("qtspeech" ,qtspeech)
- ("qtx11extras" ,qtx11extras)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'check-setup
- (lambda _
- (setenv "HOME" (getcwd))
- #t))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "DBUS_FATAL_WARNINGS" "0")
- (invoke "dbus-launch" "ctest"))
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Desktop notifications")
- (description "KNotification is used to notify the user of an event. It
- covers feedback and persistent events.")
- (license license:lgpl2.1+)))
- (define-public kpackage
- (package
- (name "kpackage")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1kx22l42zvl0dv9alwpvz3lryzl7lw8zqp0xlwxg15vkxl2a6g1b"))
- ;; Default to: external paths/symlinks can be followed by a
- ;; package
- (patches (search-patches "kpackage-allow-external-paths.patch"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("karchive" ,karchive)
- ("kconfig" ,kconfig)
- ("kcoreaddons" ,kcoreaddons)
- ("kdoctools" ,kdoctools)
- ("ki18n" ,ki18n)
- ("qtbase" ,qtbase-5)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch
- (lambda _
- ;; Make QDirIterator follow symlinks
- (substitute* '("src/kpackage/packageloader.cpp")
- (("^\\s*(const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories)(;)" _ a b)
- (string-append a " | QDirIterator::FollowSymlinks" b))
- (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
- (string-append a " | QDirIterator::FollowSymlinks" b)))
- #t))
- (add-after 'unpack 'patch-tests
- (lambda _
- ;; /bin/ls doesn't exist in the build-container use /etc/passwd
- (substitute* "autotests/packagestructuretest.cpp"
- (("(addDirectoryDefinition\\(\")bin(\".*\")bin(\".*\")bin\""
- _ a b c)
- (string-append a "etc" b "etc" c "etc\""))
- (("filePath\\(\"bin\", QStringLiteral\\(\"ls\"))")
- "filePath(\"etc\", QStringLiteral(\"passwd\"))")
- (("\"/bin/ls\"") "\"/etc/passwd\""))
- #t))
- (add-before 'check 'check-setup
- (lambda _
- (setenv "HOME" (getcwd))
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Installation and loading of additional content as packages")
- (description "The Package framework lets the user install and load packages
- of non binary content such as scripted extensions or graphic assets, as if they
- were traditional plugins.")
- (license (list license:gpl2+ license:lgpl2.1+))))
- (define-public kpty
- (package
- (name "kpty")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1rgc2n32k39axl2jlmwa8iqr9v4h7n3kwk9971xc1d08cfswqjkm"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("kcoreaddons" ,kcoreaddons)
- ("ki18n" ,ki18n)
- ;; TODO: utempter, for managing UTMP entries
- ("qtbase" ,qtbase-5)))
- (arguments
- `(#:tests? #f ; FIXME: 1/1 tests fail.
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-tests
- (lambda _
- (substitute* "autotests/kptyprocesstest.cpp"
- (("/bin/bash") (which "bash")))
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Interfacing with pseudo terminal devices")
- (description "This library provides primitives to interface with pseudo
- terminal devices as well as a KProcess derived class for running child processes
- and communicating with them using a pty.")
- (license (list license:gpl2+ license:lgpl2.1+))))
- (define-public kunitconversion
- (package
- (name "kunitconversion")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1svw7ymv2nc89zw4sz0gmsfdji7adwdz8psqy2hkh0qjcwzs157w"))))
- (build-system cmake-build-system)
- (arguments `(#:tests? #f)) ;; Requires network.
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("ki18n" ,ki18n)
- ("qtbase" ,qtbase-5)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Converting physical units")
- (description "KUnitConversion provides functions to convert values in
- different physical units. It supports converting different prefixes (e.g. kilo,
- mega, giga) as well as converting between different unit systems (e.g. liters,
- gallons).")
- (license license:lgpl2.1+)))
- (define-public syndication
- (package
- (name "syndication")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "13kbkgbqxqx1ldzi2jsg6xhhwszvmf0ahzjgvjxa3mighzyv2d7f"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("kcodecs" ,kcodecs)
- ("qtbase" ,qtbase-5)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "RSS/Atom parser library")
- (description "@code{syndication} supports RSS (0.9/1.0, 0.91..2.0) and
- Atom (0.3 and 1.0) feeds. The library offers a unified, format-agnostic view
- on the parsed feed, so that the using application does not need to distinguish
- between feed formats.")
- (license license:lgpl2.1+)))
- ;; Tier 3
- ;;
- ;; Tier 3 frameworks are generally more powerful, comprehensive packages, and
- ;; consequently have more complex dependencies.
- (define-public baloo
- (package
- (name "baloo")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0z59zzvjzm4s751dklbv15ngrcrp05fzrqxvn32pawxiksfn1kj7"))))
- (build-system cmake-build-system)
- (propagated-inputs
- `(("kcoreaddons" ,kcoreaddons)
- ("kfilemetadata" ,kfilemetadata)))
- (native-inputs
- `(("dbus" ,dbus)
- ("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("kbookmarks" ,kbookmarks)
- ("kcompletion" ,kcompletion)
- ("kconfig" ,kconfig)
- ("kcrash" ,kcrash)
- ("kdbusaddons" ,kdbusaddons)
- ("kidletime" ,kidletime)
- ("kio" ,kio)
- ("kitemviews" ,kitemviews)
- ("ki18n" ,ki18n)
- ("kjobwidgets" ,kjobwidgets)
- ("kservice" ,kservice)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("kxmlgui" ,kxmlgui)
- ("lmdb" ,lmdb)
- ("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)
- ("solid" ,solid)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'remove-failing-test
- (lambda _
- ;; FIXME: kinotifytest broke in 5.70.0 with commit 73183acf00 and
- ;; seems like an oversight. Reverting the commit makes it pass,
- ;; but causes other problems. Since just the test file names are
- ;; broken, disabling it should be safe. Try enabling for > 5.70.0.
- (substitute* "autotests/unit/file/CMakeLists.txt"
- ;; The test only runs on GNU/Linux, piggy-back on the check.
- (("CMAKE_SYSTEM_NAME MATCHES \"Linux\"" all)
- (string-append all " AND NOT TRUE")))
- #t))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "DBUS_FATAL_WARNINGS" "0")
- (setenv "HOME" (getcwd))
- (invoke "dbus-launch" "ctest"))
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "File searching and indexing")
- (description "Baloo provides file searching and indexing. It does so by
- maintaining an index of the contents of your files.")
- ;; dual licensed
- (license (list license:gpl2+ license:lgpl2.1+))))
- (define-public kactivities-stats
- (package
- (name "kactivities-stats")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "16wlj7yvjnmv875srcvkqgi9ww80pbj7dc9b6z53rbyr5lczlirh"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("boost" ,boost)
- ("kactivities" ,kactivities)
- ("kconfig" ,kconfig)
- ("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Access usage statistics collected by the activity manager")
- (description "The KActivitiesStats library provides a querying mechanism for
- the data that the activity manager collects---which documents have been opened
- by which applications, and what documents have been linked to which activity.")
- ;; triple licensed
- (license (list license:lgpl2.0+ license:lgpl2.1+ license:lgpl3+))))
- (define-public kbookmarks
- (package
- (name "kbookmarks")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1a0694cjnh9ipx34v009s4dxkz41z0483kfnx2cjj8p81rsil2jh"))))
- (build-system cmake-build-system)
- (propagated-inputs
- `(("kwidgetsaddons" ,kwidgetsaddons)))
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("qttools" ,qttools)))
- (inputs
- `(("kauth" ,kauth)
- ("kcodecs" ,kcodecs)
- ("kconfig" ,kconfig)
- ("kconfigwidgets" ,kconfigwidgets)
- ("kcoreaddons" ,kcoreaddons)
- ("kiconthemes" ,kiconthemes)
- ("kxmlgui" ,kxmlgui)
- ("qtbase" ,qtbase-5)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'check-setup
- (lambda _
- (setenv "HOME" (getcwd))
- ;; make Qt render "offscreen", required for tests
- (setenv "QT_QPA_PLATFORM" "offscreen")
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Bookmarks management library")
- (description "KBookmarks lets you access and manipulate bookmarks stored
- using the XBEL format.")
- (license license:lgpl2.1+)))
- (define-public kcmutils
- (package
- (name "kcmutils")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0k6awhrws7v99lndy9kfh9fsrbsbb8hga6yza93m58q10kk9g1x8"))))
- (build-system cmake-build-system)
- (propagated-inputs
- `(("kconfigwidgets" ,kconfigwidgets)
- ("kservice" ,kservice)))
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch
- (lambda _
- (substitute* "src/kpluginselector.cpp"
- ;; make QDirIterator follow symlinks
- (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
- (string-append a " | QDirIterator::FollowSymlinks" b)))
- (substitute* "src/kcmoduleloader.cpp"
- ;; print plugin name when loading fails
- (("^\\s*(qWarning\\(\\) << \"Error loading) (plugin:\")( << loader\\.errorString\\(\\);)" _ a b c)
- (string-append a " KCM plugin\" << mod.service()->library() << \":\"" c)))
- #t))
- (add-before 'check 'check-setup
- (lambda _
- (setenv "QT_QPA_PLATFORM" "offscreen")
- #t)))))
- (inputs
- `(("kauth" ,kauth)
- ("kcodecs" ,kcodecs)
- ("kconfig" ,kconfig)
- ("kcoreaddons" ,kcoreaddons)
- ("kdeclarative" ,kdeclarative)
- ("kguiaddons" ,kguiaddons)
- ("kiconthemes" ,kiconthemes)
- ("kitemviews" ,kitemviews)
- ("ki18n" ,ki18n)
- ("kpackage" ,kpackage)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("kxmlgui" ,kxmlgui)
- ("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Utilities for KDE System Settings modules")
- (description "KCMUtils provides various classes to work with KCModules.
- KCModules can be created with the KConfigWidgets framework.")
- (license license:lgpl2.1+)))
- (define-public kconfigwidgets
- (package
- (name "kconfigwidgets")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0k846cf2h76815ww514i69cdmhyi56dly5xcsigkd1l7dgm0fk76"))))
- (build-system qt-build-system)
- (propagated-inputs
- `(("kauth" ,kauth)
- ("kcodecs" ,kcodecs)
- ("kconfig" ,kconfig)
- ("kwidgetsaddons" ,kwidgetsaddons)))
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("qttools" ,qttools)
- ("kdoctools" ,kdoctools)))
- (inputs
- `(("kcoreaddons" ,kcoreaddons)
- ("kguiaddons" ,kguiaddons)
- ("ki18n" ,ki18n)
- ;; todo: PythonModuleGeneration
- ("qtbase" ,qtbase-5)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch
- (lambda _
- (substitute* "src/khelpclient.cpp"
- ;; make QDirIterator follow symlinks
- (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
- (string-append a " | QDirIterator::FollowSymlinks" b)))
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Widgets for configuration dialogs")
- (description "KConfigWidgets provides easy-to-use classes to create
- configuration dialogs, as well as a set of widgets which uses KConfig to store
- their settings.")
- ;; dual licensed
- (license (list license:gpl2+ license:lgpl2.1+))))
- (define-public kdeclarative
- (package
- (name "kdeclarative")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1d7d6limyd9mnnnz7ib3rrywcp5j4s0mfck1invlx3p79pisrj9d"))))
- (build-system cmake-build-system)
- (propagated-inputs
- `(("kconfig" ,kconfig)
- ("kpackage" ,kpackage)))
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("pkg-config" ,pkg-config)
- ("xorg-server" ,xorg-server-for-tests)))
- (inputs
- `(("kauth" ,kauth)
- ("kcoreaddons" ,kcoreaddons)
- ("kglobalaccel" ,kglobalaccel)
- ("kguiaddons" ,kguiaddons)
- ("kiconthemes" ,kiconthemes)
- ("kio" ,kio)
- ("ki18n" ,ki18n)
- ("kjobwidgets" ,kjobwidgets)
- ("knotifications" ,knotifications)
- ("kservice" ,kservice)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("kwindowsystem" ,kwindowsystem)
- ("libepoxy" ,libepoxy)
- ("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)
- ("solid" ,solid)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'start-xorg-server
- (lambda* (#:key inputs #:allow-other-keys)
- ;; The test suite requires a running X server, setting
- ;; QT_QPA_PLATFORM=offscreen does not suffice.
- (system "Xvfb :1 -screen 0 640x480x24 &")
- (setenv "DISPLAY" ":1")
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Integration of QML and KDE work spaces")
- (description "KDeclarative provides integration of QML and KDE work spaces.
- It's comprises two parts: a library used by the C++ part of your application to
- intergrate QML with KDE Frameworks specific features, and a series of QML imports
- that offer bindings to some of the Frameworks.")
- ;; dual licensed
- (license (list license:gpl2+ license:lgpl2.1+))))
- (define-public kded
- (package
- (name "kded")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0sm3310l1rh1kb061flhbh4np954r2yinhsjrhmj7c8j2r656xyw"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("kconfig" ,kconfig)
- ("kcoreaddons" ,kcoreaddons)
- ("kcrash" ,kcrash)
- ("kdbusaddons" ,kdbusaddons)
- ("kdoctools" ,kdoctools)
- ("kservice" ,kservice)
- ("qtbase" ,qtbase-5)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Central daemon of KDE work spaces")
- (description "KDED stands for KDE Daemon. KDED runs in the background and
- performs a number of small tasks. Some of these tasks are built in, others are
- started on demand.")
- ;; dual licensed
- (license (list license:lgpl2.0+ license:lgpl2.1+))))
- (define-public kdesignerplugin
- (package
- (name "kdesignerplugin")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/portingAids/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "143fi6rifkcjd37ha1nb1gfh27l15qa69pldf87xwqizb8f5mhxl"))))
- (build-system qt-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("qttools" ,qttools)))
- (inputs
- `(("kconfig" ,kconfig)
- ("kcoreaddons" ,kcoreaddons)
- ("kdoctools" ,kdoctools)
- ("qtbase" ,qtbase-5)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Integrating KDE frameworks widgets with Qt Designer")
- (description "This framework provides plugins for Qt Designer that allow it
- to display the widgets provided by various KDE frameworks, as well as a utility
- (kgendesignerplugin) that can be used to generate other such plugins from
- ini-style description files.")
- (license license:lgpl2.1+)))
- (define-public kdesu
- (package
- (name "kdesu")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "08dmig0zlds1ckm2p2a0d0f11bkq06w1yp15a8fyipb8w7mgdxl8"))))
- (build-system cmake-build-system)
- (propagated-inputs
- `(("kpty" ,kpty)))
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("kconfig" ,kconfig)
- ("kcoreaddons" ,kcoreaddons)
- ("ki18n" ,ki18n)
- ("kservice" ,kservice)
- ("qtbase" ,qtbase-5)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "User interface for running shell commands with root privileges")
- (description "KDESU provides functionality for building GUI front ends for
- (password asking) console mode programs. kdesu and kdessh use it to interface
- with su and ssh respectively.")
- (license license:lgpl2.1+)))
- (define-public kdewebkit
- (package
- (name "kdewebkit")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/portingAids/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0vvsvlcq9mjgwklyrm60l25aqb7vx46xjjp6nv883gpy9ppzwvv1"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("qttools" ,qttools)))
- (inputs
- `(("kconfig" ,kconfig)
- ("kcoreaddons" ,kcoreaddons)
- ("kio" ,kio)
- ("kjobwidgets" ,kjobwidgets)
- ("kparts" ,kparts)
- ("kservice" ,kservice)
- ("kwallet" ,kwallet)
- ("qtbase" ,qtbase-5)
- ("qtwebkit" ,qtwebkit)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "KDE Integration for QtWebKit")
- (description "This library provides KDE integration of the HTML rendering
- engine WebKit via QtWebKit.")
- (license license:lgpl2.1+)))
- (define-public kemoticons
- (package
- (name "kemoticons")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0lnglx5vaswcfsfj37arzhzinsr46f87s4z48gbs067x97pjj9xd"))))
- (build-system cmake-build-system)
- (propagated-inputs
- `(("kservice" ,kservice)))
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("karchive" ,karchive)
- ("kconfig" ,kconfig)
- ("kcoreaddons" ,kcoreaddons)
- ("qtbase" ,qtbase-5)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'check-setup
- (lambda _
- (setenv "HOME" (getcwd))
- ;; make Qt render "offscreen", required for tests
- (setenv "QT_QPA_PLATFORM" "offscreen")
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Convert text emoticons to graphical emoticons")
- (description "KEmoticons converts emoticons from text to a graphical
- representation with images in HTML. It supports setting different themes for
- emoticons coming from different providers.")
- ;; dual licensed, image files are licensed under cc-by-sa4.0
- (license (list license:gpl2+ license:lgpl2.1+ license:cc-by-sa4.0))))
- (define-public kglobalaccel
- (package
- (name "kglobalaccel")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0wn1c6xfh0q152b6bavr3k2jkbbdb7vrsv24ci133ms32617rhcj"))))
- (build-system qt-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("pkg-config" ,pkg-config)
- ("qttools" ,qttools)))
- (inputs
- `(("kconfig" ,kconfig)
- ("kcrash" ,kcrash)
- ("kcoreaddons" ,kcoreaddons)
- ("kdbusaddons" ,kdbusaddons)
- ("kwindowsystem" ,kwindowsystem)
- ("qtbase" ,qtbase-5)
- ("qtx11extras" ,qtx11extras)
- ("xcb-util-keysyms" ,xcb-util-keysyms)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Global desktop keyboard shortcuts")
- (description "KGlobalAccel allows you to have global accelerators that are
- independent of the focused window. Unlike regular shortcuts, the application's
- window does not need focus for them to be activated.")
- (license license:lgpl2.1+)))
- (define-public kiconthemes
- (package
- (name "kiconthemes")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1sa0sn56dc539x3j9rbl7v0iicsqkrwhqsp3wmsiv5h79d2xw4q6"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("qttools" ,qttools)
- ("shared-mime-info" ,shared-mime-info)))
- (inputs
- `(("karchive" ,karchive)
- ("kauth" ,kauth)
- ("kcodecs" ,kcodecs)
- ("kcoreaddons" ,kcoreaddons)
- ("kconfig" ,kconfig)
- ("kconfigwidgets" ,kconfigwidgets)
- ("ki18n" ,ki18n)
- ("kitemviews" ,kitemviews)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("qtbase" ,qtbase-5)
- ("qtsvg" ,qtsvg)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'check-setup
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "XDG_DATA_DIRS"
- (string-append (assoc-ref inputs "shared-mime-info")
- "/share"))
- (setenv "HOME" (getcwd))
- ;; make Qt render "offscreen", required for tests
- (setenv "QT_QPA_PLATFORM" "offscreen")
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Icon GUI utilities")
- (description "This library contains classes to improve the handling of icons
- in applications using the KDE Frameworks.")
- (license license:lgpl2.1+)))
- (define-public kinit
- (package
- (name "kinit")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0s6mw8xx1777h7zgw7mwvw1cv3jhlpqrkvhmf5s4pjmp40dkj2i7"))
- ;; Use the store paths for other packages and dynamically loaded
- ;; libs
- (patches (search-patches "kinit-kdeinit-extra_libs.patch"
- "kinit-kdeinit-libpath.patch"))))
- (build-system cmake-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-paths
- (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; Set patched-in values:
- (substitute* "src/kdeinit/kinit.cpp"
- (("GUIX_PKGS_KF5_KIO") (assoc-ref inputs "kio"))
- (("GUIX_PKGS_KF5_PARTS") (assoc-ref inputs "kparts"))
- (("GUIX_PKGS_KF5_PLASMA") (assoc-ref inputs "plasma-framework")))
- #t)))))
- (native-search-paths
- (list (search-path-specification
- (variable "KDEINIT5_LIBRARY_PATH")
- (files '("lib/")))))
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("kauth" ,kauth)
- ("kbookmarks" ,kbookmarks)
- ("kcodecs" ,kcodecs)
- ("kcompletion" ,kcompletion)
- ("kconfig" ,kconfig)
- ("kconfigwidgets" ,kconfigwidgets)
- ("kcoreaddons" ,kcoreaddons)
- ("kcrash" ,kcrash)
- ("kdbusaddons" ,kdbusaddons)
- ("kdoctools" ,kdoctools)
- ("kio" ,kio)
- ("kitemviews" ,kitemviews)
- ("ki18n" ,ki18n)
- ("kjobwidgets" ,kjobwidgets)
- ("kparts" ,kparts)
- ("kservice" ,kservice)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("kwindowsystem" ,kwindowsystem)
- ("kxmlgui" ,kxmlgui)
- ("libcap" ,libcap) ; to install start_kdeinit with CAP_SYS_RESOURCE
- ("plasma-framework" ,plasma-framework)
- ("qtbase" ,qtbase-5)
- ("solid" ,solid)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Library to speed up start of applications on KDE workspaces")
- (description "Kdeinit is a process launcher similar to init used for booting
- UNIX. It launches processes by forking and then loading a dynamic library which
- contains a @code{kdemain(@dots{})} function. Using kdeinit to launch KDE
- applications makes starting KDE applications faster and reduces memory
- consumption.")
- ;; dual licensed
- (license (list license:lgpl2.0+ license:lgpl2.1+))))
- (define-public kio
- (package
- (name "kio")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "01kyrwrrv1y4a4hw4ryfmnncxqcbkc09lz2hxv7w020wavrzm6fn"))
- (patches (search-patches "kio-search-smbd-on-PATH.patch"))))
- (build-system cmake-build-system)
- (propagated-inputs
- `(("kbookmarks" ,kbookmarks)
- ("kconfig" ,kconfig)
- ("kcompletion" ,kcompletion)
- ("kcoreaddons" ,kcoreaddons)
- ("kitemviews" ,kitemviews)
- ("kjobwidgets" ,kjobwidgets)
- ("kservice" ,kservice)
- ("kwindowsystem" ,kwindowsystem)
- ("kxmlgui" ,kxmlgui)
- ("solid" ,solid)))
- (native-inputs
- `(("dbus" ,dbus)
- ("qttools" ,qttools)
- ("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(;; TODO: LibACL , <ftp://oss.sgi.com/projects/xfs/cmd_tars>
- ("krb5" ,mit-krb5)
- ("karchive" ,karchive)
- ("kauth" ,kauth)
- ("kcodecs" ,kcodecs)
- ("kconfigwidgets" ,kconfigwidgets)
- ("kcrash" ,kcrash)
- ("kded" ,kded)
- ("kdbusaddons" ,kdbusaddons)
- ("kdoctools" ,kdoctools)
- ("kguiaddons" ,kguiaddons)
- ("kiconthemes" ,kiconthemes)
- ("ki18n" ,ki18n)
- ("knotifications" ,knotifications)
- ("ktextwidgets" ,ktextwidgets)
- ("kwallet" ,kwallet)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("libxml2" ,libxml2)
- ("libxslt" ,libxslt)
- ("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)
- ("qtscript" ,qtscript)
- ("qtx11extras" ,qtx11extras)
- ("sonnet" ,sonnet)
- ("util-linux:lib" ,util-linux "lib") ; libMount
- ("zlib" ,zlib)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch
- (lambda _
- ;; Better error message (taken from NixOS)
- (substitute* "src/kiod/kiod_main.cpp"
- (("(^\\s*qCWarning(KIOD_CATEGORY) << \"Error loading plugin:\")( << loader.errorString();)" _ a b)
- (string-append a "<< name" b)))
- #t))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "HOME" (getcwd))
- (setenv "XDG_RUNTIME_DIR" (getcwd))
- (setenv "QT_QPA_PLATFORM" "offscreen")
- (setenv "DBUS_FATAL_WARNINGS" "0")
- (invoke "dbus-launch" "ctest"
- "-E" ; FIXME: 16/67 tests fail.
- (string-append "(kiocore-jobtest"
- "|fileitemtest"
- "|kiocore-ktcpsockettest"
- "|kiocore-mimetypefinderjobtest"
- "|kiocore-http_jobtest"
- "|kiogui-openurljobtest"
- "|applicationlauncherjob_forkingtest"
- "|applicationlauncherjob_scopetest"
- "|applicationlauncherjob_servicetest"
- "|commandlauncherjob_forkingtest"
- "|commandlauncherjob_scopetest"
- "|commandlauncherjob_servicetest"
- "|kiowidgets-kfileitemactionstest"
- "|kiowidgets-kurifiltertest-colon-separator"
- "|kiowidgets-kurifiltertest-space-separator"
- "|kiofilewidgets-knewfilemenutest)")))
- #t))
- (add-after 'install 'add-symlinks
- ;; Some package(s) (e.g. bluedevil) refer to these service types by
- ;; the wrong name. I would prefer to patch those packages, but I
- ;; cannot find the files!
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((kst5 (string-append (assoc-ref outputs "out")
- "/share/kservicetypes5/")))
- (symlink (string-append kst5 "kfileitemactionplugin.desktop")
- (string-append kst5 "kfileitemaction-plugin.desktop")))
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Network transparent access to files and data")
- (description "This framework implements a lot of file management functions.
- It supports accessing files locally as well as via HTTP and FTP out of the box
- and can be extended by plugins to support other protocols as well. There is a
- variety of plugins available, e.g. to support access via SSH. The framework can
- also be used to bridge a native protocol to a file-based interface. This makes
- the data accessible in all applications using the KDE file dialog or any other
- KIO enabled infrastructure.")
- (license license:lgpl2.1+)))
- (define-public kdav
- (package
- (name "kdav")
- (version "5.86.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "1wpybm79nw17dqyql312nizvm3rf54ya1drhgvadry1c2lgmdrf3"))))
- (build-system qt-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("kcoreaddons" ,kcoreaddons)
- ("ki18n" ,ki18n)
- ("kio" ,kio)
- ("qtbase" ,qtbase-5)
- ("qtxmlpatterns" ,qtxmlpatterns)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- ;; Inconsistent test failure: https://bugs.kde.org/show_bug.cgi?id=442935
- (invoke "ctest" "-E" "kdav-davcollectionsmultifetchjobtest")))))))
- (home-page "https://invent.kde.org/frameworks/kdav")
- (synopsis "DAV protocol implementation with KJobs")
- (description "This is a DAV protocol implementation with KJobs. Calendars
- and todos are supported, using either GroupDAV or CalDAV, and contacts are
- supported using GroupDAV or CardDAV.")
- (license ;; GPL for programs, LGPL for libraries
- (list license:gpl2+ license:lgpl2.0+))))
- (define-public knewstuff
- (package
- (name "knewstuff")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1c3mbd1f2hwp4wj1maj7n0d5vmwn77drld3ig0g20l4hvn5biy16"))))
- (build-system cmake-build-system)
- (propagated-inputs
- `(("attica" ,attica)
- ("kservice" ,kservice)
- ("kxmlgui" ,kxmlgui)))
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("karchive" ,karchive)
- ("kauth" ,kauth)
- ("kbookmarks" ,kbookmarks)
- ("kcodecs" ,kcodecs)
- ("kcompletion" ,kcompletion)
- ("kconfig" ,kconfig)
- ("kconfigwidgets" ,kconfigwidgets)
- ("kcoreaddons" ,kcoreaddons)
- ("kio" ,kio)
- ("kitemviews" ,kitemviews)
- ("ki18n" ,ki18n)
- ("kiconthemes" ,kiconthemes)
- ("kjobwidgets" ,kjobwidgets)
- ("kpackage" ,kpackage)
- ("ktextwidgets" ,ktextwidgets)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)
- ("solid" ,solid)
- ("sonnet" ,sonnet)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'check-setup
- (lambda _ ; XDG_DATA_DIRS isn't set
- (setenv "HOME" (getcwd))
- ;; make Qt render "offscreen", required for tests
- (setenv "QT_QPA_PLATFORM" "offscreen")
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Framework for downloading and sharing additional application data")
- (description "The KNewStuff library implements collaborative data sharing
- for applications. It uses libattica to support the Open Collaboration Services
- specification.")
- (license license:lgpl2.1+)))
- (define-public knotifyconfig
- (package
- (name "knotifyconfig")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1slbsh1i7pld7vjsvsgvjyrb5ppzi9y4vfc9zw06kwnkb6m111fs"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("kauth" ,kauth)
- ("kbookmarks" ,kbookmarks)
- ("kcodecs" ,kcodecs)
- ("kcompletion" ,kcompletion)
- ("kconfig" ,kconfig)
- ("kconfigwidgets" ,kconfigwidgets)
- ("kcoreaddons" ,kcoreaddons)
- ("kio" ,kio)
- ("kitemviews" ,kitemviews)
- ("ki18n" ,ki18n)
- ("kjobwidgets" ,kjobwidgets)
- ("knotifications" ,knotifications)
- ("kservice" ,kservice)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("kxmlgui" ,kxmlgui)
- ("phonon" ,phonon)
- ("qtbase" ,qtbase-5)
- ("solid" ,solid)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Configuration dialog for desktop notifications")
- (description "KNotifyConfig provides a configuration dialog for desktop
- notifications which can be embedded in your application.")
- ;; dual licensed
- (license (list license:lgpl2.0+ license:lgpl2.1+))))
- (define-public kparts
- (package
- (name "kparts")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0801far1wzac39cwdlh9nmspx1lvni6ky90ylcw5va69f2ll3ga0"))))
- (build-system qt-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'disable-partloader-test
- (lambda _
- (substitute* "autotests/CMakeLists.txt"
- ;; XXX: PartLoaderTest wants to create a .desktop file
- ;; in the common locations and test that MIME types work.
- ;; The setup required for this is extensive, skip for now.
- (("partloadertest\\.cpp") ""))
- #t)))))
- (propagated-inputs
- `(("kio" ,kio)
- ("ktextwidgets" ,ktextwidgets)
- ("kxmlgui" ,kxmlgui)))
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("shared-mime-info" ,shared-mime-info)))
- (inputs
- `(("kauth" ,kauth)
- ("kbookmarks" ,kbookmarks)
- ("kcodecs" ,kcodecs)
- ("kcompletion" ,kcompletion)
- ("kconfig" ,kconfig)
- ("kconfigwidgets" ,kconfigwidgets)
- ("kcoreaddons" ,kcoreaddons)
- ("kiconthemes" ,kiconthemes)
- ("kitemviews" ,kitemviews)
- ("ki18n" ,ki18n)
- ("kjobwidgets" ,kjobwidgets)
- ("kservice" ,kservice)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("qtbase" ,qtbase-5)
- ("solid" ,solid)
- ("sonnet" ,sonnet)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Plugin framework for user interface components")
- (description "This library implements the framework for KDE parts, which are
- widgets with a user-interface defined in terms of actions.")
- (license license:lgpl2.1+)))
- (define-public kpeople
- (package
- (name "kpeople")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1ybrs1imlkb2q9nwlkc46fhj736273br0pnyhrfaad3cjrb1rqfh"))))
- (build-system qt-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("kconfig" ,kconfig)
- ("kcoreaddons" ,kcoreaddons)
- ("kitemviews" ,kitemviews)
- ("ki18n" ,ki18n)
- ("kservice" ,kservice)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)))
- (arguments
- `(#:tests? #f)) ; FIXME: 1/3 tests fail.
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Provides access to all contacts and aggregates them by person")
- (description "KPeople offers unified access to our contacts from different
- sources, grouping them by person while still exposing all the data. KPeople
- also provides facilities to integrate the data provided in user interfaces by
- providing QML and Qt Widgets components. The sources are plugin-based, allowing
- to easily extend the contacts collection.")
- (license license:lgpl2.1+)))
- (define-public krunner
- (package
- (name "krunner")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "17d31szm2pnmc6cp0ijcm3k4a148fhg4m6ccw34rk4pd5pbbfqai"))))
- (build-system cmake-build-system)
- (propagated-inputs
- `(("plasma-framework" ,plasma-framework)))
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ;; For tests.
- ("dbus" ,dbus)))
- (inputs
- `(("kauth" ,kauth)
- ("kbookmarks" ,kbookmarks)
- ("kcodecs" ,kcodecs)
- ("kcompletion" ,kcompletion)
- ("kconfig" ,kconfig)
- ("kconfigwidgets" ,kconfigwidgets)
- ("kcoreaddons" ,kcoreaddons)
- ("kio" ,kio)
- ("kitemviews" ,kitemviews)
- ("ki18n" ,ki18n)
- ("kjobwidgets" ,kjobwidgets)
- ("kpackage" ,kpackage)
- ("kservice" ,kservice)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("kwindowsystem" ,kwindowsystem)
- ("kxmlgui" ,kxmlgui)
- ("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)
- ("solid" ,solid)
- ("threadweaver" ,threadweaver)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-paths-for-test
- ;; This test tries to access paths like /home, /usr/bin and /bin/ls
- ;; which don't exist in the build-container. Change to existing paths.
- (lambda _
- (substitute* "autotests/runnercontexttest.cpp"
- (("/home\"") "/tmp\"") ;; single path-part
- (("//usr/bin\"") (string-append (getcwd) "\"")) ;; multiple path-parts
- (("/bin/ls" path)
- (string-append (assoc-ref %build-inputs "coreutils") path)))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "HOME" (getcwd))
- (setenv "QT_QPA_PLATFORM" "offscreen")
- (invoke "dbus-launch" "ctest" "-E"
- "(dbusrunnertest|runnermanagersinglerunnermodetest)")))))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Framework for Plasma runners")
- (description "The Plasma workspace provides an application called KRunner
- which, among other things, allows one to type into a text area which causes
- various actions and information that match the text appear as the text is being
- typed.")
- (license license:lgpl2.1+)))
- (define-public kservice
- (package
- (name "kservice")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0fnrzfpzdprbk6rn9xdzmaj7pvg6lm72id23cl29zgp0v09a5qa6"))))
- (build-system cmake-build-system)
- (propagated-inputs
- `(("kconfig" ,kconfig)
- ("kcoreaddons" ,kcoreaddons)))
- (native-inputs
- `(("bison" ,bison)
- ("extra-cmake-modules" ,extra-cmake-modules)
- ("flex" ,flex)
- ("shared-mime-info" ,shared-mime-info)))
- (inputs
- `(("kcrash" ,kcrash)
- ("kdbusaddons" ,kdbusaddons)
- ("kdoctools" ,kdoctools)
- ("ki18n" ,ki18n)
- ("qtbase" ,qtbase-5)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch
- ;; Adopted from NixOS' patches "qdiriterator-follow-symlinks" and
- ;; "no-canonicalize-path".
- (lambda _
- (substitute* "src/sycoca/kbuildsycoca.cpp"
- ;; make QDirIterator follow symlinks
- (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
- (string-append a " | QDirIterator::FollowSymlinks" b)))
- (substitute* "src/sycoca/vfolder_menu.cpp"
- ;; Normalize path, but don't resolve symlinks (taken from
- ;; NixOS)
- (("^\\s*QString resolved = QDir\\(dir\\)\\.canonicalPath\\(\\);")
- "QString resolved = QDir::cleanPath(dir);"))
- #t))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "HOME" (getcwd))
- (setenv "QT_QPA_PLATFORM" "offscreen")
- ;; Disable failing tests.
- (invoke "ctest" "-E" "(kautostarttest|ksycocatest)")))))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Plugin framework for desktop services")
- (description "KService provides a plugin framework for handling desktop
- services. Services can be applications or libraries. They can be bound to MIME
- types or handled by application specific code.")
- ;; triple licensed
- (license (list license:gpl2+ license:gpl3+ license:lgpl2.1+))))
- (define-public ktexteditor
- (package
- (name "ktexteditor")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- "ktexteditor-" version ".tar.xz"))
- (sha256
- (base32
- "1f7f89sv0wbjlwi1wy96viagxv2yzfn9hsh24yr45qzjvghgx0v2"))))
- (build-system cmake-build-system)
- (propagated-inputs
- `(("kparts" ,kparts)))
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(;; TODO: editor-config
- ("karchive" ,karchive)
- ("kauth" ,kauth)
- ("kbookmarks" ,kbookmarks)
- ("kcodecs" ,kcodecs)
- ("kcompletion" ,kcompletion)
- ("kconfig" ,kconfig)
- ("kconfigwidgets" ,kconfigwidgets)
- ("kcoreaddons" ,kcoreaddons)
- ("kguiaddons" ,kguiaddons)
- ("kiconthemes" ,kiconthemes)
- ("kio" ,kio)
- ("kitemviews" ,kitemviews)
- ("ki18n" ,ki18n)
- ("kjobwidgets" ,kjobwidgets)
- ("kservice" ,kservice)
- ("ksyntaxhighlighting" ,ksyntaxhighlighting)
- ("ktextwidgets" ,ktextwidgets)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("kxmlgui" ,kxmlgui)
- ("libgit2" ,libgit2)
- ("perl" ,perl)
- ("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)
- ("qtscript" ,qtscript)
- ("qtxmlpatterns" ,qtxmlpatterns)
- ("solid" ,solid)
- ("sonnet" ,sonnet)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'setup
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "XDG_DATA_DIRS" ; FIXME build phase doesn't find parts.desktop
- (string-append (assoc-ref inputs "kparts") "/share"))
- #t))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests? ;; Maybe locale issues with tests?
- (setenv "QT_QPA_PLATFORM" "offscreen")
- (invoke "ctest" "-E" "(kateview_test|movingrange_test)"))
- #t))
- (add-after 'install 'add-symlinks
- ;; Some package(s) (e.g. plasma-sdk) refer to these service types
- ;; by the wrong name. I would prefer to patch those packages, but
- ;; I cannot find the files!
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((kst5 (string-append (assoc-ref outputs "out")
- "/share/kservicetypes5/")))
- (symlink (string-append kst5 "ktexteditorplugin.desktop")
- (string-append kst5 "ktexteditor-plugin.desktop"))
- #t))))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Full text editor component")
- (description "KTextEditor provides a powerful text editor component that you
- can embed in your application, either as a KPart or using the KF5::TextEditor
- library.")
- ;; triple licensed
- (license (list license:gpl2+ license:lgpl2.0+ license:lgpl2.1+))))
- (define-public ktextwidgets
- (package
- (name "ktextwidgets")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1hdwq4kphy7vdy6fg32z8slg8jkz4npd85dsjh6qkrvwpzbbl7yn"))))
- (build-system qt-build-system)
- (propagated-inputs
- `(("ki18n" ,ki18n)
- ("sonnet" ,sonnet)))
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("qttools" ,qttools)))
- (inputs
- `(("kauth" ,kauth)
- ("kcodecs" ,kcodecs)
- ("kcompletion" ,kcompletion)
- ("kconfig" ,kconfig)
- ("kconfigwidgets" ,kconfigwidgets)
- ("kcoreaddons" ,kcoreaddons)
- ("kiconthemes" ,kiconthemes)
- ("kservice" ,kservice)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("kwindowsystem" ,kwindowsystem)
- ("qtbase" ,qtbase-5)
- ("qtspeech" ,qtspeech)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Text editing widgets")
- (description "KTextWidgets provides widgets for displaying and editing text.
- It supports rich text as well as plain text.")
- ;; dual licensed
- (license (list license:lgpl2.0+ license:lgpl2.1+))))
- (define-public kwallet
- (package
- (name "kwallet")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "075djy98bfgxkx5s20h49flxmc20zi8h7bam6f4hgh5vcr0lbwlb"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("gpgme" ,gpgme)
- ("kauth" ,kauth)
- ("kcodecs" ,kcodecs)
- ("kconfig" ,kconfig)
- ("kconfigwidgets" ,kconfigwidgets)
- ("kcoreaddons" ,kcoreaddons)
- ("kdbusaddons" ,kdbusaddons)
- ("kdoctools" ,kdoctools)
- ("kiconthemes" ,kiconthemes)
- ("ki18n" ,ki18n)
- ("knotifications" ,knotifications)
- ("kservice" ,kservice)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("kwindowsystem" ,kwindowsystem)
- ("libgcrypt" ,libgcrypt)
- ("phonon" ,phonon)
- ("qgpgme" ,qgpgme)
- ("qtbase" ,qtbase-5)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Safe desktop-wide storage for passwords")
- (description "This framework contains an interface to KWallet, a safe
- desktop-wide storage for passwords and the kwalletd daemon used to safely store
- the passwords on KDE work spaces.")
- (license license:lgpl2.1+)))
- (define-public kxmlgui
- (package
- (name "kxmlgui")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0y8kkqxsppv9h2wvgr76g23kzx0qb669cqbq13whhy0s5rmyxp0h"))))
- (build-system cmake-build-system)
- (propagated-inputs
- `(("kconfig" ,kconfig)
- ("kconfigwidgets" ,kconfigwidgets)))
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("qttools" ,qttools)))
- (inputs
- `(("attica" ,attica)
- ("kauth" ,kauth)
- ("kcodecs" ,kcodecs)
- ("kguiaddons" ,kguiaddons)
- ("kcoreaddons" ,kcoreaddons)
- ("kglobalaccel" ,kglobalaccel)
- ("kiconthemes" ,kiconthemes)
- ("kitemviews" ,kitemviews)
- ("ki18n" ,ki18n)
- ("ktextwidgets" ,ktextwidgets)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("kwindowsystem" ,kwindowsystem)
- ("qtbase" ,qtbase-5)
- ("sonnet" ,sonnet)))
- (arguments
- `(#:tests? #f ; FIXME: 1/5 tests fail.
- #:phases
- (modify-phases %standard-phases
- (add-before 'check 'check-setup
- (lambda _
- (setenv "HOME" (getcwd))
- ;; make Qt render "offscreen", required for tests
- (setenv "QT_QPA_PLATFORM" "offscreen")
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Framework for managing menu and toolbar actions")
- (description "KXMLGUI provides a framework for managing menu and toolbar
- actions in an abstract way. The actions are configured through a XML description
- and hooks in the application code. The framework supports merging of multiple
- descriptions for integrating actions from plugins.")
- ;; dual licensed
- (license (list license:gpl2+ license:lgpl2.1+))))
- (define-public kxmlrpcclient
- (package
- (name "kxmlrpcclient")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "13av5ycwfl6580s0hpkxgak4dwm5i5xwvsxr44cxr8mj72syllnq"))))
- (build-system cmake-build-system)
- (propagated-inputs
- `(("kio" ,kio)))
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(("kauth" ,kauth)
- ("kbookmarks" ,kbookmarks)
- ("kcodecs" ,kcodecs)
- ("kcompletion" ,kcompletion)
- ("kconfig" ,kconfig)
- ("kconfigwidgets" ,kconfigwidgets)
- ("kcoreaddons" ,kcoreaddons)
- ("kitemviews" ,kitemviews)
- ("ki18n" ,ki18n)
- ("kjobwidgets" ,kjobwidgets)
- ("kservice" ,kservice)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("kxmlgui" ,kxmlgui)
- ("qtbase" ,qtbase-5)
- ("solid" ,solid)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "XML-RPC client")
- (description "This library contains simple XML-RPC Client support. It is a
- complete client and is easy to use. Only one interface is exposed,
- kxmlrpcclient/client.h and from that interface, you only need to use 3 methods:
- setUrl, setUserAgent and call.")
- ;; dual licensed
- (license (list license:bsd-2 license:lgpl2.1+))))
- (define-public plasma-framework
- (package
- (name "plasma-framework")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "17dfxqqw02430zfzncx1gdw4b4ab5mzwb3svq5xsjw0k4vh1airh"))))
- (build-system cmake-build-system)
- (propagated-inputs
- `(("kpackage" ,kpackage)
- ("kservice" ,kservice)))
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("kactivities" ,kactivities)
- ("karchive" ,karchive)
- ("kauth" ,kauth)
- ("kbookmarks" ,kbookmarks)
- ("kcodecs" ,kcodecs)
- ("kcompletion" ,kcompletion)
- ("kconfig" ,kconfig)
- ("kconfigwidgets" ,kconfigwidgets)
- ("kcoreaddons" ,kcoreaddons)
- ("kdbusaddons" ,kdbusaddons)
- ("kdeclarative" ,kdeclarative)
- ("kdoctools" ,kdoctools)
- ("kglobalaccel" ,kglobalaccel)
- ("kguiaddons" ,kguiaddons)
- ("kiconthemes" ,kiconthemes)
- ("kirigami" ,kirigami)
- ("kitemviews" ,kitemviews)
- ("kio" ,kio)
- ("ki18n" ,ki18n)
- ("kjobwidgets" ,kjobwidgets)
- ("knotificantions" ,knotifications)
- ("kwayland" ,kwayland)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("kwindowsystem" ,kwindowsystem)
- ("kxmlgui" ,kxmlgui)
- ;; XXX: "undefined reference to `glGetString'" errors occur without libglvnd,
- ("libglvnd" ,libglvnd)
- ("phonon" ,phonon)
- ("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)
- ("qtquickcontrols2" ,qtquickcontrols2)
- ("qtsvg" ,qtsvg)
- ("qtx11extras" ,qtx11extras)
- ("solid" ,solid)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "HOME" (getcwd))
- (setenv "QT_QPA_PLATFORM" "offscreen") ;; These tests fail
- (invoke "ctest" "-E" (string-append "(plasma-dialogstatetest"
- "|plasma-iconitemtest"
- "|plasma-themetest"
- "|dialognativetest)")))
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Libraries, components and tools of Plasma workspaces")
- (description "The plasma framework provides QML components, libplasma and
- script engines.")
- ;; dual licensed
- (license (list license:gpl2+ license:lgpl2.1+))))
- (define-public purpose
- (package
- (name "purpose")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "18xvihyn6897vwk1x2y4xcmafdc2gqmxs58sjm17gm87xzxyc8k7"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)))
- (inputs
- `(;;TODO: ("kaccounts" ,kaccounts)
- ("kconfig" ,kconfig)
- ("kcoreaddons" ,kcoreaddons)
- ("knotifications" ,knotifications)
- ("ki18n" ,ki18n)
- ("kio" ,kio)
- ("kirigami" ,kirigami)
- ("qtbase" ,qtbase-5)
- ("qtdeclarative" ,qtdeclarative)))
- (arguments
- `(#:tests? #f ;; seem to require network; don't find QTQuick components
- #:configure-flags '("-DBUILD_TESTING=OFF"))) ; not run anyway
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "Offers available actions for a specific purpose")
- (description "This framework offers the possibility to create integrate
- services and actions on any application without having to implement them
- specifically. Purpose will offer them mechanisms to list the different
- alternatives to execute given the requested action type and will facilitate
- components so that all the plugins can receive all the information they
- need.")
- (license license:lgpl2.1+)))
- ;; This version of kdbusaddons does not use kinit as an input, and is used to
- ;; build kinit-bootstrap, as well as bootstrap versions of all kinit
- ;; dependencies which also rely on kdbusaddons.
- (define kdbusaddons-bootstrap
- (package
- (inherit kdbusaddons)
- (source (origin
- (inherit (package-source kdbusaddons))
- (patches '())))
- (inputs (alist-delete "kinit" (package-inputs kdbusaddons)))
- (arguments
- (substitute-keyword-arguments (package-arguments kdbusaddons)
- ((#:phases phases)
- `(modify-phases ,phases
- (delete 'patch-source)))))))
- (define kinit-bootstrap
- ((package-input-rewriting `((,kdbusaddons . ,kdbusaddons-bootstrap))) kinit))
- ;; Tier 4
- ;;
- ;; Tier 4 frameworks can be mostly ignored by application programmers; this
- ;; tier consists of plugins acting behind the scenes to provide additional
- ;; functionality or platform integration to existing frameworks (including
- ;; Qt).
- (define-public kde-frameworkintegration
- (package
- (name "kde-frameworkintegration")
- (version "5.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- "frameworkintegration-" version ".tar.xz"))
- (sha256
- (base32
- "0s966pmmykq9dkjhid6wh99v9h3dl5qjdxzyn155higz7p67finl"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("pkg-config" ,pkg-config)))
- ;; TODO: Optional packages not yet in Guix: packagekitqt5, AppStreamQt
- (inputs
- `(("kconfig" ,kconfig)
- ("kconfigwidgets" ,kconfigwidgets)
- ("kcoreaddons" ,kcoreaddons)
- ("ki18n" ,ki18n)
- ("kiconthemes" ,kiconthemes)
- ("kitemviews" ,kitemviews)
- ("knewstuff" ,knewstuff)
- ("knotificantions" ,knotifications)
- ("kpackage" ,kpackage)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("qtbase" ,qtbase-5)
- ("qtx11extras" ,qtx11extras)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'check-setup
- (lambda _
- (setenv "HOME" (getcwd))
- ;; Make Qt render "offscreen", required for tests
- (setenv "QT_QPA_PLATFORM" "offscreen")
- #t)))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "KDE Frameworks 5 workspace and cross-framework integration plugins")
- (description "Framework Integration is a set of plugins responsible for
- better integration of Qt applications when running on a KDE Plasma
- workspace.")
- ;; This package is distributed under either LGPL2 or LGPL3, but some
- ;; files are explicitly LGPL2+.
- (license (list license:lgpl2.0 license:lgpl3 license:lgpl2.0+))
- (properties `((upstream-name . "frameworkintegration")))))
- ;; Porting Aids
- ;;
- ;; Porting Aids frameworks provide code and utilities to ease the transition
- ;; from kdelibs 4 to KDE Frameworks 5. Code should aim to port away from this
- ;; framework, new projects should avoid using these libraries.
- (define-public kdelibs4support
- (package
- (name "kdelibs4support")
- (version "5.86.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/portingAids/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "1ss2viwnksvx24kwpg9x6fk0wfwd0cx84723nb83z5n42lfh07ch"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("dbus" ,dbus)
- ("docbook-xml" ,docbook-xml-4.4) ; optional
- ("extra-cmake-modules" ,extra-cmake-modules)
- ("perl" ,perl)
- ("perl-uri" ,perl-uri)
- ("pkg-config" ,pkg-config)
- ("shared-mime-info" ,shared-mime-info)
- ("kjobwidgets" ,kjobwidgets) ;; required for running the tests
- ("strace" ,strace)
- ("tzdata" ,tzdata-for-tests)
- ("qttools" ,qttools)))
- (propagated-inputs
- ;; These are required to be installed along with this package, see
- ;; lib64/cmake/KF5KDELibs4Support/KF5KDELibs4SupportConfig.cmake
- `(("karchive" ,karchive)
- ("kauth" ,kauth)
- ("kconfigwidgets" ,kconfigwidgets)
- ("kcoreaddons" ,kcoreaddons)
- ("kcrash" ,kcrash)
- ("kdbusaddons" ,kdbusaddons)
- ("kdesignerplugin" ,kdesignerplugin)
- ("kdoctools" ,kdoctools)
- ("kemoticons" ,kemoticons)
- ("kguiaddons" ,kguiaddons)
- ("kiconthemes" ,kiconthemes)
- ("kinit" ,kinit)
- ("kitemmodels" ,kitemmodels)
- ("knotifications" ,knotifications)
- ("kparts" ,kparts)
- ("ktextwidgets" ,ktextwidgets)
- ("kunitconversion" ,kunitconversion)
- ("kwindowsystem" ,kwindowsystem)
- ("qtbase" ,qtbase-5)))
- (inputs
- `(("kcompletion" ,kcompletion)
- ("kconfig" ,kconfig)
- ("kded" ,kded)
- ("kglobalaccel" ,kglobalaccel)
- ("ki18n" ,ki18n)
- ("kio" ,kio)
- ("kservice" ,kservice)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("kxmlgui" ,kxmlgui)
- ("libsm" ,libsm)
- ("networkmanager-qt" ,networkmanager-qt)
- ("openssl" ,openssl)
- ("qtsvg" ,qtsvg)
- ("qtx11extras" ,qtx11extras)))
- ;; FIXME: Use Guix ca-bundle.crt in etc/xdg/ksslcalist and
- ;; share/kf5/kssl/ca-bundle.crt
- ;; TODO: NixOS has nix-kde-include-dir.patch to change std-dir "include"
- ;; into "@dev@/include/". Think about whether this is needed for us, too.
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'make-cmake-to-find-docbook
- (lambda _
- (substitute* "cmake/FindDocBookXML4.cmake"
- (("^.*xml/docbook/schema/dtd.*$")
- "xml/dtd/docbook\n"))
- #t))
- (delete 'check)
- (add-after 'install 'check-post-install
- (lambda* (#:key inputs tests? #:allow-other-keys)
- (setenv "HOME" (getcwd))
- (setenv "TZDIR" ; KDateTimeTestsome needs TZDIR
- (search-input-directory inputs
- "share/zoneinfo"))
- ;; Make Qt render "offscreen", required for tests
- (setenv "QT_QPA_PLATFORM" "offscreen")
- ;; enable debug output
- (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug output
- (setenv "DBUS_FATAL_WARNINGS" "0")
- ;; Make kstandarddirstest pass (see https://bugs.kde.org/381098)
- (mkdir-p ".kde-unit-test/xdg/config")
- (with-output-to-file ".kde-unit-test/xdg/config/foorc"
- (lambda () #t)) ;; simply touch the file
- ;; Blacklist a test-function (failing at build.kde.org, too).
- (with-output-to-file "autotests/BLACKLIST"
- (lambda _
- (display "[testSmb]\n*\n")))
- ;; kuniqueapptest hangs. FIXME: Make this test pass.
- (invoke "dbus-launch" "ctest"
- "-E" "kstandarddirstest|kuniqueapptest"))))))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "KDE Frameworks 5 porting aid from KDELibs4")
- (description "This framework provides code and utilities to ease the
- transition from kdelibs 4 to KDE Frameworks 5. This includes CMake macros and
- C++ classes whose functionality has been replaced by code in CMake, Qt and
- other frameworks.
- Code should aim to port away from this framework eventually. The API
- documentation of the classes in this framework and the notes at
- http://community.kde.org/Frameworks/Porting_Notes should help with this.")
- ;; Most files are distributed under LGPL2+, but the package includes code
- ;; under a variety of licenses.
- (license (list license:lgpl2.1+ license:lgpl2.0 license:lgpl2.0+
- license:gpl2 license:gpl2+
- license:expat license:bsd-2 license:bsd-3
- license:public-domain))))
- (define-public khtml
- (package
- (name "khtml")
- (version "5.86.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/portingAids/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "18q6hc4a41jqrmc2npidbp4h79q34wqjx78jv8w5n3s6kizhqvhl"))))
- (build-system qt-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("perl" ,perl)))
- (inputs
- `(("giflib" ,giflib)
- ("gperf" ,gperf)
- ("karchive" ,karchive)
- ("kcodecs" ,kcodecs)
- ("kglobalaccel" ,kglobalaccel)
- ("ki18n" ,ki18n)
- ("kiconthemes" ,kiconthemes)
- ("kio" ,kio)
- ("kjs" ,kjs)
- ("knotifications" ,knotifications)
- ("kparts" ,kparts)
- ("ktextwidgets" ,ktextwidgets)
- ("kwallet" ,kwallet)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("kwindowsystem" ,kwindowsystem)
- ("kxmlgui" ,kxmlgui)
- ("libjpeg" ,libjpeg-turbo)
- ("libpng" ,libpng)
- ("openssl" ,openssl)
- ("phonon" ,phonon)
- ("qtbase" ,qtbase-5)
- ("qtx11extras" ,qtx11extras)
- ("sonnet" ,sonnet)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "KDE Frameworks 5 HTML widget and component")
- (description "KHTML is a web rendering engine, based on the KParts
- technology and using KJS for JavaScript support.")
- ;; Most files are distributed under LGPL2+, but the package includes code
- ;; under a variety of licenses.
- (license (list license:lgpl2.0+ license:lgpl2.1+
- license:gpl2 license:gpl3+
- license:expat license:bsd-2 license:bsd-3))))
- (define-public kjs
- (package
- (name "kjs")
- (version "5.86.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/portingAids/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "0gk5za2xyavxm56gxpx1x6jlkgaxhn7mcgdqb60z85372g2kvqg2"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("kdoctools" ,kdoctools)
- ("perl" ,perl)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("pcre" ,pcre)
- ("qtbase" ,qtbase-5)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "KDE Frameworks 5 support for Javascript scripting in Qt
- applications")
- (description "Add-on library to Qt which adds JavaScript scripting
- support.")
- ;; Most files are distributed under LGPL2+, but the package also includes
- ;; code under a variety of licenses.
- (license (list license:lgpl2.1+
- license:bsd-2 license:bsd-3
- (license:non-copyleft "file://src/kjs/dtoa.cpp")))))
- (define-public kjsembed
- (package
- (name "kjsembed")
- (version "5.86.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/portingAids/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "1qash24j0y35j179kbmsp1wg30c97cy1z05vidqg9b7id57c2d5p"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("kdoctools" ,kdoctools)
- ("qttools" ,qttools)))
- (inputs
- `(("ki18n" ,ki18n)
- ("kjs" ,kjs)
- ("qtbase" ,qtbase-5)
- ("qtsvg" ,qtsvg)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "KDE Frameworks 5 embedded Javascript engine for Qt")
- (description "KJSEmbed provides a method of binding Javascript objects to
- QObjects, so you can script your applications.")
- (license license:lgpl2.1+)))
- (define-public kmediaplayer
- (package
- (name "kmediaplayer")
- (version "5.86.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/portingAids/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "182bg9cbn1m9flp8fqf5v37mjd1kwap16bvg13k9jagr1g9zmar4"))))
- (build-system qt-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("kdoctools" ,kdoctools)
- ("qttools" ,qttools)))
- (inputs
- `(("kcompletion" ,kcompletion)
- ("kcoreaddons" ,kcoreaddons)
- ("ki18n" ,ki18n)
- ("kiconthemes" ,kiconthemes)
- ("kio" ,kio)
- ("kparts" ,kparts)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("kxmlgui" ,kxmlgui)
- ("qtbase" ,qtbase-5)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "KDE Frameworks 5 plugin interface for media player features")
- (description "KMediaPlayer builds on the KParts framework to provide a
- common interface for KParts that can play media files.
- This framework is a porting aid. It is not recommended for new projects, and
- existing projects that use it are advised to port away from it, and use plain
- KParts instead.")
- (license license:expat)))
- (define-public kross
- (package
- (name "kross")
- (version "5.86.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/portingAids/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "1x7xc35ix83hks25hnwd2l8h1aw4zx8x32if8jbvwfw957i02gdf"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("extra-cmake-modules" ,extra-cmake-modules)
- ("kdoctools" ,kdoctools)
- ("qttools" ,qttools)))
- (inputs
- `(("kcompletion" ,kcompletion)
- ("kcoreaddons" ,kcoreaddons)
- ("ki18n" ,ki18n)
- ("kiconthemes" ,kiconthemes)
- ("kparts" ,kparts)
- ("kwidgetsaddons" ,kwidgetsaddons)
- ("kxmlgui" ,kxmlgui)
- ("qtbase" ,qtbase-5)
- ("qtscript" ,qtscript)))
- (home-page "https://community.kde.org/Frameworks")
- (synopsis "KDE Frameworks 5 solution for application scripting")
- (description "Kross is a scripting bridge for the KDE Development Platform
- used to embed scripting functionality into an application. It supports
- QtScript as a scripting interpreter backend.
- Kross provides an abstract API to provide scripting functionality in a
- interpreter-independent way. The application that uses Kross should not need
- to know anything about the scripting language being used. The core of Kross
- provides the framework to deal transparently with interpreter-backends and
- offers abstract functionality to deal with scripts.")
- ;; Most files are distributed under LGPL2+, but the package includes code
- ;; under a variety of licenses.
- (license (list license:lgpl2.0+ license:lgpl2.1+
- license:lgpl2.0 license:gpl3+))))
|