From e0345ef79b0b4a444151748ce1f5364fc2dd147b Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 13 Nov 2023 04:25:35 +0000 Subject: gentoo auto-resync : 13:11:2023 - 04:25:34 --- kde-plasma/wacomtablet/Manifest | 6 + ...tablet-3.2.0-fix-incorrect-xsetwacom-call.patch | 41 ++++++ ...omtablet-3.2.0-port-to-QRegularExpression.patch | 143 +++++++++++++++++++++ kde-plasma/wacomtablet/metadata.xml | 12 ++ kde-plasma/wacomtablet/wacomtablet-3.2.0-r3.ebuild | 71 ++++++++++ 5 files changed, 273 insertions(+) create mode 100644 kde-plasma/wacomtablet/Manifest create mode 100644 kde-plasma/wacomtablet/files/wacomtablet-3.2.0-fix-incorrect-xsetwacom-call.patch create mode 100644 kde-plasma/wacomtablet/files/wacomtablet-3.2.0-port-to-QRegularExpression.patch create mode 100644 kde-plasma/wacomtablet/metadata.xml create mode 100644 kde-plasma/wacomtablet/wacomtablet-3.2.0-r3.ebuild (limited to 'kde-plasma/wacomtablet') diff --git a/kde-plasma/wacomtablet/Manifest b/kde-plasma/wacomtablet/Manifest new file mode 100644 index 000000000000..311b13928da6 --- /dev/null +++ b/kde-plasma/wacomtablet/Manifest @@ -0,0 +1,6 @@ +AUX wacomtablet-3.2.0-fix-incorrect-xsetwacom-call.patch 1917 BLAKE2B be46610081082f1106803ab619be82ed2433913199e8507cd15284a7bd83bfc202bdcc3dad4a5d3a94d7268439189be02c1db838652b3ed2bf23340ca585bb68 SHA512 a465880d880cf8db0e889e0b605dccc689fa7c8e5f05970458265320764b725b3470e8e63d600c769145632d7917985567571d23af44dc1728738b75544fa9cf +AUX wacomtablet-3.2.0-port-to-QRegularExpression.patch 6430 BLAKE2B bd2cd551009972942af339726b568a4cc9d1bcc60825a5c1fd6075c5ce155f8a0d47e78981a98412908244f0d31a9db3343009156854e147869531c70abaf53c SHA512 927dbaa487d891e5ab73f6b83cd4d5fa492b6c62a1aa847dbfcb2f268deabd99687f4b377c0cfcf48efd38536ce0d34b478756b658c2a0e1f84d1ca03e56fe75 +DIST wacomtablet-3.2.0-patchset-1.tar.xz 7796 BLAKE2B 4fa998a0f4376579d1e0d06a8aa9edababedca22d579dbdae651eee3699decc880a7a1d277f04c2bc24adba87908c07ab711989a5985b68af5b295d3b3260d33 SHA512 ff96f05831e4760ce99920061f0dc927aa6a2d5ef4b7443c3129bb1431262cb4bc1434097595976672393e3b611438014ccb528fc948e7c0407fc9a2d52ade8d +DIST wacomtablet-3.2.0.tar.xz 728468 BLAKE2B f741c8989f94cdc5b4839df5d91a6728c48308880c489e031d4615a58e82dddda75dcd1cd04b941035c1aece3ed4f7889508629100852cbcaafc063d7e0f8d1e SHA512 acbabd6d6546bc85f0ed4e245668dc89b1c2ecaedd3754bf7ad8027b90f3ae81e5312395376de272dcbd416a9a1115bff2481351bd3f418bef7fa06d0db0c5a6 +EBUILD wacomtablet-3.2.0-r3.ebuild 2157 BLAKE2B bf8d5f4a5565ab91c98ded280ba6212d3c37dd703a0e72b1b5dd109ed4db4a84a3fcad606ec3af3f7ae60432ae01bebc3ed5e5115dd16caf703d241222c689bf SHA512 391e6dd9dd8f0a5201a880a488316d411172bc5258e2d81f1166704a2d1e6156ec5f20aeb7553bb561162e610b73ef7b819a075cc7980ceb6998e48cbc74bc77 +MISC metadata.xml 380 BLAKE2B 683aba479ac043f8d6c5e3ece7db3c73dd64c7ecf36038e480c4f6e50cbf13fc503e8ad64b219346454bc113b1f8fdb43a731f092c1e536e39bd0b0e14459b39 SHA512 3ba6bcf82d48997a530f58c2c6f9988771fd4d8a5c815bded87a13ab385b85580467fee67f1f5c9caf73702a6dc69e6a128124fc084faee768566d3f8721412d diff --git a/kde-plasma/wacomtablet/files/wacomtablet-3.2.0-fix-incorrect-xsetwacom-call.patch b/kde-plasma/wacomtablet/files/wacomtablet-3.2.0-fix-incorrect-xsetwacom-call.patch new file mode 100644 index 000000000000..9434b0082569 --- /dev/null +++ b/kde-plasma/wacomtablet/files/wacomtablet-3.2.0-fix-incorrect-xsetwacom-call.patch @@ -0,0 +1,41 @@ +From 32c78782b3061bab2a3b1457133faf77b6d9ed2a Mon Sep 17 00:00:00 2001 +From: Nicolas Fella +Date: Mon, 14 Nov 2022 02:57:07 +0100 +Subject: [PATCH] Fix incorrect xsetwacom call + +When param is e.g. 'Button 1' the 'Button' and '1' need to be passed as separate arguments + +BUG: 454947 +--- + src/kded/xsetwacomadaptor.cpp | 14 +++++++++++--- + 1 file changed, 11 insertions(+), 3 deletions(-) + +diff --git a/src/kded/xsetwacomadaptor.cpp b/src/kded/xsetwacomadaptor.cpp +index 934fa8b..fc1bcac 100644 +--- a/src/kded/xsetwacomadaptor.cpp ++++ b/src/kded/xsetwacomadaptor.cpp +@@ -245,10 +245,18 @@ bool XsetwacomAdaptor::setRotation(const QString& value) + bool XsetwacomAdaptor::setParameter(const QString &device, const QString ¶m, const QString &value) const + { + QProcess setConf; +- if (!value.isEmpty()) { +- setConf.start(QString::fromLatin1("xsetwacom"), QStringList() << QString::fromLatin1("set") << device << param << value); ++ ++ // https://bugs.kde.org/show_bug.cgi?id=454947 ++ static const QRegularExpression buttonWithNumber(QStringLiteral("^Button \\d+$")); ++ if (param.contains(buttonWithNumber)) { ++ const QStringList splitted = param.split(QLatin1Char(' ')); ++ setConf.start(QString::fromLatin1("xsetwacom"), QStringList() << QString::fromLatin1("set") << device << splitted[0] << splitted[1] << value); + } else { +- setConf.start(QString::fromLatin1("xsetwacom"), QStringList() << QString::fromLatin1("set") << device << param); ++ if (!value.isEmpty()) { ++ setConf.start(QString::fromLatin1("xsetwacom"), QStringList() << QString::fromLatin1("set") << device << param << value); ++ } else { ++ setConf.start(QString::fromLatin1("xsetwacom"), QStringList() << QString::fromLatin1("set") << device << param); ++ } + } + + if (!setConf.waitForStarted() || !setConf.waitForFinished()) { +-- +GitLab + diff --git a/kde-plasma/wacomtablet/files/wacomtablet-3.2.0-port-to-QRegularExpression.patch b/kde-plasma/wacomtablet/files/wacomtablet-3.2.0-port-to-QRegularExpression.patch new file mode 100644 index 000000000000..e86f97cfaef4 --- /dev/null +++ b/kde-plasma/wacomtablet/files/wacomtablet-3.2.0-port-to-QRegularExpression.patch @@ -0,0 +1,143 @@ +From 9c2f133ee400562ca9813e329f6e2bdae24a5ac5 Mon Sep 17 00:00:00 2001 +From: Nicolas Fella +Date: Thu, 4 Aug 2022 22:43:07 +0200 +Subject: [PATCH] Port from QRegExp to QRegularExpression + +--- + src/common/buttonshortcut.cpp | 33 ++++++++++++++++++++------------- + src/kded/xsetwacomadaptor.cpp | 17 +++++++++++------ + 2 files changed, 31 insertions(+), 19 deletions(-) + +diff --git a/src/common/buttonshortcut.cpp b/src/common/buttonshortcut.cpp +index e11784f..32bf842 100644 +--- a/src/common/buttonshortcut.cpp ++++ b/src/common/buttonshortcut.cpp +@@ -19,7 +19,7 @@ + + #include "buttonshortcut.h" + +-#include ++#include + #include + + #include +@@ -266,8 +266,8 @@ bool ButtonShortcut::set(const QString& sequence) + return true; + } + +- QRegExp modifierRx (QLatin1String("^(?:key )?(?:\\s*\\+?(?:alt|ctrl|meta|shift|super))+$"), Qt::CaseInsensitive); +- QRegExp buttonRx (QLatin1String ("^(?:button\\s+)?\\+?\\d+$"), Qt::CaseInsensitive); ++ static const QRegularExpression modifierRx (QLatin1String("^(?:key )?(?:\\s*\\+?(?:alt|ctrl|meta|shift|super))+$"), QRegularExpression::CaseInsensitiveOption); ++ static const QRegularExpression buttonRx (QLatin1String ("^(?:button\\s+)?\\+?\\d+$"), QRegularExpression::CaseInsensitiveOption); + + if (seq.contains(buttonRx)) { + // this is a button +@@ -388,7 +388,8 @@ void ButtonShortcut::convertToNormalizedKeySequence(QString& sequence, bool from + { + normalizeKeySequence(sequence); + +- QStringList keyList = sequence.split (QRegExp (QLatin1String ("\\s+")), Qt::SkipEmptyParts); ++ static const QRegularExpression rx(QStringLiteral("\\s+")); ++ QStringList keyList = sequence.split (rx, Qt::SkipEmptyParts); + bool isFirstKey = true; + + sequence.clear(); +@@ -460,28 +461,33 @@ void ButtonShortcut::normalizeKeySequence(QString& sequence) const + { + // When setting a shortcut like "ctrl+x", xsetwacom will convert it to "key +ctrl +x -x" + // therefore we just truncate the string on the first "-key" we find. +- QRegExp minusKeyRx (QLatin1String ("(^|\\s)-\\S")); +- int pos = 0; ++ static const QRegularExpression minusKeyRx (QLatin1String ("(^|\\s)-\\S")); + +- if ((pos = minusKeyRx.indexIn(sequence, 0)) != -1) { +- sequence = sequence.left(pos); ++ const QRegularExpressionMatch minusKeyRxMatch = minusKeyRx.match(sequence); ++ ++ if (minusKeyRxMatch.hasMatch()) { ++ sequence = sequence.left(minusKeyRxMatch.capturedStart()); + } + + // cleanup leading "key " identifier from xsetwacom sequences +- sequence.remove(QRegExp (QLatin1String ("^\\s*key\\s+"), Qt::CaseInsensitive)); ++ static const QRegularExpression leadingKey(QStringLiteral("^\\s*key\\s+"), QRegularExpression::CaseInsensitiveOption); ++ sequence.remove(leadingKey); + + // Remove all '+' prefixes from keys. + // This will convert shortcuts like "+ctrl +alt" to "ctrl alt", but not + // shortcuts like "ctrl +" which is required to keep compatibility to older + // (buggy) configuration files. +- sequence.replace(QRegExp (QLatin1String ("(^|\\s)\\+(\\S)")), QLatin1String ("\\1\\2")); ++ static const QRegularExpression plusPrefixes(QStringLiteral("(^|\\s)\\+(\\S)"), QRegularExpression::CaseInsensitiveOption); ++ sequence.replace(plusPrefixes, QLatin1String ("\\1\\2")); + + // Cleanup plus signs between keys. + // This will convert shortcuts like "ctrl+alt+shift" or "Ctrl++" to "ctrl alt shift" or "Ctrl +". +- sequence.replace (QRegExp (QLatin1String ("(\\S)\\+(\\S)")), QLatin1String ("\\1 \\2")); ++ static const QRegularExpression cleanupPlus(QStringLiteral("(\\S)\\+(\\S)"), QRegularExpression::CaseInsensitiveOption); ++ sequence.replace (cleanupPlus, QLatin1String ("\\1 \\2")); + + // replace multiple whitespaces with one +- sequence.replace (QRegExp (QLatin1String ("\\s{2,}")), QLatin1String (" ")); ++ static const QRegularExpression whitespaces(QStringLiteral("\\s{2,}"), QRegularExpression::CaseInsensitiveOption); ++ sequence.replace (whitespaces, QLatin1String (" ")); + + // trim the string + sequence = sequence.trimmed(); +@@ -500,7 +506,8 @@ void ButtonShortcut::prettifyKey(QString& key) const + bool ButtonShortcut::setButtonSequence(const QString& buttonSequence) + { + QString buttonNumber = buttonSequence; +- buttonNumber.remove(QRegExp (QLatin1String ("^\\s*button\\s+"), Qt::CaseInsensitive)); ++ static const QRegularExpression rx(QStringLiteral("^\\s*button\\s+"), QRegularExpression::CaseInsensitiveOption); ++ buttonNumber.remove(rx); + + bool ok = false; + int button = buttonNumber.toInt(&ok); +diff --git a/src/kded/xsetwacomadaptor.cpp b/src/kded/xsetwacomadaptor.cpp +index a39f307..934fa8b 100644 +--- a/src/kded/xsetwacomadaptor.cpp ++++ b/src/kded/xsetwacomadaptor.cpp +@@ -27,7 +27,7 @@ + #include "tabletarea.h" + + #include +-#include ++#include + + using namespace Wacom; + +@@ -142,10 +142,13 @@ const QString XsetwacomAdaptor::convertParameter(const XsetwacomProperty& param) + QString modifiedParam = param.key(); + + // convert tablet button number to hardware button number +- QRegExp rx(QLatin1String("^Button\\s*([0-9]+)$"), Qt::CaseInsensitive); ++ static const QRegularExpression rx(QLatin1String("^Button\\s*([0-9]+)$"), QRegularExpression::CaseInsensitiveOption); ++ ++ const QRegularExpressionMatch match = rx.match(modifiedParam); ++ ++ if (match.hasMatch()) { ++ QString hwButtonNumber = match.captured(1); + +- if (rx.indexIn(modifiedParam, 0) != -1) { +- QString hwButtonNumber = rx.cap(1); + QString kernelButtonNumber; + + if (!d->buttonMap.isEmpty()) { +@@ -167,9 +170,11 @@ const QString XsetwacomAdaptor::convertParameter(const XsetwacomProperty& param) + + void XsetwacomAdaptor::convertButtonShortcut (const XsetwacomProperty& property, QString& value) const + { +- QRegExp rx (QLatin1String("^Button\\s*[0-9]+$"), Qt::CaseInsensitive); ++ static const QRegularExpression rx(QLatin1String("^Button\\s*[0-9]+$"), QRegularExpression::CaseInsensitiveOption); ++ ++ const QRegularExpressionMatch match = rx.match(property.key()); + +- if (rx.indexIn(property.key(), 0) != -1) { ++ if (match.hasMatch()) { + ButtonShortcut buttonshortcut(value); + value = buttonshortcut.toString(); + } +-- +GitLab + diff --git a/kde-plasma/wacomtablet/metadata.xml b/kde-plasma/wacomtablet/metadata.xml new file mode 100644 index 000000000000..ee58c0107562 --- /dev/null +++ b/kde-plasma/wacomtablet/metadata.xml @@ -0,0 +1,12 @@ + + + + + kde@gentoo.org + Gentoo KDE Project + + + https://bugs.kde.org/ + plasma/wacomtablet + + diff --git a/kde-plasma/wacomtablet/wacomtablet-3.2.0-r3.ebuild b/kde-plasma/wacomtablet/wacomtablet-3.2.0-r3.ebuild new file mode 100644 index 000000000000..9459ddacd803 --- /dev/null +++ b/kde-plasma/wacomtablet/wacomtablet-3.2.0-r3.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_HANDBOOK="forceoptional" +KFMIN=5.82.0 +QTMIN=5.15.2 +VIRTUALX_REQUIRED="test" +inherit ecm kde.org + +DESCRIPTION="Wacom system settings module that supports different button/pen layout profiles" +HOMEPAGE="https://userbase.kde.org/Wacomtablet" +SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz +https://dev.gentoo.org/~asturm/distfiles/${P}-patchset-1.tar.xz" + +LICENSE="GPL-2" +SLOT="5" +KEYWORDS="amd64 x86" + +RDEPEND=" + >=dev-libs/libwacom-0.30:= + >=dev-qt/qtdbus-${QTMIN}:5 + >=dev-qt/qtdeclarative-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5 + >=dev-qt/qtwidgets-${QTMIN}:5 + >=dev-qt/qtx11extras-${QTMIN}:5 + >=kde-frameworks/kconfig-${KFMIN}:5 + >=kde-frameworks/kconfigwidgets-${KFMIN}:5 + >=kde-frameworks/kcoreaddons-${KFMIN}:5 + >=kde-frameworks/kdbusaddons-${KFMIN}:5 + >=kde-frameworks/kglobalaccel-${KFMIN}:5 + >=kde-frameworks/ki18n-${KFMIN}:5 + >=kde-frameworks/knotifications-${KFMIN}:5 + >=kde-frameworks/kwidgetsaddons-${KFMIN}:5 + >=kde-frameworks/kwindowsystem-${KFMIN}:5 + >=kde-frameworks/kxmlgui-${KFMIN}:5 + >=kde-frameworks/plasma-${KFMIN}:5 + >=x11-drivers/xf86-input-wacom-0.20.0 + x11-libs/libXi + x11-libs/libxcb +" +DEPEND="${RDEPEND} + x11-base/xorg-proto + x11-libs/libX11 +" +BDEPEND="sys-devel/gettext" + +PATCHES=( + "${WORKDIR}/${P}-qt-5.15.patch" + "${WORKDIR}/${P}-qt-5.15-obsoletions.patch" + "${WORKDIR}/${P}-no-override-screenspace-w-missing-screen.patch" # KDE-bug 419392 + "${WORKDIR}/${P}-fix-xsetwacom-adapter.patch" + "${WORKDIR}/${P}-Intuos-M-bluetooth.patch" # KDE-bug 418827 + "${WORKDIR}/${P}-correct-icons.patch" + "${WORKDIR}/${P}-drop-empty-X-KDE-PluginInfo-Depends.patch" + "${WORKDIR}/${P}-fix-QProcess-invocation.patch" + "${WORKDIR}/${P}-turn-off-gesture-support-by-default.patch" # KDE-bug 440556 + "${WORKDIR}/${P}-only-show-on-X11.patch" + "${FILESDIR}/${P}-port-to-QRegularExpression.patch" # pre-requisite for below: + "${FILESDIR}/${P}-fix-incorrect-xsetwacom-call.patch" # bug 850652, KDE-bug 454947 +) + +src_test() { + # test needs DBus, bug 675548 + local myctestargs=( + -E "(Test.KDED.DBusTabletService)" + ) + + ecm_src_test +} -- cgit v1.2.3