summaryrefslogtreecommitdiff
path: root/x11-libs/libfm-qt
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-06-02 21:45:28 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-06-02 21:45:28 +0100
commit2018227e9344edb9da15fc6a4a8298086cc2aa77 (patch)
treec18e1c09e605e94e2a1e93345ad25746cc9e14b9 /x11-libs/libfm-qt
parent6f8038813c460b4f0572d5ef595cdfa94af3a94d (diff)
gentoo resync : 02.06.2019
Diffstat (limited to 'x11-libs/libfm-qt')
-rw-r--r--x11-libs/libfm-qt/Manifest4
-rw-r--r--x11-libs/libfm-qt/files/libfm-qt-0.14.1-phantom-desktop-files.patch109
-rw-r--r--x11-libs/libfm-qt/libfm-qt-0.14.1-r1.ebuild2
-rw-r--r--x11-libs/libfm-qt/libfm-qt-0.14.1-r2.ebuild41
4 files changed, 154 insertions, 2 deletions
diff --git a/x11-libs/libfm-qt/Manifest b/x11-libs/libfm-qt/Manifest
index e546b5e03ccd..1074aea7897a 100644
--- a/x11-libs/libfm-qt/Manifest
+++ b/x11-libs/libfm-qt/Manifest
@@ -1,8 +1,10 @@
AUX libfm-qt-0.13.1-check-if-app-exists-before-opening.patch 2010 BLAKE2B 3f33d70abe1467df3b799602c3232af7a490481c1fb2c3dd5a68f4792dc45a251f1e5518df36604090d23a42c43d13051bd144b54eb15cb2a7c722c9283cbacf SHA512 cafb1b97a1f6faeb7e7e9da5fa7c323eea1754078d08e5e0ea4e437c29d7da371318ecc7b944c595ef60f3169697f35db9efbd2ee23282a2bd694fac19d2e634
AUX libfm-qt-0.13.1-correctly-handle-mountable-types.patch 3498 BLAKE2B ed7a0541d2bcbed1afd30d0045f676f179a0c123376afaeeef29260107f80ea8b0cf89a3a55f4e004fd11a6157b4ef2d3c092c8ddedd2013bef321fb59728660 SHA512 3bc193a1ef82bbe64181e596e082cbcc26b60f1cad8f05cb1d1fdcc1d162af21f8935179e3cf8ff370a7640bd5299a2ef7380436f80f9c620489365fe76c31c3
AUX libfm-qt-0.13.1-fix-smb-error.patch 11579 BLAKE2B 4a0cdc5c9579415a3334de6295cae8ae5b9a4fdbbd0ecf647484b58edd3c6bed07fc0b93050a81c6d0d55343ea3b0f554cde536f6873ce3db057a6da3e6c267a SHA512 cc00a79ceac417d969001ac35b3c65bb6b437b3c98c62d5e70ea1e23b1a0ad0e11f05ad5c49cee64cdc23b16121ba14a8fc8978aa42b4ba6c64da00f07f72f8d
+AUX libfm-qt-0.14.1-phantom-desktop-files.patch 4871 BLAKE2B 9466f517953a8733f72296bda5c8b0081828fceda505f1603b7d5db193fb7bf72b6ce7c3c007877558b8f1a4295fa73a496e0b279790126a5859bdbd246b07c4 SHA512 19b3803704dba01da16725f1cc20b4cbb6b50210fcc7f0aea397dd8061cff55f9a0e57838b48f59649d6b8e4cc53dfb992b6160687cfa0b8f46b2dda6d431021
DIST libfm-qt-0.13.1.tar.xz 191972 BLAKE2B 760847be1fbb209003bd2b61a9c475ccf57721c469927039518a5f65543b8264c32f3e2c66c867be0b969fdf4636fb82cde0b2bd4e77b1365fcb9f61b0bd02c8 SHA512 29b8f686950a7b0ea86468d01ca64a6ff8316ccd5f0144808a4332692cf96199431470880a9b560780efeba7add833ab6a0d9b4b24220f8fb7091cc5ef151dc8
DIST libfm-qt-0.14.1.tar.xz 328192 BLAKE2B ff229256d3232eabc046da1fed3e4b4e51a09c3d1f2815fa726bad62f3fc53111e5d7f003e82e383dde4fe910584644e66613cbc1803ad0e11f7b6bdb2e30cfe SHA512 a265f6831a077ccb78a994828e6c69a22f2f6432b1f6ed6f404af41f013112870f7aee98067f2c466bec6cdfea040c10c7ce7e0f0ed977e5d266ec38e543d2a7
EBUILD libfm-qt-0.13.1-r1.ebuild 1095 BLAKE2B 7e1463e541f2676d4ece12fad6597ffe37cb6fc28af5d5c1c8206f7eee3c63b7c5367f3ea23a2ae15c9acc30c7ca0262e460734ba610438419255e031bd0b049 SHA512 60ce1fe6b3a84af04aa4ae4664fa2ebda0dc3173626698616d863a82506b48dbec8cdac67b8f111e09cb484a2bf709ee7643660a1fe320c92e89cfe9d7aa1f23
-EBUILD libfm-qt-0.14.1-r1.ebuild 822 BLAKE2B 080790b3711cae891be14f98b458e31ca8f83ae2d211cd5a3aa3d4fb7f06f50b5935e6497ca20514315e68d142beff29f8cafd7bcdcc15e8884080c5d6b29bb1 SHA512 d078e48cdd17ae37e27573698f057a88ab1cc88b405a5b911206e5d196bf90e5c6281482eed84a3eb24487713dfa1d929cf1815ffee4f066a4c5a94c87c43fd9
+EBUILD libfm-qt-0.14.1-r1.ebuild 820 BLAKE2B b0fa1057da70dde58554818955213b6b8fad6ab665866c49a76e332aae69e0316be9d4613750ae567aaa37fa13848b7ae07826f724dd358a22aa6579bc5eb21c SHA512 4efc8a8996535974ec8bd94b683910a271037d6103efe46c488da36e80b98c8c3207a5bdb332d79b8558ffce3318e17b9ed1f43274add20e38796f1d782ee513
+EBUILD libfm-qt-0.14.1-r2.ebuild 886 BLAKE2B a3ec8cf450a06881e5bae45c0d6fbb752516ba51377a2b6661ba91d4d446e5f9a3e6e82c59f8edc4e36b223c1371de6ef505f01198ebc0b5813c274c12bf888c SHA512 dd8c6886667c15d104ee4bdc9ee21bb76163c1be46128ca3e4cbb803e183f38a3ed199093f812b868fc7903b7e9ae636c4bb99ccadb89007c6fb91dc901e2d29
MISC metadata.xml 314 BLAKE2B a40b71c62066cf524406556206999869edecf714d898236a8f277132e8b3752fec298cf9407e9010a1037bc757fafcbae32abec9b52a68492d414acd529c176a SHA512 edaddf48fd7cef23284164b7046e0e6b5ce1442847d3353ee8175177f00b06973d6588811b166dacbd7a1182942128792858a43e029d6aa874c1b8625b5e78f3
diff --git a/x11-libs/libfm-qt/files/libfm-qt-0.14.1-phantom-desktop-files.patch b/x11-libs/libfm-qt/files/libfm-qt-0.14.1-phantom-desktop-files.patch
new file mode 100644
index 000000000000..b9edab299cd4
--- /dev/null
+++ b/x11-libs/libfm-qt/files/libfm-qt-0.14.1-phantom-desktop-files.patch
@@ -0,0 +1,109 @@
+From f944be7d2447d5c579a57fb5519ee5e2dece5871 Mon Sep 17 00:00:00 2001
+From: Tsu Jan <tsujan2000@gmail.com>
+Date: Sun, 21 Apr 2019 14:11:14 +0430
+Subject: [PATCH] Don't ignore creation-deletion sequences
+
+Fixes https://github.com/lxqt/pcmanfm-qt/issues/944
+
+Previously, if a file was in addition queue and then it came into the deletion queue, its addition and deletion were both ignored. That was wrong and could result in showing nonexistent files because addition can also happen in directory list job before being processed by file info job.
+
+Also process accumulated changes only after finishing the current info job and don't clear all deletion paths after processing them (because, logically, only those paths that can be deleted should be removed).
+---
+ src/core/folder.cpp | 60 +++++++++++++++++++++++----------------------
+ 1 file changed, 31 insertions(+), 29 deletions(-)
+
+diff --git a/src/core/folder.cpp b/src/core/folder.cpp
+index 6c2b27d..2385a8b 100644
+--- a/src/core/folder.cpp
++++ b/src/core/folder.cpp
+@@ -228,16 +228,6 @@ void Folder::onFileInfoFinished() {
+ return;
+ }
+
+- // process the changes accumulated during this info job
+- if(filesystem_info_pending // means a pending change; see "onFileSystemInfoFinished()"
+- || !paths_to_update.empty() || !paths_to_add.empty() || !paths_to_del.empty()) {
+- QTimer::singleShot(0, this, &Folder::processPendingChanges);
+- }
+- // there's no pending change at the moment; let the next one be processed
+- else {
+- has_idle_update_handler = false;
+- }
+-
+ FileInfoList files_to_add;
+ FileInfoList files_to_delete;
+ std::vector<FileInfoPair> files_to_update;
+@@ -271,6 +261,16 @@ void Folder::onFileInfoFinished() {
+ Q_EMIT filesChanged(files_to_update);
+ }
+ Q_EMIT contentChanged();
++
++ // process the changes accumulated during this info job
++ if(filesystem_info_pending // means a pending change; see "onFileSystemInfoFinished()"
++ || !paths_to_update.empty() || !paths_to_add.empty() || !paths_to_del.empty()) {
++ QTimer::singleShot(0, this, &Folder::processPendingChanges);
++ }
++ // there's no pending change at the moment; let the next one be processed
++ else {
++ has_idle_update_handler = false;
++ }
+ }
+
+ void Folder::processPendingChanges() {
+@@ -314,21 +314,24 @@ void Folder::processPendingChanges() {
+ }
+
+ // process deletion
+- if(!paths_to_del.empty()) {
+- FileInfoList deleted_files;
+- for(const auto &path: paths_to_del) {
+- auto name = path.baseName();
+- auto it = files_.find(name.get());
+- if(it != files_.end()) {
+- deleted_files.push_back(it->second);
+- files_.erase(it);
+- }
++ FileInfoList deleted_files;
++ auto path_it = paths_to_del.begin();
++ while(path_it != paths_to_del.end()) {
++ const auto& path = *path_it;
++ auto name = path.baseName();
++ auto it = files_.find(name.get());
++ if(it != files_.end()) {
++ deleted_files.push_back(it->second);
++ files_.erase(it);
++ path_it = paths_to_del.erase(path_it);
+ }
+- if(!deleted_files.empty()) {
+- Q_EMIT filesRemoved(deleted_files);
+- Q_EMIT contentChanged();
++ else {
++ ++path_it;
+ }
+- paths_to_del.clear();
++ }
++ if(!deleted_files.empty()) {
++ Q_EMIT filesRemoved(deleted_files);
++ Q_EMIT contentChanged();
+ }
+
+ if(pending_change_notify) {
+@@ -404,13 +407,12 @@ void Folder::eventFileDeleted(const FilePath& path) {
+ bool deleted = true;
+ // qDebug() << "delete " << path.baseName().get();
+ // G_LOCK(lists);
+- if(std::find(paths_to_add.cbegin(), paths_to_add.cend(), path) != paths_to_add.cend()) {
+- // if the file was going to be added, just remove it from the addition queue
+- paths_to_add.erase(std::remove(paths_to_add.begin(), paths_to_add.end(), path), paths_to_add.cend());
+- }
+- else if(std::find(paths_to_del.cbegin(), paths_to_del.cend(), path) == paths_to_del.cend()) {
++ /* WARNING: If the file is in the addition queue, we shouldn not remove it from that queue
++ and ignore its deletion because it may have been added by the directory list job, in
++ which case, ignoring an addition-deletion sequence would result in a nonexistent file. */
++ if(std::find(paths_to_del.cbegin(), paths_to_del.cend(), path) == paths_to_del.cend()) {
+ paths_to_del.push_back(path);
+- // the update queue should be cancelled for a file that is going to be deleted
++ // the update queue can be cancelled for a file that is going to be deleted
+ paths_to_update.erase(std::remove(paths_to_update.begin(), paths_to_update.end(), path), paths_to_update.cend());
+ }
+ else {
diff --git a/x11-libs/libfm-qt/libfm-qt-0.14.1-r1.ebuild b/x11-libs/libfm-qt/libfm-qt-0.14.1-r1.ebuild
index de820366ee64..6856ff994d3b 100644
--- a/x11-libs/libfm-qt/libfm-qt-0.14.1-r1.ebuild
+++ b/x11-libs/libfm-qt/libfm-qt-0.14.1-r1.ebuild
@@ -13,7 +13,7 @@ if [[ "${PV}" == "9999" ]]; then
EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
else
SRC_URI="https://downloads.lxqt.org/downloads/${PN}/${PV}/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+ KEYWORDS="amd64 ~arm ~arm64 x86"
fi
LICENSE="GPL-2+ LGPL-2.1+"
diff --git a/x11-libs/libfm-qt/libfm-qt-0.14.1-r2.ebuild b/x11-libs/libfm-qt/libfm-qt-0.14.1-r2.ebuild
new file mode 100644
index 000000000000..54bea0084811
--- /dev/null
+++ b/x11-libs/libfm-qt/libfm-qt-0.14.1-r2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils
+
+DESCRIPTION="Qt port of libfm, a library providing components to build desktop file managers"
+HOMEPAGE="https://lxqt.org/"
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
+else
+ SRC_URI="https://downloads.lxqt.org/downloads/${PN}/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+fi
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0/5"
+
+BDEPEND="
+ dev-qt/linguist-tools:5
+ >=dev-util/lxqt-build-tools-0.6.0
+ virtual/pkgconfig
+"
+DEPEND="
+ dev-libs/glib:2
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ >=lxde-base/menu-cache-1.1.0
+ media-libs/libexif:=
+ x11-libs/libxcb:=
+"
+RDEPEND="${DEPEND}
+ !lxqt-base/lxqt-l10n
+"
+
+PATCHES="${FILESDIR}/${PN}-0.14.1-phantom-desktop-files.patch"