nomacs
nomacs copied to clipboard
Re-enable using system LibQPSD and QuaZIP by default
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()'