git » attica.git » commit 222ef00

KDE Frameworks 5.87

author Antonio Rojas
2021-10-09 20:27:23 UTC
committer Antonio Rojas
2021-10-09 20:27:23 UTC
parent 0ec77dcc3fd8f6633ddd4fbacd8b2649d6e4df1d

KDE Frameworks 5.87

PKGBUILD +5 -11
fix-OSC-traffic.patch +0 -67

diff --git a/PKGBUILD b/PKGBUILD
index 8a594ce..fd31a30 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,8 +3,8 @@
 # Contributor: Andrea Scarpino <andrea@archlinux.org>
 
 pkgname=attica
-pkgver=5.86.0
-pkgrel=2
+pkgver=5.87.0
+pkgrel=1
 arch=(x86_64)
 pkgdesc='Qt library that implements the Open Collaboration Services API'
 url='https://community.kde.org/Frameworks'
@@ -12,17 +12,11 @@ license=(LGPL)
 depends=(qt5-base)
 makedepends=(extra-cmake-modules doxygen qt5-tools qt5-doc)
 groups=(kf5)
-source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig}
-        fix-OSC-traffic.patch)
-sha256sums=('992ffe3743588b81a63dcb3886d406f63800423bd442e3b99058bfc80f0e467f'
-            'SKIP'
-            'bc0302ed8b507bf52638d18dd8570aa2aa61457210cd960ca8c08d819a423f02')
+source=(https://download.kde.org/stable/frameworks/${pkgver%.*}/$pkgname-$pkgver.tar.xz{,.sig})
+sha256sums=('b8a1a8427b721221a975eb5f078864246cdcbbfd97ca4e48d17280c72bcd4e72'
+            'SKIP')
 validpgpkeys=(53E6B47B45CEA3E0D5B7457758D0EE648A48B3BB) # David Faure <faure@kde.org>
 
-prepare() {
-  patch -d $pkgname-$pkgver -p1 < fix-OSC-traffic.patch # Fix excessive OSC traffic
-}
-
 build() {
   cmake -B build -S $pkgname-$pkgver \
     -DBUILD_TESTING=OFF \
diff --git a/fix-OSC-traffic.patch b/fix-OSC-traffic.patch
deleted file mode 100644
index ae325c1..0000000
--- a/fix-OSC-traffic.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-commit 7c38c8cf28a4d0d667e23ddfaaf38a955d65bf3e
-Author: Aleix Pol <aleixpol@kde.org>
-Date:   Wed Sep 22 16:19:39 2021 +0200
-
-    Ensure categories.xml is only fetched once in parallel
-    
-    Otherwise we overload the server that is returning them fairly slowly
-    anyway (2 to 3 seconds?). It seems like it serves these sequentially as
-    well, which makes Discover startup stuttery.
-
-diff --git a/src/atticabasejob.cpp b/src/atticabasejob.cpp
-index 99acf4f..e65d556 100644
---- a/src/atticabasejob.cpp
-+++ b/src/atticabasejob.cpp
-@@ -26,6 +26,7 @@ public:
-     PlatformDependent *m_internals;
-     QNetworkReply *m_reply;
-     bool aborted{false};
-+    bool started = false;
- 
-     Private(PlatformDependent *internals)
-         : m_internals(internals)
-@@ -120,7 +121,10 @@ void BaseJob::dataFinished()
- 
- void BaseJob::start()
- {
--    QTimer::singleShot(0, this, &BaseJob::doWork);
-+    if (!d->started) {
-+        d->started = true;
-+        QTimer::singleShot(0, this, &BaseJob::doWork);
-+    }
- }
- 
- void BaseJob::doWork()
-diff --git a/src/provider.cpp b/src/provider.cpp
-index 9e4da64..b994ce9 100644
---- a/src/provider.cpp
-+++ b/src/provider.cpp
-@@ -64,6 +64,7 @@
- #include <QFile>
- #include <QNetworkAccessManager>
- #include <QNetworkReply>
-+#include <QThreadStorage>
- #include <QUrlQuery>
- 
- using namespace Attica;
-@@ -1134,8 +1135,18 @@ ListJob<Category> *Provider::requestCategories()
-         return nullptr;
-     }
- 
--    QUrl url = createUrl(QLatin1String("content/categories"));
--    ListJob<Category> *job = new ListJob<Category>(d->m_internals, createRequest(url));
-+    const QUrl url = createUrl(QLatin1String("content/categories"));
-+
-+    // Thread-local cache of categories requests. They are fairly slow and block startup
-+    static QThreadStorage<QHash<QUrl, ListJob<Category> *>> reqs;
-+    ListJob<Category> *job = reqs.localData().value(url);
-+    if (!job) {
-+        job = new ListJob<Category>(d->m_internals, createRequest(url));
-+        QObject::connect(job, &BaseJob::finished, [url] {
-+            reqs.localData().remove(url);
-+        });
-+        reqs.localData().insert(url, job);
-+    }
-     return job;
- }
-