From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 1CDD6158287 for ; Thu, 15 May 2025 15:35:43 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 088FD3437C6 for ; Thu, 15 May 2025 15:35:43 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 4AEFC1103DD; Thu, 15 May 2025 15:35:34 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 3506D1103DD for ; Thu, 15 May 2025 15:35:34 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id B03D63434EA for ; Thu, 15 May 2025 15:35:33 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 11FD02834 for ; Thu, 15 May 2025 15:35:32 +0000 (UTC) From: "Andreas Sturmlechner" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Andreas Sturmlechner" Message-ID: <1747323265.48d9507f8f40fab35d668a04ef9b7e800e45e26e.asturm@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: kde-plasma/plasma-desktop/files/, kde-plasma/plasma-desktop/ X-VCS-Repository: repo/gentoo X-VCS-Files: kde-plasma/plasma-desktop/files/plasma-desktop-6.3.5-keep-sorting-when-adding-files.patch kde-plasma/plasma-desktop/plasma-desktop-6.3.5-r1.ebuild X-VCS-Directories: kde-plasma/plasma-desktop/files/ kde-plasma/plasma-desktop/ X-VCS-Committer: asturm X-VCS-Committer-Name: Andreas Sturmlechner X-VCS-Revision: 48d9507f8f40fab35d668a04ef9b7e800e45e26e X-VCS-Branch: master Date: Thu, 15 May 2025 15:35:32 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 134b949e-2ec2-400c-863c-21092dff8032 X-Archives-Hash: 7b3ed68f04e8a6e3f9000df8c0921059 commit: 48d9507f8f40fab35d668a04ef9b7e800e45e26e Author: Andreas Sturmlechner gentoo org> AuthorDate: Thu May 15 07:21:30 2025 +0000 Commit: Andreas Sturmlechner gentoo org> CommitDate: Thu May 15 15:34:25 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48d9507f kde-plasma/plasma-desktop: When adding files, keep the current sorting KDE-bug: https://bugs.kde.org/show_bug.cgi?id=482470 Signed-off-by: Andreas Sturmlechner gentoo.org> ...ktop-6.3.5-keep-sorting-when-adding-files.patch | 61 +++++++ .../plasma-desktop/plasma-desktop-6.3.5-r1.ebuild | 189 +++++++++++++++++++++ 2 files changed, 250 insertions(+) diff --git a/kde-plasma/plasma-desktop/files/plasma-desktop-6.3.5-keep-sorting-when-adding-files.patch b/kde-plasma/plasma-desktop/files/plasma-desktop-6.3.5-keep-sorting-when-adding-files.patch new file mode 100644 index 000000000000..6683e4176c01 --- /dev/null +++ b/kde-plasma/plasma-desktop/files/plasma-desktop-6.3.5-keep-sorting-when-adding-files.patch @@ -0,0 +1,61 @@ +From f1a9052dff63938fd96890c7f88c6aa508e5f9a6 Mon Sep 17 00:00:00 2001 +From: Akseli Lahtinen +Date: Fri, 9 May 2025 12:03:52 +0300 +Subject: [PATCH] FolderModel: When adding files, keep the current sorting + +The sort mode got changed to unsorted if any file was added. +This was probably due to the infinite while loop that would happen +later when we're looking for a new blank spot from an index +that does not exist: This would return an empty QVariant that is +false by default. + +We need to check if the index is valid. If it's not, we know +it's a new index and can create one, so it is a blank spot. + +BUG: 482470 +FIXED-IN: 6.3.6 + + +(cherry picked from commit 03ef2343212bbc4be274b1b37788186df03a8cb3) + +10260acb FolderModel: When adding files, keep the current sorting +e64705c8 Fix comment, combine ifs + +Co-authored-by: Akseli Lahtinen +--- + containments/desktop/plugins/folder/foldermodel.cpp | 12 ++++-------- + 1 file changed, 4 insertions(+), 8 deletions(-) + +diff --git a/containments/desktop/plugins/folder/foldermodel.cpp b/containments/desktop/plugins/folder/foldermodel.cpp +index 1c79a3de3c..ce170e00bb 100644 +--- a/containments/desktop/plugins/folder/foldermodel.cpp ++++ b/containments/desktop/plugins/folder/foldermodel.cpp +@@ -199,13 +199,6 @@ FolderModel::FolderModel(QObject *parent) + m_dirModel->setDropsAllowed(KDirModel::DropOnDirectory | KDirModel::DropOnLocalExecutable); + m_dirModel->dirLister()->setAutoUpdate(true); + +- // If we have dropped items queued for moving, go unsorted now. +- connect(this, &QAbstractItemModel::rowsAboutToBeInserted, this, [this]() { +- if (!m_dropTargetPositions.isEmpty()) { +- setSortMode(-1); +- } +- }); +- + /* + * Dropped files may not actually show up as new files, e.g. when we overwrite + * an existing file. Or files that fail to be listed by the dirLister, or... +@@ -1405,7 +1398,10 @@ void FolderModel::changeSelection(const QItemSelection &selected, const QItemSel + + bool FolderModel::isBlank(int row) const + { +- if (row < 0) { ++ // Invalid indexes are blank, since they're not created yet ++ // and will be created when needed. ++ const auto idx = index(row, 0); ++ if (row < 0 || !idx.isValid()) { + return true; + } + +-- +GitLab + diff --git a/kde-plasma/plasma-desktop/plasma-desktop-6.3.5-r1.ebuild b/kde-plasma/plasma-desktop/plasma-desktop-6.3.5-r1.ebuild new file mode 100644 index 000000000000..1bf5050f685b --- /dev/null +++ b/kde-plasma/plasma-desktop/plasma-desktop-6.3.5-r1.ebuild @@ -0,0 +1,189 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_HANDBOOK="optional" +ECM_TEST="true" +KFMIN=6.10.0 +QTMIN=6.8.1 +inherit ecm plasma.kde.org optfeature xdg + +DESCRIPTION="KDE Plasma desktop" +XORGHDRS="${PN}-override-include-dirs-4" +SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${XORGHDRS}.tar.xz" + +LICENSE="GPL-2" # TODO: CHECK +SLOT="6" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="ibus input_devices_wacom scim screencast sdl +semantic-desktop webengine" + +RESTRICT="test" # missing selenium-webdriver-at-spi + +# slot op: Uses Qt6::GuiPrivate for qtx11extras_p.h +# kde-frameworks/kwindowsystem[X]: Uses KX11Extras +COMMON_DEPEND=" + dev-libs/icu:= + >=dev-qt/qt5compat-${QTMIN}:6[qml] + >=dev-qt/qtbase-${QTMIN}:6=[concurrent,dbus,gui,network,sql,widgets,xml] + >=dev-qt/qtdeclarative-${QTMIN}:6 + >=dev-qt/qtsvg-${QTMIN}:6 + >=kde-frameworks/attica-${KFMIN}:6 + >=kde-frameworks/karchive-${KFMIN}:6 + >=kde-frameworks/kauth-${KFMIN}:6 + >=kde-frameworks/kbookmarks-${KFMIN}:6 + >=kde-frameworks/kcmutils-${KFMIN}:6 + >=kde-frameworks/kcodecs-${KFMIN}:6 + >=kde-frameworks/kcompletion-${KFMIN}:6 + >=kde-frameworks/kconfig-${KFMIN}:6 + >=kde-frameworks/kconfigwidgets-${KFMIN}:6 + >=kde-frameworks/kcoreaddons-${KFMIN}:6 + >=kde-frameworks/kcrash-${KFMIN}:6 + >=kde-frameworks/kdbusaddons-${KFMIN}:6 + >=kde-frameworks/kded-${KFMIN}:6 + >=kde-frameworks/kglobalaccel-${KFMIN}:6 + >=kde-frameworks/kguiaddons-${KFMIN}:6 + >=kde-frameworks/ki18n-${KFMIN}:6 + >=kde-frameworks/kiconthemes-${KFMIN}:6 + >=kde-frameworks/kio-${KFMIN}:6 + >=kde-frameworks/kitemmodels-${KFMIN}:6 + >=kde-frameworks/kitemviews-${KFMIN}:6 + >=kde-frameworks/kjobwidgets-${KFMIN}:6 + >=kde-frameworks/knewstuff-${KFMIN}:6 + >=kde-frameworks/knotifications-${KFMIN}:6 + >=kde-frameworks/knotifyconfig-${KFMIN}:6 + >=kde-frameworks/kpackage-${KFMIN}:6 + >=kde-frameworks/kparts-${KFMIN}:6 + >=kde-frameworks/krunner-${KFMIN}:6 + >=kde-frameworks/kservice-${KFMIN}:6 + >=kde-frameworks/ksvg-${KFMIN}:6 + >=kde-frameworks/kwidgetsaddons-${KFMIN}:6 + >=kde-frameworks/kwindowsystem-${KFMIN}:6[X] + >=kde-frameworks/kxmlgui-${KFMIN}:6 + >=kde-frameworks/solid-${KFMIN}:6 + >=kde-frameworks/sonnet-${KFMIN}:6 + >=kde-plasma/kwin-${KDE_CATV}:6 + >=kde-plasma/libksysguard-${KDE_CATV}:6 + >=kde-plasma/libplasma-${KDE_CATV}:6 + >=kde-plasma/plasma-activities-${KDE_CATV}:6 + >=kde-plasma/plasma-activities-stats-${KDE_CATV}:6 + >=kde-plasma/plasma-workspace-${KDE_CATV}:6[screencast?] + >=kde-plasma/plasma5support-${KDE_CATV}:6 + media-libs/libcanberra + x11-libs/libX11 + x11-libs/libxcb + x11-libs/libXcursor + x11-libs/libXi + x11-libs/libxkbcommon + x11-libs/libxkbfile + ibus? ( + app-i18n/ibus + dev-libs/glib:2 + x11-libs/xcb-util-keysyms + ) + input_devices_wacom? ( + dev-libs/wayland + dev-libs/libwacom:= + >=dev-qt/qtwayland-${QTMIN}:6 + ) + scim? ( app-i18n/scim ) + sdl? ( media-libs/libsdl2[joystick] ) + semantic-desktop? ( >=kde-frameworks/baloo-${KFMIN}:6 ) + webengine? ( + kde-apps/kaccounts-integration:6 + >=net-libs/accounts-qt-1.17[qt6(+)] + ) +" +DEPEND="${COMMON_DEPEND} + dev-libs/boost + x11-base/xorg-proto + input_devices_wacom? ( >=dev-libs/wayland-protocols-1.25 ) + test? ( + >=kde-frameworks/qqc2-desktop-style-${KFMIN}:6 + >=kde-plasma/kactivitymanagerd-${KDE_CATV}:6 + ) +" +RDEPEND="${COMMON_DEPEND} + !=dev-qt/qtwayland-${QTMIN}:6 + >=kde-frameworks/kirigami-${KFMIN}:6 + >=kde-frameworks/qqc2-desktop-style-${KFMIN}:6 + >=kde-plasma/oxygen-${KDE_CATV}:6 + >=kde-plasma/plasma-mimeapps-list-3 + media-fonts/noto-emoji + sys-apps/util-linux + x11-apps/setxkbmap + x11-misc/xdg-user-dirs + screencast? ( >=kde-plasma/kpipewire-${KDE_CATV}:6 ) + webengine? ( >=net-libs/signon-oauth2-0.25_p20210102[qt6(+)] ) +" +BDEPEND=" + dev-util/intltool + >=kde-frameworks/kcmutils-${KFMIN}:6 + virtual/pkgconfig + input_devices_wacom? ( dev-util/wayland-scanner ) +" + +PATCHES=( + "${FILESDIR}/${PN}-6.1.80-override-include-dirs.patch" # downstream patch + "${FILESDIR}/${P}-keep-sorting-when-adding-files.patch" +) + +src_prepare() { + ecm_src_prepare + + if ! use ibus; then + sed -e "s/XCB_XCB_FOUND AND XCB_KEYSYMS_FOUND/false/" \ + -i applets/kimpanel/backend/ibus/CMakeLists.txt || die + fi + + # TODO: try to get a build switch upstreamed + if ! use scim; then + sed -e "s/^pkg_check_modules.*SCIM/#&/" -i CMakeLists.txt || die + fi +} + +src_configure() { + local mycmakeargs=( + -DBUILD_KCM_MOUSE_X11=ON + -DBUILD_KCM_TOUCHPAD_X11=ON + -DXORGLIBINPUT_INCLUDE_DIRS="${WORKDIR}/${XORGHDRS}"/include + -DXORGSERVER_INCLUDE_DIRS="${WORKDIR}/${XORGHDRS}"/include + -DCMAKE_DISABLE_FIND_PACKAGE_PackageKitQt6=ON # not packaged + $(cmake_use_find_package ibus GLIB2) + -DBUILD_KCM_TABLET=$(usex input_devices_wacom) + $(cmake_use_find_package sdl SDL2) + $(cmake_use_find_package semantic-desktop KF6Baloo) + $(cmake_use_find_package webengine AccountsQt6) + $(cmake_use_find_package webengine KAccounts6) + ) + + ecm_src_configure +} + +src_test() { + # parallel tests fail, foldermodeltest,positionertest hang, bug #646890 + # test_kio_fonts needs D-Bus, bug #634166 + # lookandfeel-kcmTest is unreliable for a long time, bug #607918 + local myctestargs=( + -j1 + -E "(foldermodeltest|positionertest|test_kio_fonts|lookandfeel-kcmTest)" + ) + + ecm_src_test +} + +src_install() { + cmake_src_install + + # Provide kde-mimeapps.list with distribution kde-plasma/plasma-mimeapps-list + rm "${ED}"/usr/share/applications/kde-mimeapps.list || die +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + optfeature "screen reader support" "app-accessibility/orca" + fi + xdg_pkg_postinst +}