123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945 |
- ;;; 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 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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1axwz0p3ggjpcxpqqlyng3fa2pxmjxgybncgkp8i81i7iq6sf72l"))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0wjfrlmwg03js544xjlpznxxqv14cj40fpzbfnlj24kjgd1ai8dq"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1shk3riddgdb0i6f0603hbhww13z1b566rdaplxsbgk8cyhl5acz"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "19f7n4r6b0b1l8hc79xbj8gc18xf488bk4i0wdbw22x9vwl4h58h"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0iyla9i4ln6w9wkm4dand53ir6gzsm4180diwi9p2q5mfrk0rvja"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0d8wqrynwmqazlf5v7qas9akrvcwr4lrqg3dcbnq61mmc252wgqh"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0ig2w0dxrf9ih9hqk5rvqqmyhg658m1hs4807zl66llplkr58q0n"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1fb8agbkwxnxb0hlzz0ya460z3ihn9qz2zvjdxvk21rjhmp1alh7"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1l8px5qpf5qfma24filim1swblgbdvnf25pc38qc6s79inkganrl"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "19pdpz7jjknccaqc2i6zfmclmrk60clzanvx72ryvh7yb0xyk7yj"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "14xmrvak95aqc98a6k6ldg1w4g7syx2xng3vgvwj9wzpzr3shp6p"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1rs8i75qm1vazy8cnvcv3sha6faf27bav491z8brcs8fiab96dnw"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1k88x22f8db90x28fryg6cp239sfs0zrjk18l72v09bg3zc7y1lh"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "1ca51vkmwwrl1fvs2fw16nvpmag2licywwmwjiaapkk8hv6v1gzm"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0395khchbhp7x4fgb2fwxlpx0mhdvbkgd0v7kwgmm0n4bkn7jphi"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1m0p602i9c4dmkll3g8flmzq23ywv20rxnvzc1c8bf5kqn6321qp"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- "kirigami2-" version ".tar.xz"))
- (sha256
- (base32
- "1wvj0nnb1dd1k12arlmlx99gjhk7v2jpw5sgyjka6kkps31nr1zi"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1qx78pfbnwsq8nn6fa8qjjc0zn4nwh4dqs0ifb9iaam33cl3kw92"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1nrg92nyc39fl1n7k38pa4k8dahwl76wadv0v0ixyh1zx0x4clbg"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1np6rqrxldnhz82ak291kr87zqccmp9a3v4gvxl0xsm2qnpzxlxz"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- "syntax-highlighting-" version ".tar.xz"))
- (sha256
- (base32
- "148wm3qdjkwzvcm51x3cppsxl4rylbjyjp1pfh6545fhikm5nqi6"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "03lrlprvc3bj43f0l0dirg93l7amzlcx4ajaqh9h54g030qanfmc"))))
- (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.
- ;; kwayland-testXdgForeign
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "00gv9lxiah6yg8lxjd0md0zyvhi7zc9s6fg14jfh0cb1i0zrn49b"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0rxmpawp5g46xp5irk1gcdq6n2y9r9vlx1dm5gpqhcfh7gr64ja2"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1ag98r2hhd93gki3dvlz48sgqc2805b0p0w4m0az0czvxnclg0rk"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0a4sxcm88mfry1sjc4r0qx5aqmbb61ghmd912wqk19nx18qgkm5y"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "5" "-" version ".tar.xz"))
- (sha256
- (base32
- "0mpxv2m6nkl1cp3p0xgpm916k2ykvkyk0x0ka4azs8iyy0anc36m"))))
- (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.87.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "0vb8ny4za37v4nmcy9qw8zz5zcr46clci9lg22s84f26l4vlcs87"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "02i4rg5gf7i63lm4f0afm9n3lgzvklpbg43d0zcsdwzph386baq7"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0zmcc4ryp4j93999f0fgwvchs4gycbynsz0wghrhdqkfhsjvhqra"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1cc9j9ks33s6amr01a7ywnqiqvm498vlmqqva40ddvkfq1azxmhs"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1gqpzv2ijw66fpvaqv66xsglh19lv0k4j9i505xmmkzlyddbhkch"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1ynngg9x70dwcnn4ncf7h63hj5p187d4mk1aqriax0iz21mfjmp9"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1gbq487v2nn0zyis6xdvsn0mz7yy131vafq76jdi7b6nyh5c1lgi"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "15c9sgdgw6cf5y2jjgjlsxn0p0pxvrmhzcyq05d9fqhy185ng03p"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "02zyirvds572rxbdc47ncs71a66z5hql0vpj8lx1zpr0nnvpvlcv"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1l48dn5vqn4lns57v61p1a8r3pklx4xclsa3890pjf6iviqxf22r"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0md5wiv5mv4q63g9ads8d0xg8qxlh91dqgyg66n8abcg56qq83ps"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1nh4gzprc588q8zfz94j76x3vvf77cnsc30xrs07316726mksw2i"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0c4qq5j6hzz90kh7mmirafglr9l5wck3r67ij436gpmq69ignvmg"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0s0g4dygc6c9p5w7vdk7bninizsdhj5xan351x15b4k0ddgq8sz5"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "03zraci1lnzz3d5i97i2m2h4z8xp4fmm28aizk3xipqkgy3q61c3"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1dmhj1byxmk407mcz62ydrzzjab6c4da22blkm4f5das79blkdsy"))
- ;; 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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1qd2lj53m0gbpmfilwrcz5v2m735daqlxj2qv1j5m28b3bjwz2li"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1b5yvs0inr0kj7i4j5yavlxz6n8h3d2wbgw39r2harzxd4xjzz4h"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1xbs83smgqzk01r7nds6p74v9n1pa0zhlafbbxlj2m226p1zf8bs"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0h55hn6klsq19l44qzc95l1r7hx2zr9hr4ysxd8kvcxc02imaswb"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1n7jzbfwgwclnrnssxm180fis74qp3v9nximhc0l8fmb8ac1f106"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0klws0psdq9vx09p38ckki7aqbdkcns1smk8ckj79krpsjv8q9nx"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "09pcif2gmkbhwqb8cxfs89nw81wdpdsd4a2n7xdm1xz6lpwwmk1h"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "18m3nqlp87am2w8my4y933ck9k3cs5q62nkhbp8ngaavw8cfbd84"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0zx4alsqk3vqfgyi6x7v2mcar92j3swmg0ms0b9mjl95bvpgi4k7"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "18dw1dd2lmwsh04yan1q72c5lzcgzm9kig1rqag3rg81h7pclsr5"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/portingAids/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "12rckqvg6w5cycvmxbrkvxi7ysfk6bqk3yi1ik4ryqh4x5dz2am9"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "05bb3hcb00j1f047q6ngbb8arrp4s03da880sky0slvvicm4ynkr"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/portingAids/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1a578sa6nfp2vycrrhc37idwg47nrrfhv6dp8rfb2gj4vf67bzcv"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0iah6ws0x9xnm900rii2k82gf155cbwlnxbz2rxbybp1dmbjbz5y"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1wk6mxq6ylkvalcwbrkmc0whvkbllkfwnsf4hxz86cnixqb7ybjh"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "04chb3y3d6hxwy9f1xdifvl2mbcd8xbh7fv6x5m5vnb1cviwc6j7"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0435syvhisagbq82qcbims5adq88ivv793gvb3kx03hxhyyx81xs"))
- ;; 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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0sxwrqvfkqm679v99lx50vd2p4bx10pdzrjhxg0njfwww2fxa7mr"))
- (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.87.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "0sb1g0wdpql5gw52nxhzkk1wa9md2k25lwyf902g3pf7ahdgdk5z"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0xnilr3r3l36g3j7a2nf2kqmill22ibrr6qfniqcywmcqpnq7x4q"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0jd5yzjg625ixm3fbmpafvg6wc69cvppqr0z0y0wzkbzbd930ggh"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0jmjyvrskhvnp0w1d9l9k5azwf1ppda97qp2801179x77bgdfbgi"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "002qnfxyrzv9jr1z86ih7v7bprbpfx311s646rbmjc6c9wqa5a1a"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0ygqfaif9xp30ahrld85xzsgmfmy51560hl8ym8shggwar20kb1s"))))
- (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")
- (search-input-file %build-inputs "/bin/ls")))))
- (add-before 'check 'check-setup
- (lambda _
- (setenv "HOME" (getcwd))
- ;; make Qt render "offscreen", required for tests
- (setenv "QT_QPA_PLATFORM" "offscreen")
- ;; Blacklist some failing test-functions. FIXME: Make them pass.
- (with-output-to-file "bin/BLACKLIST"
- (lambda _
- (display "[testMatch]\n*\n")
- (display "[testMulti]\n*\n")))
- #t))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0a3fcqhwbzqwy9wy1787p8hr1s1jfmz3y1dk2spiifwk9l668mxn"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- "ktexteditor-" version ".tar.xz"))
- (sha256
- (base32
- "13dnwf2zvp3k6xb0ry5a11gaf2j7x2swhq8d689w4gf3awpma7rg"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "04gmqw8wjf6r8lpsjcsg0925a6b6hnckzy5i9ykvian1kq2d79fr"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1a2qiwhf6hwh6qs9x84hz1ryaaqqm8bpg9v29kjy6cq9krn3mwar"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1wnss0rjspgih3m2a3faflamf7n681k8sf8pzrcsrvvrzq95n65i"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "03l5zs4l52f3w01hsk00r8hmnccyy3iw2vhiclvpp6dksmb8yad7"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1y7w4b7jb8rnkfan97yln5w9w68skrmif4wqqba4f9mj6y2dcajb"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "0ddpm2hm3x1p25hkjzff4vs906n5bkkk4j3myh0gvyqn8accdhsd"))))
- (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.87.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- "frameworkintegration-" version ".tar.xz"))
- (sha256
- (base32
- "1bbgxqgy28abrk2cgzj7k2m18xmkl9kw58dal03pzlmh77br00lb"))))
- (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.87.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/portingAids/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "17kw76fd97rhdyna3dc7hsajvd8bv9l71qx0xaqn65pvzbndf2jf"))))
- (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.87.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/portingAids/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "1jxpznzw4r8ikx0g5n1fg0qrkllph5cwih4lcvwjn6cqx2ypgn6f"))))
- (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.87.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/portingAids/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "1ihwhjgk3k2nmyfg2brdjriymm2qi5dgmh47phmb9b2gvzqx6yg8"))))
- (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.87.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/portingAids/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "0j8b637k8vx2qhl3zf6744ywykv6hnfcs2xgsq0i8w5ji0a2jigv"))))
- (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.87.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/portingAids/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "0mrmb7q4wmj8v9ipb9vh4c8scl1mr0frz3yvpc96dyimvb87pp08"))))
- (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.87.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/portingAids/"
- name "-" version ".tar.xz"))
- (sha256
- (base32 "1nnyl67b43064y5gvj7ccvzz5481vbaycjhxxzgf4iaj0qm2vpfh"))))
- (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+))))
|