diff --git a/desktop/kde6/applications/akonadi-calendar-tools-kf6/actions.py b/desktop/kde6/applications/akonadi-calendar-tools-kf6/actions.py new file mode 100755 index 0000000000..dc7d4ed6e8 --- /dev/null +++ b/desktop/kde6/applications/akonadi-calendar-tools-kf6/actions.py @@ -0,0 +1,21 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/copyleft/gpl.txt + +from pisi.actionsapi import kde6 +from pisi.actionsapi import pisitools + + +def setup(): + kde6.configure() + +def build(): + kde6.make() + +def install(): + kde6.install() + + + pisitools.dodoc("LICENSES/*") + diff --git a/desktop/kde6/applications/akonadi-calendar-tools-kf6/files/qt5.patch b/desktop/kde6/applications/akonadi-calendar-tools-kf6/files/qt5.patch new file mode 100755 index 0000000000..ffe62b987d --- /dev/null +++ b/desktop/kde6/applications/akonadi-calendar-tools-kf6/files/qt5.patch @@ -0,0 +1,12 @@ +diff -Nuar a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt 2017-12-08 04:02:08.000000000 +0300 ++++ b/CMakeLists.txt 2017-12-17 11:30:46.413624475 +0300 +@@ -46,7 +46,7 @@ + set(KDEPIM_LIB_VERSION "${KDEPIM_VERSION_NUMBER}") + set(KDEPIM_LIB_SOVERSION "5") + +-set(QT_REQUIRED_VERSION "5.8.0") ++set(QT_REQUIRED_VERSION "5.7.1") + find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Widgets) + + diff --git a/desktop/kde6/applications/akonadi-calendar-tools-kf6/pspec.xml b/desktop/kde6/applications/akonadi-calendar-tools-kf6/pspec.xml new file mode 100755 index 0000000000..88425f1223 --- /dev/null +++ b/desktop/kde6/applications/akonadi-calendar-tools-kf6/pspec.xml @@ -0,0 +1,80 @@ + + + + + + akonadi-calendar-tools-kf6 + https://community.kde.org/KDE_PIM + + Stefan Gronewold + groni@pisilinux.org + + GPLv2 + CLI tools to manage akonadi calendars + CLI tools to manage akonadi calendars + http://download.kde.org/stable/release-service/24.02.0/src/akonadi-calendar-tools-24.02.0.tar.xz + + boost-devel + akonadi-kf6-devel + akonadi-calendar-kf6-devel + extra-cmake-modules-kf6 + + kdoctools-kf6-devel + qt6-base-devel + kcompletion-kf6-devel + kxmlgui-kf6-devel + kitemmodels-kf6-devel + kcontacts-kf6-devel + kcalendarcore-kf6-devel + + + + kunitconversion-kf6-devel + akonadi-contacts-kf6-devel + kcalutils-kf6-devel + libkdepim-kf6-devel + calendarsupport-kf6-devel + kmime-kf6-devel + kidentitymanagement-kf6-devel + akonadi-notes-kf6-devel + + + + + + + + akonadi-calendar-tools-kf6 + CLI tools to manage akonadi calendars + + ki18n-kf6 + libgcc + akonadi-kf6 + kconfig-kf6 + kcalendarcore-kf6 + qt6-base + kcalutils-kf6 + kcoreaddons-kf6 + calendarsupport-kf6 + akonadi-calendar-kf6 + + akonadi-notes-kf6 + + + /etc/xdg + /usr/bin + /usr/share + /usr/share/doc + + + + + + 2024-03-03 + 24.02.0 + First release + Mustafa Cinasal + muscnsl@gmail.com + + + diff --git a/desktop/kde6/applications/akonadiconsole-kf6/actions.py b/desktop/kde6/applications/akonadiconsole-kf6/actions.py new file mode 100755 index 0000000000..dc7d4ed6e8 --- /dev/null +++ b/desktop/kde6/applications/akonadiconsole-kf6/actions.py @@ -0,0 +1,21 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/copyleft/gpl.txt + +from pisi.actionsapi import kde6 +from pisi.actionsapi import pisitools + + +def setup(): + kde6.configure() + +def build(): + kde6.make() + +def install(): + kde6.install() + + + pisitools.dodoc("LICENSES/*") + diff --git a/desktop/kde6/applications/akonadiconsole-kf6/pspec.xml b/desktop/kde6/applications/akonadiconsole-kf6/pspec.xml new file mode 100755 index 0000000000..edc3a92d5a --- /dev/null +++ b/desktop/kde6/applications/akonadiconsole-kf6/pspec.xml @@ -0,0 +1,109 @@ + + + + akonadiconsole-kf6 + https://community.kde.org/KDE_PIM + + Stefan Gronewold + groni@pisilinux.org + + GPLv2 + Akonadi management and debugging console + Akonadi management and debugging console + http://download.kde.org/stable/release-service/24.02.0/src/akonadiconsole-24.02.0.tar.xz + + akonadi-contacts-kf6-devel + akonadi-kf6-devel + akonadi-calendar-kf6-devel + pimcommon-kf6-devel + akonadi-mime-kf6-devel + calendarsupport-kf6-devel + extra-cmake-modules-kf6 + kimap-kf6-devel + kcalendarcore-kf6-devel + kcompletion-kf6-devel + kconfig-kf6-devel + kconfigwidgets-kf6-devel + kcontacts-kf6-devel + kcrash-kf6-devel + kdbusaddons-kf6-devel + kdoctools-kf6-devel + ki18n-kf6-devel + kitemmodels-kf6-devel + kmime-kf6-devel + kpimtextedit-kf6-devel + ktextwidgets-kf6-devel + kwidgetsaddons-kf6-devel + kxmlgui-kf6-devel + kio-kf6-devel + kitemviews-kf6-devel + akonadi-search-kf6-devel + libkdepim-kf6-devel + libkleo-kf6-devel + messagelib-kf6-devel + qt6-base-devel + qt6-sql-mysql + qt6-sql-postgresql + qt6-sql-sqlite + qt6-sql-odbc + + + kunitconversion-kf6-devel + kidentitymanagement-kf6-devel + cyrus-sasl-devel + gpgme-devel + gpgme-qt6-devel + ffmpeg-devel + libXScrnSaver-devel + qt6-webengine-devel + + + + + akonadiconsole-kf6 + Akonadi management and debugging console + + akonadi-kf6 + akonadi-contacts-kf6 + akonadi-mime-kf6 + calendarsupport-kf6 + kcalendarcore-kf6 + qt6-base + ki18n-kf6 + kmime-kf6 + kcrash-kf6 + libgcc + kconfig-kf6 + kxmlgui-kf6 + kcontacts-kf6 + libkdepim-kf6 + kitemviews-kf6 + messagelib-kf6 + kcompletion-kf6 + kcoreaddons-kf6 + kdbusaddons-kf6 + kitemmodels-kf6 + kpimtextedit-kf6 + ktextwidgets-kf6 + kconfigwidgets-kf6 + kwidgetsaddons-kf6 + + + /etc/xdg + /usr/bin + /usr/share + /usr/share/doc + /usr/lib + + + + + + 2024-03-03 + 24.02.0 + First release + Mustafa Cinasal + muscnsl@gmail.com + + + diff --git a/desktop/kde6/applications/akregator-kf6/actions.py b/desktop/kde6/applications/akregator-kf6/actions.py new file mode 100755 index 0000000000..c1f8c6bea3 --- /dev/null +++ b/desktop/kde6/applications/akregator-kf6/actions.py @@ -0,0 +1,21 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/copyleft/gpl.txt + +from pisi.actionsapi import kde6 +from pisi.actionsapi import pisitools + + +def setup(): + kde6.configure() + +def build(): + kde6.make() + +def install(): + kde6.install() + + + pisitools.dodoc("LICENSES/*", "README*") + diff --git a/desktop/kde6/applications/akregator-kf6/pspec.xml b/desktop/kde6/applications/akregator-kf6/pspec.xml new file mode 100755 index 0000000000..13f8703ec8 --- /dev/null +++ b/desktop/kde6/applications/akregator-kf6/pspec.xml @@ -0,0 +1,108 @@ + + + + + + akregator-kf6 + https://community.kde.org/KDE_PIM + + Stefan Gronewold + groni@pisilinux.org + + GPLv2 + A KDE blogging client + akregator-kf6 helps you to keep informed about new stories on websites like KDE Dot News and Planet KDE blogs. The technology used is RSS and many sites support it. + http://download.kde.org/stable/release-service/24.02.0/src/akregator-24.02.0.tar.xz + + boost-devel + extra-cmake-modules-kf6 + kblog-kf6-devel + + kdoctools-kf6-devel + kio-kf6-devel + ktexteditor-kf6-devel + python-devel + qt6-base-devel + qt6-webengine-devel + grantlee-qt5-devel + kcmutils-kf6-devel + knotifyconfig-kf6-devel + akonadi-mime-kf6-devel + akonadi-kf6-devel + kitemmodels-kf6-devel + grantleetheme-kf6-devel + kcontacts-kf6-devel + kontactinterface-kf6-devel + libkdepim-kf6-devel + akonadi-contacts-kf6-devel + libkleo-kf6-devel + gpgme-devel + gpgme-qt6-devel + messagelib-kf6-devel + pimcommon-kf6-devel + kimap-kf6-devel + kmime-kf6-devel + cyrus-sasl-devel + kpimtextedit-kf6-devel + ksyndication-kf6-devel + ffmpeg-devel + knotifyconfig-kf6-devel + knotifications-kf6-devel + kuserfeedback-kf6-devel + libXScrnSaver-devel + + + + + akregator-kf6 + A Feed Reader by KDE + + kio-kf6 + ki18n-kf6 + kcrash-kf6 + kparts-kf6 + libgcc + kcodecs-kf6 + kconfig-kf6 + kxmlgui-kf6 + kcmutils-kf6 + kservice-kf6 + qt6-base + libkdepim-kf6 + pimcommon-kf6 + messagelib-kf6 + kcompletion-kf6 + kcoreaddons-kf6 + kiconthemes-kf6 + kjobwidgets-kf6 + kpimtextedit-kf6 + ksyndication-kf6 + ktextwidgets-kf6 + grantleetheme-kf6 + knotifyconfig-kf6 + qt6-webengine + kconfigwidgets-kf6 + knotifications-kf6 + kwidgetsaddons-kf6 + kontactinterface-kf6 + + + /etc/xdg + /usr/bin + /usr/lib + /usr/lib/qt6 + /usr/share + /usr/share/doc + + + + + + 2024-03-03 + 24.02.0 + First release + Mustafa Cinasal + muscnsl@gmail.com + + + diff --git a/desktop/kde6/applications/calendarsupport-kf6/actions.py b/desktop/kde6/applications/calendarsupport-kf6/actions.py new file mode 100755 index 0000000000..82e40ee4b1 --- /dev/null +++ b/desktop/kde6/applications/calendarsupport-kf6/actions.py @@ -0,0 +1,19 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/copyleft/gpl.txt + +from pisi.actionsapi import kde6 +from pisi.actionsapi import pisitools + +def setup(): + kde6.configure() + +def build(): + kde6.make() + +def install(): + kde6.install() + + pisitools.dodoc("LICENSES/*") diff --git a/desktop/kde6/applications/calendarsupport-kf6/files/qt5.patch b/desktop/kde6/applications/calendarsupport-kf6/files/qt5.patch new file mode 100755 index 0000000000..f75383e56f --- /dev/null +++ b/desktop/kde6/applications/calendarsupport-kf6/files/qt5.patch @@ -0,0 +1,12 @@ +diff -Nuar a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt 2017-12-08 04:03:49.000000000 +0300 ++++ b/CMakeLists.txt 2017-12-17 00:25:23.527037197 +0300 +@@ -28,7 +28,7 @@ + set(calendarsupport-kf6_LIB_VERSION ${PIM_VERSION}) + set(AKONADI_MIMELIB_VERSION "5.7.0") + set(KDEPIM_LIB_VERSION "5.7.0") +-set(QT_REQUIRED_VERSION "5.8.0") ++set(QT_REQUIRED_VERSION "5.7.1") + set(kmime-kf6_LIB_VERSION "5.7.0") + set(CALENDARUTILS_LIB_VERSION "5.7.0") + set(kcalendarcore-kf6_LIB_VERSION "5.7.0") diff --git a/desktop/kde6/applications/calendarsupport-kf6/pspec.xml b/desktop/kde6/applications/calendarsupport-kf6/pspec.xml new file mode 100755 index 0000000000..6588d0e03e --- /dev/null +++ b/desktop/kde6/applications/calendarsupport-kf6/pspec.xml @@ -0,0 +1,110 @@ + + + + calendarsupport-kf6 + https://community.kde.org/KDE_PIM + + Alihan Öztürk + alihan@pisilinux.org + + LGPLv2 + app:console + Calendar support library + Calendar support library + mirrors://kde/stable/release-service/24.02.0/src/calendarsupport-24.02.0.tar.xz + + extra-cmake-modules-kf6 + qt6-base-devel + akonadi-kf6-devel + kmime-kf6-devel + ki18n-kf6-devel + kcodecs-kf6-devel + kcompletion-kf6-devel + kjobwidgets-kf6-devel + kcoreaddons-kf6-devel + kservice-kf6-devel + solid-kf6-devel + kxmlgui-kf6-devel + kitemmodels-kf6-devel + + kdoctools-kf6-devel + + + kunitconversion-kf6-devel + boost-devel + kcalutils-kf6-devel + kcalendarcore-kf6-devel + kidentitymanagement-kf6-devel + kholidays-kf6-devel + akonadi-calendar-kf6-devel + kcontacts-kf6-devel + pimcommon-kf6-devel + kimap-kf6-devel + cyrus-sasl-devel + akonadi-mime-kf6-devel + akonadi-contacts-kf6-devel + akonadi-notes-kf6-devel + kguiaddons-kf6-devel + + + + + + + + calendarsupport-kf6 + Calendar support library + + kio-kf6 + ki18n-kf6 + kmime-kf6 + libgcc + akonadi-kf6 + kcodecs-kf6 + kconfig-kf6 + kcalendarcore-kf6 + qt6-base + kcalutils-kf6 + kholidays-kf6 + pimcommon-kf6 + kguiaddons-kf6 + kcompletion-kf6 + kcoreaddons-kf6 + kiconthemes-kf6 + kjobwidgets-kf6 + kwidgetsaddons-kf6 + akonadi-calendar-kf6 + kidentitymanagement-kf6 + + + /etc + /usr/lib/qt6 + /usr/lib + /usr/share + /usr/share/kservice-kf6types5 + /usr/share/locale + + + + + calendarsupport-kf6-devel + Development files for calendarsupport-kf6 + + calendarsupport-kf6 + + + /usr/include + /usr/lib/cmake + + + + + + 2024-03-03 + 24.02.0 + First release + Mustafa Cinasal + muscnsl@gmail.com + + + diff --git a/desktop/kde6/applications/eventviews-kf6/actions.py b/desktop/kde6/applications/eventviews-kf6/actions.py new file mode 100755 index 0000000000..82e40ee4b1 --- /dev/null +++ b/desktop/kde6/applications/eventviews-kf6/actions.py @@ -0,0 +1,19 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/copyleft/gpl.txt + +from pisi.actionsapi import kde6 +from pisi.actionsapi import pisitools + +def setup(): + kde6.configure() + +def build(): + kde6.make() + +def install(): + kde6.install() + + pisitools.dodoc("LICENSES/*") diff --git a/desktop/kde6/applications/eventviews-kf6/files/qt5.patch b/desktop/kde6/applications/eventviews-kf6/files/qt5.patch new file mode 100755 index 0000000000..4109eacdae --- /dev/null +++ b/desktop/kde6/applications/eventviews-kf6/files/qt5.patch @@ -0,0 +1,12 @@ +diff -Nuar a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt 2017-12-08 04:03:52.000000000 +0300 ++++ b/CMakeLists.txt 2017-12-17 22:40:11.652631461 +0300 +@@ -32,7 +32,7 @@ + set(EVENTVIEW_LIB_VERSION ${PIM_VERSION}) + set(CALENDARUTILS_LIB_VERSION "5.7.0") + set(AKONADI_LIB_VERSION "5.7.0") +-set(QT_REQUIRED_VERSION "5.8.0") ++set(QT_REQUIRED_VERSION "5.7.1") + set(kcalendarcore-kf6_LIB_VERSION "5.7.0") + set(AKONADICALENDAR_LIB_VERSION "5.7.0") + set(kmime-kf6_LIB_VERSION "5.7.0") diff --git a/desktop/kde6/applications/eventviews-kf6/pspec.xml b/desktop/kde6/applications/eventviews-kf6/pspec.xml new file mode 100755 index 0000000000..fb09bddcb1 --- /dev/null +++ b/desktop/kde6/applications/eventviews-kf6/pspec.xml @@ -0,0 +1,113 @@ + + + + eventviews-kf6 + https://community.kde.org/KDE_PIM + + Alihan Öztürk + alihan@pisilinux.org + + LGPLv2 + app:console + Library for creating events. + Library for creating events. + mirrors://kde/stable/release-service/24.02.0/src/eventviews-24.02.0.tar.xz + + extra-cmake-modules-kf6 + qt6-base-devel + akonadi-kf6-devel + + kcompletion-kf6-devel + kjobwidgets-kf6-devel + kcoreaddons-kf6-devel + kservice-kf6-devel + solid-kf6-devel + kxmlgui-kf6-devel + kitemmodels-kf6-devel + + kdoctools-kf6-devel + + + kunitconversion-kf6-devel + boost-devel + libkdepim-kf6-devel + kcontacts-kf6-devel + kcalendarcore-kf6-devel + + kcalutils-kf6-devel + calendarsupport-kf6-devel + kmime-kf6-devel + kidentitymanagement-kf6-devel + akonadi-calendar-kf6-devel + akonadi-contacts-kf6-devel + kdiagram-kf6-devel + kholidays-kf6-devel + kguiaddons-kf6-devel + kiconthemes-kf6-devel + + + + + + + + eventviews-kf6 + Library for creating events. + + ki18n-kf6 + libgcc + akonadi-kf6 + kcodecs-kf6 + kconfig-kf6 + kcalendarcore-kf6 + kdiagram-kf6 + + kservice-kf6 + qt6-base + kcalutils-kf6 + kcontacts-kf6 + libkdepim-kf6 + kguiaddons-kf6 + kcompletion-kf6 + kcoreaddons-kf6 + kiconthemes-kf6 + kitemmodels-kf6 + kconfigwidgets-kf6 + kwidgetsaddons-kf6 + calendarsupport-kf6 + akonadi-calendar-kf6 + + + + /etc + /usr/lib + /usr/lib/qt6 + /usr/share + /usr/share/doc + /usr/share/kservice-kf6types5 + /usr/share/locale + + + + + eventviews-kf6-devel + Development files for eventviews-kf6. + + eventviews-kf6 + + + /usr/include + /usr/lib/cmake + + + + + + 2024-03-03 + 24.02.0 + First release + Mustafa Cinasal + muscnsl@gmail.com + + + diff --git a/desktop/kde6/applications/grantlee-editor-kf6/actions.py b/desktop/kde6/applications/grantlee-editor-kf6/actions.py new file mode 100755 index 0000000000..dc7d4ed6e8 --- /dev/null +++ b/desktop/kde6/applications/grantlee-editor-kf6/actions.py @@ -0,0 +1,21 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/copyleft/gpl.txt + +from pisi.actionsapi import kde6 +from pisi.actionsapi import pisitools + + +def setup(): + kde6.configure() + +def build(): + kde6.make() + +def install(): + kde6.install() + + + pisitools.dodoc("LICENSES/*") + diff --git a/desktop/kde6/applications/grantlee-editor-kf6/pspec.xml b/desktop/kde6/applications/grantlee-editor-kf6/pspec.xml new file mode 100755 index 0000000000..d7f31186c0 --- /dev/null +++ b/desktop/kde6/applications/grantlee-editor-kf6/pspec.xml @@ -0,0 +1,97 @@ + + + + + + grantlee-editor-kf6 + https://community.kde.org/KDE_PIM + + Stefan Gronewold + groni@pisilinux.org + + GPLv2 + Editor for Grantlee themes + Editor for Grantlee themes + mirrors://kde/stable/release-service/24.02.0/src/grantlee-editor-24.02.0.tar.xz + + qt6-webengine-devel + kcrash-kf6-devel + extra-cmake-modules-kf6 + kdbusaddons-kf6-devel + kdoctools-kf6-devel + kxmlgui-kf6-devel + qt6-base-devel + ktexteditor-kf6-devel + kwallet-kf6-devel + knewstuff-kf6-devel + karchive-kf6-devel + pimcommon-kf6-devel + messagelib-kf6-devel + grantleetheme-kf6-devel + akonadi-mime-kf6-devel + kpimtextedit-kf6-devel + libkdepim-kf6-devel + syntax-highlighting-kf6-devel + libkleo-kf6-devel + kparts-kf6-devel + gpgme-devel + gpgme-qt6-devel + cyrus-sasl-devel + akonadi-kf6-devel + kitemmodels-kf6-devel + kcontacts-kf6-devel + akonadi-contacts-kf6-devel + kimap-kf6-devel + kmime-kf6-devel + grantlee-qt5-devel + ffmpeg-devel + libXScrnSaver-devel + + + + + grantlee-editor-kf6 + Editor for Grantlee themes + + kio-kf6 + ki18n-kf6 + kmime-kf6 + kcrash-kf6 + libgcc + kconfig-kf6 + kxmlgui-kf6 + karchive-kf6 + qt6-base + kcontacts-kf6 + knewstuff-kf6 + pimcommon-kf6 + messagelib-kf6 + kcompletion-kf6 + kcoreaddons-kf6 + kdbusaddons-kf6 + kpimtextedit-kf6 + qt6-webengine + kconfigwidgets-kf6 + kwidgetsaddons-kf6 + akonadi-contacts-kf6 + syntax-highlighting-kf6 + + + /etc/xdg + /usr/bin + /usr/lib + /usr/share + /usr/share/doc + + + + + + 2024-03-03 + 24.02.0 + First release + Mustafa Cinasal + muscnsl@gmail.com + + + diff --git a/desktop/kde6/applications/incidenceeditor-kf6/actions.py b/desktop/kde6/applications/incidenceeditor-kf6/actions.py new file mode 100755 index 0000000000..82e40ee4b1 --- /dev/null +++ b/desktop/kde6/applications/incidenceeditor-kf6/actions.py @@ -0,0 +1,19 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/copyleft/gpl.txt + +from pisi.actionsapi import kde6 +from pisi.actionsapi import pisitools + +def setup(): + kde6.configure() + +def build(): + kde6.make() + +def install(): + kde6.install() + + pisitools.dodoc("LICENSES/*") diff --git a/desktop/kde6/applications/incidenceeditor-kf6/files/qt5.patch b/desktop/kde6/applications/incidenceeditor-kf6/files/qt5.patch new file mode 100755 index 0000000000..4ff644d481 --- /dev/null +++ b/desktop/kde6/applications/incidenceeditor-kf6/files/qt5.patch @@ -0,0 +1,12 @@ +diff -Nuar a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt 2017-12-08 04:03:56.000000000 +0300 ++++ b/CMakeLists.txt 2017-12-17 23:22:46.040447149 +0300 +@@ -30,7 +30,7 @@ + set(incidenceeditor-kf6_LIB_VERSION ${PIM_VERSION}) + set(AKONADI_MIMELIB_VERSION "5.7.0") + set(KDEPIM_LIB_VERSION "5.7.0") +-set(QT_REQUIRED_VERSION "5.8.0") ++set(QT_REQUIRED_VERSION "5.7.1") + set(kmime-kf6_LIB_VERSION "5.7.0") + set(kmailtransport-kf6_LIB_VERSION "5.7.0") + set(kldap-kf6_LIB_VERSION "5.7.0") diff --git a/desktop/kde6/applications/incidenceeditor-kf6/pspec.xml b/desktop/kde6/applications/incidenceeditor-kf6/pspec.xml new file mode 100755 index 0000000000..e4ae8ecd38 --- /dev/null +++ b/desktop/kde6/applications/incidenceeditor-kf6/pspec.xml @@ -0,0 +1,128 @@ + + + + + + incidenceeditor-kf6 + https://community.kde.org/KDE_PIM + + Alihan Öztürk + alihan@pisilinux.org + + LGPLv2 + app:console + KDE PIM incidence editor. + KDE PIM incidence editor. + http://download.kde.org/stable/release-service/24.02.0/src/incidenceeditor-24.02.0.tar.xz + + extra-cmake-modules-kf6 + qt6-base-devel + akonadi-kf6-devel + kcompletion-kf6-devel + kjobwidgets-kf6-devel + kcoreaddons-kf6-devel + kservice-kf6-devel + solid-kf6-devel + kxmlgui-kf6-devel + kitemmodels-kf6-devel + kdoctools-kf6-devel + + + kunitconversion-kf6-devel + boost-devel + kmime-kf6-devel + kldap-kf6-devel + cyrus-sasl-devel + calendarsupport-kf6-devel + kidentitymanagement-kf6-devel + akonadi-calendar-kf6-devel + kcalendarcore-kf6-devel + kcontacts-kf6-devel + eventviews-kf6-devel + kcalutils-kf6-devel + kdiagram-kf6-devel + kmailtransport-kf6-devel + libkdepim-kf6-devel + akonadi-mime-kf6-devel + akonadi-contacts-kf6-devel + pimcommon-kf6-devel + kimap-kf6-devel + kiconthemes-kf6-devel + + + + + + + + incidenceeditor-kf6 + KDE PIM incidence editor. + + kio-kf6 + ki18n-kf6 + kldap-kf6 + kmime-kf6 + kimap-kf6 + libgcc + akonadi-kf6 + kcodecs-kf6 + kconfig-kf6 + kxmlgui-kf6 + kdiagram-kf6 + kservice-kf6 + kcalutils-kf6 + kcontacts-kf6 + libkdepim-kf6 + pimcommon-kf6 + eventviews-kf6 + kcompletion-kf6 + kcoreaddons-kf6 + kiconthemes-kf6 + kitemmodels-kf6 + kjobwidgets-kf6 + kpimtextedit-kf6 + ktextwidgets-kf6 + akonadi-mime-kf6 + kcalendarcore-kf6 + kconfigwidgets-kf6 + kmailtransport-kf6 + kwidgetsaddons-kf6 + calendarsupport-kf6 + akonadi-contacts-kf6 + akonadi-calendar-kf6 + kidentitymanagement-kf6 + qt6-base + + + /etc/xdg + /usr/lib + /usr/lib/qt6 + /usr/share + /usr/share/doc + /usr/share/locale + + + + + incidenceeditor-kf6-devel + Development files for incidenceeditor-kf6. + + incidenceeditor-kf6 + + + /usr/include + /usr/lib/pkgconfig + /usr/lib/cmake + + + + + + 2024-03-03 + 24.02.0 + First release + Mustafa Cinasal + muscnsl@gmail.com + + + diff --git a/desktop/kde6/applications/kdepim-runtime-kf6/actions.py b/desktop/kde6/applications/kdepim-runtime-kf6/actions.py new file mode 100755 index 0000000000..23b2227864 --- /dev/null +++ b/desktop/kde6/applications/kdepim-runtime-kf6/actions.py @@ -0,0 +1,19 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import kde6 +from pisi.actionsapi import pisitools + +def setup(): + kde6.configure() + +def build(): + kde6.make() + +def install(): + kde6.install() + + pisitools.dodoc("LICENSES/*") diff --git a/desktop/kde6/applications/kdepim-runtime-kf6/files/2fd3604a.patch b/desktop/kde6/applications/kdepim-runtime-kf6/files/2fd3604a.patch new file mode 100644 index 0000000000..4bc3bfba37 --- /dev/null +++ b/desktop/kde6/applications/kdepim-runtime-kf6/files/2fd3604a.patch @@ -0,0 +1,60 @@ +From 2fd3604ad6a9594b9dd8b0f1529f4f4589fe831f Mon Sep 17 00:00:00 2001 +From: Carl Schwan +Date: Tue, 19 Sep 2023 17:04:36 +0200 +Subject: [PATCH] Revert "Revert "Fix race condition when building"" + +This reverts commit d3f20b3dab530065f9cff9d73e4ca1076af55a29. + +(cherry picked from commit f9f262b9289f7b1c34e55205fa0c5cde915bc652) +--- + resources/google-groupware/CMakeLists.txt | 7 ++++--- + resources/google-groupware/googleresource.cpp | 1 - + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/resources/google-groupware/CMakeLists.txt b/resources/google-groupware/CMakeLists.txt +index 2f2b46aded..0ac6f2db8e 100644 +--- a/resources/google-groupware/CMakeLists.txt ++++ b/resources/google-groupware/CMakeLists.txt +@@ -67,9 +67,6 @@ set(googleresource_SRCS + ${googleresource_common_SRCS} + ) + +-ki18n-kf6_wrap_ui(googleresource_SRCS googlesettingswidget.ui) +- +- + add_executable(akonadi_google_resource ${googleresource_SRCS}) + if (COMPILE_WITH_UNITY_CMAKE_SUPPORT) + set_target_properties(akonadi_google_resource PROPERTIES UNITY_BUILD ON) +@@ -126,6 +123,7 @@ install( + kcoreaddons-kf6_add_plugin(googleconfig + INSTALL_NAMESPACE "pim${QT_MAJOR_VERSION}/akonadi/config" + ) ++ + target_sources(googleconfig + PRIVATE + googleconfig.cpp +@@ -133,6 +131,9 @@ PRIVATE + googlesettingswidget.h + ${googleresource_common_SRCS} + ) ++ ++ki18n-kf6_wrap_ui(googleconfig googlesettingswidget.ui) ++ + target_link_libraries(googleconfig + KPim${KF_MAJOR_VERSION}::AkonadiCore + KPim${KF_MAJOR_VERSION}::AkonadiCalendar +diff --git a/resources/google-groupware/googleresource.cpp b/resources/google-groupware/googleresource.cpp +index 47a7e0c8d5..d51c1e4a7c 100644 +--- a/resources/google-groupware/googleresource.cpp ++++ b/resources/google-groupware/googleresource.cpp +@@ -11,7 +11,6 @@ + #include "googleresourcestate.h" + #include "googlescopes.h" + #include "googlesettings.h" +-#include "googlesettingswidget.h" + #include "settingsadaptor.h" + + #include "personhandler.h" +-- +GitLab + diff --git a/desktop/kde6/applications/kdepim-runtime-kf6/files/c99afc75.patch b/desktop/kde6/applications/kdepim-runtime-kf6/files/c99afc75.patch new file mode 100644 index 0000000000..6ebb69222c --- /dev/null +++ b/desktop/kde6/applications/kdepim-runtime-kf6/files/c99afc75.patch @@ -0,0 +1,120 @@ +From c99afc75a503fff6ca83df2f47a5d5d951579524 Mon Sep 17 00:00:00 2001 +From: Carl Schwan +Date: Tue, 19 Sep 2023 18:58:54 +0200 +Subject: [PATCH] Actually start job to read secret key + +BUG: 470820 +(cherry picked from commit 8393e92d56ecb31b2dd65d15d046f8e02565f5e3) +--- + resources/google-groupware/googleconfig.cpp | 8 +++++++- + resources/google-groupware/googlesettings.cpp | 15 +++++++++------ + .../google-groupware/googlesettingswidget.cpp | 3 +-- + 3 files changed, 17 insertions(+), 9 deletions(-) + +diff --git a/resources/google-groupware/googleconfig.cpp b/resources/google-groupware/googleconfig.cpp +index 2eb6ab2efa..1af177c81f 100644 +--- a/resources/google-groupware/googleconfig.cpp ++++ b/resources/google-groupware/googleconfig.cpp +@@ -6,6 +6,7 @@ + + #include + ++#include "googleresource_debug.h" + #include "googlesettings.h" + #include "googlesettingswidget.h" + +@@ -25,7 +26,12 @@ public: + void load() override + { + Akonadi::AgentConfigurationBase::load(); +- mWidget.loadSettings(); ++ mSettings.init(); ++ connect(&mSettings, &GoogleSettings::accountReady, this, [this](bool ready) { ++ if (ready) { ++ mWidget.loadSettings(); ++ } ++ }); + } + + Q_REQUIRED_RESULT bool save() const override +diff --git a/resources/google-groupware/googlesettings.cpp b/resources/google-groupware/googlesettings.cpp +index aa94cad1ab..23a9979895 100644 +--- a/resources/google-groupware/googlesettings.cpp ++++ b/resources/google-groupware/googlesettings.cpp +@@ -32,7 +32,6 @@ static const QString googleWalletFolder = QStringLiteral("Akonadi Google"); + GoogleSettings::GoogleSettings(const KSharedConfigPtr &config, Options options) + : SettingsBase(config) + { +- qDebug() << config; + if (options & Option::ExportToDBus) { + new SettingsAdaptor(this); + QDBusConnection::sessionBus().registerObject(QStringLiteral("/Settings"), +@@ -44,9 +43,11 @@ GoogleSettings::GoogleSettings(const KSharedConfigPtr &config, Options options) + void GoogleSettings::init() + { + // First read from QtKeyChain +- auto job = new QKeychain::ReadPasswordJob(googleWalletFolder); ++ auto job = new QKeychain::ReadPasswordJob(googleWalletFolder, this); ++ job->setKey(account()); + connect(job, &QKeychain::Job::finished, this, [this, job]() { + if (job->error() != QKeychain::Error::NoError) { ++ qCWarning(GOOGLE_LOG) << "Unable to read password" << job->error(); + Q_EMIT accountReady(false); + return; + } +@@ -54,18 +55,19 @@ void GoogleSettings::init() + // Found something with QtKeyChain + if (!account().isEmpty()) { + m_account = fetchAccountFromKeychain(account(), job); ++ m_isReady = true; ++ Q_EMIT accountReady(true); + } +- m_isReady = true; +- Q_EMIT accountReady(true); + }); ++ job->start(); + } + + KGAPI2::AccountPtr GoogleSettings::fetchAccountFromKeychain(const QString &accountName, QKeychain::ReadPasswordJob *job) + { + QMap map; + auto value = job->binaryData(); +- if (!value.isEmpty()) { +- qCDebug(GOOGLE_LOG) << "Account" << accountName << "not found in kwallet-kf6"; ++ if (value.isEmpty()) { ++ qCWarning(GOOGLE_LOG) << "Account" << accountName << "not found in kwallet-kf6"; + return {}; + } + +@@ -116,6 +118,7 @@ WritePasswordJob *GoogleSettings::storeAccount(AccountPtr account) + + connect(writeJob, &WritePasswordJob::finished, this, [this, writeJob]() { + if (writeJob->error()) { ++ qCWarning(GOOGLE_LOG) << "Unable to write password" << writeJob->error(); + return; + } + SettingsBase::setAccount(m_account->accountName()); +diff --git a/resources/google-groupware/googlesettingswidget.cpp b/resources/google-groupware/googlesettingswidget.cpp +index 2543c4c6b8..8e84cfbabd 100644 +--- a/resources/google-groupware/googlesettingswidget.cpp ++++ b/resources/google-groupware/googlesettingswidget.cpp +@@ -36,7 +36,6 @@ GoogleSettingsWidget::GoogleSettingsWidget(GoogleSettings &settings, const QStri + , m_settings(settings) + , m_identifier(identifier) + { +- qDebug() << m_settings.account(); + auto mainLayout = new QVBoxLayout(this); + + auto mainWidget = new QWidget(this); +@@ -83,7 +82,7 @@ bool GoogleSettingsWidget::handleError(KGAPI2::Job *job) + } + + if (job->error() == KGAPI2::Unauthorized) { +- qCDebug(GOOGLE_LOG) << job << job->errorString(); ++ qWarning() << job << job->errorString(); + const QList resourceScopes = googleScopes(); + for (const QUrl &scope : resourceScopes) { + if (!m_account->scopes().contains(scope)) { +-- +GitLab + diff --git a/desktop/kde6/applications/kdepim-runtime-kf6/files/fb0d78fb.patch b/desktop/kde6/applications/kdepim-runtime-kf6/files/fb0d78fb.patch new file mode 100644 index 0000000000..c2b0f54fe1 --- /dev/null +++ b/desktop/kde6/applications/kdepim-runtime-kf6/files/fb0d78fb.patch @@ -0,0 +1,1302 @@ +From fb0d78fb3bcfce5bd4ff7f51e4cd1405693e0275 Mon Sep 17 00:00:00 2001 +From: Carl Schwan +Date: Tue, 19 Sep 2023 17:04:13 +0200 +Subject: [PATCH] Revert "Revert "Use config plugin instead of out of process + config dialog"" + +This reverts commit f33496a346f49e95caaf7f664ef2f91e4b7f3ddb. + +(cherry picked from commit a17ef55dbe31e2020e96f66cd7021578ed8b5444) +--- + resources/google-groupware/CMakeLists.txt | 93 ++++-- + resources/google-groupware/googleconfig.cpp | 43 +++ + resources/google-groupware/googleconfig.json | 5 + + resources/google-groupware/googleresource.cpp | 95 ++---- + resources/google-groupware/googleresource.h | 4 +- + resources/google-groupware/googlescopes.cpp | 19 ++ + resources/google-groupware/googlescopes.h | 10 + + resources/google-groupware/googlesettings.cpp | 22 +- + resources/google-groupware/googlesettings.h | 11 +- + .../google-groupware/googlesettingsdialog.cpp | 305 ------------------ + .../google-groupware/googlesettingswidget.cpp | 288 +++++++++++++++++ + ...ettingsdialog.h => googlesettingswidget.h} | 29 +- + ...tingsdialog.ui => googlesettingswidget.ui} | 2 +- + resources/google-groupware/settingsbase.kcfg | 2 +- + 14 files changed, 505 insertions(+), 423 deletions(-) + create mode 100644 resources/google-groupware/googleconfig.cpp + create mode 100644 resources/google-groupware/googleconfig.json + create mode 100644 resources/google-groupware/googlescopes.cpp + create mode 100644 resources/google-groupware/googlescopes.h + delete mode 100644 resources/google-groupware/googlesettingsdialog.cpp + create mode 100644 resources/google-groupware/googlesettingswidget.cpp + rename resources/google-groupware/{googlesettingsdialog.h => googlesettingswidget.h} (53%) + rename resources/google-groupware/{googlesettingsdialog.ui => googlesettingswidget.ui} (99%) + +diff --git a/resources/google-groupware/CMakeLists.txt b/resources/google-groupware/CMakeLists.txt +index babf58a953..2f2b46aded 100644 +--- a/resources/google-groupware/CMakeLists.txt ++++ b/resources/google-groupware/CMakeLists.txt +@@ -1,67 +1,75 @@ + add_definitions(-DTRANSLATION_DOMAIN=\"akonadi_google_resource\") + +-set(googleresource_SRCS +- googleresource.cpp ++set(googleresource_common_SRCS + googlesettings.cpp +- googlesettingsdialog.cpp +- defaultreminderattribute.cpp +- googleresourcestate.cpp +- generichandler.cpp +- calendarhandler.cpp +- taskhandler.cpp +- peopleconversionjob.cpp +- personhandler.cpp +- googleresource.h + googlesettings.h +- googlesettingsdialog.h +- defaultreminderattribute.h +- googleresourcestate.h +- generichandler.h +- calendarhandler.h +- taskhandler.h +- peopleconversionjob.h +- personhandler.h +- ) ++ googlescopes.h ++ googlescopes.cpp ++) + +-ecm_qt_declare_logging_category(googleresource_SRCS ++ecm_qt_declare_logging_category(googleresource_common_SRCS + HEADER googleresource_debug.h + IDENTIFIER GOOGLE_LOG + CATEGORY_NAME org.kde.pim.google + DESCRIPTION "resource google (kdepim-runtime-kf6)" + EXPORT KDEPIMRUNTIME) +-ecm_qt_declare_logging_category(googleresource_SRCS ++ecm_qt_declare_logging_category(googleresource_common_SRCS + HEADER googlecalendar_debug.h + IDENTIFIER GOOGLE_CALENDAR_LOG + CATEGORY_NAME org.kde.pim.google.calendar + DESCRIPTION "resource google calendar (kdepim-runtime-kf6)" + EXPORT KDEPIMRUNTIME) +-ecm_qt_declare_logging_category(googleresource_SRCS ++ecm_qt_declare_logging_category(googleresource_common_SRCS + HEADER googletasks_debug.h + IDENTIFIER GOOGLE_TASKS_LOG + CATEGORY_NAME org.kde.pim.google.tasks + DESCRIPTION "resource google tasks (kdepim-runtime-kf6)" + EXPORT KDEPIMRUNTIME) +-ecm_qt_declare_logging_category(googleresource_SRCS ++ecm_qt_declare_logging_category(googleresource_common_SRCS + HEADER googlepeople_debug.h + IDENTIFIER GOOGLE_PEOPLE_LOG + CATEGORY_NAME org.kde.pim.google.people + DESCRIPTION "resource google people (kdepim-runtime-kf6)" + EXPORT KDEPIMRUNTIME) + +-ki18n-kf6_wrap_ui(googleresource_SRCS googlesettingsdialog.ui) + +-kconfig-kf6_add_kcfg_files(googleresource_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/settingsbase.kcfgc) ++kconfig-kf6_add_kcfg_files(googleresource_common_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/settingsbase.kcfgc) + + kcfg_generate_dbus_interface( + ${CMAKE_CURRENT_SOURCE_DIR}/settingsbase.kcfg + org.kde.Akonadi.Google.Settings + ) + +-qt_add_dbus_adaptor(googleresource_SRCS ++qt_add_dbus_adaptor(googleresource_common_SRCS + ${CMAKE_CURRENT_BINARY_DIR}/org.kde.Akonadi.Google.Settings.xml + ${CMAKE_CURRENT_SOURCE_DIR}/googlesettings.h GoogleSettings + ) + ++############################# Resource ################################# ++set(googleresource_SRCS ++ googleresource.cpp ++ defaultreminderattribute.cpp ++ googleresourcestate.cpp ++ generichandler.cpp ++ calendarhandler.cpp ++ taskhandler.cpp ++ peopleconversionjob.cpp ++ personhandler.cpp ++ googleresource.h ++ googlesettings.h ++ defaultreminderattribute.h ++ googleresourcestate.h ++ generichandler.h ++ calendarhandler.h ++ taskhandler.h ++ peopleconversionjob.h ++ personhandler.h ++ ${googleresource_common_SRCS} ++) ++ ++ki18n-kf6_wrap_ui(googleresource_SRCS googlesettingswidget.ui) ++ ++ + add_executable(akonadi_google_resource ${googleresource_SRCS}) + if (COMPILE_WITH_UNITY_CMAKE_SUPPORT) + set_target_properties(akonadi_google_resource PROPERTIES UNITY_BUILD ON) +@@ -112,3 +120,34 @@ install( + FILES akonadi_google_resource.notifyrc + DESTINATION ${KDE_INSTALL_KNOTIFYRCDIR} + ) ++ ++################################ Config plugin ############################### ++ ++kcoreaddons-kf6_add_plugin(googleconfig ++ INSTALL_NAMESPACE "pim${QT_MAJOR_VERSION}/akonadi/config" ++) ++target_sources(googleconfig ++PRIVATE ++ googleconfig.cpp ++ googlesettingswidget.cpp ++ googlesettingswidget.h ++ ${googleresource_common_SRCS} ++) ++target_link_libraries(googleconfig ++ KPim${KF_MAJOR_VERSION}::AkonadiCore ++ KPim${KF_MAJOR_VERSION}::AkonadiCalendar ++ KPim${KF_MAJOR_VERSION}::AkonadiCore ++ KPim${KF_MAJOR_VERSION}::AkonadiAgentBase ++ KF${KF_MAJOR_VERSION}::CalendarCore ++ KF${KF_MAJOR_VERSION}::Contacts ++ KF${KF_MAJOR_VERSION}::Wallet ++ KF${KF_MAJOR_VERSION}::I18n ++ KF${KF_MAJOR_VERSION}::WindowSystem ++ KF${KF_MAJOR_VERSION}::TextWidgets ++ KF${KF_MAJOR_VERSION}::Notifications ++ KPim${KF_MAJOR_VERSION}::GAPICalendar ++ KPim${KF_MAJOR_VERSION}::GAPIPeople ++ KPim${KF_MAJOR_VERSION}::GAPICore ++ KPim${KF_MAJOR_VERSION}::GAPITasks ++ qt${KF_MAJOR_VERSION}keychain ++) +diff --git a/resources/google-groupware/googleconfig.cpp b/resources/google-groupware/googleconfig.cpp +new file mode 100644 +index 0000000000..2eb6ab2efa +--- /dev/null ++++ b/resources/google-groupware/googleconfig.cpp +@@ -0,0 +1,43 @@ ++/* ++ SPDX-FileCopyrightText: 2018 Daniel Vrátil ++ ++ SPDX-License-Identifier: LGPL-2.0-or-later ++*/ ++ ++#include ++ ++#include "googlesettings.h" ++#include "googlesettingswidget.h" ++ ++class GoogleConfig : public Akonadi::AgentConfigurationBase ++{ ++ Q_OBJECT ++ ++public: ++ explicit GoogleConfig(const KSharedConfigPtr &config, QWidget *parent, const QVariantList &list) ++ : Akonadi::AgentConfigurationBase(config, parent, list) ++ , mSettings(config, GoogleSettings::Option::NoOption) ++ , mWidget(mSettings, identifier(), parent) ++ { ++ connect(&mWidget, &GoogleSettingsWidget::okEnabled, this, &Akonadi::AgentConfigurationBase::enableOkButton); ++ } ++ ++ void load() override ++ { ++ Akonadi::AgentConfigurationBase::load(); ++ mWidget.loadSettings(); ++ } ++ ++ Q_REQUIRED_RESULT bool save() const override ++ { ++ const_cast(this)->mWidget.saveSettings(); ++ return Akonadi::AgentConfigurationBase::save(); ++ } ++ ++ GoogleSettings mSettings; ++ GoogleSettingsWidget mWidget; ++}; ++ ++AKONADI_AGENTCONFIG_FACTORY(GoogleConfigFactory, "googleconfig.json", GoogleConfig) ++ ++#include "googleconfig.moc" +diff --git a/resources/google-groupware/googleconfig.json b/resources/google-groupware/googleconfig.json +new file mode 100644 +index 0000000000..69c76f583f +--- /dev/null ++++ b/resources/google-groupware/googleconfig.json +@@ -0,0 +1,5 @@ ++{ ++ "X-Akonadi-PluginType": "AgentConfig", ++ "X-Akonadi-Library": "googleconfig", ++ "X-Akonadi-AgentConfig-Type": "akonadi_google_resource" ++} +\ No newline at end of file +diff --git a/resources/google-groupware/googleresource.cpp b/resources/google-groupware/googleresource.cpp +index b40f093dde..47a7e0c8d5 100644 +--- a/resources/google-groupware/googleresource.cpp ++++ b/resources/google-groupware/googleresource.cpp +@@ -9,8 +9,9 @@ + #include "googleresource.h" + #include "googleresource_debug.h" + #include "googleresourcestate.h" ++#include "googlescopes.h" + #include "googlesettings.h" +-#include "googlesettingsdialog.h" ++#include "googlesettingswidget.h" + #include "settingsadaptor.h" + + #include "personhandler.h" +@@ -67,8 +68,11 @@ bool accountIsValid(const KGAPI2::AccountPtr &account) + GoogleResource::GoogleResource(const QString &id) + : ResourceBase(id) + , AgentBase::ObserverV3() ++ , m_settings(KSharedConfig::openConfig()) + , m_iface(new GoogleResourceState(this)) + { ++ m_settings.setResourceId(identifier()); ++ + AttributeFactory::registerAttribute(); + + connect(this, &GoogleResource::reloadConfiguration, this, &GoogleResource::reloadConfig); +@@ -83,9 +87,7 @@ GoogleResource::GoogleResource(const QString &id) + + Q_EMIT status(NotConfigured, i18n("Fetching password...")); + +- m_settings = new GoogleSettings(); +- m_settings->setWindowId(winIdForDialogs()); +- connect(m_settings, &GoogleSettings::accountReady, this, [this](bool ready) { ++ connect(&m_settings, &GoogleSettings::accountReady, this, [this](bool ready) { + if (accountId() > 0) { + return; + } +@@ -94,7 +96,7 @@ GoogleResource::GoogleResource(const QString &id) + return; + } + +- const auto account = m_settings->accountPtr(); ++ const auto account = m_settings.accountPtr(); + if (account.isNull()) { + Q_EMIT status(NotConfigured); + return; +@@ -107,18 +109,15 @@ GoogleResource::GoogleResource(const QString &id) + synchronize(); + } + }); +- m_settings->init(); ++ m_settings.init(); + + updateResourceName(); + +- m_freeBusyHandler = std::make_unique(m_iface, m_settings); ++ m_freeBusyHandler = std::make_unique(m_iface, &m_settings); + m_handlers.clear(); +- m_handlers.push_back(GenericHandler::Ptr(new CalendarHandler(m_iface, m_settings))); +- m_handlers.push_back(GenericHandler::Ptr(new PersonHandler(m_iface, m_settings))); +- m_handlers.push_back(GenericHandler::Ptr(new TaskHandler(m_iface, m_settings))); +- +- new SettingsAdaptor(m_settings); +- QDBusConnection::sessionBus().registerObject(QStringLiteral("/Settings"), m_settings, QDBusConnection::ExportAdaptors); ++ m_handlers.push_back(GenericHandler::Ptr(new CalendarHandler(m_iface, &m_settings))); ++ m_handlers.push_back(GenericHandler::Ptr(new PersonHandler(m_iface, &m_settings))); ++ m_handlers.push_back(GenericHandler::Ptr(new TaskHandler(m_iface, &m_settings))); + } + + GoogleResource::~GoogleResource() +@@ -128,7 +127,7 @@ GoogleResource::~GoogleResource() + + void GoogleResource::cleanup() + { +- m_settings->cleanup(); ++ m_settings.cleanup(); + ResourceBase::cleanup(); + } + +@@ -137,65 +136,30 @@ void GoogleResource::emitReadyStatus() + Q_EMIT status(Idle, i18nc("@info:status", "Ready")); + } + +-void GoogleResource::configure(WId windowId) +-{ +- if (!m_settings->isReady() || m_isConfiguring) { +- Q_EMIT configurationDialogAccepted(); +- return; +- } +- +- m_isConfiguring = true; +- +- QScopedPointer settingsDialog(new GoogleSettingsDialog(this, m_settings, windowId)); +- settingsDialog->setWindowIcon(QIcon::fromTheme(QStringLiteral("im-google"))); +- if (settingsDialog->exec() == QDialog::Accepted) { +- updateResourceName(); +- +- Q_EMIT configurationDialogAccepted(); +- +- if (m_settings->accountPtr().isNull()) { +- Q_EMIT status(NotConfigured, i18n("Configured account does not exist")); +- m_isConfiguring = false; +- return; +- } +- +- emitReadyStatus(); +- synchronize(); +- } else { +- updateResourceName(); +- +- Q_EMIT configurationDialogRejected(); +- } +- +- m_isConfiguring = false; +-} +- + QList GoogleResource::scopes() const + { + // TODO: determine it based on what user wants? +- const QList scopes = { +- Account::accountInfoScopeUrl(), +- Account::calendarScopeUrl(), +- Account::peopleScopeUrl(), +- Account::tasksScopeUrl(), +- }; +- return scopes; ++ return googleScopes(); + } + + void GoogleResource::updateResourceName() + { +- const QString accountName = m_settings->account(); ++ const QString accountName = m_settings.account(); + setName(i18nc("%1 is account name (user@gmail.com)", "Google Groupware (%1)", accountName.isEmpty() ? i18n("not configured") : accountName)); + } + + void GoogleResource::reloadConfig() + { +- const AccountPtr account = m_settings->accountPtr(); ++ updateResourceName(); ++ ++ const AccountPtr account = m_settings.accountPtr(); + if (account.isNull() || account->accountName().isEmpty()) { + Q_EMIT status(NotConfigured, i18n("Configured account does not exist")); +- } else { +- emitReadyStatus(); ++ return; + } ++ ++ emitReadyStatus(); ++ synchronize(); + } + + bool GoogleResource::handleError(KGAPI2::Job *job, bool _cancelTask) +@@ -231,7 +195,7 @@ bool GoogleResource::handleError(KGAPI2::Job *job, bool _cancelTask) + + void GoogleResource::runAuthJob(const KGAPI2::AccountPtr &account, const QVariant &args) + { +- auto authJob = new AuthJob(account, m_settings->clientId(), m_settings->clientSecret(), this); ++ auto authJob = new AuthJob(account, m_settings.clientId(), m_settings.clientSecret(), this); + authJob->setProperty(JOB_PROPERTY, args); + connect(authJob, &AuthJob::finished, this, &GoogleResource::slotAuthJobFinished); + } +@@ -264,7 +228,7 @@ void GoogleResource::requestAuthenticationFromUser(const KGAPI2::AccountPtr &acc + + bool GoogleResource::canPerformTask() + { +- if (!m_settings->accountPtr() && accountId() == 0) { ++ if (!m_settings.accountPtr() && accountId() == 0) { + cancelTask(i18nc("@info:status", "Resource is not configured")); + Q_EMIT status(NotConfigured, i18nc("@info:status", "Resource is not configured")); + return false; +@@ -289,10 +253,11 @@ void GoogleResource::slotAuthJobFinished(KGAPI2::Job *job) + + auto authJob = qobject_cast(job); + AccountPtr account = authJob->account(); +- auto writeJob = m_settings->storeAccount(account); ++ auto writeJob = m_settings.storeAccount(account); + connect(writeJob, &WritePasswordJob::finished, this, [job, account, writeJob]() { + if (writeJob->error()) { + qCWarning(GOOGLE_LOG) << "Failed to store account's password in secret storage" << writeJob->errorString(); ++ return; + } + + auto otherJob = job->property(JOB_PROPERTY).value(); +@@ -375,22 +340,22 @@ void GoogleResource::retrieveCollections() + + setCollectionStreamingEnabled(true); + CachePolicy cachePolicy; +- if (m_settings->enableIntervalCheck()) { ++ if (m_settings.enableIntervalCheck()) { + cachePolicy.setInheritFromParent(false); +- cachePolicy.setIntervalCheckTime(m_settings->intervalCheckTime()); ++ cachePolicy.setIntervalCheckTime(m_settings.intervalCheckTime()); + } + + // Setting up root collection + m_rootCollection = Collection(); + m_rootCollection.setContentMimeTypes({Collection::mimeType(), Collection::virtualMimeType()}); + m_rootCollection.setRemoteId(ROOT_COLLECTION_REMOTEID); +- m_rootCollection.setName(m_settings->accountPtr()->accountName()); ++ m_rootCollection.setName(m_settings.accountPtr()->accountName()); + m_rootCollection.setParentCollection(Collection::root()); + m_rootCollection.setRights(Collection::CanCreateCollection); + m_rootCollection.setCachePolicy(cachePolicy); + + auto attr = m_rootCollection.attribute(Collection::AddIfMissing); +- attr->setDisplayName(m_settings->accountPtr()->accountName()); ++ attr->setDisplayName(m_settings.accountPtr()->accountName()); + attr->setIconName(QStringLiteral("im-google")); + + collectionsRetrieved({m_rootCollection}); +diff --git a/resources/google-groupware/googleresource.h b/resources/google-groupware/googleresource.h +index 4609572756..75708afca4 100644 +--- a/resources/google-groupware/googleresource.h ++++ b/resources/google-groupware/googleresource.h +@@ -14,6 +14,7 @@ + + #include "calendarhandler.h" + #include "generichandler.h" ++#include "googlesettings.h" + + #define JOB_PROPERTY "_KGAPI2Job" + +@@ -37,7 +38,6 @@ public: + + void cleanup() override; + public Q_SLOTS: +- void configure(WId windowId) override; + void reloadConfig(); + + protected: +@@ -83,7 +83,7 @@ protected Q_SLOTS: + + private: + bool m_isConfiguring = false; +- GoogleSettings *m_settings = nullptr; ++ GoogleSettings m_settings; + Akonadi::Collection m_rootCollection; + + GoogleResourceState *const m_iface; +diff --git a/resources/google-groupware/googlescopes.cpp b/resources/google-groupware/googlescopes.cpp +new file mode 100644 +index 0000000000..9e565f7e33 +--- /dev/null ++++ b/resources/google-groupware/googlescopes.cpp +@@ -0,0 +1,19 @@ ++// SPDX-FileCopyrightText: 2011 Daniel Vrátil ++// SPDX-FileCopyrightText: 2023 Carl Schwan ++// SPDX-License-Identifier: GPL-3.0-or-later ++ ++#include "googlescopes.h" ++#include ++ ++using namespace KGAPI2; ++ ++QList googleScopes() ++{ ++ // TODO: determine it based on what user wants? ++ return { ++ Account::accountInfoScopeUrl(), ++ Account::calendarScopeUrl(), ++ Account::peopleScopeUrl(), ++ Account::tasksScopeUrl(), ++ }; ++} +diff --git a/resources/google-groupware/googlescopes.h b/resources/google-groupware/googlescopes.h +new file mode 100644 +index 0000000000..33bf579a89 +--- /dev/null ++++ b/resources/google-groupware/googlescopes.h +@@ -0,0 +1,10 @@ ++/* ++ SPDX-FileCopyrightText: 2011 Daniel Vrátil ++ SPDX-FileCopyrightText: 2023 Carl Schwan ++ SPDX-License-Identifier: GPL-3.0-or-later ++*/ ++ ++#include ++#include ++ ++QList googleScopes(); +diff --git a/resources/google-groupware/googlesettings.cpp b/resources/google-groupware/googlesettings.cpp +index 6a1785fcf9..aa94cad1ab 100644 +--- a/resources/google-groupware/googlesettings.cpp ++++ b/resources/google-groupware/googlesettings.cpp +@@ -8,6 +8,8 @@ + + #include "googlesettings.h" + #include "googleresource_debug.h" ++#include "googlescopes.h" ++#include "settingsadaptor.h" + + #include + #include +@@ -27,8 +29,16 @@ using namespace KGAPI2; + + static const QString googleWalletFolder = QStringLiteral("Akonadi Google"); + +-GoogleSettings::GoogleSettings() ++GoogleSettings::GoogleSettings(const KSharedConfigPtr &config, Options options) ++ : SettingsBase(config) + { ++ qDebug() << config; ++ if (options & Option::ExportToDBus) { ++ new SettingsAdaptor(this); ++ QDBusConnection::sessionBus().registerObject(QStringLiteral("/Settings"), ++ this, ++ QDBusConnection::ExportAdaptors | QDBusConnection::ExportScriptableContents); ++ } + } + + void GoogleSettings::init() +@@ -82,15 +92,17 @@ WritePasswordJob *GoogleSettings::storeAccount(AccountPtr account) + m_account = account; + + QStringList scopes; +- const QList urlScopes = m_account->scopes(); ++ const QList urlScopes = googleScopes(); + scopes.reserve(urlScopes.count()); + for (const QUrl &url : urlScopes) { + scopes << url.toString(); + } + +- const QMap map = {{QStringLiteral("accessToken"), m_account->accessToken()}, +- {QStringLiteral("refreshToken"), m_account->refreshToken()}, +- {QStringLiteral("scopes"), scopes.join(QLatin1Char(','))}}; ++ const QMap map = { ++ {QStringLiteral("accessToken"), m_account->accessToken()}, ++ {QStringLiteral("refreshToken"), m_account->refreshToken()}, ++ {QStringLiteral("scopes"), scopes.join(QLatin1Char(','))}, ++ }; + + // Legacy: store the map exactly like kwallet-kf6 is doing it + QByteArray mapData; +diff --git a/resources/google-groupware/googlesettings.h b/resources/google-groupware/googlesettings.h +index f689dc7748..0ec4c3c34e 100644 +--- a/resources/google-groupware/googlesettings.h ++++ b/resources/google-groupware/googlesettings.h +@@ -33,7 +33,14 @@ class GoogleSettings : public SettingsBase + Q_CLASSINFO("D-Bus Interface", "org.kde.Akonadi.Google.ExtendedSettings") + + public: +- GoogleSettings(); ++ enum class Option { ++ NoOption = 0, ++ ExportToDBus = 1, ++ }; ++ Q_DECLARE_FLAGS(Options, Option) ++ ++ explicit GoogleSettings(const KSharedConfigPtr &config, Options options = Option::ExportToDBus); ++ + void init(); + void setWindowId(WId id); + void setResourceId(const QString &resourceIdentifier); +@@ -50,9 +57,11 @@ public: + bool isReady() const; + QKeychain::WritePasswordJob *storeAccount(KGAPI2::AccountPtr account); + void cleanup(); ++ + Q_SIGNALS: + void accountReady(bool ready); + void accountChanged(); ++ void okEnabled(bool enabled); + + private: + void slotWalletOpened(bool success); +diff --git a/resources/google-groupware/googlesettingsdialog.cpp b/resources/google-groupware/googlesettingsdialog.cpp +deleted file mode 100644 +index d418652d6f..0000000000 +--- a/resources/google-groupware/googlesettingsdialog.cpp ++++ /dev/null +@@ -1,305 +0,0 @@ +-/* +- SPDX-FileCopyrightText: 2013 Daniel Vrátil +- SPDX-FileCopyrightText: 2020 Igor Poboiko +- +- SPDX-License-Identifier: GPL-3.0-or-later +-*/ +- +-#include "googlesettingsdialog.h" +-#include "googleresource.h" +-#include "googleresource_debug.h" +-#include "googlesettings.h" +-#include "ui_googlesettingsdialog.h" +- +-#include +- +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +- +-#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) +-#include +-#else +-#include +-#endif +- +-using namespace QKeychain; +-using namespace KGAPI2; +- +-GoogleSettingsDialog::GoogleSettingsDialog(GoogleResource *resource, GoogleSettings *settings, WId wId) +- : QDialog() +- , m_resource(resource) +- , m_settings(settings) +- , m_ui(new Ui::GoogleSettingsDialog) +-{ +- if (wId) { +- setAttribute(Qt::WA_NativeWindow, true); +- kwindowsystem-kf6::setMainWindow(windowHandle(), wId); +- } +- auto mainLayout = new QVBoxLayout(this); +- +- auto mainWidget = new QWidget(this); +- mainLayout->addWidget(mainWidget); +- +- auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this); +- QPushButton *okButton = buttonBox->button(QDialogButtonBox::Ok); +- okButton->setDefault(true); +- okButton->setShortcut(Qt::CTRL | Qt::Key_Return); +- mainLayout->addWidget(buttonBox); +- +- m_ui->setupUi(mainWidget); +- +- m_ui->refreshSpinBox->setSuffix(ki18n-kf6p(" minute", " minutes")); +- m_ui->enableRefresh->setChecked(m_settings->enableIntervalCheck()); +- m_ui->refreshSpinBox->setEnabled(m_settings->enableIntervalCheck()); +- m_ui->refreshSpinBox->setValue(m_settings->intervalCheckTime()); +- +- m_ui->eventsLimitCombo->setMaximumDate(QDate::currentDate()); +- m_ui->eventsLimitCombo->setMinimumDate(QDate::fromString(QStringLiteral("2000-01-01"), Qt::ISODate)); +- m_ui->eventsLimitCombo->setOptions(KDateComboBox::EditDate | KDateComboBox::SelectDate | KDateComboBox::DatePicker | KDateComboBox::WarnOnInvalid); +- if (m_settings->eventsSince().isEmpty()) { +- const QString ds = QStringLiteral("%1-01-01").arg(QString::number(QDate::currentDate().year() - 3)); +- m_ui->eventsLimitCombo->setDate(QDate::fromString(ds, Qt::ISODate)); +- } else { +- m_ui->eventsLimitCombo->setDate(QDate::fromString(m_settings->eventsSince(), Qt::ISODate)); +- } +- +- connect(buttonBox, &QDialogButtonBox::accepted, this, &GoogleSettingsDialog::slotSaveSettings); +- connect(buttonBox, &QDialogButtonBox::rejected, this, &GoogleSettingsDialog::reject); +- connect(m_ui->reloadCalendarsBtn, &QPushButton::clicked, this, &GoogleSettingsDialog::slotReloadCalendars); +- connect(m_ui->reloadTaskListsBtn, &QPushButton::clicked, this, &GoogleSettingsDialog::slotReloadTaskLists); +- connect(m_ui->configureBtn, &QPushButton::clicked, this, &GoogleSettingsDialog::slotConfigure); +- if (m_settings->isReady()) { +- m_account = m_settings->accountPtr(); +- } +- connect(m_settings, &GoogleSettings::accountReady, this, [this](bool ready) { +- if (ready) { +- m_account = m_settings->accountPtr(); +- accountChanged(); +- } +- }); +- QMetaObject::invokeMethod(this, &GoogleSettingsDialog::accountChanged, Qt::QueuedConnection); +-} +- +-GoogleSettingsDialog::~GoogleSettingsDialog() +-{ +- delete m_ui; +-} +- +-bool GoogleSettingsDialog::handleError(KGAPI2::Job *job) +-{ +- if ((job->error() == KGAPI2::NoError) || (job->error() == KGAPI2::OK)) { +- return true; +- } +- +- if (job->error() == KGAPI2::Unauthorized) { +- qCDebug(GOOGLE_LOG) << job << job->errorString(); +- const QList resourceScopes = m_resource->scopes(); +- for (const QUrl &scope : resourceScopes) { +- if (!m_account->scopes().contains(scope)) { +- m_account->addScope(scope); +- } +- } +- +- auto authJob = new AuthJob(m_account, m_settings->clientId(), m_settings->clientSecret(), this); +- authJob->setProperty(JOB_PROPERTY, QVariant::fromValue(job)); +- connect(authJob, &AuthJob::finished, this, &GoogleSettingsDialog::slotAuthJobFinished); +- +- return false; +- } +- +- KMessageBox::error(this, job->errorString()); +- return false; +-} +- +-void GoogleSettingsDialog::accountChanged() +-{ +- if (!m_account) { +- m_ui->accountLabel->setText(i18n("not configured")); +- m_ui->calendarsList->setDisabled(true); +- m_ui->reloadCalendarsBtn->setDisabled(true); +- m_ui->calendarsList->clear(); +- m_ui->taskListsList->setDisabled(true); +- m_ui->reloadTaskListsBtn->setDisabled(true); +- m_ui->taskListsList->clear(); +- return; +- } +- m_ui->accountLabel->setText(QStringLiteral("%1").arg(m_account->accountName())); +- slotReloadCalendars(); +- slotReloadTaskLists(); +-} +- +-void GoogleSettingsDialog::slotConfigure() +-{ +- const QString username = m_account && !m_account->accountName().isEmpty() ? m_account->accountName() : QString(); +- m_account = AccountPtr(new Account()); +- const QList resourceScopes = m_resource->scopes(); +- for (const QUrl &scope : resourceScopes) { +- if (!m_account->scopes().contains(scope)) { +- m_account->addScope(scope); +- } +- } +- auto authJob = new AuthJob(m_account, m_settings->clientId(), m_settings->clientSecret()); +- authJob->setUsername(username); +- connect(authJob, &AuthJob::finished, this, &GoogleSettingsDialog::slotAuthJobFinished); +-} +- +-void GoogleSettingsDialog::slotAuthJobFinished(KGAPI2::Job *job) +-{ +- auto authJob = qobject_cast(job); +- m_account = authJob->account(); +- if (authJob->error() != KGAPI2::NoError) { +- KMessageBox::error(this, authJob->errorString()); +- return; +- } +- accountChanged(); +- +- auto otherJob = job->property(JOB_PROPERTY).value(); +- if (otherJob) { +- otherJob->setAccount(m_account); +- otherJob->restart(); +- } +-} +- +-void GoogleSettingsDialog::slotSaveSettings() +-{ +- auto reset = [this] { +- m_settings->setAccount({}); +- m_settings->setEnableIntervalCheck(m_ui->enableRefresh->isChecked()); +- m_settings->setIntervalCheckTime(m_ui->refreshSpinBox->value()); +- m_settings->setCalendars({}); +- m_settings->setTaskLists({}); +- m_settings->setEventsSince({}); +- m_settings->save(); +- }; +- +- if (!m_account) { +- reset(); +- return; +- } +- +- auto writeJob = m_settings->storeAccount(m_account); +- connect(writeJob, &WritePasswordJob::finished, this, [this, reset, writeJob]() { +- if (writeJob->error()) { +- qCWarning(GOOGLE_LOG) << "Failed to store account's password in secret storage" << writeJob->errorString(); +- reset(); +- return; +- } +- +- m_settings->setAccount(m_account->accountName()); +- m_settings->setEnableIntervalCheck(m_ui->enableRefresh->isChecked()); +- m_settings->setIntervalCheckTime(m_ui->refreshSpinBox->value()); +- +- QStringList calendars; +- for (int i = 0; i < m_ui->calendarsList->count(); i++) { +- QListWidgetItem *item = m_ui->calendarsList->item(i); +- +- if (item->checkState() == Qt::Checked) { +- calendars.append(item->data(Qt::UserRole).toString()); +- } +- } +- m_settings->setCalendars(calendars); +- +- if (m_ui->eventsLimitCombo->isValid()) { +- m_settings->setEventsSince(m_ui->eventsLimitCombo->date().toString(Qt::ISODate)); +- } +- +- QStringList taskLists; +- for (int i = 0; i < m_ui->taskListsList->count(); i++) { +- QListWidgetItem *item = m_ui->taskListsList->item(i); +- +- if (item->checkState() == Qt::Checked) { +- taskLists.append(item->data(Qt::UserRole).toString()); +- } +- } +- m_settings->setTaskLists(taskLists); +- m_settings->save(); +- +- accept(); +- }); +-} +- +-void GoogleSettingsDialog::slotReloadCalendars() +-{ +- m_ui->calendarsList->setDisabled(true); +- m_ui->reloadCalendarsBtn->setDisabled(true); +- m_ui->calendarsList->clear(); +- +- if (!m_account) { +- return; +- } +- +- auto fetchJob = new CalendarFetchJob(m_account, this); +- connect(fetchJob, &CalendarFetchJob::finished, this, [this](KGAPI2::Job *job) { +- if (!handleError(job) || !m_account) { +- m_ui->calendarsList->setEnabled(false); +- m_ui->reloadCalendarsBtn->setEnabled(false); +- return; +- } +- +- const ObjectsList objects = qobject_cast(job)->items(); +- +- QStringList activeCalendars; +- if (m_account->accountName() == m_settings->account()) { +- activeCalendars = m_settings->calendars(); +- } +- m_ui->calendarsList->clear(); +- for (const ObjectPtr &object : objects) { +- const CalendarPtr calendar = object.dynamicCast(); +- +- auto item = new QListWidgetItem(calendar->title()); +- item->setData(Qt::UserRole, calendar->uid()); +- item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsUserCheckable); +- item->setCheckState((activeCalendars.isEmpty() || activeCalendars.contains(calendar->uid())) ? Qt::Checked : Qt::Unchecked); +- m_ui->calendarsList->addItem(item); +- } +- +- m_ui->calendarsList->setEnabled(true); +- m_ui->reloadCalendarsBtn->setEnabled(true); +- }); +-} +- +-void GoogleSettingsDialog::slotReloadTaskLists() +-{ +- if (!m_account) { +- return; +- } +- +- m_ui->taskListsList->setDisabled(true); +- m_ui->reloadTaskListsBtn->setDisabled(true); +- m_ui->taskListsList->clear(); +- +- auto job = new TaskListFetchJob(m_account, this); +- connect(job, &TaskListFetchJob::finished, this, [this](KGAPI2::Job *job) { +- if (!handleError(job) || !m_account) { +- m_ui->taskListsList->setDisabled(true); +- m_ui->reloadTaskListsBtn->setDisabled(true); +- return; +- } +- +- const ObjectsList objects = qobject_cast(job)->items(); +- +- QStringList activeTaskLists; +- if (m_account->accountName() == m_settings->account()) { +- activeTaskLists = m_settings->taskLists(); +- } +- m_ui->taskListsList->clear(); +- for (const ObjectPtr &object : objects) { +- const TaskListPtr taskList = object.dynamicCast(); +- +- auto item = new QListWidgetItem(taskList->title()); +- item->setData(Qt::UserRole, taskList->uid()); +- item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsUserCheckable); +- item->setCheckState((activeTaskLists.isEmpty() || activeTaskLists.contains(taskList->uid())) ? Qt::Checked : Qt::Unchecked); +- m_ui->taskListsList->addItem(item); +- } +- +- m_ui->taskListsList->setEnabled(true); +- m_ui->reloadTaskListsBtn->setEnabled(true); +- }); +-} +diff --git a/resources/google-groupware/googlesettingswidget.cpp b/resources/google-groupware/googlesettingswidget.cpp +new file mode 100644 +index 0000000000..2543c4c6b8 +--- /dev/null ++++ b/resources/google-groupware/googlesettingswidget.cpp +@@ -0,0 +1,288 @@ ++/* ++ SPDX-FileCopyrightText: 2013 Daniel Vrátil ++ SPDX-FileCopyrightText: 2020 Igor Poboiko ++ ++ SPDX-License-Identifier: GPL-3.0-or-later ++*/ ++ ++#include "googlesettingswidget.h" ++#include "googleresource.h" ++#include "googleresource_debug.h" ++#include "googlescopes.h" ++#include "googlesettings.h" ++ ++#include ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) ++#include ++#else ++#include ++#endif ++ ++using namespace QKeychain; ++using namespace KGAPI2; ++ ++GoogleSettingsWidget::GoogleSettingsWidget(GoogleSettings &settings, const QString &identifier, QWidget *parent) ++ : QWidget(parent) ++ , m_settings(settings) ++ , m_identifier(identifier) ++{ ++ qDebug() << m_settings.account(); ++ auto mainLayout = new QVBoxLayout(this); ++ ++ auto mainWidget = new QWidget(this); ++ mainLayout->addWidget(mainWidget); ++ setupUi(mainWidget); ++ ++ refreshSpinBox->setSuffix(ki18n-kf6p(" minute", " minutes")); ++ enableRefresh->setChecked(m_settings.enableIntervalCheck()); ++ refreshSpinBox->setEnabled(m_settings.enableIntervalCheck()); ++ refreshSpinBox->setValue(m_settings.intervalCheckTime()); ++ ++ eventsLimitCombo->setMaximumDate(QDate::currentDate()); ++ eventsLimitCombo->setMinimumDate(QDate::fromString(QStringLiteral("2000-01-01"), Qt::ISODate)); ++ eventsLimitCombo->setOptions(KDateComboBox::EditDate | KDateComboBox::SelectDate | KDateComboBox::DatePicker | KDateComboBox::WarnOnInvalid); ++ if (m_settings.eventsSince().isEmpty()) { ++ const QString ds = QStringLiteral("%1-01-01").arg(QString::number(QDate::currentDate().year() - 3)); ++ eventsLimitCombo->setDate(QDate::fromString(ds, Qt::ISODate)); ++ } else { ++ eventsLimitCombo->setDate(QDate::fromString(m_settings.eventsSince(), Qt::ISODate)); ++ } ++ connect(reloadCalendarsBtn, &QPushButton::clicked, this, &GoogleSettingsWidget::slotReloadCalendars); ++ connect(reloadTaskListsBtn, &QPushButton::clicked, this, &GoogleSettingsWidget::slotReloadTaskLists); ++ connect(configureBtn, &QPushButton::clicked, this, &GoogleSettingsWidget::loadSettings); ++ if (m_settings.isReady()) { ++ m_account = m_settings.accountPtr(); ++ } ++ connect(&m_settings, &GoogleSettings::accountReady, this, [this](bool ready) { ++ if (ready) { ++ m_account = m_settings.accountPtr(); ++ accountChanged(); ++ } ++ }); ++ QMetaObject::invokeMethod(this, &GoogleSettingsWidget::accountChanged, Qt::QueuedConnection); ++} ++ ++GoogleSettingsWidget::~GoogleSettingsWidget() ++{ ++} ++ ++bool GoogleSettingsWidget::handleError(KGAPI2::Job *job) ++{ ++ if ((job->error() == KGAPI2::NoError) || (job->error() == KGAPI2::OK)) { ++ return true; ++ } ++ ++ if (job->error() == KGAPI2::Unauthorized) { ++ qCDebug(GOOGLE_LOG) << job << job->errorString(); ++ const QList resourceScopes = googleScopes(); ++ for (const QUrl &scope : resourceScopes) { ++ if (!m_account->scopes().contains(scope)) { ++ m_account->addScope(scope); ++ } ++ } ++ ++ auto authJob = new AuthJob(m_account, m_settings.clientId(), m_settings.clientSecret(), this); ++ authJob->setProperty(JOB_PROPERTY, QVariant::fromValue(job)); ++ connect(authJob, &AuthJob::finished, this, &GoogleSettingsWidget::slotAuthJobFinished); ++ ++ return false; ++ } ++ ++ KMessageBox::error(this, job->errorString()); ++ return false; ++} ++ ++void GoogleSettingsWidget::accountChanged() ++{ ++ if (!m_account) { ++ accountLabel->setText(i18n("not configured")); ++ calendarsList->setDisabled(true); ++ reloadCalendarsBtn->setDisabled(true); ++ calendarsList->clear(); ++ taskListsList->setDisabled(true); ++ reloadTaskListsBtn->setDisabled(true); ++ taskListsList->clear(); ++ return; ++ } ++ accountLabel->setText(QStringLiteral("%1").arg(m_account->accountName())); ++ slotReloadCalendars(); ++ slotReloadTaskLists(); ++} ++ ++void GoogleSettingsWidget::loadSettings() ++{ ++ const QString username = m_account && !m_account->accountName().isEmpty() ? m_account->accountName() : QString(); ++ m_account = AccountPtr(new Account()); ++ const QList resourceScopes = googleScopes(); ++ for (const QUrl &scope : resourceScopes) { ++ if (!m_account->scopes().contains(scope)) { ++ m_account->addScope(scope); ++ } ++ } ++ auto authJob = new AuthJob(m_account, m_settings.clientId(), m_settings.clientSecret()); ++ authJob->setUsername(username); ++ connect(authJob, &AuthJob::finished, this, &GoogleSettingsWidget::slotAuthJobFinished); ++} ++ ++void GoogleSettingsWidget::slotAuthJobFinished(KGAPI2::Job *job) ++{ ++ auto authJob = qobject_cast(job); ++ m_account = authJob->account(); ++ if (authJob->error() != KGAPI2::NoError) { ++ KMessageBox::error(this, authJob->errorString()); ++ return; ++ } ++ accountChanged(); ++ ++ auto otherJob = job->property(JOB_PROPERTY).value(); ++ if (otherJob) { ++ otherJob->setAccount(m_account); ++ otherJob->restart(); ++ } ++} ++ ++void GoogleSettingsWidget::saveSettings() ++{ ++ auto reset = [this] { ++ m_settings.setAccount({}); ++ m_settings.setEnableIntervalCheck(enableRefresh->isChecked()); ++ m_settings.setIntervalCheckTime(refreshSpinBox->value()); ++ m_settings.setCalendars({}); ++ m_settings.setTaskLists({}); ++ m_settings.setEventsSince({}); ++ m_settings.save(); ++ }; ++ ++ if (!m_account) { ++ reset(); ++ return; ++ } ++ ++ auto writeJob = m_settings.storeAccount(m_account); ++ connect(writeJob, &WritePasswordJob::finished, this, [this, reset, writeJob]() { ++ if (writeJob->error()) { ++ qCWarning(GOOGLE_LOG) << "Failed to store account's password in secret storage" << writeJob->errorString(); ++ reset(); ++ return; ++ } ++ ++ m_settings.setAccount(m_account->accountName()); ++ m_settings.setEnableIntervalCheck(enableRefresh->isChecked()); ++ m_settings.setIntervalCheckTime(refreshSpinBox->value()); ++ ++ QStringList calendars; ++ for (int i = 0; i < calendarsList->count(); i++) { ++ QListWidgetItem *item = calendarsList->item(i); ++ ++ if (item->checkState() == Qt::Checked) { ++ calendars.append(item->data(Qt::UserRole).toString()); ++ } ++ } ++ m_settings.setCalendars(calendars); ++ ++ if (eventsLimitCombo->isValid()) { ++ m_settings.setEventsSince(eventsLimitCombo->date().toString(Qt::ISODate)); ++ } ++ ++ QStringList taskLists; ++ for (int i = 0; i < taskListsList->count(); i++) { ++ QListWidgetItem *item = taskListsList->item(i); ++ ++ if (item->checkState() == Qt::Checked) { ++ taskLists.append(item->data(Qt::UserRole).toString()); ++ } ++ } ++ m_settings.setTaskLists(taskLists); ++ m_settings.save(); ++ }); ++} ++ ++void GoogleSettingsWidget::slotReloadCalendars() ++{ ++ calendarsList->setDisabled(true); ++ reloadCalendarsBtn->setDisabled(true); ++ calendarsList->clear(); ++ ++ if (!m_account) { ++ return; ++ } ++ ++ auto fetchJob = new CalendarFetchJob(m_account, this); ++ connect(fetchJob, &CalendarFetchJob::finished, this, [this](KGAPI2::Job *job) { ++ if (!handleError(job) || !m_account) { ++ calendarsList->setEnabled(false); ++ reloadCalendarsBtn->setEnabled(false); ++ return; ++ } ++ ++ const ObjectsList objects = qobject_cast(job)->items(); ++ ++ QStringList activeCalendars; ++ if (m_account->accountName() == m_settings.account()) { ++ activeCalendars = m_settings.calendars(); ++ } ++ calendarsList->clear(); ++ for (const ObjectPtr &object : objects) { ++ const CalendarPtr calendar = object.dynamicCast(); ++ ++ auto item = new QListWidgetItem(calendar->title()); ++ item->setData(Qt::UserRole, calendar->uid()); ++ item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsUserCheckable); ++ item->setCheckState((activeCalendars.isEmpty() || activeCalendars.contains(calendar->uid())) ? Qt::Checked : Qt::Unchecked); ++ calendarsList->addItem(item); ++ } ++ ++ calendarsList->setEnabled(true); ++ reloadCalendarsBtn->setEnabled(true); ++ }); ++} ++ ++void GoogleSettingsWidget::slotReloadTaskLists() ++{ ++ if (!m_account) { ++ return; ++ } ++ ++ taskListsList->setDisabled(true); ++ reloadTaskListsBtn->setDisabled(true); ++ taskListsList->clear(); ++ ++ auto job = new TaskListFetchJob(m_account, this); ++ connect(job, &TaskListFetchJob::finished, this, [this](KGAPI2::Job *job) { ++ if (!handleError(job) || !m_account) { ++ taskListsList->setDisabled(true); ++ reloadTaskListsBtn->setDisabled(true); ++ return; ++ } ++ ++ const ObjectsList objects = qobject_cast(job)->items(); ++ ++ QStringList activeTaskLists; ++ if (m_account->accountName() == m_settings.account()) { ++ activeTaskLists = m_settings.taskLists(); ++ } ++ taskListsList->clear(); ++ for (const ObjectPtr &object : objects) { ++ const TaskListPtr taskList = object.dynamicCast(); ++ ++ auto item = new QListWidgetItem(taskList->title()); ++ item->setData(Qt::UserRole, taskList->uid()); ++ item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsUserCheckable); ++ item->setCheckState((activeTaskLists.isEmpty() || activeTaskLists.contains(taskList->uid())) ? Qt::Checked : Qt::Unchecked); ++ taskListsList->addItem(item); ++ } ++ ++ taskListsList->setEnabled(true); ++ reloadTaskListsBtn->setEnabled(true); ++ }); ++} +diff --git a/resources/google-groupware/googlesettingsdialog.h b/resources/google-groupware/googlesettingswidget.h +similarity index 53% +rename from resources/google-groupware/googlesettingsdialog.h +rename to resources/google-groupware/googlesettingswidget.h +index a7d6ca0c92..4226a39d2d 100644 +--- a/resources/google-groupware/googlesettingsdialog.h ++++ b/resources/google-groupware/googlesettingswidget.h +@@ -7,40 +7,37 @@ + + #pragma once + ++#include "googlesettings.h" ++#include "ui_googlesettingswidget.h" + #include +-#include + +-namespace Ui +-{ +-class GoogleSettingsDialog; +-} + namespace KGAPI2 + { + class Job; + } +-class GoogleResource; +-class GoogleSettings; +- +-class GoogleSettingsDialog : public QDialog ++class GoogleSettingsWidget : public QWidget, private Ui::GoogleSettingsWidget + { + Q_OBJECT + public: +- explicit GoogleSettingsDialog(GoogleResource *resource, GoogleSettings *settings, WId wId); +- ~GoogleSettingsDialog() override; ++ explicit GoogleSettingsWidget(GoogleSettings &settings, const QString &identifier, QWidget *parent); ++ ~GoogleSettingsWidget() override; ++ ++ void loadSettings(); ++ void saveSettings(); ++ ++Q_SIGNALS: ++ void okEnabled(bool enabled); + + protected: + bool handleError(KGAPI2::Job *job); + void accountChanged(); + + private: +- void slotConfigure(); + void slotAuthJobFinished(KGAPI2::Job *job); +- void slotSaveSettings(); + void slotReloadCalendars(); + void slotReloadTaskLists(); + +- GoogleResource *const m_resource; +- GoogleSettings *const m_settings; +- Ui::GoogleSettingsDialog *const m_ui; ++ GoogleSettings &m_settings; + KGAPI2::AccountPtr m_account; ++ const QString m_identifier; + }; +diff --git a/resources/google-groupware/googlesettingsdialog.ui b/resources/google-groupware/googlesettingswidget.ui +similarity index 99% +rename from resources/google-groupware/googlesettingsdialog.ui +rename to resources/google-groupware/googlesettingswidget.ui +index 9ff9bc93b4..75fdfd24f1 100644 +--- a/resources/google-groupware/googlesettingsdialog.ui ++++ b/resources/google-groupware/googlesettingswidget.ui +@@ -1,6 +1,6 @@ + + +- GoogleSettingsDialog ++ GoogleSettingsWidget + + + +diff --git a/resources/google-groupware/settingsbase.kcfg b/resources/google-groupware/settingsbase.kcfg +index ac58395d71..7dfe8dfe92 100644 +--- a/resources/google-groupware/settingsbase.kcfg ++++ b/resources/google-groupware/settingsbase.kcfg +@@ -4,7 +4,7 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 + http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" > +- ++ + + + +-- +GitLab + diff --git a/desktop/kde6/applications/kdepim-runtime-kf6/pspec.xml b/desktop/kde6/applications/kdepim-runtime-kf6/pspec.xml new file mode 100755 index 0000000000..998b2d5d5b --- /dev/null +++ b/desktop/kde6/applications/kdepim-runtime-kf6/pspec.xml @@ -0,0 +1,154 @@ + + + + + + kdepim-runtime-kf6 + https://community.kde.org/KDE_PIM + + PisiLinux Community + admins@pisilinux.org + + LGPLv2 + kontact-kf6 + library + app:gui + kde6 PIM Runtime Environment + kdepim-runtime-kf6 contains kde6 PIM (Personal Information Management) runtime environment like akonadi agents. + mirrors://kde/stable/release-service/24.02.0/src/kdepim-runtime-24.02.0.tar.xz + + kdoctools-kf6-devel + boost-devel + shared-mime-info + akonadi-kf6-devel + akonadi-calendar-kf6-devel + akonadi-search-kf6-devel + kcmutils-kf6-devel + + + + kitemmodels-kf6-devel + + kunitconversion-kf6-devel + knotifyconfig-kf6-devel + + kmailtransport-kf6-devel + kidentitymanagement-kf6-devel + kalarm-kf6 + kcalutils-kf6-devel + kmbox-kf6-devel + kimap-kf6-devel + libkgapi-kf6-devel + kholidays-kf6-devel + ksyndication-kf6-devel + pimcommon-kf6-devel + cyrus-sasl-devel + qt6-declarative-devel + + + + qt6-webengine-devel + extra-cmake-modules-kf6 + qt6-location-devel + qt6-networkauth-kf6-devel + akonadi-mime-kf6-devel + akonadi-notes-kf6-devel + akonadi-contacts-kf6-devel + qt6-speech-devel + kdav-kf6-devel + ffmpeg-devel + kldap-kf6-devel + libkdepim-kf6-devel + libXScrnSaver-devel + qca2-qt6-devel + qt6-keychain-devel + + + + + + kdepim-runtime-kf6 + + akonadi-kf6 + libkgapi-kf6 + kio-kf6 + ki18n-kf6 + kimap-kf6 + kmbox-kf6 + kmime-kf6 + libgcc + kcodecs-kf6 + kconfig-kf6 + kwallet-kf6 + kxmlgui-kf6 + kcalendarcore-kf6 + kcmutils-kf6 + kservice-kf6 + qt6-base + kalarm-kf6 + kcalutils-kf6 + kitemviews-kf6 + kcompletion-kf6 + kcoreaddons-kf6 + kdbusaddons-kf6 + kitemmodels-kf6 + pimcommon-kf6 + kcontacts-kf6 + kjobwidgets-kf6 + knotifyconfig-kf6 + kwindowsystem-kf6 + kconfigwidgets-kf6 + kmailtransport-kf6 + ktextwidgets-kf6 + knotifications-kf6 + kwidgetsaddons-kf6 + qt6-speech + + akonadi-calendar-kf6 + + cyrus-sasl + akonadi-mime-kf6 + akonadi-notes-kf6 + qt6-webengine + qt6-networkauth-kf6 + akonadi-contacts-kf6 + kidentitymanagement-kf6 + kdav-kf6 + kldap-kf6 + libkdepim-kf6 + qt6-keychain + + + /etc/xdg + /usr/lib + /usr/bin + /usr/share + /usr/share/mime + /usr/share/kservice-kf6types5 + /usr/share/kservice-kf6s5 + /usr/share/knotifications-kf65 + /usr/share/icons + /usr/share/dbus-1 + /usr/share/akonadi + /usr/share/ontology + /usr/share/autostart + /usr/share/applications + /usr/share/doc + /usr/share/locale + + + + + + 2024-03-03 + 24.02.0 + First release + Mustafa Cinasal + muscnsl@gmail.com + + + diff --git a/desktop/kde6/applications/kdepim-runtime-kf6/translations.xml b/desktop/kde6/applications/kdepim-runtime-kf6/translations.xml new file mode 100755 index 0000000000..7eede31d12 --- /dev/null +++ b/desktop/kde6/applications/kdepim-runtime-kf6/translations.xml @@ -0,0 +1,8 @@ + + + + kdepim-runtime-kf6 + kde6 PIM (Kişisel Bilgi Yönetimi) çalışma zamanı ortamı + kdepim-runtime-kf6, kdelibs kullanarak yazılmış olan Akonadi ajanları da dahil olmak üzere kde6 PIM (Personal Information Management - Kişisel Bilgi Yönetimi) çalışma zamanı ortamını içerir. + + diff --git a/desktop/kde6/applications/mailcommon-kf6/actions.py b/desktop/kde6/applications/mailcommon-kf6/actions.py new file mode 100755 index 0000000000..6ef5f51338 --- /dev/null +++ b/desktop/kde6/applications/mailcommon-kf6/actions.py @@ -0,0 +1,20 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import pisitools +from pisi.actionsapi import kde6 + +def setup(): + kde6.configure() + +def build(): + kde6.make() + +def install(): + kde6.install() + + pisitools.dodoc("LICENSES/*") + diff --git a/desktop/kde6/applications/mailcommon-kf6/pspec.xml b/desktop/kde6/applications/mailcommon-kf6/pspec.xml new file mode 100755 index 0000000000..3cbbefd117 --- /dev/null +++ b/desktop/kde6/applications/mailcommon-kf6/pspec.xml @@ -0,0 +1,135 @@ + + + + + + mailcommon-kf6 + https://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:library + KDE PIM library providing support for mail applications + KDE PIM library providing support for mail applications + mirrors://kde/stable/release-service/24.02.0/src/mailcommon-24.02.0.tar.xz + + qt6-base-devel + qt6-phonon-devel + extra-cmake-modules-kf6 + boost-devel + glibc-devel + libical-devel + gettext-devel + qt6-designer-devel + kdoctools-kf6-devel + mailimporter-kf6-devel + messagelib-kf6-devel + libgravatar-kf6-devel + kidentitymanagement-kf6-devel + kmailtransport-kf6-devel + kmbox-kf6-devel + akonadi-kf6-devel + kjobwidgets-kf6-devel + solid-kf6-devel + kitemmodels-kf6-devel + + + + kunitconversion-kf6-devel + kmime-kf6-devel + kcontacts-kf6-devel + kcalendarcore-kf6-devel + + kpimtextedit-kf6-devel + kimap-kf6-devel + kldap-kf6-devel + grantleetheme-kf6-devel + pimcommon-kf6-devel + libkleo-kf6-devel + libkdepim-kf6-devel + gpgme-devel + gpgme-qt6-devel + akonadi-mime-kf6-devel + akonadi-contacts-kf6-devel + grantlee-qt5-devel + openldap-client + cyrus-sasl-devel + syntax-highlighting-kf6-devel + karchive-kf6-devel + kguiaddons-kf6-devel + qt6-webengine-devel + + + + + mailcommon-kf6 + + qt6-base + qt6-webengine + akonadi-contacts-kf6 + libgcc + libkdepim-kf6 + akonadi-mime-kf6 + mailimporter-kf6 + kio-kf6 + ki18n-kf6 + kmime-kf6 + akonadi-kf6 + kcodecs-kf6 + kconfig-kf6 + kxmlgui-kf6 + karchive-kf6 + kcontacts-kf6 + pimcommon-kf6 + kitemviews-kf6 + messagelib-kf6 + qt6-phonon + kguiaddons-kf6 + kcompletion-kf6 + kcoreaddons-kf6 + kiconthemes-kf6 + kitemmodels-kf6 + kpimtextedit-kf6 + ktextwidgets-kf6 + kwindowsystem-kf6 + kconfigwidgets-kf6 + kmailtransport-kf6 + kwidgetsaddons-kf6 + kidentitymanagement-kf6 + + + /etc + /usr/share + /usr/lib/qt6 + /usr/lib + /usr/share/doc + + + + + mailcommon-kf6-devel + Development files for mailcommon-kf6 + + qt6-webengine-devel + mailcommon-kf6 + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + + 2024-03-03 + 24.02.0 + First release + Mustafa Cinasal + muscnsl@gmail.com + + + diff --git a/pisi-index.xml b/pisi-index.xml index 9764fe6862..1e5ed6ed8c 100644 --- a/pisi-index.xml +++ b/pisi-index.xml @@ -50234,7 +50234,7 @@ Gnome session. Development files for gpgme gpgme için geliştirme dosyaları - gpgme + gpgme libgpg-error-devel libassuan-devel glib2-devel @@ -50243,27 +50243,28 @@ Gnome session. /usr/include /usr/share/aclocal /usr/lib/pkgconfig + /usr/include/qgpgme/* + /usr/include/QGpgME/* gpgme-qt5 Qt5 bindings for gpgme - gpgme + gpgme libgcc qt5-base libgpg-error /usr/lib/libqgpgme.so* - /usr/lib/cmake/Qgpgme gpgme-python Python bindings for gpgme - gpgme + gpgme python @@ -50275,7 +50276,7 @@ Gnome session. Python3 bindings for gpgme python3 - gpgme + gpgme /usr/lib/python3*/site-packages/ @@ -50286,21 +50287,20 @@ Gnome session. Development files for gpgme-qt5 qt5-base-devel - gpgme - gpgme-qt5 - gpgme-devel + gpgme + gpgme-qt5 + gpgme-devel - /usr/lib/cmake/QGpgme - /usr/include/qgpgme/* - /usr/include/QGpgME/* + /usr/lib/cmake/QGpgme/QGpgmeConfig.cmake + /usr/lib/cmake/QGpgme/QGpgmeConfigVersion.cmake gpgme-qt6 Qt6 bindings for gpgme - gpgme + gpgme libgcc qt6-base libgpg-error @@ -50314,15 +50314,22 @@ Gnome session. Development files for gpgme-qt6 qt6-base-devel - gpgme - gpgme-qt6 - gpgme-devel + gpgme + gpgme-qt6 + gpgme-devel /usr/lib/cmake/QGpgmeQt6 + + 2024-03-06 + 1.23.2 + Rebuild. + Mustafa Cinasal + muscnsl@gmail.com + 2023-11-29 1.23.2 @@ -128637,6 +128644,75 @@ Bu Skype SILK codec ve Xiph.Org 's Celt codec teknolojisi dahil RFC 6716 ol + + + akonadi-calendar-tools-kf6 + https://community.kde.org/KDE_PIM + + Stefan Gronewold + groni@pisilinux.org + + GPLv2 + desktop.kde6.applications + CLI tools to manage akonadi calendars + CLI tools to manage akonadi calendars + http://download.kde.org/stable/release-service/24.02.0/src/akonadi-calendar-tools-24.02.0.tar.xz + + boost-devel + akonadi-kf6-devel + akonadi-calendar-kf6-devel + extra-cmake-modules-kf6 + kdoctools-kf6-devel + qt6-base-devel + kcompletion-kf6-devel + kxmlgui-kf6-devel + kitemmodels-kf6-devel + kcontacts-kf6-devel + kcalendarcore-kf6-devel + kunitconversion-kf6-devel + akonadi-contacts-kf6-devel + kcalutils-kf6-devel + libkdepim-kf6-devel + calendarsupport-kf6-devel + kmime-kf6-devel + kidentitymanagement-kf6-devel + akonadi-notes-kf6-devel + + desktop/kde6/applications/akonadi-calendar-tools-kf6/pspec.xml + + + akonadi-calendar-tools-kf6 + CLI tools to manage akonadi calendars + + ki18n-kf6 + libgcc + akonadi-kf6 + kconfig-kf6 + kcalendarcore-kf6 + qt6-base + kcalutils-kf6 + kcoreaddons-kf6 + calendarsupport-kf6 + akonadi-calendar-kf6 + akonadi-notes-kf6 + + + /etc/xdg + /usr/bin + /usr/share + /usr/share/doc + + + + + 2024-03-03 + 24.02.0 + First release + Mustafa Cinasal + muscnsl@gmail.com + + + kpat-kf6 @@ -128875,6 +128951,125 @@ Bu Skype SILK codec ve Xiph.Org 's Celt codec teknolojisi dahil RFC 6716 ol + + + incidenceeditor-kf6 + https://community.kde.org/KDE_PIM + + Alihan Öztürk + alihan@pisilinux.org + + LGPLv2 + app:console + desktop.kde6.applications + KDE PIM incidence editor. + KDE PIM incidence editor. + http://download.kde.org/stable/release-service/24.02.0/src/incidenceeditor-24.02.0.tar.xz + + extra-cmake-modules-kf6 + qt6-base-devel + akonadi-kf6-devel + kcompletion-kf6-devel + kjobwidgets-kf6-devel + kcoreaddons-kf6-devel + kservice-kf6-devel + solid-kf6-devel + kxmlgui-kf6-devel + kitemmodels-kf6-devel + kdoctools-kf6-devel + kunitconversion-kf6-devel + boost-devel + kmime-kf6-devel + kldap-kf6-devel + cyrus-sasl-devel + calendarsupport-kf6-devel + kidentitymanagement-kf6-devel + akonadi-calendar-kf6-devel + kcalendarcore-kf6-devel + kcontacts-kf6-devel + eventviews-kf6-devel + kcalutils-kf6-devel + kdiagram-kf6-devel + kmailtransport-kf6-devel + libkdepim-kf6-devel + akonadi-mime-kf6-devel + akonadi-contacts-kf6-devel + pimcommon-kf6-devel + kimap-kf6-devel + kiconthemes-kf6-devel + + desktop/kde6/applications/incidenceeditor-kf6/pspec.xml + + + incidenceeditor-kf6 + KDE PIM incidence editor. + + kio-kf6 + ki18n-kf6 + kldap-kf6 + kmime-kf6 + kimap-kf6 + libgcc + akonadi-kf6 + kcodecs-kf6 + kconfig-kf6 + kxmlgui-kf6 + kdiagram-kf6 + kservice-kf6 + kcalutils-kf6 + kcontacts-kf6 + libkdepim-kf6 + pimcommon-kf6 + eventviews-kf6 + kcompletion-kf6 + kcoreaddons-kf6 + kiconthemes-kf6 + kitemmodels-kf6 + kjobwidgets-kf6 + kpimtextedit-kf6 + ktextwidgets-kf6 + akonadi-mime-kf6 + kcalendarcore-kf6 + kconfigwidgets-kf6 + kmailtransport-kf6 + kwidgetsaddons-kf6 + calendarsupport-kf6 + akonadi-contacts-kf6 + akonadi-calendar-kf6 + kidentitymanagement-kf6 + qt6-base + + + /etc/xdg + /usr/lib + /usr/lib/qt6 + /usr/share + /usr/share/doc + /usr/share/locale + + + + incidenceeditor-kf6-devel + Development files for incidenceeditor-kf6. + + incidenceeditor-kf6 + + + /usr/include + /usr/lib/pkgconfig + /usr/lib/cmake + + + + + 2024-03-03 + 24.02.0 + First release + Mustafa Cinasal + muscnsl@gmail.com + + + khelpcenter-kf6 @@ -129996,6 +130191,108 @@ Bu Skype SILK codec ve Xiph.Org 's Celt codec teknolojisi dahil RFC 6716 ol + + + calendarsupport-kf6 + https://community.kde.org/KDE_PIM + + Alihan Öztürk + alihan@pisilinux.org + + LGPLv2 + app:console + desktop.kde6.applications + Calendar support library + Calendar support library + mirrors://kde/stable/release-service/24.02.0/src/calendarsupport-24.02.0.tar.xz + + extra-cmake-modules-kf6 + qt6-base-devel + akonadi-kf6-devel + kmime-kf6-devel + ki18n-kf6-devel + kcodecs-kf6-devel + kcompletion-kf6-devel + kjobwidgets-kf6-devel + kcoreaddons-kf6-devel + kservice-kf6-devel + solid-kf6-devel + kxmlgui-kf6-devel + kitemmodels-kf6-devel + kdoctools-kf6-devel + kunitconversion-kf6-devel + boost-devel + kcalutils-kf6-devel + kcalendarcore-kf6-devel + kidentitymanagement-kf6-devel + kholidays-kf6-devel + akonadi-calendar-kf6-devel + kcontacts-kf6-devel + pimcommon-kf6-devel + kimap-kf6-devel + cyrus-sasl-devel + akonadi-mime-kf6-devel + akonadi-contacts-kf6-devel + akonadi-notes-kf6-devel + kguiaddons-kf6-devel + + desktop/kde6/applications/calendarsupport-kf6/pspec.xml + + + calendarsupport-kf6 + Calendar support library + + kio-kf6 + ki18n-kf6 + kmime-kf6 + libgcc + akonadi-kf6 + kcodecs-kf6 + kconfig-kf6 + kcalendarcore-kf6 + qt6-base + kcalutils-kf6 + kholidays-kf6 + pimcommon-kf6 + kguiaddons-kf6 + kcompletion-kf6 + kcoreaddons-kf6 + kiconthemes-kf6 + kjobwidgets-kf6 + kwidgetsaddons-kf6 + akonadi-calendar-kf6 + kidentitymanagement-kf6 + + + /etc + /usr/lib/qt6 + /usr/lib + /usr/share + /usr/share/kservice-kf6types5 + /usr/share/locale + + + + calendarsupport-kf6-devel + Development files for calendarsupport-kf6 + + calendarsupport-kf6 + + + /usr/include + /usr/lib/cmake + + + + + 2024-03-03 + 24.02.0 + First release + Mustafa Cinasal + muscnsl@gmail.com + + + kdegraphics-thumbnailers-kf6 @@ -131472,6 +131769,7 @@ Bu Skype SILK codec ve Xiph.Org 's Celt codec teknolojisi dahil RFC 6716 ol kcodecs-kf6-devel kdoctools-kf6-devel boost-devel + kio-kf6-devel kitemmodels-kf6-devel kunitconversion-kf6-devel kmailtransport-kf6-devel @@ -135119,6 +135417,107 @@ Bu Skype SILK codec ve Xiph.Org 's Celt codec teknolojisi dahil RFC 6716 ol + + + eventviews-kf6 + https://community.kde.org/KDE_PIM + + Alihan Öztürk + alihan@pisilinux.org + + LGPLv2 + app:console + desktop.kde6.applications + Library for creating events. + Library for creating events. + mirrors://kde/stable/release-service/24.02.0/src/eventviews-24.02.0.tar.xz + + extra-cmake-modules-kf6 + qt6-base-devel + akonadi-kf6-devel + kcompletion-kf6-devel + kjobwidgets-kf6-devel + kcoreaddons-kf6-devel + kservice-kf6-devel + solid-kf6-devel + kxmlgui-kf6-devel + kitemmodels-kf6-devel + kdoctools-kf6-devel + kunitconversion-kf6-devel + boost-devel + libkdepim-kf6-devel + kcontacts-kf6-devel + kcalendarcore-kf6-devel + kcalutils-kf6-devel + calendarsupport-kf6-devel + kmime-kf6-devel + kidentitymanagement-kf6-devel + akonadi-calendar-kf6-devel + akonadi-contacts-kf6-devel + kdiagram-kf6-devel + kholidays-kf6-devel + kguiaddons-kf6-devel + kiconthemes-kf6-devel + + desktop/kde6/applications/eventviews-kf6/pspec.xml + + + eventviews-kf6 + Library for creating events. + + ki18n-kf6 + libgcc + akonadi-kf6 + kcodecs-kf6 + kconfig-kf6 + kcalendarcore-kf6 + kdiagram-kf6 + kservice-kf6 + qt6-base + kcalutils-kf6 + kcontacts-kf6 + libkdepim-kf6 + kguiaddons-kf6 + kcompletion-kf6 + kcoreaddons-kf6 + kiconthemes-kf6 + kitemmodels-kf6 + kconfigwidgets-kf6 + kwidgetsaddons-kf6 + calendarsupport-kf6 + akonadi-calendar-kf6 + + + /etc + /usr/lib + /usr/lib/qt6 + /usr/share + /usr/share/doc + /usr/share/kservice-kf6types5 + /usr/share/locale + + + + eventviews-kf6-devel + Development files for eventviews-kf6. + + eventviews-kf6 + + + /usr/include + /usr/lib/cmake + + + + + 2024-03-03 + 24.02.0 + First release + Mustafa Cinasal + muscnsl@gmail.com + + + lokalize-kf6 @@ -136653,6 +137052,7 @@ Bu Skype SILK codec ve Xiph.Org 's Celt codec teknolojisi dahil RFC 6716 ol libkdepim-kf6-devel gpgme-devel gpgme-qt6-devel + gpgme-qt5-devel grantlee-qt5-devel qt6-declarative-devel qt6-webengine-devel @@ -137727,6 +138127,110 @@ Bu Skype SILK codec ve Xiph.Org 's Celt codec teknolojisi dahil RFC 6716 ol + + + akregator-kf6 + https://community.kde.org/KDE_PIM + + Stefan Gronewold + groni@pisilinux.org + + GPLv2 + desktop.kde6.applications + A KDE blogging client + akregator-kf6 helps you to keep informed about new stories on websites like KDE Dot News and Planet KDE blogs. The technology used is RSS and many sites support it. + http://download.kde.org/stable/release-service/24.02.0/src/akregator-24.02.0.tar.xz + + boost-devel + extra-cmake-modules-kf6 + kblog-kf6-devel + kdoctools-kf6-devel + kio-kf6-devel + ktexteditor-kf6-devel + python-devel + qt6-base-devel + qt6-webengine-devel + grantlee-qt5-devel + kcmutils-kf6-devel + knotifyconfig-kf6-devel + akonadi-mime-kf6-devel + akonadi-kf6-devel + kitemmodels-kf6-devel + grantleetheme-kf6-devel + kcontacts-kf6-devel + kontactinterface-kf6-devel + libkdepim-kf6-devel + akonadi-contacts-kf6-devel + libkleo-kf6-devel + gpgme-devel + gpgme-qt6-devel + messagelib-kf6-devel + pimcommon-kf6-devel + kimap-kf6-devel + kmime-kf6-devel + cyrus-sasl-devel + kpimtextedit-kf6-devel + ksyndication-kf6-devel + ffmpeg-devel + knotifyconfig-kf6-devel + knotifications-kf6-devel + kuserfeedback-kf6-devel + libXScrnSaver-devel + + desktop/kde6/applications/akregator-kf6/pspec.xml + + + akregator-kf6 + A Feed Reader by KDE + + kio-kf6 + ki18n-kf6 + kcrash-kf6 + kparts-kf6 + libgcc + kcodecs-kf6 + kconfig-kf6 + kxmlgui-kf6 + kcmutils-kf6 + kservice-kf6 + qt6-base + libkdepim-kf6 + pimcommon-kf6 + messagelib-kf6 + kcompletion-kf6 + kcoreaddons-kf6 + kiconthemes-kf6 + kjobwidgets-kf6 + kpimtextedit-kf6 + ksyndication-kf6 + ktextwidgets-kf6 + grantleetheme-kf6 + knotifyconfig-kf6 + qt6-webengine + kconfigwidgets-kf6 + knotifications-kf6 + kwidgetsaddons-kf6 + kontactinterface-kf6 + + + /etc/xdg + /usr/bin + /usr/lib + /usr/lib/qt6 + /usr/share + /usr/share/doc + + + + + 2024-03-03 + 24.02.0 + First release + Mustafa Cinasal + muscnsl@gmail.com + + + granatier-kf6 @@ -137800,6 +138304,112 @@ Bu Skype SILK codec ve Xiph.Org 's Celt codec teknolojisi dahil RFC 6716 ol + + + akonadiconsole-kf6 + https://community.kde.org/KDE_PIM + + Stefan Gronewold + groni@pisilinux.org + + GPLv2 + desktop.kde6.applications + Akonadi management and debugging console + Akonadi management and debugging console + http://download.kde.org/stable/release-service/24.02.0/src/akonadiconsole-24.02.0.tar.xz + + akonadi-contacts-kf6-devel + akonadi-kf6-devel + akonadi-calendar-kf6-devel + pimcommon-kf6-devel + akonadi-mime-kf6-devel + calendarsupport-kf6-devel + extra-cmake-modules-kf6 + kimap-kf6-devel + kcalendarcore-kf6-devel + kcompletion-kf6-devel + kconfig-kf6-devel + kconfigwidgets-kf6-devel + kcontacts-kf6-devel + kcrash-kf6-devel + kdbusaddons-kf6-devel + kdoctools-kf6-devel + ki18n-kf6-devel + kitemmodels-kf6-devel + kmime-kf6-devel + kpimtextedit-kf6-devel + ktextwidgets-kf6-devel + kwidgetsaddons-kf6-devel + kxmlgui-kf6-devel + kio-kf6-devel + kitemviews-kf6-devel + akonadi-search-kf6-devel + libkdepim-kf6-devel + libkleo-kf6-devel + messagelib-kf6-devel + qt6-base-devel + qt6-sql-mysql + qt6-sql-postgresql + qt6-sql-sqlite + qt6-sql-odbc + kunitconversion-kf6-devel + kidentitymanagement-kf6-devel + cyrus-sasl-devel + gpgme-devel + gpgme-qt6-devel + ffmpeg-devel + libXScrnSaver-devel + qt6-webengine-devel + + desktop/kde6/applications/akonadiconsole-kf6/pspec.xml + + + akonadiconsole-kf6 + Akonadi management and debugging console + + akonadi-kf6 + akonadi-contacts-kf6 + akonadi-mime-kf6 + calendarsupport-kf6 + kcalendarcore-kf6 + qt6-base + ki18n-kf6 + kmime-kf6 + kcrash-kf6 + libgcc + kconfig-kf6 + kxmlgui-kf6 + kcontacts-kf6 + libkdepim-kf6 + kitemviews-kf6 + messagelib-kf6 + kcompletion-kf6 + kcoreaddons-kf6 + kdbusaddons-kf6 + kitemmodels-kf6 + kpimtextedit-kf6 + ktextwidgets-kf6 + kconfigwidgets-kf6 + kwidgetsaddons-kf6 + + + /etc/xdg + /usr/bin + /usr/share + /usr/share/doc + /usr/lib + + + + + 2024-03-03 + 24.02.0 + First release + Mustafa Cinasal + muscnsl@gmail.com + + + kio-extras-kf6 @@ -137943,6 +138553,133 @@ Bu Skype SILK codec ve Xiph.Org 's Celt codec teknolojisi dahil RFC 6716 ol + + + mailcommon-kf6 + https://www.kde.org + + Pisi Linux Admins + admin@pisilinux.org + + LGPLv2 + library + app:library + desktop.kde6.applications + KDE PIM library providing support for mail applications + KDE PIM library providing support for mail applications + mirrors://kde/stable/release-service/24.02.0/src/mailcommon-24.02.0.tar.xz + + qt6-base-devel + qt6-phonon-devel + extra-cmake-modules-kf6 + boost-devel + glibc-devel + libical-devel + gettext-devel + qt6-designer-devel + kdoctools-kf6-devel + mailimporter-kf6-devel + messagelib-kf6-devel + libgravatar-kf6-devel + kidentitymanagement-kf6-devel + kmailtransport-kf6-devel + kmbox-kf6-devel + akonadi-kf6-devel + kjobwidgets-kf6-devel + solid-kf6-devel + kitemmodels-kf6-devel + kunitconversion-kf6-devel + kmime-kf6-devel + kcontacts-kf6-devel + kcalendarcore-kf6-devel + kpimtextedit-kf6-devel + kimap-kf6-devel + kldap-kf6-devel + grantleetheme-kf6-devel + pimcommon-kf6-devel + libkleo-kf6-devel + libkdepim-kf6-devel + gpgme-devel + gpgme-qt6-devel + akonadi-mime-kf6-devel + akonadi-contacts-kf6-devel + grantlee-qt5-devel + openldap-client + cyrus-sasl-devel + syntax-highlighting-kf6-devel + karchive-kf6-devel + kguiaddons-kf6-devel + qt6-webengine-devel + + desktop/kde6/applications/mailcommon-kf6/pspec.xml + + + mailcommon-kf6 + + qt6-base + qt6-webengine + akonadi-contacts-kf6 + libgcc + libkdepim-kf6 + akonadi-mime-kf6 + mailimporter-kf6 + kio-kf6 + ki18n-kf6 + kmime-kf6 + akonadi-kf6 + kcodecs-kf6 + kconfig-kf6 + kxmlgui-kf6 + karchive-kf6 + kcontacts-kf6 + pimcommon-kf6 + kitemviews-kf6 + messagelib-kf6 + qt6-phonon + kguiaddons-kf6 + kcompletion-kf6 + kcoreaddons-kf6 + kiconthemes-kf6 + kitemmodels-kf6 + kpimtextedit-kf6 + ktextwidgets-kf6 + kwindowsystem-kf6 + kconfigwidgets-kf6 + kmailtransport-kf6 + kwidgetsaddons-kf6 + kidentitymanagement-kf6 + + + /etc + /usr/share + /usr/lib/qt6 + /usr/lib + /usr/share/doc + + + + mailcommon-kf6-devel + Development files for mailcommon-kf6 + + qt6-webengine-devel + mailcommon-kf6 + + + /usr/include + /usr/lib/cmake + /usr/lib/pkgconfig + + + + + 2024-03-03 + 24.02.0 + First release + Mustafa Cinasal + muscnsl@gmail.com + + + mailimporter-kf6 @@ -138383,6 +139120,144 @@ Bu Skype SILK codec ve Xiph.Org 's Celt codec teknolojisi dahil RFC 6716 ol + + + kdepim-runtime-kf6 + https://community.kde.org/KDE_PIM + + PisiLinux Community + admins@pisilinux.org + + LGPLv2 + library + app:gui + desktop.kde6.applications + kde6 PIM Runtime Environment + kde6 PIM (Kişisel Bilgi Yönetimi) çalışma zamanı ortamı + kdepim-runtime-kf6 contains kde6 PIM (Personal Information Management) runtime environment like akonadi agents. + kdepim-runtime-kf6, kdelibs kullanarak yazılmış olan Akonadi ajanları da dahil olmak üzere kde6 PIM (Personal Information Management - Kişisel Bilgi Yönetimi) çalışma zamanı ortamını içerir. + kontact-kf6 + mirrors://kde/stable/release-service/24.02.0/src/kdepim-runtime-24.02.0.tar.xz + + kdoctools-kf6-devel + boost-devel + shared-mime-info + akonadi-kf6-devel + akonadi-calendar-kf6-devel + akonadi-search-kf6-devel + kcmutils-kf6-devel + kitemmodels-kf6-devel + kunitconversion-kf6-devel + knotifyconfig-kf6-devel + kmailtransport-kf6-devel + kidentitymanagement-kf6-devel + kalarm-kf6 + kcalutils-kf6-devel + kmbox-kf6-devel + kimap-kf6-devel + libkgapi-kf6-devel + kholidays-kf6-devel + ksyndication-kf6-devel + pimcommon-kf6-devel + cyrus-sasl-devel + qt6-declarative-devel + qt6-webengine-devel + extra-cmake-modules-kf6 + qt6-location-devel + qt6-networkauth-kf6-devel + akonadi-mime-kf6-devel + akonadi-notes-kf6-devel + akonadi-contacts-kf6-devel + qt6-speech-devel + kdav-kf6-devel + ffmpeg-devel + kldap-kf6-devel + libkdepim-kf6-devel + libXScrnSaver-devel + qca2-qt6-devel + qt6-keychain-devel + + desktop/kde6/applications/kdepim-runtime-kf6/pspec.xml + + + kdepim-runtime-kf6 + + akonadi-kf6 + libkgapi-kf6 + kio-kf6 + ki18n-kf6 + kimap-kf6 + kmbox-kf6 + kmime-kf6 + libgcc + kcodecs-kf6 + kconfig-kf6 + kwallet-kf6 + kxmlgui-kf6 + kcalendarcore-kf6 + kcmutils-kf6 + kservice-kf6 + qt6-base + kalarm-kf6 + kcalutils-kf6 + kitemviews-kf6 + kcompletion-kf6 + kcoreaddons-kf6 + kdbusaddons-kf6 + kitemmodels-kf6 + pimcommon-kf6 + kcontacts-kf6 + kjobwidgets-kf6 + knotifyconfig-kf6 + kwindowsystem-kf6 + kconfigwidgets-kf6 + kmailtransport-kf6 + ktextwidgets-kf6 + knotifications-kf6 + kwidgetsaddons-kf6 + qt6-speech + akonadi-calendar-kf6 + cyrus-sasl + akonadi-mime-kf6 + akonadi-notes-kf6 + qt6-webengine + qt6-networkauth-kf6 + akonadi-contacts-kf6 + kidentitymanagement-kf6 + kdav-kf6 + kldap-kf6 + libkdepim-kf6 + qt6-keychain + + + /etc/xdg + /usr/lib + /usr/bin + /usr/share + /usr/share/mime + /usr/share/kservice-kf6types5 + /usr/share/kservice-kf6s5 + /usr/share/knotifications-kf65 + /usr/share/icons + /usr/share/dbus-1 + /usr/share/akonadi + /usr/share/ontology + /usr/share/autostart + /usr/share/applications + /usr/share/doc + /usr/share/locale + + + + + 2024-03-03 + 24.02.0 + First release + Mustafa Cinasal + muscnsl@gmail.com + + + libkcompactdisc-kf6 @@ -138794,6 +139669,100 @@ Bu Skype SILK codec ve Xiph.Org 's Celt codec teknolojisi dahil RFC 6716 ol + + + grantlee-editor-kf6 + https://community.kde.org/KDE_PIM + + Stefan Gronewold + groni@pisilinux.org + + GPLv2 + desktop.kde6.applications + Editor for Grantlee themes + Editor for Grantlee themes + mirrors://kde/stable/release-service/24.02.0/src/grantlee-editor-24.02.0.tar.xz + + qt6-webengine-devel + kcrash-kf6-devel + extra-cmake-modules-kf6 + kdbusaddons-kf6-devel + kdoctools-kf6-devel + kxmlgui-kf6-devel + qt6-base-devel + ktexteditor-kf6-devel + kwallet-kf6-devel + knewstuff-kf6-devel + karchive-kf6-devel + pimcommon-kf6-devel + messagelib-kf6-devel + grantleetheme-kf6-devel + akonadi-mime-kf6-devel + kpimtextedit-kf6-devel + libkdepim-kf6-devel + syntax-highlighting-kf6-devel + libkleo-kf6-devel + kparts-kf6-devel + gpgme-devel + gpgme-qt6-devel + cyrus-sasl-devel + akonadi-kf6-devel + kitemmodels-kf6-devel + kcontacts-kf6-devel + akonadi-contacts-kf6-devel + kimap-kf6-devel + kmime-kf6-devel + grantlee-qt5-devel + ffmpeg-devel + libXScrnSaver-devel + + desktop/kde6/applications/grantlee-editor-kf6/pspec.xml + + + grantlee-editor-kf6 + Editor for Grantlee themes + + kio-kf6 + ki18n-kf6 + kmime-kf6 + kcrash-kf6 + libgcc + kconfig-kf6 + kxmlgui-kf6 + karchive-kf6 + qt6-base + kcontacts-kf6 + knewstuff-kf6 + pimcommon-kf6 + messagelib-kf6 + kcompletion-kf6 + kcoreaddons-kf6 + kdbusaddons-kf6 + kpimtextedit-kf6 + qt6-webengine + kconfigwidgets-kf6 + kwidgetsaddons-kf6 + akonadi-contacts-kf6 + syntax-highlighting-kf6 + + + /etc/xdg + /usr/bin + /usr/lib + /usr/share + /usr/share/doc + + + + + 2024-03-03 + 24.02.0 + First release + Mustafa Cinasal + muscnsl@gmail.com + + + kqtquickcharts-kf6 diff --git a/pisi-index.xml.sha1sum b/pisi-index.xml.sha1sum index 4072fd8a08..740e0d7c70 100644 --- a/pisi-index.xml.sha1sum +++ b/pisi-index.xml.sha1sum @@ -1 +1 @@ -05574e9557b0f60ff40a21e009e246d7adfecd7a \ No newline at end of file +69fbdc64a265d21e8df0dec3c028f79657b4c5aa \ No newline at end of file diff --git a/pisi-index.xml.xz b/pisi-index.xml.xz index 6db45cc453..2b656d53da 100644 Binary files a/pisi-index.xml.xz and b/pisi-index.xml.xz differ diff --git a/pisi-index.xml.xz.sha1sum b/pisi-index.xml.xz.sha1sum index 6065ce0e94..e86e170d85 100644 --- a/pisi-index.xml.xz.sha1sum +++ b/pisi-index.xml.xz.sha1sum @@ -1 +1 @@ -007817af35698384e5a0c2fe7b696c463943b805 \ No newline at end of file +d7b8e4bc22f6858d410c6644747460da9b87fcb0 \ No newline at end of file