commit:     6fb620db1f16b6ffe0f9f8c48d0451d16faad905
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 21 17:37:47 2022 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 24 17:04:23 2022 +0000
URL:        https://gitweb.gentoo.org/proj/kde.git/commit/?id=6fb620db

kde-apps/libksieve: Add IUSE speech

Bug: https://bugs.gentoo.org/832776
Bug: https://bugs.gentoo.org/832845
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/libksieve-21.12.3-speech-optional.patch  | 180 +++++++++++++++++++++
 kde-apps/libksieve/libksieve-21.12.49.9999.ebuild  |   6 +-
 kde-apps/libksieve/libksieve-9999.ebuild           |   4 +-
 kde-apps/libksieve/metadata.xml                    |   3 +
 4 files changed, 189 insertions(+), 4 deletions(-)

diff --git a/kde-apps/libksieve/files/libksieve-21.12.3-speech-optional.patch 
b/kde-apps/libksieve/files/libksieve-21.12.3-speech-optional.patch
new file mode 100644
index 0000000000..b77300483a
--- /dev/null
+++ b/kde-apps/libksieve/files/libksieve-21.12.3-speech-optional.patch
@@ -0,0 +1,180 @@
+From dd296ce1c679f73a52b4d501383346f51acccce8 Mon Sep 17 00:00:00 2001
+From: Laurent Montel <[email protected]>
+Date: Sun, 23 Jan 2022 10:48:47 +0100
+Subject: [PATCH] Fix compile without texttospeech
+
+(cherry picked from commit 4ff666c61d4c0dde3e96ad7d45c0a81cb58324a0)
+
+Merged with (and stripped of Qt6 trivia):
+
+Text to speak is not supported yet in qt6
+(cherry picked from commit 72be23f5c355864a78174f402596d959a5ad4081)
+
+Fix some qt6 build
+(cherry picked from commit b7acbb937cf92d41c955199c31758c5770b08f0e)
+
+USe upper cas includes
+(cherry picked from commit 66a6cd63083a15bb570100c62053c3ac3e292642)
+---
+ src/ksieveui/editor/sieveeditortextmodewidget.cpp     |  7 ++++++-
+ src/ksieveui/editor/sieveeditortextmodewidget.h       |  1 +
+ .../sievescriptdebuggerfrontendwidgettest.cpp         |  8 ++++++--
+ .../sievescriptdebuggerfrontendwidget.cpp             | 10 +++++++---
+ src/ksieveui/templates/sievetemplateeditdialog.cpp    | 11 +++++++----
+ 5 files changed, 27 insertions(+), 10 deletions(-)
+
+diff --git a/src/ksieveui/editor/sieveeditortextmodewidget.cpp 
b/src/ksieveui/editor/sieveeditortextmodewidget.cpp
+index d5c7c57a..0c10f9fa 100644
+--- a/src/ksieveui/editor/sieveeditortextmodewidget.cpp
++++ b/src/ksieveui/editor/sieveeditortextmodewidget.cpp
+@@ -21,7 +21,9 @@
+ #include <KPIMTextEdit/PlainTextEditorWidget>
+ #include <KPIMTextEdit/SlideContainer>
+ #include <KPIMTextEdit/TextGotoLineWidget>
++#if KPIMTEXTEDIT_TEXT_TO_SPEECH
+ #include <KPIMTextEdit/TextToSpeechWidget>
++#endif
+ 
+ #include <ksieve/error.h>
+ #include <ksieve/parser.h>
+@@ -73,9 +75,10 @@ 
SieveEditorTextModeWidget::SieveEditorTextModeWidget(QWidget *parent)
+     mTabWidget = new SieveEditorTabWidget;
+     connect(mTabWidget, &SieveEditorTabWidget::currentChanged, this, 
&SieveEditorTextModeWidget::sieveEditorTabCurrentChanged);
+     connect(mTabWidget, &SieveEditorTabWidget::copyAvailable, this, 
&SieveEditorTextModeWidget::copyAvailable);
++#if KPIMTEXTEDIT_TEXT_TO_SPEECH
+     mTextToSpeechWidget = new KPIMTextEdit::TextToSpeechWidget(this);
+     editorWidgetLayout->addWidget(mTextToSpeechWidget);
+-
++#endif
+     mTextEdit = new SieveTextEdit;
+     editorWidgetLayout->addWidget(mTextEdit);
+     connect(mTextEdit, &SieveTextEdit::textChanged, this, 
&SieveEditorTextModeWidget::valueChanged);
+@@ -83,7 +86,9 @@ SieveEditorTextModeWidget::SieveEditorTextModeWidget(QWidget 
*parent)
+     mTabWidget->tabBar()->hide();
+     textEditLayout->addWidget(mTabWidget);
+     connect(mTextEdit, &SieveTextEdit::openHelp, mTabWidget, 
&SieveEditorTabWidget::slotAddHelpPage);
++#if KPIMTEXTEDIT_TEXT_TO_SPEECH
+     connect(mTextEdit, &SieveTextEdit::say, mTextToSpeechWidget, 
&KPIMTextEdit::TextToSpeechWidget::say);
++#endif
+     connect(mTextEdit, &SieveTextEdit::editRule, this, 
&SieveEditorTextModeWidget::slotEditRule);
+     connect(mTextEdit, &SieveTextEdit::insertRule, this, 
&SieveEditorTextModeWidget::slotInsertRule);
+ 
+diff --git a/src/ksieveui/editor/sieveeditortextmodewidget.h 
b/src/ksieveui/editor/sieveeditortextmodewidget.h
+index 934b3d72..2ef5b824 100644
+--- a/src/ksieveui/editor/sieveeditortextmodewidget.h
++++ b/src/ksieveui/editor/sieveeditortextmodewidget.h
+@@ -7,6 +7,7 @@
+ 
+ #include "ksieveui_export.h"
+ #include "sieveeditorabstractwidget.h"
++#include <kpimtextedit/kpimtextedit-texttospeech.h>
+ class QSplitter;
+ namespace KPIMTextEdit
+ {
+diff --git 
a/src/ksieveui/sievescriptdebugger/autotests/sievescriptdebuggerfrontendwidgettest.cpp
 
b/src/ksieveui/sievescriptdebugger/autotests/sievescriptdebuggerfrontendwidgettest.cpp
+index ea66438b..28b2ba08 100644
+--- 
a/src/ksieveui/sievescriptdebugger/autotests/sievescriptdebuggerfrontendwidgettest.cpp
++++ 
b/src/ksieveui/sievescriptdebugger/autotests/sievescriptdebuggerfrontendwidgettest.cpp
+@@ -6,7 +6,10 @@
+ 
+ #include "sievescriptdebuggerfrontendwidgettest.h"
+ #include "../sievescriptdebuggerfrontendwidget.h"
+-#include <KPIMTextEdit/kpimtextedit/texttospeechwidget.h>
++#include <kpimtextedit/kpimtextedit-texttospeech.h>
++#if KPIMTEXTEDIT_TEXT_TO_SPEECH
++#include <KPIMTextEdit/TextToSpeechWidget>
++#endif
+ #include <KUrlRequester>
+ #include <QLabel>
+ #include <QLineEdit>
+@@ -48,9 +51,10 @@ void 
SieveScriptDebuggerFrontEndWidgetTest::shouldHaveDefaultValue()
+     QVERIFY(extension);
+     QVERIFY(extension->text().isEmpty());
+     QVERIFY(extension->isClearButtonEnabled());
+-
++#if KPIMTEXTEDIT_TEXT_TO_SPEECH
+     auto textToSpeechWidget = w.findChild<KPIMTextEdit::TextToSpeechWidget 
*>(QStringLiteral("texttospeechwidget"));
+     QVERIFY(textToSpeechWidget);
++#endif
+ }
+ 
+ void SieveScriptDebuggerFrontEndWidgetTest::shouldChangeButtonEnabledState()
+diff --git 
a/src/ksieveui/sievescriptdebugger/sievescriptdebuggerfrontendwidget.cpp 
b/src/ksieveui/sievescriptdebugger/sievescriptdebuggerfrontendwidget.cpp
+index 4543caef..5ff016e4 100644
+--- a/src/ksieveui/sievescriptdebugger/sievescriptdebuggerfrontendwidget.cpp
++++ b/src/ksieveui/sievescriptdebugger/sievescriptdebuggerfrontendwidget.cpp
+@@ -14,7 +14,10 @@
+ #include <KLineEdit>
+ #include <KLocalizedString>
+ #include <KPIMTextEdit/PlainTextEditorWidget>
++#include <kpimtextedit/kpimtextedit-texttospeech.h>
++#if KPIMTEXTEDIT_TEXT_TO_SPEECH
+ #include <KPIMTextEdit/TextToSpeechWidget>
++#endif
+ #include <KUrlRequester>
+ #include <Libkdepim/LineEditCatchReturnKey>
+ #include <QDate>
+@@ -71,18 +74,19 @@ 
SieveScriptDebuggerFrontEndWidget::SieveScriptDebuggerFrontEndWidget(QWidget *pa
+     auto vboxSieveEditorLayout = new QVBoxLayout;
+     sieveEditorWidget->setLayout(vboxSieveEditorLayout);
+     vboxSieveEditorLayout->setContentsMargins({});
+-
++#if KPIMTEXTEDIT_TEXT_TO_SPEECH
+     auto textToSpeechWidget = new KPIMTextEdit::TextToSpeechWidget(this);
+     textToSpeechWidget->setObjectName(QStringLiteral("texttospeechwidget"));
+     vboxSieveEditorLayout->addWidget(textToSpeechWidget);
+-
++#endif
+     auto textEdit = new KSieveUi::SieveScriptDebuggerTextEdit(this);
+     connect(textEdit, &KSieveUi::SieveScriptDebuggerTextEdit::textChanged, 
this, &SieveScriptDebuggerFrontEndWidget::slotScriptTextChanged);
+     mSieveTextEditWidget = new KSieveUi::SieveTextEditWidget(textEdit, this);
+     
mSieveTextEditWidget->setObjectName(QStringLiteral("sievetexteditwidget"));
+     vboxSieveEditorLayout->addWidget(mSieveTextEditWidget);
++#if KPIMTEXTEDIT_TEXT_TO_SPEECH
+     connect(mSieveTextEditWidget->textEdit(), &SieveTextEdit::say, 
textToSpeechWidget, &KPIMTextEdit::TextToSpeechWidget::say);
+-
++#endif
+     mSplitter->addWidget(sieveEditorWidget);
+     mSplitter->setChildrenCollapsible(false);
+ 
+diff --git a/src/ksieveui/templates/sievetemplateeditdialog.cpp 
b/src/ksieveui/templates/sievetemplateeditdialog.cpp
+index 8a7127c4..5f039f0d 100644
+--- a/src/ksieveui/templates/sievetemplateeditdialog.cpp
++++ b/src/ksieveui/templates/sievetemplateeditdialog.cpp
+@@ -24,9 +24,10 @@
+ #include <QVBoxLayout>
+ 
+ #include <editor/sievetexteditwidget.h>
+-
++#include <kpimtextedit/kpimtextedit-texttospeech.h>
++#if KPIMTEXTEDIT_TEXT_TO_SPEECH
+ #include <KPIMTextEdit/TextToSpeechWidget>
+-
++#endif
+ using namespace KSieveUi;
+ 
+ SieveTemplateEditDialog::SieveTemplateEditDialog(QWidget *parent, bool 
defaultTemplate)
+@@ -62,16 +63,18 @@ SieveTemplateEditDialog::SieveTemplateEditDialog(QWidget 
*parent, bool defaultTe
+     hbox->addWidget(mTemplateNameEdit);
+ 
+     vbox->addLayout(hbox);
+-
++#if KPIMTEXTEDIT_TEXT_TO_SPEECH
+     auto textToSpeechWidget = new KPIMTextEdit::TextToSpeechWidget(this);
+     vbox->addWidget(textToSpeechWidget);
++#endif
+ 
+     mTextEditWidget = new KSieveUi::SieveTextEditWidget;
+     mTextEditWidget->textEdit()->setShowHelpMenu(false);
+     mTextEditWidget->setReadOnly(defaultTemplate);
+     vbox->addWidget(mTextEditWidget);
++#if KPIMTEXTEDIT_TEXT_TO_SPEECH
+     connect(mTextEditWidget->textEdit(), &SieveTextEdit::say, 
textToSpeechWidget, &KPIMTextEdit::TextToSpeechWidget::say);
+-
++#endif
+     auto shortcut = new QShortcut(this);
+     shortcut->setKey(Qt::Key_F | Qt::CTRL);
+     connect(shortcut, &QShortcut::activated, mTextEditWidget, 
&SieveTextEditWidget::slotFind);
+-- 
+2.35.1
+

diff --git a/kde-apps/libksieve/libksieve-21.12.49.9999.ebuild 
b/kde-apps/libksieve/libksieve-21.12.49.9999.ebuild
index 587b51f842..f4dbca1320 100644
--- a/kde-apps/libksieve/libksieve-21.12.49.9999.ebuild
+++ b/kde-apps/libksieve/libksieve-21.12.49.9999.ebuild
@@ -17,7 +17,7 @@ DESCRIPTION="Common PIM libraries"
 LICENSE="GPL-2+ LGPL-2.1+"
 SLOT="5"
 KEYWORDS=""
-IUSE=""
+IUSE="speech"
 
 RESTRICT="test"
 
@@ -31,7 +31,7 @@ RDEPEND="
        >=dev-qt/qtwidgets-${QTMIN}:5
        >=kde-apps/kidentitymanagement-${PVCUT}:5
        >=kde-apps/kmime-${PVCUT}:5
-       >=kde-apps/kpimtextedit-${PVCUT}:5
+       >=kde-apps/kpimtextedit-${PVCUT}:5[speech=]
        >=kde-apps/libkdepim-${PVCUT}:5
        >=kde-apps/pimcommon-${PVCUT}:5
        >=kde-frameworks/karchive-${KFMIN}:5
@@ -51,6 +51,8 @@ DEPEND="${RDEPEND}
        >=kde-apps/kmailtransport-${PVCUT}:5
 "
 
+PATCHES=( "${FILESDIR}/${PN}-21.12.3-speech-optional.patch" )
+
 src_prepare() {
        ecm_src_prepare
        cmake_run_in kioslave cmake_comment_add_subdirectory doc

diff --git a/kde-apps/libksieve/libksieve-9999.ebuild 
b/kde-apps/libksieve/libksieve-9999.ebuild
index 587b51f842..dc652917a1 100644
--- a/kde-apps/libksieve/libksieve-9999.ebuild
+++ b/kde-apps/libksieve/libksieve-9999.ebuild
@@ -17,7 +17,7 @@ DESCRIPTION="Common PIM libraries"
 LICENSE="GPL-2+ LGPL-2.1+"
 SLOT="5"
 KEYWORDS=""
-IUSE=""
+IUSE="speech"
 
 RESTRICT="test"
 
@@ -31,7 +31,7 @@ RDEPEND="
        >=dev-qt/qtwidgets-${QTMIN}:5
        >=kde-apps/kidentitymanagement-${PVCUT}:5
        >=kde-apps/kmime-${PVCUT}:5
-       >=kde-apps/kpimtextedit-${PVCUT}:5
+       >=kde-apps/kpimtextedit-${PVCUT}:5[speech=]
        >=kde-apps/libkdepim-${PVCUT}:5
        >=kde-apps/pimcommon-${PVCUT}:5
        >=kde-frameworks/karchive-${KFMIN}:5

diff --git a/kde-apps/libksieve/metadata.xml b/kde-apps/libksieve/metadata.xml
index d925f24397..fa80953797 100644
--- a/kde-apps/libksieve/metadata.xml
+++ b/kde-apps/libksieve/metadata.xml
@@ -8,4 +8,7 @@
        <upstream>
                <bugs-to>https://bugs.kde.org/</bugs-to>
        </upstream>
+       <use>
+               <flag name="speech">Enable text-to-speech support</flag>
+       </use>
 </pkgmetadata>

Reply via email to