Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug Report] Extension missing from Dolphin on Plasma 6 #409

Open
RodoMa92 opened this issue Mar 10, 2024 · 8 comments
Open

[Bug Report] Extension missing from Dolphin on Plasma 6 #409

RodoMa92 opened this issue Mar 10, 2024 · 8 comments
Assignees
Labels
Milestone

Comments

@RodoMa92
Copy link

RodoMa92 commented Mar 10, 2024

Just recently Arch has merged Plasma 6 replacing the old Plasma 5 desktop, and it seems that rom-properties stopped working. I can't find it in the tabs nor in the preview settings page in Dolphin. Took a look in the code and it seems that there is already support for KF6 in the code. It is still incomplete? If yes, what specific parts are missing? I could take a look and implement it myself, assuming I'm up to the task at hand.

I've already ran kbuildsycoca6 --noincremental to no avail. Binaries are present but no extension show up in the UI.

Marco

@GerbilSoft
Copy link
Owner

I'm using KF6 and rom-properties shows up here. Did you rebuild it with KF6 enabled? There's a separate rom-properties-kf6.so file.

If it's a precompiled package, that package will need to be recompiled with KF6 support. (v2.3 was the first version with full KF6 support.)

@RodoMa92
Copy link
Author

Yep, files are there, just checked. Using arch and built the latest git package from sources.

@TheEssem
Copy link
Contributor

TheEssem commented Apr 1, 2024

Tried running Dolphin with LD_DEBUG=libs and it seems that (at least on Arch) it checks /usr/lib/qt6/plugins for plugins instead of /usr/lib/qt/plugins (note the added "6" after qt). Interestingly, Arch installs the qtpaths6 binary at /usr/lib/qt6/bin/qtpaths6, so it might be worth changing the CMake script to check for the binary at that path as well.

@GerbilSoft
Copy link
Owner

GerbilSoft commented Apr 2, 2024

Can you post the contents of build/src/libunixcommon/config.libunixcommon.h from the build tree?

On my system (Gentoo Linux with KF6):

/* KDE4 plugin path */
/* #undef KDE4_PLUGIN_INSTALL_DIR */

/* KF5 plugin path */
#define KF5_PLUGIN_INSTALL_DIR "/usr/lib64/qt5/plugins"

/* KF5 PropertiesDialog plugin path */
#define KF5_PRPD_PLUGIN_INSTALL_DIR "/usr/lib64/qt5/plugins/kf5/propertiesdialog"

/* KF6 plugin path */
#define KF6_PLUGIN_INSTALL_DIR "/usr/lib64/qt6/plugins"

/* KF6 PropertiesDialog plugin path */
#define KF6_PRPD_PLUGIN_INSTALL_DIR "/usr/lib64/qt6/plugins/kf6/propertiesdialog"

/* ThunarX2 extensions path */
#define ThunarX2_EXTENSIONS_DIR "/usr/lib64/thunarx-2"

/* libnautilus-extension 3.0 extensions path */
#define LibNautilusExtension3_EXTENSION_DIR "/usr/lib64/nautilus/extensions-3.0"

/* libnautilus-extension 4.0 extensions path */
#define LibNautilusExtension4_EXTENSION_DIR "/usr/lib64/nautilus/extensions-4"

/* Define to 1 if you have the `getpwuid_r' function. */
#define HAVE_GETPWUID_R 1

/* Define to 1 if you have the `getpwuid' function. */
/* #undef HAVE_GETPWUID */

/* Define to 1 if you have the `statx` function. */
#define HAVE_STATX 1

[Minor correction: getpwuid() does exist, but the CMake script was skipping the check since getpwuid_r() is also present. I'm changing it to check for both regardless, since it looks weird if the config file claims getpwuid() doesn't exist.]

@RodoMa92
Copy link
Author

RodoMa92 commented Apr 2, 2024

Can you post the contents of build/src/libunixcommon/config.libunixcommon.h from the build tree?

On my system (Gentoo Linux with KF6):

...

[Minor correction: getpwuid() does exist, but the CMake script was skipping the check since getpwuid_r() is also present. I'm changing it to check for both regardless, since it looks weird if the config file claims getpwuid() doesn't exist.]

Yeah, you are right, this looks broken on my end:

/***************************************************************************
 * ROM Properties Page shell extension. (rp-stub)                          *
 * config.libunixcommon.h.in: libunixcommon configuration. (source file)   *
 *                                                                         *
 * Copyright (c) 2017-2023 by David Korth.                                 *
 * SPDX-License-Identifier: GPL-2.0-or-later                               *
 ***************************************************************************/

#pragma once

/* KDE4 plugin path */
/* #undef KDE4_PLUGIN_INSTALL_DIR */

/* KF5 plugin path */
#define KF5_PLUGIN_INSTALL_DIR "/usr/lib/qt/plugins"

/* KF5 PropertiesDialog plugin path */
#define KF5_PRPD_PLUGIN_INSTALL_DIR "/usr/lib/qt/plugins/kf5/propertiesdialog"

/* KF6 plugin path */
#define KF6_PLUGIN_INSTALL_DIR "/usr/lib/qt/plugins"

/* KF6 PropertiesDialog plugin path */
#define KF6_PRPD_PLUGIN_INSTALL_DIR "/usr/lib/qt/plugins/kf6/propertiesdialog"

/* ThunarX2 extensions path */
#define ThunarX2_EXTENSIONS_DIR "/usr//usr/lib/thunarx-2"

/* libnautilus-extension 3.0 extensions path */
#define LibNautilusExtension3_EXTENSION_DIR "/usr//usr/lib/nautilus/extensions-3.0"

/* libnautilus-extension 4.0 extensions path */
#define LibNautilusExtension4_EXTENSION_DIR "/usr//usr/lib/nautilus/extensions-4"

/* Define to 1 if you have the `getpwuid_r' function. */
#define HAVE_GETPWUID_R 1

/* Define to 1 if you have the `getpwuid' function. */
/* #undef HAVE_GETPWUID */

/* Define to 1 if you have the `statx` function. */
#define HAVE_STATX 1

I do have a /usr/lib/qt and /usr/lib/qt6, it seems that cmake is pointing to qt5's plugin directory on both KF frameworks and installing it into the wrong directory.

@RodoMa92
Copy link
Author

RodoMa92 commented Apr 2, 2024

Yep, wrong root folder

immagine

@GerbilSoft
Copy link
Owner

GerbilSoft commented Apr 2, 2024

I'll have to set up an Arch VM and determine what needs to be fixed there. Will do that sometime later this week.

EDIT: If you haven't already done so, make sure you're specifying -DCMAKE_INSTALL_PREFIX=/usr when configuring.

@GerbilSoft GerbilSoft self-assigned this Apr 2, 2024
@GerbilSoft GerbilSoft added the bug label Apr 2, 2024
@GerbilSoft GerbilSoft added this to the 2.4 milestone Apr 2, 2024
@RodoMa92
Copy link
Author

RodoMa92 commented Apr 2, 2024

I'm using this aur package updated to 2.3 manually, and yeah, the configure step is using the correct install prefix, see here: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=rom-properties#n20

(Just change pkgver to 2.3, then run updpkgsums inside that folder from pacman-contrib package in arch, then run makepkg to compile it and generate a ready to install arch package that you can install with sudo pacman -U <package_name>)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants