summaryrefslogtreecommitdiff
path: root/kde-frameworks
diff options
context:
space:
mode:
Diffstat (limited to 'kde-frameworks')
-rw-r--r--kde-frameworks/Manifest.gzbin13529 -> 13535 bytes
-rw-r--r--kde-frameworks/kunitconversion/Manifest3
-rw-r--r--kde-frameworks/kunitconversion/files/kunitconversion-5.85.0-fix-24h-currency-sync.patch91
-rw-r--r--kde-frameworks/kunitconversion/files/kunitconversion-5.85.0-fix-currency-values-init.patch235
-rw-r--r--kde-frameworks/kunitconversion/kunitconversion-5.85.0-r1.ebuild33
-rw-r--r--kde-frameworks/plasma/Manifest3
-rw-r--r--kde-frameworks/plasma/files/plasma-5.85.0-fix-cmake.patch48
-rw-r--r--kde-frameworks/plasma/plasma-5.85.0-r1.ebuild1
8 files changed, 413 insertions, 1 deletions
diff --git a/kde-frameworks/Manifest.gz b/kde-frameworks/Manifest.gz
index adc342496ebe..f80705df4176 100644
--- a/kde-frameworks/Manifest.gz
+++ b/kde-frameworks/Manifest.gz
Binary files differ
diff --git a/kde-frameworks/kunitconversion/Manifest b/kde-frameworks/kunitconversion/Manifest
index 6e222aca8296..5995e5bcbdda 100644
--- a/kde-frameworks/kunitconversion/Manifest
+++ b/kde-frameworks/kunitconversion/Manifest
@@ -1,5 +1,8 @@
+AUX kunitconversion-5.85.0-fix-24h-currency-sync.patch 3236 BLAKE2B 561814077c1c46226540ad130cd25261657d43ca1ecb16abaf7e011ea0b0a2837dd8c1c54ca2feea615d05a18a4f816f560b27b230da62340b7ad4c0b2c03136 SHA512 8d2df0d6eb218f46c1a0cbe0bb0ba030f76196d88995a08147ed12527cafbb3932e32ce45501228c6f2746de3fba7b0b8b52b50998cf49e1a5b6fe051da40ed2
+AUX kunitconversion-5.85.0-fix-currency-values-init.patch 8599 BLAKE2B 4650128f295a8b873bb874de5f44baf165c124ad3a4f6704817814718152f5936e399da099a1500e6c079bab5a2698c233bd03be40d926d91b46a61144de36ad SHA512 fe2d928c8873da893e8fb1a28a5b509c23f05d70cf6bbbc5424f000ab8e6639b14bd3137eff6fe65929983b494bd4f7522235aba206b68be8a374bca62844c3e
DIST kunitconversion-5.82.0.tar.xz 869936 BLAKE2B 7812dac12f9e854c1178ff72efd13cba0d36d55c0046898ceebb4dbbce6a8244824bf4453a240661cda83e87e60630268c723abc57d6e86b960eea8ceda83255 SHA512 735684240372b9dc7a37205af92172be164a71537b96c810bf64dd46123748901a079202aef394b2624ccfe5aff2ac69e9380e5715c57089739eb59fbd48a527
DIST kunitconversion-5.85.0.tar.xz 888652 BLAKE2B 8e5a773f0f8acdd1c24b81a8946b7190e52a3dbe5a63c48027f423be9fb735508394ccd01b3caa4bb7c920dc873a73a08c78afb335a158b598f8793c53d194a7 SHA512 f053ba454f4a5a44801a1f5b8c6562a7db71f4aef1c3b253610d20d3bb1b634347f9bb1483f607cbe1746f0b80a8625dcfb05bee5cbda467b799c9d3d5ca6668
EBUILD kunitconversion-5.82.0.ebuild 524 BLAKE2B 3f0bfebc97827dd3837e58d05f44c9b8dbe61ebfd276fa8c4c5921037016d8b6188e4d49cc3fd91ff421a0a3326650f86cd5f47a758e198fc5b0f4a52e9548b5 SHA512 c1f6d3a23f8f60c6c1df3cf609e0544f6f918abb3792578b732c3384d58fcf65c52b2aeefd1cb8d6fa1b735f1bf5ad76b2e346117b002bcbb09ae23f906720bf
+EBUILD kunitconversion-5.85.0-r1.ebuild 663 BLAKE2B 3c640b6bd6e0cedda969bb8a61ab78d41ac4ff04809f47dce229c2cb3d19abbf3e978ae5b751ef922abcf930a2fa90b6c37ceed68d3cba801ac2b192d2696f53 SHA512 85d23613cb40e64e3ed311a83ba963e132e36062f5b479f267f3025c10c53241a387ad76a3aafb1e9d75ab859957c1e05e0ff12627cf69a9546b6b8e493fab2d
EBUILD kunitconversion-5.85.0.ebuild 534 BLAKE2B 68c73876457433b0c91f732609fd10ea2d7313a837873510a627f8d61041eb629c531a2b4e23a56a24e3145cb5751b0b91cc6d8b9f6b1f6a8019b46902e904f6 SHA512 6401d3670546c9bdbe6fbe78f7bb1d73c13ee0230adf103636f1be48955c8fb6d4b90ce92c3ec67fc1045e2461bf3074680941e189d2db367c0ff6503e3ac3c1
MISC metadata.xml 455 BLAKE2B 134b0f3f4b2f38ab25d44a1daefc5f38113068cb041dc46722d9ad95846278b35d0c4a294a62266b3825627c6258a6d0f2ba3054350d2e6443f6fc82278f55cd SHA512 a8b4ea9fe9068223e7079de9e04a29c3ef461eb669ecd72a16a614e8c3b7ecec9e4433dab347c4e02140a6d42aaa25fbff77a5e269639d1c4311c59ecfa42c73
diff --git a/kde-frameworks/kunitconversion/files/kunitconversion-5.85.0-fix-24h-currency-sync.patch b/kde-frameworks/kunitconversion/files/kunitconversion-5.85.0-fix-24h-currency-sync.patch
new file mode 100644
index 000000000000..056a2e8b1e5b
--- /dev/null
+++ b/kde-frameworks/kunitconversion/files/kunitconversion-5.85.0-fix-24h-currency-sync.patch
@@ -0,0 +1,91 @@
+From 6e41104426a3ae59bcb90be708abcc3092155436 Mon Sep 17 00:00:00 2001
+From: Andreas Cord-Landwehr <cordlandwehr@kde.org>
+Date: Tue, 24 Aug 2021 21:06:47 +0200
+Subject: [PATCH] Fix automatic currency file sync after 24h
+
+Conversion plugin in Krunner depends on automatic refresh of currency
+table. std::call_once does not work there, because process is never
+stopped.
+
+BUG: 441337
+---
+ autotests/convertertest.cpp | 16 ++++++++++++++++
+ autotests/convertertest.h | 6 ++++++
+ src/currency.cpp | 9 ++++++---
+ 3 files changed, 28 insertions(+), 3 deletions(-)
+
+diff --git a/autotests/convertertest.cpp b/autotests/convertertest.cpp
+index aa0ccae..e36b7fe 100644
+--- a/autotests/convertertest.cpp
++++ b/autotests/convertertest.cpp
+@@ -8,9 +8,11 @@
+ #include <QStandardPaths>
+ #include <QThread>
+ #include <QVector>
++#include <currency_p.h>
+ #include <kunitconversion/unitcategory.h>
+
+ using namespace KUnitConversion;
++using namespace std::chrono_literals;
+
+ void ConverterTest::initTestCase()
+ {
+@@ -113,4 +115,18 @@ void ConverterTest::testCurrency()
+ qDeleteAll(threads);
+ }
+
++void ConverterTest::testCurrencyConversionTableUpdate()
++{
++ const QString cache = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QStringLiteral("/libkunitconversion/currency.xml");
++
++ // Missing conversion table must lead to update of table
++ // note that this is the same code path as for last modified updates
++ QFile::remove(cache);
++ QVERIFY(Currency::lastConversionTableUpdate().isNull());
++ Converter c;
++ Value input = Value(1000, Eur);
++ Value v = c.convert(input, QStringLiteral("$"));
++ QVERIFY(!Currency::lastConversionTableUpdate().isNull());
++}
++
+ QTEST_MAIN(ConverterTest)
+diff --git a/autotests/convertertest.h b/autotests/convertertest.h
+index 21d5213..d3d6303 100644
+--- a/autotests/convertertest.h
++++ b/autotests/convertertest.h
+@@ -23,6 +23,12 @@ private Q_SLOTS:
+ void testConvert();
+ void testInvalid();
+ void testCurrency();
++ /**
++ * Checks that conversion tables are updated after timeout
++ *
++ * Regression test for https://bugs.kde.org/show_bug.cgi?id=441337
++ */
++ void testCurrencyConversionTableUpdate();
+ };
+
+ #endif // CONVERTERTEST_H
+diff --git a/src/currency.cpp b/src/currency.cpp
+index 038e928..ead7ce5 100644
+--- a/src/currency.cpp
++++ b/src/currency.cpp
+@@ -745,9 +745,12 @@ void CurrencyCategoryPrivate::syncConversionTable(std::chrono::seconds updateSki
+ Value CurrencyCategoryPrivate::convert(const Value &value, const Unit &to)
+ {
+ // TODO KF6 remove this blocking call and change behavior that explicit call to syncConversionTable is mandatory before
+- // right now, if a sync is performed at application start, then this call will not block anymore for 24 hours
+- static std::once_flag updateFlag;
+- std::call_once(updateFlag, &CurrencyCategoryPrivate::syncConversionTable, this, 24h);
++ // first access to converted data, also to make syncs more explicit
++ static QMutex updateFlag;
++ {
++ QMutexLocker locker(&updateFlag);
++ CurrencyCategoryPrivate::syncConversionTable(24h);
++ }
+
+ Value v = UnitCategoryPrivate::convert(value, to);
+ return v;
+--
+GitLab
+
diff --git a/kde-frameworks/kunitconversion/files/kunitconversion-5.85.0-fix-currency-values-init.patch b/kde-frameworks/kunitconversion/files/kunitconversion-5.85.0-fix-currency-values-init.patch
new file mode 100644
index 000000000000..01ee8a6fa575
--- /dev/null
+++ b/kde-frameworks/kunitconversion/files/kunitconversion-5.85.0-fix-currency-values-init.patch
@@ -0,0 +1,235 @@
+From 2a57f9d1c6b2f8d9e2babcdaca66f1cf2a3c5849 Mon Sep 17 00:00:00 2001
+From: Andreas Cord-Landwehr <cordlandwehr@kde.org>
+Date: Sat, 28 Aug 2021 11:42:06 +0200
+Subject: [PATCH] Fix initialization of currency values
+
+If there is already a recent currency.xml file provided then use this to
+initialize the currency converter.
+
+BUG: 441337
+---
+ autotests/CMakeLists.txt | 8 ++++
+ autotests/currencytableinittest.cpp | 33 +++++++++++++++
+ autotests/currencytableinittest.h | 26 ++++++++++++
+ autotests/currencytableinittest/currency.xml | 43 ++++++++++++++++++++
+ autotests/currencytableinittest/data.qrc | 5 +++
+ autotests/valuetest.cpp | 6 +++
+ src/currency.cpp | 10 +++--
+ 7 files changed, 128 insertions(+), 3 deletions(-)
+ create mode 100644 autotests/currencytableinittest.cpp
+ create mode 100644 autotests/currencytableinittest.h
+ create mode 100644 autotests/currencytableinittest/currency.xml
+ create mode 100644 autotests/currencytableinittest/data.qrc
+
+diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt
+index ec457a5..8225bf2 100644
+--- a/autotests/CMakeLists.txt
++++ b/autotests/CMakeLists.txt
+@@ -8,3 +8,11 @@ ecm_add_tests(
+ convertertest.cpp
+ LINK_LIBRARIES KF5::UnitConversion KF5::I18n Qt5::Test
+ )
++
++qt5_add_resources(CURRENCY_TEST_RESOURCES currencytableinittest/data.qrc)
++ecm_add_test(
++ currencytableinittest.cpp
++ ${CURRENCY_TEST_RESOURCES}
++ TEST_NAME currencytableinittest
++ LINK_LIBRARIES KF5::UnitConversion KF5::I18n Qt5::Test
++)
+diff --git a/autotests/currencytableinittest.cpp b/autotests/currencytableinittest.cpp
+new file mode 100644
+index 0000000..c83709a
+--- /dev/null
++++ b/autotests/currencytableinittest.cpp
+@@ -0,0 +1,33 @@
++/*
++ * SPDX-FileCopyrightText: 2021 Andreas Cord-Landwehr <cordlandwehr@kde.org>
++ *
++ * SPDX-License-Identifier: LGPL-2.0-or-later
++ */
++
++#include "currencytableinittest.h"
++#include <QStandardPaths>
++#include <cmath>
++
++using namespace KUnitConversion;
++
++void CurrencyTableInitTest::testCategoryInit()
++{
++ QStandardPaths::setTestModeEnabled(true);
++ const QString cache = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QStringLiteral("/libkunitconversion/currency.xml");
++
++ QVERIFY(QFile::exists(QLatin1String(":/currency.xml")));
++ if (QFile::exists(cache)) {
++ QFile::remove(cache);
++ }
++ // note: copy of file updates the file's modified timestamp and thus file is seen as recently downloaded file
++ QVERIFY(QFile::copy(QLatin1String(":/currency.xml"), cache));
++
++ Converter c;
++ Value input = Value(1000, Eur);
++ Value v = c.convert(input, QStringLiteral("$"));
++ qDebug() << "converted value to:" << v.number();
++ QVERIFY(v.isValid());
++ QVERIFY(!std::isnan(v.number()));
++}
++
++QTEST_MAIN(CurrencyTableInitTest)
+diff --git a/autotests/currencytableinittest.h b/autotests/currencytableinittest.h
+new file mode 100644
+index 0000000..0b835d0
+--- /dev/null
++++ b/autotests/currencytableinittest.h
+@@ -0,0 +1,26 @@
++/*
++ * SPDX-FileCopyrightText: 2021 Andreas Cord-Landwehr <cordlandwehr@kde.org>
++ *
++ * SPDX-License-Identifier: LGPL-2.0-or-later
++ */
++
++#ifndef CURRENCYTABLEINIT_TEST_H
++#define CURRENCYTABLEINIT_TEST_H
++
++#include <QObject>
++#include <QTest>
++#include <kunitconversion/converter.h>
++
++using namespace KUnitConversion;
++
++class CurrencyTableInitTest : public QObject
++{
++ Q_OBJECT
++private Q_SLOTS:
++ /**
++ * Check that the currency converter is correctly initialized when currency.xml is recent and available
++ */
++ void testCategoryInit();
++};
++
++#endif
+diff --git a/autotests/currencytableinittest/currency.xml b/autotests/currencytableinittest/currency.xml
+new file mode 100644
+index 0000000..dca42d5
+--- /dev/null
++++ b/autotests/currencytableinittest/currency.xml
+@@ -0,0 +1,43 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<gesmes:Envelope xmlns:gesmes="http://www.gesmes.org/xml/2002-08-01" xmlns="http://www.ecb.int/vocabulary/2002-08-01/eurofxref">
++ <gesmes:subject>Reference rates</gesmes:subject>
++ <gesmes:Sender>
++ <gesmes:name>European Central Bank</gesmes:name>
++ </gesmes:Sender>
++ <Cube>
++ <Cube time='2021-08-24'>
++ <Cube currency='USD' rate='1.1740'/>
++ <Cube currency='JPY' rate='128.74'/>
++ <Cube currency='BGN' rate='1.9558'/>
++ <Cube currency='CZK' rate='25.533'/>
++ <Cube currency='DKK' rate='7.4370'/>
++ <Cube currency='GBP' rate='0.85578'/>
++ <Cube currency='HUF' rate='349.69'/>
++ <Cube currency='PLN' rate='4.5792'/>
++ <Cube currency='RON' rate='4.9280'/>
++ <Cube currency='SEK' rate='10.2090'/>
++ <Cube currency='CHF' rate='1.0711'/>
++ <Cube currency='ISK' rate='150.00'/>
++ <Cube currency='NOK' rate='10.4003'/>
++ <Cube currency='HRK' rate='7.4938'/>
++ <Cube currency='RUB' rate='86.7484'/>
++ <Cube currency='TRY' rate='9.8836'/>
++ <Cube currency='AUD' rate='1.6203'/>
++ <Cube currency='BRL' rate='6.2681'/>
++ <Cube currency='CAD' rate='1.4822'/>
++ <Cube currency='CNY' rate='7.6042'/>
++ <Cube currency='HKD' rate='9.1448'/>
++ <Cube currency='IDR' rate='16897.00'/>
++ <Cube currency='ILS' rate='3.7789'/>
++ <Cube currency='INR' rate='87.0625'/>
++ <Cube currency='KRW' rate='1369.00'/>
++ <Cube currency='MXN' rate='23.8606'/>
++ <Cube currency='MYR' rate='4.9525'/>
++ <Cube currency='NZD' rate='1.6893'/>
++ <Cube currency='PHP' rate='58.783'/>
++ <Cube currency='SGD' rate='1.5918'/>
++ <Cube currency='THB' rate='38.595'/>
++ <Cube currency='ZAR' rate='17.6902'/>
++ </Cube>
++ </Cube>
++</gesmes:Envelope>
+\ No newline at end of file
+diff --git a/autotests/currencytableinittest/data.qrc b/autotests/currencytableinittest/data.qrc
+new file mode 100644
+index 0000000..19f9d69
+--- /dev/null
++++ b/autotests/currencytableinittest/data.qrc
+@@ -0,0 +1,5 @@
++<RCC>
++ <qresource prefix="/">
++ <file>currency.xml</file>
++ </qresource>
++</RCC>
+diff --git a/autotests/valuetest.cpp b/autotests/valuetest.cpp
+index 0b348d7..53be1b7 100644
+--- a/autotests/valuetest.cpp
++++ b/autotests/valuetest.cpp
+@@ -55,6 +55,12 @@ void ValueTest::testInvalid()
+
+ void ValueTest::testCurrencyNotDownloaded()
+ {
++ // ensure that no local conversion table is available
++ const QString cache = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QStringLiteral("/libkunitconversion/currency.xml");
++ if (!QFile::exists(cache)) {
++ QFile::remove(cache);
++ }
++
+ auto pounds = Value(100, Gbp);
+ auto eur = pounds.convertTo(Eur);
+ QVERIFY(!eur.isValid());
+diff --git a/src/currency.cpp b/src/currency.cpp
+index ead7ce5..43161e2 100644
+--- a/src/currency.cpp
++++ b/src/currency.cpp
+@@ -47,6 +47,7 @@ public:
+ Value convert(const Value &value, const Unit &toUnit) override;
+ bool hasOnlineConversionTable() const override;
+ void syncConversionTable(std::chrono::seconds updateSkipSeconds) override;
++ bool m_initialized{false}; //!< indicates if units are prepared from currency table
+ };
+
+ bool CurrencyCategoryPrivate::hasOnlineConversionTable() const
+@@ -668,12 +669,12 @@ QDateTime Currency::lastConversionTableUpdate()
+ void CurrencyCategoryPrivate::syncConversionTable(std::chrono::seconds updateSkipPeriod)
+ {
+ // sync call is expected to be guarded as being called only once
+- auto updateCurrencyConversionTable = [this](const QString &cachePath) {
++ auto updateCurrencyConversionTable = [this](const QString &cachePath, bool performNetworkSync) {
+ qCDebug(LOG_KUNITCONVERSION) << "currency conversion table sync started";
+ static QMutex mutex;
+ QMutexLocker locker(&mutex);
+ bool updateError{false};
+- if (isConnected()) {
++ if (performNetworkSync && isConnected()) {
+ // Bug 345750: QNetworkReply does not work without an event loop and doesn't implement waitForReadyRead()
+ QEventLoop loop;
+ QNetworkAccessManager manager;
+@@ -733,12 +734,15 @@ void CurrencyCategoryPrivate::syncConversionTable(std::chrono::seconds updateSki
+ }
+ }
+ }
++ m_initialized = !updateError;
+ return !updateError;
+ };
+
+ QFileInfo info(cacheLocation());
+ if (!info.exists() || info.lastModified().secsTo(QDateTime::currentDateTime()) > updateSkipPeriod.count()) {
+- updateCurrencyConversionTable(cacheLocation());
++ updateCurrencyConversionTable(cacheLocation(), true);
++ } else if (!m_initialized) {
++ updateCurrencyConversionTable(cacheLocation(), false);
+ }
+ }
+
+--
+GitLab
+
diff --git a/kde-frameworks/kunitconversion/kunitconversion-5.85.0-r1.ebuild b/kde-frameworks/kunitconversion/kunitconversion-5.85.0-r1.ebuild
new file mode 100644
index 000000000000..1a8a5753d916
--- /dev/null
+++ b/kde-frameworks/kunitconversion/kunitconversion-5.85.0-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.15.2
+inherit ecm kde.org
+
+DESCRIPTION="Framework for converting units"
+LICENSE="LGPL-2+"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+DEPEND="
+ >=dev-qt/qtnetwork-${QTMIN}:5
+ =kde-frameworks/ki18n-${PVCUT}*:5
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( # KDE-bug 441337
+ "${FILESDIR}"/${P}-fix-24h-currency-sync.patch
+ "${FILESDIR}"/${P}-fix-currency-values-init.patch
+)
+
+src_test() {
+ # bug 623938 - needs internet connection
+ local myctestargs=(
+ -E "(convertertest)"
+ )
+
+ LC_NUMERIC="C" ecm_src_test # bug 694804
+}
diff --git a/kde-frameworks/plasma/Manifest b/kde-frameworks/plasma/Manifest
index 39fc93872d20..92709f40c690 100644
--- a/kde-frameworks/plasma/Manifest
+++ b/kde-frameworks/plasma/Manifest
@@ -1,8 +1,9 @@
+AUX plasma-5.85.0-fix-cmake.patch 1752 BLAKE2B a148a2836ebc6dc6ff7c26e811b4406586e389ef9d5ae30e2f6996f7328a698493f198312c3b86894b36255689be9ccba3368a1e6b03c76b5646b70b039c3303 SHA512 227fb2817e2620cf120e8be94a1eb27b925ed65c8f8ab0327414d6aa391aa5cceecd944ee2f7a0804f5c3246b249ef4c25505a37621194875da982351bd1fe01
AUX plasma-5.85.0-fix-pinned-calendar-dots.patch 1466 BLAKE2B 1d4f72269928e35e0364a325f9700cd0b265cf26b00d46b228aec9cb5fdc82cc652a572a3057720beb2acc783eb7ce451dbbe358f80ed7d48549cd144d4d6cf8 SHA512 4f6e331a3502b9d73c554a44569569989c7b8f33dfe7a4362654ed899dde302541024c30b98b7f31636fc40c19cb48e263266c6f89c27028bea6119d5f823071
AUX plasma-5.85.0-fix-plasma-scaling-w-int-scale-factors.patch 1766 BLAKE2B 07e8f384a2dde888465b4c6e3317afdd511ddc03fbc18ccf6e76d235bd6552c9b0dbd292f19244e0792129c68b2284af9220f9ef54240bee1255e35a5e94d907 SHA512 5f452b6634bd53f7265dfad2a38e40aa46ff69d10081b51c47b1aed97cabd28d545e7fd985ff26412c07315214821f201e5ff2de3d895e8afde9523d187b932c
DIST plasma-5.82.0-plasma-transparency.patch.xz 3552 BLAKE2B 8e9f1bc91b2d8ae623ff8f31d5de0ae812ffc1666badf388fa711887afd9479d718cd50f9bdea42d725f30fbae8d32d87cd071b30b1ba49768377a8d07e9bbc3 SHA512 3e8608f7c7d6da150a30fd48e2ac5115f95f6346056ef2f12134ba8e93617c7b067b8ccb1bab5e1586f3ef1af7f010b8ddd9fe0a9a7ee0def01bc991be8e546c
DIST plasma-framework-5.82.0.tar.xz 3160744 BLAKE2B b0e8ebf51fa41b7ea2f3290b157d30fbf2cf2bf5fdf867c7601ece615d8f2ad93b87976f7b093bc7909e1286021db8d1ec5971cbc8b361888450a9e6a9bd64d7 SHA512 e973d1b2683a88f370587a8dba71b1f3ff8a5e23127dbe4c30161fb827b6e3c83e7eb0a6860478d160c6fa69bef9fde0f16f0a8d315672df433ac9d7157b8ea9
DIST plasma-framework-5.85.0.tar.xz 3145156 BLAKE2B 8a9257e3613ecc20051064af8eaa94cd30d07fd9c6349f6dd2aa1169ab661dbede1ff424ac1f96a30230270cf8f957731465c0a655270862c104987576b614ed SHA512 aba7e62ff3d9eff7c28c1736bd1b25e14c19502f021ed7f78025f7129abb728a066de0fff327098f52b84e78f78fbe87743563b78a4c91e2065187fb443eeb77
EBUILD plasma-5.82.0.ebuild 2030 BLAKE2B a64a05c28c10890fb3f845286362f0041de75d1f895e1166ee7f1d4ea2f84249582fb4f06c202d4493b97c05359df34c3c1a6938042c9a0ef740d96c3906d398 SHA512 1faab810a201f647dabe24e7d192b53c1b7cbde16287f35c4ccfeaada018d5c967b07589e6d82734f1f5a229d351bd19666ad16d888f34dd4c599d12e07c501a
-EBUILD plasma-5.85.0-r1.ebuild 2029 BLAKE2B 9a5bc9c0d58d8ba816f4e7ed94240e4a94d3b8e152643ff109114788cc8354f56d24f11ef073b0b44f0ec1616ab659ddd14aa69f6c64ab884135ee5f37d8465c SHA512 2dc7c6292b5c1b113e8fb081385ef028c1bd7f4cb56ce9a37ea1d15fa1b5053bad0fd7a1f44f1dc90b567f7233ed445b5eb62381e5333375d6b361bdd04ed9c0
+EBUILD plasma-5.85.0-r1.ebuild 2078 BLAKE2B 89d0212849ddffefec61455190c29f36d100cac5e711f524f8a5a75ae0c6006c2ebc87cb251ee5d0ee87e1b3a44db0944c2e6d32611a0f5acf14034e79e16a79 SHA512 8289ec8296f08607126415943f94f740889434b77a03508407bd3f2adff8cba4d70643afe873deb17004f066a1bd4cad7a185d4a2e584af97013a0b58d722ac0
MISC metadata.xml 455 BLAKE2B 134b0f3f4b2f38ab25d44a1daefc5f38113068cb041dc46722d9ad95846278b35d0c4a294a62266b3825627c6258a6d0f2ba3054350d2e6443f6fc82278f55cd SHA512 a8b4ea9fe9068223e7079de9e04a29c3ef461eb669ecd72a16a614e8c3b7ecec9e4433dab347c4e02140a6d42aaa25fbff77a5e269639d1c4311c59ecfa42c73
diff --git a/kde-frameworks/plasma/files/plasma-5.85.0-fix-cmake.patch b/kde-frameworks/plasma/files/plasma-5.85.0-fix-cmake.patch
new file mode 100644
index 000000000000..0eab0a772c08
--- /dev/null
+++ b/kde-frameworks/plasma/files/plasma-5.85.0-fix-cmake.patch
@@ -0,0 +1,48 @@
+From e496ef0440c92e119da0b1088f1ab788cebeae33 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Thu, 26 Aug 2021 19:12:00 +0200
+Subject: [PATCH] CMake: do not expand variables beforehand
+
+Fixes build when FindOpenGL is disabled, producing a syntax error:
+"Function invoked with incorrect arguments for function named: ADD_FEATURE_INFO"
+
+See also: https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/267
+
+Downstream report: https://bugs.gentoo.org/809815
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e27ebd914..25abbf921 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -110,20 +110,20 @@ set_package_properties(EGL PROPERTIES
+ TYPE OPTIONAL
+ )
+
+-add_feature_info(GLX ${OpenGL_GLX_FOUND} "OpenGL GLX libraries.")
++add_feature_info(GLX OpenGL_GLX_FOUND "OpenGL GLX libraries.")
+ if(OpenGL_GLX_FOUND AND X11_FOUND AND (Qt5Gui_OPENGL_IMPLEMENTATION STREQUAL "GL"))
+ set(HAVE_GLX 1)
+ else()
+ set(HAVE_GLX 0)
+ endif()
+
+-add_feature_info(EGL ${OpenGL_EGL_FOUND}
++add_feature_info(EGL OpenGL_EGL_FOUND
+ "A platform-agnostic mechanism for creating rendering surfaces for use with other graphics libraries, such as OpenGL|ES and OpenVG.")
+ # OpenGL_EGL_FOUND is defined by FindOpenGL
+ if(TARGET OpenGL::EGL)
+ set(HAVE_EGL ${OpenGL_EGL_FOUND})
+ set(EGL_TARGET OpenGL::EGL)
+-elseif(${EGL_FOUND})
++elseif(EGL_FOUND)
+ set(HAVE_EGL ${EGL_FOUND})
+ set(EGL_TARGET EGL::EGL)
+ message(STATUS "Switch to EGL compatibility target EGL::EGL because OpenGL::EGL is not available")
+--
+2.33.0
+
diff --git a/kde-frameworks/plasma/plasma-5.85.0-r1.ebuild b/kde-frameworks/plasma/plasma-5.85.0-r1.ebuild
index 4c087e69234f..1e392e190615 100644
--- a/kde-frameworks/plasma/plasma-5.85.0-r1.ebuild
+++ b/kde-frameworks/plasma/plasma-5.85.0-r1.ebuild
@@ -64,6 +64,7 @@ DEPEND="${RDEPEND}
PATCHES=(
"${FILESDIR}"/${P}-fix-plasma-scaling-w-int-scale-factors.patch
"${FILESDIR}"/${P}-fix-pinned-calendar-dots.patch # KDE-bug 440627
+ "${FILESDIR}"/${P}-fix-cmake.patch # bug 809815
)
src_configure() {