Add dev-qt from an older version of the gentoo repo

Qt5 has been removed, we restore it since we still use it.
This commit is contained in:
2026-07-03 09:45:00 +02:00
parent 2247967dd3
commit 692df50613
319 changed files with 15302 additions and 0 deletions

View File

@ -0,0 +1,20 @@
https://mail.kde.org/pipermail/distributions/2026-May/001681.html
https://qt-project.atlassian.net/browse/QTBUG-145310
https://codereview.qt-project.org/c/qt/qtbase/+/727830
--- a/src/gui/text/freetype/qfontengine_ft.cpp
+++ b/src/gui/text/freetype/qfontengine_ft.cpp
@@ -1956,9 +1956,11 @@
err = FT_Render_Glyph(slot, renderMode);
- if (err != FT_Err_Ok)
- qWarning("render glyph failed err=%x face=%p, glyph=%d", err, face, glyph);
-
FT_Library_SetLcdFilter(slot->library, FT_LCD_FILTER_NONE);
+ if (err != FT_Err_Ok) {
+ qWarning("render glyph failed err=%x face=%p, glyph=%d", err, face, glyph);
+ return nullptr;
+ }
+
info.height = slot->bitmap.rows;
info.width = slot->bitmap.width;

View File

@ -0,0 +1,14 @@
https://codereview.qt-project.org/c/qt/qtbase/+/735182
https://qt-project.atlassian.net/browse/QTBUG-146670
(seems to also affect ppc32)
--- a/src/corelib/kernel/qtestsupport_core.cpp
+++ b/src/corelib/kernel/qtestsupport_core.cpp
@@ -9,8 +9,4 @@
using namespace std::chrono_literals;
-// Assert that this instantiation of std::atomic is always lock-free so we
-// know that no code will execute on destruction.
-static_assert(std::atomic<std::chrono::milliseconds>::is_always_lock_free);
-
QT_BEGIN_NAMESPACE

View File

@ -0,0 +1,28 @@
Patch taken from Debian[1], largely broken on HPPA without and several
tests give segmentation faults[2].
Needs upstreaming if someone familiar with HPPA wants to give this
attention. Note forkfd is essentially maintained in qtbase's repo[3]
rather than truly third party.
[1] https://bugs.debian.org/1042018
[2] https://bugs.gentoo.org/914371
[3] https://code.qt.io/cgit/qt/qtbase.git/tree/src/3rdparty/forkfd
Description: Change how stack grows on HPPA.
On HPPA stack grows upwards. This patch introduces this change for
this 3rd party code.
Author: John David Anglin <dave.anglin@bell.net>
--- a/src/3rdparty/forkfd/forkfd_linux.c
+++ b/src/3rdparty/forkfd/forkfd_linux.c
@@ -170,5 +170,10 @@
*system = 1;
+#if defined(__hppa__)
+ /* Stack grows up */
+ pid = clone(childFn, childStack, cloneflags, token, &pidfd, NULL, NULL);
+#else
pid = clone(childFn, childStack + sizeof(childStack), cloneflags, token, &pidfd, NULL, NULL);
+#endif
if (pid < 0)
return pid;

View File

@ -0,0 +1,5 @@
https://bugs.gentoo.org/914195
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -65 +64,0 @@
-qt_internal_check_if_path_has_symlinks("${CMAKE_BINARY_DIR}")

View File

@ -0,0 +1,27 @@
Avoid crash that happens for some users in qsb, qmake, and
potentially other Qt tools when ran under sandbox leading
to build failures for qtdeclarative and other packages.
Former fix involved replacing 4096 by SIGSTKSZ but
bug #918664 shown that this may be insufficient so this
tries 32k instead.
Update: after https://bugs.gentoo.org/923013 and a fixed
sandbox been stabilized for some time, it should in theory
be possible to drop this
https://bugs.gentoo.org/908809
https://bugs.gentoo.org/908816
https://bugs.gentoo.org/913493
https://bugs.gentoo.org/915695
https://bugs.gentoo.org/918664
https://codereview.qt-project.org/c/qt/qtbase/+/513140
--- a/src/3rdparty/forkfd/forkfd_linux.c
+++ b/src/3rdparty/forkfd/forkfd_linux.c
@@ -158,5 +158,5 @@
int system_vforkfd(int flags, pid_t *ppid, int (*childFn)(void *), void *token, int *system)
{
- __attribute__((aligned(64))) char childStack[SIGSTKSZ];
+ __attribute__((aligned(64))) char childStack[32768];
pid_t pid;
int pidfd;

View File

@ -0,0 +1,15 @@
Simply disable the broken path rather than worry about it for now.
Likely an easy fix but would rather this be handled upstream and
reported by someone that is affected and can test.
https://bugs.gentoo.org/926287
--- a/src/gui/painting/qrgbafloat.h
+++ b/src/gui/painting/qrgbafloat.h
@@ -20,5 +20,5 @@
public:
using Type = F;
-#if defined(__AVX512FP16__) && QFLOAT16_IS_NATIVE
+#if 0
// AVX512FP16 has multiplication instructions
using FastType = F;

View File

@ -0,0 +1,36 @@
When cross-compiling, CMake needs to find the build host's Qt6CoreTools. It
therefore prepends QT_HOST_PATH, which is /usr, to CMAKE_FIND_ROOT_PATH. The
problem is that CMAKE_FIND_ROOT_PATH is only a hint, not a definitive
location. Just below, CMake's find_package is usually told to look in
/usr/${CHOST}/usr/lib/cmake and /usr/lib/cmake when cross-compiling. Since
both of these are under /usr, it chooses the former instead of the latter.
It then ends up trying to execute non-native Qt binaries.
We can avoid this problem by setting CMAKE_FIND_ROOT_PATH to a more precise
location. All the Qt6 modules are installed under /usr/lib/cmake, represented
by the __qt_find_package_host_qt_path variable, so we can point it there.
find_package has two modes, module mode and config mode. No mode is
explicitly chosen in this case, so it tries both. In module mode, it would
use a module called FindQt6*.cmake, but no such module exists. It is
therefore safe to assume config mode, which involves the files under
/usr/lib/cmake.
See the isSameDirectoryOrSubDirectory() call in CMake's
cmFindCommon::RerootPaths() function for exactly where this goes wrong.
Chewi
https://bugs.gentoo.org/950314
--- a/cmake/QtConfig.cmake.in
+++ b/cmake/QtConfig.cmake.in
@@ -131,7 +131,7 @@
set(__qt_backup_cmake_find_root_path "${CMAKE_FIND_ROOT_PATH}")
list(PREPEND CMAKE_PREFIX_PATH "${__qt_find_package_host_qt_path}"
${_qt_additional_host_packages_prefix_paths})
- list(PREPEND CMAKE_FIND_ROOT_PATH "${QT_HOST_PATH}"
+ list(PREPEND CMAKE_FIND_ROOT_PATH "${__qt_find_package_host_qt_path}"
${_qt_additional_host_packages_root_paths})
endif()

View File

@ -0,0 +1,9 @@
Re-allow auto-detect rather than do =ON to ensure the toolchain supports it.
https://bugs.gentoo.org/754021
https://github.com/qt/qtbase/commit/48675dfa3 (revert of)
--- a/configure.cmake
+++ b/configure.cmake
@@ -784,3 +784,2 @@
CONDITION NOT WIN32 AND TEST_no_direct_extern_access
- AUTODETECT OFF
)