summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2022-02-06 11:39:10 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2022-02-06 22:16:32 +0100
commitcefc29423b72bf03dd5f548d0da560cef04f2635 (patch)
tree569d0861bc37e147baa0b3e438de175d22bfeebb
parentsys-kernel/git-sources: Linux patch 5.17-rc3 (diff)
downloadgentoo-cefc29423b72bf03dd5f548d0da560cef04f2635.tar.gz
gentoo-cefc29423b72bf03dd5f548d0da560cef04f2635.tar.bz2
gentoo-cefc29423b72bf03dd5f548d0da560cef04f2635.zip
kde-apps/kpimtextedit: Re-add IUSE=speech
Backporting upstream commits 2fb145fd9132c0f3cc589c8030eda8f536a45812 and 3596c0a90f590c409654a9aec2b087809cff0a79. Closes: https://bugs.gentoo.org/832776 Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
-rw-r--r--kde-apps/kpimtextedit/files/kpimtextedit-21.12.2-speech-optional-1.patch289
-rw-r--r--kde-apps/kpimtextedit/files/kpimtextedit-21.12.2-speech-optional-2.patch25
-rw-r--r--kde-apps/kpimtextedit/kpimtextedit-21.12.2-r1.ebuild (renamed from kde-apps/kpimtextedit/kpimtextedit-21.12.2.ebuild)13
-rw-r--r--kde-apps/kpimtextedit/metadata.xml1
4 files changed, 326 insertions, 2 deletions
diff --git a/kde-apps/kpimtextedit/files/kpimtextedit-21.12.2-speech-optional-1.patch b/kde-apps/kpimtextedit/files/kpimtextedit-21.12.2-speech-optional-1.patch
new file mode 100644
index 000000000000..d7fa7474a4bf
--- /dev/null
+++ b/kde-apps/kpimtextedit/files/kpimtextedit-21.12.2-speech-optional-1.patch
@@ -0,0 +1,289 @@
+From 53f187315f51e7d53a03c4ed464812b388465c10 Mon Sep 17 00:00:00 2001
+From: Laurent Montel <montel@kde.org>
+Date: Mon, 27 Dec 2021 07:53:16 +0100
+Subject: [PATCH] Add support for building without texttospeech as for the
+ moment we don't
+
+have it in qt6
+---
+ CMakeLists.txt | 10 +++++-
+ src/CMakeLists.txt | 34 ++++++++++++++-----
+ .../plaintexteditor/plaintexteditor.cpp | 4 +++
+ .../plaintexteditor/plaintexteditorwidget.cpp | 10 ++++--
+ .../richtexteditor/richtexteditor.cpp | 5 ++-
+ .../richtexteditor/richtexteditorwidget.cpp | 9 ++++-
+ 6 files changed, 59 insertions(+), 13 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ae59804..d1a0181 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -76,7 +76,15 @@ add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050f02)
+ add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x055A00)
+
+
+-find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED COMPONENTS TextToSpeech)
++find_package(Qt5TextToSpeech ${QT_REQUIRED_VERSION} CONFIG)
++set_package_properties(Qt5TextToSpeech PROPERTIES DESCRIPTION
++ "Add support for texttospeed"
++ TYPE OPTIONAL
++)
++if(TARGET Qt5::TextToSpeech)
++ set(HAVE_TEXT_TO_SPEECH_SUPPORT TRUE)
++ add_definitions(-DHAVE_TEXT_TO_SPEECH_SUPPORT)
++endif()
+
+ if(BUILD_TESTING)
+ find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED COMPONENTS Test)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 2720e0a..98e2854 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -53,7 +53,7 @@ target_sources(KF5PimTextEdit PRIVATE
+ composer-ng/richtextcomposeremailquotehighlighter.h
+ composer-ng/richtextcomposerwidget.h
+ )
+-
++if (HAVE_TEXT_TO_SPEECH_SUPPORT)
+ target_sources(KF5PimTextEdit PRIVATE
+ texttospeech/texttospeech.cpp
+ texttospeech/texttospeechwidget.cpp
+@@ -76,6 +76,7 @@ target_sources(KF5PimTextEdit PRIVATE
+ texttospeech/texttospeechlanguagecombobox.h
+ texttospeech/texttospeechactions.h
+ )
++endif()
+
+ target_sources(KF5PimTextEdit PRIVATE
+ grantleebuilder/plaintextmarkupbuilder.cpp
+@@ -168,7 +169,12 @@ target_link_libraries(KF5PimTextEdit
+ KF5::SyntaxHighlighting
+ Qt::TextToSpeech
+ )
+-
++if (HAVE_TEXT_TO_SPEECH_SUPPORT)
++ target_link_libraries(KF5PimTextEdit
++ PRIVATE
++ Qt::TextToSpeech
++ )
++endif()
+ set_target_properties(KF5PimTextEdit PROPERTIES
+ VERSION ${KPIMTEXTEDIT_VERSION}
+ SOVERSION ${KPIMTEXTEDIT_SOVERSION}
+@@ -240,7 +246,7 @@ ecm_generate_headers(KPimTextEdit_CamelCasetexteditor_commonwidget_HEADERS
+ )
+
+
+-
++if (HAVE_TEXT_TO_SPEECH_SUPPORT)
+ ecm_generate_headers(KPimTextEdit_CamelCasetexttospeechs_HEADERS
+ HEADER_NAMES
+ TextToSpeech
+@@ -252,7 +258,7 @@ ecm_generate_headers(KPimTextEdit_CamelCasetexttospeechs_HEADERS
+ PREFIX KPIMTextEdit
+ RELATIVE texttospeech
+ )
+-
++endif()
+ ecm_generate_headers(KPimTextEdit_Camelcasecomposerng_HEADERS
+ HEADER_NAMES
+ RichTextComposer
+@@ -269,11 +275,22 @@ ecm_generate_headers(KPimTextEdit_Camelcasecomposerng_HEADERS
+
+
+ ########### install files ###############
++if (HAVE_TEXT_TO_SPEECH_SUPPORT)
++ install(FILES
++ ${KPimTextEdit_texttospeechs_HEADERS}
++ DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KPIMTextEdit/kpimtextedit
++ COMPONENT Devel
++ )
++ install(FILES
++ ${KPimTextEdit_CamelCasetexttospeechs_HEADERS}
++ DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KPIMTextEdit/KPIMTextEdit/
++ COMPONENT Devel
++ )
++endif()
+
+ install(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/kpimtextedit_export.h
+ ${kpimtextedit_HEADERS}
+- ${KPimTextEdit_texttospeechs_HEADERS}
+ ${KPimTextEdit_richtexteditor_HEADERS}
+ ${KPimTextEdit_texteditor_commonwidget_HEADERS}
+ ${KPimTextEdit_plaintexteditor_HEADERS}
+@@ -288,7 +305,6 @@ install(FILES
+ ${KPimTextEdit_CamelCase_HEADERS}
+ ${KPimTextEdit_CamelCasetextrichtexteditor_HEADERS}
+ ${KPimTextEdit_CamelCaseplaintexteditor_HEADERS}
+- ${KPimTextEdit_CamelCasetexttospeechs_HEADERS}
+ ${KPimTextEdit_CamelCasetexteditor_commonwidget_HEADERS}
+ ${KPimTextEdit_Camelcasecomposerng_HEADERS}
+ ${KPimTextEdit_CamelCaseemoticon_HEADERS}
+@@ -306,8 +322,10 @@ if (BUILD_TESTING)
+ add_subdirectory(texteditor/commonwidget/autotests)
+ add_subdirectory(texteditor/plaintexteditor/tests)
+ add_subdirectory(texteditor/richtexteditor/tests)
+- add_subdirectory(texttospeech/autotests)
+- add_subdirectory(texttospeech/tests)
++ if (HAVE_TEXT_TO_SPEECH_SUPPORT)
++ add_subdirectory(texttospeech/autotests)
++ add_subdirectory(texttospeech/tests)
++ endif()
+ add_subdirectory(composer-ng/autotests)
+ add_subdirectory(composer-ng/tests)
+ add_subdirectory(grantleebuilder/autotests)
+diff --git a/src/texteditor/plaintexteditor/plaintexteditor.cpp b/src/texteditor/plaintexteditor/plaintexteditor.cpp
+index cfa0741..4559568 100644
+--- a/src/texteditor/plaintexteditor/plaintexteditor.cpp
++++ b/src/texteditor/plaintexteditor/plaintexteditor.cpp
+@@ -18,7 +18,9 @@
+ #include <QActionGroup>
+ #include <QIcon>
+
++#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
+ #include "texttospeech/texttospeech.h"
++#endif
+ #include <Sonnet/Dialog>
+ #include <sonnet/backgroundchecker.h>
+
+@@ -181,6 +183,7 @@ void PlainTextEditor::contextMenuEvent(QContextMenuEvent *event)
+ }
+ }
+ if (d->supportFeatures & TextToSpeech) {
++#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
+ if (KPIMTextEdit::TextToSpeech::self()->isReady()) {
+ if (!emptyDocument) {
+ QAction *speakAction = popup->addAction(i18n("Speak Text"));
+@@ -188,6 +191,7 @@ void PlainTextEditor::contextMenuEvent(QContextMenuEvent *event)
+ connect(speakAction, &QAction::triggered, this, &PlainTextEditor::slotSpeakText);
+ }
+ }
++#endif
+ }
+ if (webShortcutSupport() && textCursor().hasSelection()) {
+ popup->addSeparator();
+diff --git a/src/texteditor/plaintexteditor/plaintexteditorwidget.cpp b/src/texteditor/plaintexteditor/plaintexteditorwidget.cpp
+index 3251ea3..77a9b45 100644
+--- a/src/texteditor/plaintexteditor/plaintexteditorwidget.cpp
++++ b/src/texteditor/plaintexteditor/plaintexteditorwidget.cpp
+@@ -8,8 +8,9 @@
+ #include "plaintexteditfindbar.h"
+ #include "plaintexteditor.h"
+ #include "slidecontainer.h"
++#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
+ #include "texttospeech/texttospeechwidget.h"
+-
++#endif
+ #include <QTextCursor>
+ #include <QVBoxLayout>
+
+@@ -21,7 +22,9 @@ public:
+
+ KPIMTextEdit::PlainTextEditFindBar *mFindBar = nullptr;
+ PlainTextEditor *mEditor = nullptr;
++#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
+ KPIMTextEdit::TextToSpeechWidget *mTextToSpeechWidget = nullptr;
++#endif
+ KPIMTextEdit::SlideContainer *mSliderContainer = nullptr;
+ };
+
+@@ -75,16 +78,19 @@ void PlainTextEditorWidget::init(PlainTextEditor *customEditor)
+ {
+ auto lay = new QVBoxLayout(this);
+ lay->setContentsMargins({});
++#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
+ d->mTextToSpeechWidget = new KPIMTextEdit::TextToSpeechWidget(this);
+ lay->addWidget(d->mTextToSpeechWidget);
++#endif
+ if (customEditor) {
+ d->mEditor = customEditor;
+ } else {
+ d->mEditor = new PlainTextEditor;
+ }
+ lay->addWidget(d->mEditor);
++#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
+ connect(d->mEditor, &PlainTextEditor::say, d->mTextToSpeechWidget, &KPIMTextEdit::TextToSpeechWidget::say);
+-
++#endif
+ d->mSliderContainer = new KPIMTextEdit::SlideContainer(this);
+
+ d->mFindBar = new KPIMTextEdit::PlainTextEditFindBar(d->mEditor, this);
+diff --git a/src/texteditor/richtexteditor/richtexteditor.cpp b/src/texteditor/richtexteditor/richtexteditor.cpp
+index dfdf7c5..a004434 100644
+--- a/src/texteditor/richtexteditor/richtexteditor.cpp
++++ b/src/texteditor/richtexteditor/richtexteditor.cpp
+@@ -26,7 +26,9 @@
+ #include <sonnet/backgroundchecker.h>
+ #include <sonnet/spellcheckdecorator.h>
+ #include <sonnet/speller.h>
++#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
+ #include <texttospeech/texttospeech.h>
++#endif
+
+ #include <QApplication>
+ #include <QClipboard>
+@@ -247,7 +249,7 @@ QMenu *RichTextEditor::mousePopupMenu(QPoint pos)
+ allowTabAction->setChecked(!tabChangesFocus());
+ connect(allowTabAction, &QAction::triggered, this, &RichTextEditor::slotAllowTab);
+ }
+-
++#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
+ if (KPIMTextEdit::TextToSpeech::self()->isReady()) {
+ if (!emptyDocument) {
+ QAction *speakAction = popup->addAction(i18n("Speak Text"));
+@@ -255,6 +257,7 @@ QMenu *RichTextEditor::mousePopupMenu(QPoint pos)
+ connect(speakAction, &QAction::triggered, this, &RichTextEditor::slotSpeakText);
+ }
+ }
++#endif
+ if (webShortcutSupport() && textCursor().hasSelection()) {
+ popup->addSeparator();
+ const QString selectedText = textCursor().selectedText();
+diff --git a/src/texteditor/richtexteditor/richtexteditorwidget.cpp b/src/texteditor/richtexteditor/richtexteditorwidget.cpp
+index d0d8e14..d84cf3f 100644
+--- a/src/texteditor/richtexteditor/richtexteditorwidget.cpp
++++ b/src/texteditor/richtexteditor/richtexteditorwidget.cpp
+@@ -10,8 +10,9 @@
+
+ #include <QTextCursor>
+ #include <QVBoxLayout>
++#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
+ #include <texttospeech/texttospeechwidget.h>
+-
++#endif
+ #include "slidecontainer.h"
+
+ using namespace KPIMTextEdit;
+@@ -23,7 +24,9 @@ public:
+
+ KPIMTextEdit::RichTextEditFindBar *mFindBar = nullptr;
+ RichTextEditor *mEditor = nullptr;
++#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
+ KPIMTextEdit::TextToSpeechWidget *mTextToSpeechWidget = nullptr;
++#endif
+ KPIMTextEdit::SlideContainer *mSliderContainer = nullptr;
+ };
+
+@@ -97,14 +100,18 @@ void RichTextEditorWidget::init(RichTextEditor *customEditor)
+ {
+ auto lay = new QVBoxLayout(this);
+ lay->setContentsMargins({});
++#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
+ d->mTextToSpeechWidget = new KPIMTextEdit::TextToSpeechWidget(this);
+ lay->addWidget(d->mTextToSpeechWidget);
++#endif
+ if (customEditor) {
+ d->mEditor = customEditor;
+ } else {
+ d->mEditor = new RichTextEditor;
+ }
++#ifdef HAVE_TEXT_TO_SPEECH_SUPPORT
+ connect(d->mEditor, &RichTextEditor::say, d->mTextToSpeechWidget, &KPIMTextEdit::TextToSpeechWidget::say);
++#endif
+ lay->addWidget(d->mEditor);
+
+ d->mSliderContainer = new KPIMTextEdit::SlideContainer(this);
+--
+GitLab
+
diff --git a/kde-apps/kpimtextedit/files/kpimtextedit-21.12.2-speech-optional-2.patch b/kde-apps/kpimtextedit/files/kpimtextedit-21.12.2-speech-optional-2.patch
new file mode 100644
index 000000000000..a078840af05c
--- /dev/null
+++ b/kde-apps/kpimtextedit/files/kpimtextedit-21.12.2-speech-optional-2.patch
@@ -0,0 +1,25 @@
+From 3596c0a90f590c409654a9aec2b087809cff0a79 Mon Sep 17 00:00:00 2001
+From: David Faure <faure@kde.org>
+Date: Tue, 28 Dec 2021 12:26:25 +0100
+Subject: [PATCH] Fix build without TextToSpeech available
+
+(the linking happens again further down, inside the if)
+---
+ src/CMakeLists.txt | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 98e2854..a08978e 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -167,7 +167,6 @@ target_link_libraries(KF5PimTextEdit
+ KF5::XmlGui
+ KF5::I18n
+ KF5::SyntaxHighlighting
+- Qt::TextToSpeech
+ )
+ if (HAVE_TEXT_TO_SPEECH_SUPPORT)
+ target_link_libraries(KF5PimTextEdit
+--
+GitLab
+
diff --git a/kde-apps/kpimtextedit/kpimtextedit-21.12.2.ebuild b/kde-apps/kpimtextedit/kpimtextedit-21.12.2-r1.ebuild
index 8ef4a064d94b..e9ea2a17981a 100644
--- a/kde-apps/kpimtextedit/kpimtextedit-21.12.2.ebuild
+++ b/kde-apps/kpimtextedit/kpimtextedit-21.12.2-r1.ebuild
@@ -16,13 +16,12 @@ DESCRIPTION="Extended text editor for PIM applications"
LICENSE="LGPL-2.1+"
SLOT="5"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
-IUSE=""
+IUSE="speech"
RESTRICT="test"
RDEPEND="
>=dev-qt/qtgui-${QTMIN}:5
- >=dev-qt/qtspeech-${QTMIN}:5
>=dev-qt/qtwidgets-${QTMIN}:5
>=kde-frameworks/kcompletion-${KFMIN}:5
>=kde-frameworks/kconfig-${KFMIN}:5
@@ -35,7 +34,17 @@ RDEPEND="
>=kde-frameworks/kxmlgui-${KFMIN}:5
>=kde-frameworks/sonnet-${KFMIN}:5
>=kde-frameworks/syntax-highlighting-${KFMIN}:5
+ speech? ( >=dev-qt/qtspeech-${QTMIN}:5 )
"
DEPEND="${RDEPEND}
test? ( >=kde-frameworks/ktextwidgets-${KFMIN}:5 )
"
+
+PATCHES=( "${FILESDIR}"/${PN}-21.12.2-speech-optional-{1,2}.patch )
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake_use_find_package speech Qt5TextToSpeech)
+ )
+ ecm_src_configure
+}
diff --git a/kde-apps/kpimtextedit/metadata.xml b/kde-apps/kpimtextedit/metadata.xml
index 0bc83685a440..c28e75b42460 100644
--- a/kde-apps/kpimtextedit/metadata.xml
+++ b/kde-apps/kpimtextedit/metadata.xml
@@ -10,5 +10,6 @@
</upstream>
<use>
<flag name="designer">Build plugins for <pkg>dev-qt/designer</pkg></flag>
+ <flag name="speech">Enable text-to-speech support</flag>
</use>
</pkgmetadata>