author | Felix Yan
<felixonmars@archlinux.org> 2015-02-25 03:00:18 UTC |
committer | Felix Yan
<felixonmars@archlinux.org> 2015-02-25 03:00:18 UTC |
parent | eee65757d42432e0d8899ff11f74bcaf22e9e18f |
PKGBUILD | +7 | -16 |
kdebug-341971.patch | +0 | -190 |
libinput.0.8.0.patch | +0 | -25 |
diff --git a/PKGBUILD b/PKGBUILD index b1ee4e5..0196fa1 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,9 +1,10 @@ -# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Maintainer: Felix Yan <felixonmars@archlinux.org> +# Contributor: Andrea Scarpino <andrea@archlinux.org> pkgname=kwin -pkgver=5.2.0.1 -_dir=5.2.0 -pkgrel=3 +pkgver=5.2.1 +_dir=5.2.1 +pkgrel=1 pkgdesc='KDE Window manager' arch=('i686' 'x86_64') url='https://projects.kde.org/projects/kde/workspace/kwin' @@ -14,21 +15,11 @@ makedepends=('extra-cmake-modules' 'qt5-tools' 'kdoctools') groups=('plasma') install=${pkgname}.install conflicts=('kdebase-workspace') -source=("http://download.kde.org/stable/plasma/${_dir}/${pkgname}-${pkgver}.tar.xz" - 'kdebug-341971.patch' - 'libinput.0.8.0.patch') -md5sums=('47b6ce31b45450fa702098c9f3f5ac95' - '037db2eab5f9e07c74122f1a5fd4fe31' - '0ccc6b0113e37bd994c65ffb6a4518ff') +source=("http://download.kde.org/stable/plasma/${_dir}/${pkgname}-${pkgver}.tar.xz") +md5sums=('863205ef27b7a11897fdeb24a75399ed') prepare() { mkdir build - - cd ${pkgname}-${pkgver} - patch -p1 -i "${srcdir}"/kdebug-341971.patch - - #https://bugs.kde.org/show_bug.cgi?id=342893 - patch -Np1 -i "${srcdir}"/libinput.0.8.0.patch } build() { diff --git a/kdebug-341971.patch b/kdebug-341971.patch deleted file mode 100644 index d965fa4..0000000 --- a/kdebug-341971.patch +++ /dev/null @@ -1,190 +0,0 @@ -From: Marco Martin <notmart@gmail.com> -Date: Wed, 28 Jan 2015 08:58:47 +0000 -Subject: use xembed for the qml view of window decorations modul -X-Git-Url: http://quickgit.kde.org/?p=kwin.git&a=commitdiff&h=63885cc5b3f2922441dac0af96ed001b737e78ea ---- -use xembed for the qml view of window decorations modul - -the only way to ensure the view won't randomly become black -(probably QQuickwidget won't be fixed in qt anytime soon or -ever in 5.x lifetime due to how architecturally is) - -basically systemsettings has no control of what gets loaded in, -if one other kcm will call winId(), this one will break. - -BUG:341971 ---- - - ---- a/kcmkwin/kwindecoration/kcm.cpp -+++ b/kcmkwin/kwindecoration/kcm.cpp -@@ -36,6 +36,7 @@ - #include <QQmlContext> - #include <QQmlEngine> - #include <QQuickItem> -+#include <QQuickView> - #include <QSortFilterProxyModel> - #include <QStandardPaths> - #include <QVBoxLayout> -@@ -77,21 +78,26 @@ - m_proxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive); - connect(m_ui->filter, &QLineEdit::textChanged, m_proxyModel, &QSortFilterProxyModel::setFilterFixedString); - -+ m_quickView = new QQuickView(0); - KDeclarative::KDeclarative kdeclarative; -- kdeclarative.setDeclarativeEngine(m_ui->view->engine()); -+ kdeclarative.setDeclarativeEngine(m_quickView->engine()); - kdeclarative.setTranslationDomain(QStringLiteral(TRANSLATION_DOMAIN)); - kdeclarative.setupBindings(); - - qmlRegisterType<QAbstractItemModel>(); -- m_ui->view->rootContext()->setContextProperty(QStringLiteral("decorationsModel"), m_proxyModel); -+ QWidget *widget = QWidget::createWindowContainer(m_quickView, this); -+ QVBoxLayout* layout = new QVBoxLayout(m_ui->view); -+ layout->addWidget(widget); -+ -+ m_quickView->rootContext()->setContextProperty(QStringLiteral("decorationsModel"), m_proxyModel); - updateColors(); -- m_ui->view->rootContext()->setContextProperty("_borderSizesIndex", 3); // 3 is normal -- m_ui->view->rootContext()->setContextProperty("configurationModule", this); -- m_ui->view->rootContext()->setContextProperty("titleFont", QFontDatabase::systemFont(QFontDatabase::TitleFont)); -- m_ui->view->setResizeMode(QQuickWidget::SizeRootObjectToView); -- m_ui->view->setSource(QUrl::fromLocalFile(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kwin/kcm_kwindecoration/main.qml")))); -- if (m_ui->view->status() == QQuickWidget::Ready) { -- auto listView = m_ui->view->rootObject()->findChild<QQuickItem*>("listView"); -+ m_quickView->rootContext()->setContextProperty("_borderSizesIndex", 3); // 3 is normal -+ m_quickView->rootContext()->setContextProperty("configurationModule", this); -+ m_quickView->rootContext()->setContextProperty("titleFont", QFontDatabase::systemFont(QFontDatabase::TitleFont)); -+ m_quickView->setResizeMode(QQuickView::SizeRootObjectToView); -+ m_quickView->setSource(QUrl::fromLocalFile(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kwin/kcm_kwindecoration/main.qml")))); -+ if (m_quickView->status() == QQuickView::Ready) { -+ auto listView = m_quickView->rootObject()->findChild<QQuickItem*>("listView"); - if (listView) { - connect(listView, SIGNAL(currentIndexChanged()), this, SLOT(changed())); - } -@@ -122,7 +128,7 @@ - ); - connect(m_ui->borderSizesCombo, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), - this, [this] (int index) { -- auto listView = m_ui->view->rootObject()->findChild<QQuickItem*>("listView"); -+ auto listView = m_quickView->rootObject()->findChild<QQuickItem*>("listView"); - if (listView) { - listView->setProperty("borderSizesIndex", index); - } -@@ -265,7 +271,7 @@ - const QString plugin = config.readEntry("library", s_defaultPlugin); - const QString theme = config.readEntry("theme", QString()); - const QModelIndex index = m_proxyModel->mapFromSource(m_model->findDecoration(plugin, theme)); -- if (auto listView = m_ui->view->rootObject()->findChild<QQuickItem*>("listView")) { -+ if (auto listView = m_quickView->rootObject()->findChild<QQuickItem*>("listView")) { - listView->setProperty("currentIndex", index.isValid() ? index.row() : -1); - } - m_ui->closeWindowsDoubleClick->setChecked(config.readEntry("CloseOnDoubleClickOnMenu", false)); -@@ -305,7 +311,7 @@ - KConfigGroup config = KSharedConfig::openConfig("kwinrc")->group(s_pluginName); - config.writeEntry("CloseOnDoubleClickOnMenu", m_ui->closeWindowsDoubleClick->isChecked()); - config.writeEntry("BorderSize", sizeToString(m_ui->borderSizesCombo->currentData().value<BorderSize>())); -- if (auto listView = m_ui->view->rootObject()->findChild<QQuickItem*>("listView")) { -+ if (auto listView = m_quickView->rootObject()->findChild<QQuickItem*>("listView")) { - const int currentIndex = listView->property("currentIndex").toInt(); - if (currentIndex != -1) { - const QModelIndex index = m_proxyModel->index(currentIndex, 0); -@@ -333,7 +339,7 @@ - - void ConfigurationModule::defaults() - { -- if (auto listView = m_ui->view->rootObject()->findChild<QQuickItem*>("listView")) { -+ if (auto listView = m_quickView->rootObject()->findChild<QQuickItem*>("listView")) { - const QModelIndex index = m_proxyModel->mapFromSource(m_model->findDecoration(s_defaultPlugin)); - listView->setProperty("currentIndex", index.isValid() ? index.row() : -1); - } -@@ -346,7 +352,7 @@ - { - QPointer<KNS3::DownloadDialog> downloadDialog = new KNS3::DownloadDialog(config, this); - if (downloadDialog->exec() == QDialog::Accepted && !downloadDialog->changedEntries().isEmpty()) { -- auto listView = m_ui->view->rootObject()->findChild<QQuickItem*>("listView"); -+ auto listView = m_quickView->rootObject()->findChild<QQuickItem*>("listView"); - QString selectedPluginName; - QString selectedThemeName; - if (listView) { -@@ -396,10 +402,8 @@ - - void ConfigurationModule::updateColors() - { --#if (QT_VERSION >= QT_VERSION_CHECK(5, 4, 0)) -- m_ui->view->setClearColor(m_ui->view->palette().color(QPalette::Window)); --#endif -- m_ui->view->rootContext()->setContextProperty("highlightColor", QPalette().color(QPalette::Highlight)); -+ m_quickView->rootContext()->setContextProperty("backgroundColor", QPalette().color(QPalette::Window)); -+ m_quickView->rootContext()->setContextProperty("highlightColor", QPalette().color(QPalette::Highlight)); - } - - } - ---- a/kcmkwin/kwindecoration/kcm.h -+++ b/kcmkwin/kwindecoration/kcm.h -@@ -25,6 +25,7 @@ - #include <QAbstractItemModel> - - class QSortFilterProxyModel; -+class QQuickView; - - namespace KDecoration2 - { -@@ -73,6 +74,7 @@ - DecorationsModel *m_model; - QSortFilterProxyModel *m_proxyModel; - ConfigurationForm *m_ui; -+ QQuickView *m_quickView; - Preview::ButtonsModel *m_leftButtons; - Preview::ButtonsModel *m_rightButtons; - Preview::ButtonsModel *m_availableButtons; - ---- a/kcmkwin/kwindecoration/kcm.ui -+++ b/kcmkwin/kwindecoration/kcm.ui -@@ -39,15 +39,12 @@ - </layout> - </item> - <item> -- <widget class="QQuickWidget" name="view"> -+ <widget class="QWidget" name="view"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> -- </property> -- <property name="resizeMode"> -- <enum>QQuickWidget::SizeRootObjectToView</enum> - </property> - </widget> - </item> - ---- a/kcmkwin/kwindecoration/qml/main.qml -+++ b/kcmkwin/kwindecoration/qml/main.qml -@@ -21,13 +21,17 @@ - import QtQuick.Controls 1.2 - import QtQuick.Layouts 1.1 - --ColumnLayout { -- Previews { -- Layout.fillWidth: true -- Layout.fillHeight: true -- } -- Buttons { -- Layout.fillWidth: true -+Rectangle { -+ color: backgroundColor -+ ColumnLayout { -+ anchors.fill: parent -+ Previews { -+ Layout.fillWidth: true -+ Layout.fillHeight: true -+ } -+ Buttons { -+ Layout.fillWidth: true -+ } - } - } - - diff --git a/libinput.0.8.0.patch b/libinput.0.8.0.patch deleted file mode 100644 index d0b9658..0000000 --- a/libinput.0.8.0.patch +++ /dev/null @@ -1,25 +0,0 @@ -commit a93a2ab1918630c6d571b5a24379c15a0458d1fa -Author: Martin Gräßlin <mgraesslin@kde.org> -Date: Wed Jan 28 16:20:57 2015 +0100 - - Disable libinput integration if >= 0.8 is found - - libinput 0.8 is incompatible causing the build to fail. As we are in - dependency freeze the only option is to disable the build. - - BUG: 342893 - FIXED-IN: 5.2.1 - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 550ef57..8d9c593 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -145,7 +145,7 @@ set_package_properties(UDev PROPERTIES URL "http://www.freedesktop.org/software - PURPOSE "Required for input handling on Wayland." - ) - set(HAVE_INPUT FALSE) --if (Libinput_FOUND AND UDEV_FOUND) -+if (Libinput_FOUND AND UDEV_FOUND AND Libinput_VERSION VERSION_LESS 0.8) - set(HAVE_INPUT TRUE) - endif() -