Enabling X+opengl+gles2-only but wanting X off on libglvnd is a bit of
a stretch, but technically GLX is not used with gles2-only.
Not worth a revbump.
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Changes:
* add IUSE=archive for 7z support
* rearrange pkg_check_modules in a loop to avoid repeating
this a fourth time for libarchive and maybe more later
* pass -DGLVND=yes to avoid legacy mode
Changes adapted from PR#32020 (changed to patches):
* delete lua dlls in src_prepare rather than src_install
* allow luajit
* handle linking with libOpenGL without GLX
(ideally proper luajit/GL changes should be upstreamed though)
Technically avoiding libglvnd[-X] was not possible either way
due to qtbase[opengl,-gles2-only,-X] failing with it (and then
fceux fails to build with gles2-only), but this was recently
fixed in Qt6.9999 and is now backported to 6.5+6.6 downstream
(libglvnd[X] is still required if using Qt5).
Closes: https://github.com/gentoo/gentoo/pull/32020
Thanks-to: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Not looked that closely but, after the Qml issues and also hhaving
crashes with fceux potentially due to the mix with SDL/OpenGL, may
be better give a warning. Especially given Qt6 obviously get more
changes than Qt5 and may potentially break this in obscure ways
on major bumps.
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Provides QtHelp, and lacking that by default is likely to be
an annoyance given the amount of packages that previously
depended on dev-qt/qthelp:5. No urgency to trigger a rebuild,
so queue'ing it for next release.
Technically requires no extras assuming default IUSE on qtbase,
albeit may eventually pull litehtml if unbundled.
Unfortunately does mean that the optfeature will nag about
qt-docs when it is primarily intended for developers.
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Similarly to the other screencapture test, may try weird
things if happen to have support in ffmpeg or gstreamer.
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Currently only exists in 6.9999 and will be in Qt6.7 unless upstream
backports it to 6.6.x earlier.
Originally thought that this already worked with the cmake migration,
thus libglvnd[-X] not being only for gles2-only like in qtgui:5.
Rather than change that dependency, just backport the cmake check
to allow building.
Trivial elseif() so this does nothing unless GLX is missing.
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Two test cases are failing on a Loongson 3A6000 box:
71 - tst_qprocess (Failed)
304 - tst_qnetworkinterface (Failed)
With the following log messages:
FAIL! : tst_QProcess::startStopStartStopBuffers(separate-separate) 'process.bytesToWrite() > 0' returned FALSE. ()
Loc: [/tmp/portage/dev-qt/qtbase-6.5.2-r2/work/qtbase-everywhere-src-6.5.2/tests/auto/corelib/io/qprocess/tst_qprocess.cpp(2461)]
FAIL! : tst_QProcess::startStopStartStopBuffers(separate-merged) 'process.bytesToWrite() > 0' returned FALSE. ()
Loc: [/tmp/portage/dev-qt/qtbase-6.5.2-r2/work/qtbase-everywhere-src-6.5.2/tests/auto/corelib/io/qprocess/tst_qprocess.cpp(2461)]
FAIL! : tst_QProcess::startStopStartStopBuffers(merged-separate) 'process.bytesToWrite() > 0' returned FALSE. ()
Loc: [/tmp/portage/dev-qt/qtbase-6.5.2-r2/work/qtbase-everywhere-src-6.5.2/tests/auto/corelib/io/qprocess/tst_qprocess.cpp(2461)]
FAIL! : tst_QProcess::startStopStartStopBuffers(merged-merged) 'process.bytesToWrite() > 0' returned FALSE. ()
Loc: [/tmp/portage/dev-qt/qtbase-6.5.2-r2/work/qtbase-everywhere-src-6.5.2/tests/auto/corelib/io/qprocess/tst_qprocess.cpp(2461)]
FAIL! : tst_QProcess::startStopStartStopBuffers(merged-forwarded) 'process.bytesToWrite() > 0' returned FALSE. ()
Loc: [/tmp/portage/dev-qt/qtbase-6.5.2-r2/work/qtbase-everywhere-src-6.5.2/tests/auto/corelib/io/qprocess/tst_qprocess.cpp(2461)]
FAIL! : tst_QNetworkInterface::localAddress(wg0-xxx.xxx.xxx.xxx) 'pmtu <= outgoingIface->maximumTransmissionUnit()' returned FALSE. ()
Loc: [/tmp/portage/dev-qt/qtbase-6.5.2-r2/work/qtbase-everywhere-src-6.5.2/tests/auto/network/kernel/qnetworkinterface/tst_qnetworkinterface.cpp(246)]
But both are spurious to some extent.
For the startStopStartStopBuffers case, a 128KiB write is made to
hopefully retain some unwritten data even if the pipe is found writable,
and the comment in the test code indicates that Linux is the "worst
case" defaulting to 64KiB pipe buffers. This is actually
PIPE_DEF_BUFFERS pages, according to include/linux/pipe_fs_i.h; popular
arches use 4KiB pages, so 64KiB for them. Linux/LoongArch defaults to
16KiB pages, however, and the test case passes when the write size is
quadrupled.
And for the localAddress case, it may just be that the WireGuard
interface behaves differently than physical ones, and indeed the other
interfaces passed the test.
So, the library should actually be fully functional on loong, hence the
keyword.
Signed-off-by: WANG Xuerui <xen0n@gentoo.org>