nomacs icon indicating copy to clipboard operation
nomacs copied to clipboard

Re-enable using system LibQPSD and QuaZIP by default

Open C0rn3j opened this issue 5 months ago • 0 comments

These commits from 8-10 years ago disabled them by default, is the problem with launchpad still relevant today or could it be reverted today?

I see at least Arch has Qt5 and Qt6 QuaZIP packaged fine, ~~but the LibQPSD is missing Qt6 support at minimum as last version was release in 2019, despite support existing in master~~.

https://github.com/nomacs/nomacs/commit/8c3fbe7dc66e0a5844d24c376bef54de31694bc5 https://github.com/nomacs/nomacs/commit/d3f98a7406a39d64cef79bccae726c1e3ebb5739

EDIT: QPSD now has a Qt6 release - https://github.com/roniemartinez/libqpsd/releases

EDIT2: Actually the QPSD block incorrectly mentions QuaZip and defaults to Qt4 with Qt5 fallback.
Should be Qt5/6 nowadays.

https://github.com/nomacs/nomacs/blob/d3f98a7406a39d64cef79bccae726c1e3ebb5739/ImageLounge/cmake/Unix.cmake#L136-L150


EDIT3: While libqpsd was open to make a new release, it looks like it's not as simple as adding the header files to the system and enabling the USE_SYSTEM_LIBQPSD flag.

As per https://aur.archlinux.org/packages/nomacs#comment-951092:

nomacs is expecting the cmake files to be named qpsd instead of libqpsd (frankly I have near zero experience with cmake), hacked it in there via:

echo 'file(GLOB LIBQPSD_HEADERS "/usr/include/libqpsd/*.h")' > "${pkgdir}/usr/lib/cmake/qpsd/qpsdConfig.cmake"
echo 'set(LIBQPSD_FOUND TRUE)' >> "${pkgdir}/usr/lib/cmake/qpsd/qpsdConfig.cmake"

But it still fails when building, presumably due to a missing .so link OR that the .cpp files are a hard necessity(I doubt it)?

[ 98%] Linking CXX executable nomacs
/usr/bin/ld: libnomacsCore.so.3.19.1: undefined reference to `QPsdPlugin::capabilities(QIODevice*, QByteArray const&) const'
/usr/bin/ld: libnomacsCore.so.3.19.1: undefined reference to `QPsdHandler::~QPsdHandler()'

C0rn3j avatar Sep 23 '24 10:09 C0rn3j