Work in Progress. Listing dependencies of Kleopatra and why they are needed.

Libkleo

Dependency Reason Part of gpg4win (branch kleo-kf5) Plans for replacement
Qt5Widgets Uses Qt Widgets X No.
Qt5Gui Dependency of QtWidgets X No.
Qt5Core Dependency of QtWidgets X No.
Qt5Tools Dependency of KF5Config (for translation) X No.
Qt5WinExtras Dependecny of KF5WindowSystem X No. Rather use it more for better Windows integration.
KF5I18n (Tier1) Required for translations X No. We want KDE translations.
KF5Config (Tier1) Used for libkleopatrarc parsing X No. Lightweight enough.
KF5WidgetsAddons KMessageBox, probably more X Maybe make it Optional and use QWidgets.
KF5Gpgmepp Gpgme++ X Moving in gpgme repo and depend on that.
KF5Completion Used for KLineedit which is used in configuration dailogs and for filenames X Maybe just dropping the completion. On the other hand it only depends con KF5Config and KF5WidgetsAddons
KF5WindowSystem Used to set the Icon of the keyselectiondialog X Yes. Figure out why this is neccessary and then think of something.
KF5CoreAddons At least KShell is used to shell execute the checksumcommands X Maybe. Tier 1 so it does not hurt.
Boost Dependency of Gpgme++ Used for Smart Pointers, tuple, assert, split algo and classifcation algo X Yes please but this would constitute API breakage :-/
KF5PimTextEdit Richtextedit used in the audit log viewer Optional. Not used in Gpg4win.

Kleopatra (Only depdendencies not already listed or with new usage)

Dependency Reason Part of gpg4win (branch kleo-kf5) Plans for replacement
libassuan For Uiserver X None. But no longer make it optional but a hard requirement to simplify things
KF5Libkleo Core library None.
KF5Mime Used for E-Mail / Mailbox parsing None. Bit of an overkill for the usage but E-Mail parsing is not trivial.
KF5Codecs Needed by KF5MIME See KF5Mime
KF5XmlGui Needed for configurable GUI. Yes even with loss of functionality as it has too heavy dependencies This will be hard.
KF5IconThemes IconLoader used in serveral places. QIcon ?
KF5WindowSystem Used for Window activation. Once for icon set like libkleo.
KF5KCMUtils Config dialogs Heavy dependencies. Make it Optional for KDE Integration. Not useful on Windows
Qt5Network QTcpServer implemented for the UIServer socket Overkill? Maybe more lightweight with libassuan directly.
libkdepim Progresswidget and overlaywidget Copy Sources?
KF5DbusAddons Used for KDbusUniqueApplication Replace by Windowmessage on Windows like lokalize

See: KDE's phabricator for details on dependency removal

Gpg4win/KleopatraDependencies (last edited 2016-01-25 15:04:47 by AndreHeinecke)