void-linux / void-packages

The Void source packages collection
https://voidlinux.org
Other
2.59k stars 2.15k forks source link

Package request: lxqt-qtplugin (Qt5 Version) #52369

Closed Vandino86 closed 1 month ago

Vandino86 commented 1 month ago

Package name

lxqt-qtplugin-qt5

Package homepage

https://github.com/lxqt/lxqt-qtplugin

Description

This repository provides the library libqtlxqt to integrate Qt with LXQt, which makes it so that all Qt-based programs can adopt LXQt's appearance settings (icon theme, Qt style, etc.). However, the newest version of lxqt-qtplugin (2.0.0) works only with Qt6 programs, so Qt5 programs are unable to adopt LXQt setting unless an older version of this package (such as 1.4.1) is installed.

Since the Void repo doesn't carry 1.4.1 as a pre-built package (like every older version of any other package) I had to try and use xbps-src + git + the void-packages repo to build and install lxqt-qtplugin 1.4.1 as a package named lxqt-qtplugin-qt5. However, I was not successful. lxqt-build-tools-qt5 (lxqt-build-tools 0.13.0) built and installed just fine. lxqt-menu-data-qt5 (lxqt-menu-data 1.4.1), libqtxdg-qt5 (libqtxdg 3.12.0), and libfm-qt-qt5 (libfm-qt 1.4.0) also built successfully. However, attempting to build liblxqt-qt5 (liblxqt 1.4.0), which was needed for building lxqt-qtplugin-qt5, always resulted in the following error message:

=> liblxqt-qt5-1.4.0_2: running pre-pkg hook: 04-generate-runtime-deps ...
   SONAME: libKF5WindowSystem.so.5 <-> kwindowsystem>=5.6.0_1
   SONAME: libQt5Xdg.so.3 <-> UNKNOWN PKG PLEASE FIX!
   SONAME: libQt5X11Extras.so.5 <-> qt5-x11extras>=5.15.2_3                                  
   SONAME: libXss.so.1 <-> libXScrnSaver>=1.1.3_1
   SONAME: libX11.so.6 <-> libX11>=1.2_1
   SONAME: libQt5DBus.so.5 <-> qt5-dbus>=5.15.2_3
   SONAME: libQt5Widgets.so.5 <-> qt5-widgets>=5.15.2_3
   SONAME: libQt5Gui.so.5 <-> qt5-gui>=5.15.2_3
   SONAME: libQt5Core.so.5 <-> qt5-core>=5.15.2_3
   SONAME: libstdc++.so.6 <-> libstdc++>=4.4.0_1
   SONAME: libc.so <-> musl>=1.1.24_7
=> ERROR: liblxqt-qt5-1.4.0_2: cannot guess required shlibs, aborting!

Idk why it isn't detecting libQt5Xdg.so.3 as being from libqtxdg-qt5, since that's clearly the package where the file is from (I double checked void-packages/hostdir/binpkgs/libqtxdg-qt5-3.12.0_2.x86_64-musl.xbps, and the file was indeed in there).

I know Qt5 is being phased out for Qt6, but I believe that offering binaries for lxqt-qtplugin 1.4.1 (called something else, such as lxqt-qtplugin-qt5, so that it won't conflict with the Qt6 lxqt-qtplugin 2.0.0 package, of course) is something to consider.

Does the requested package meet the package requirements?

System, Compiled, Required

Is the requested package released?

Yes

xeroxslayer commented 1 month ago

Idk why it isn't detecting libQt5Xdg.so.3 as being from libqtxdg-qt5, since that's clearly the package where the file is from (I double checked void-packages/hostdir/binpkgs/libqtxdg-qt5-3.12.0_2.x86_64-musl.xbps, and the file was indeed in there).

It's because it's not in upstream repo. When building locally you have to add all of the locally built shared libs that are not in repo to shlibs. For example, if the package was indexed in upstream repo, there is no need to add it to shlibs, but if it's built locally, then xbps has no idea it's actually there (the libs/bins in the package, not the actual package). From what I know and have tested, it checks hostidr/binpkgs first for packages, but it doesn't check what libs/bins are in the packages, so you basically have to "tell it" through shlibs "hey, look, if you're missing this, here is the package this thing is in".

sgn commented 1 month ago

Please test this https://github.com/void-linux/void-packages/pull/52612