From f9181fb0ed5adc5d05dcbab237a6c849a2d752e4 Mon Sep 17 00:00:00 2001 From: kemal Date: Sun, 15 Sep 2024 21:03:05 +0300 Subject: [PATCH 01/30] Update to Release 7181c5a463ed4cbeda7ab4937511bdfc836d6c94 --- com.github.ahrm.sioyek.metainfo.xml | 8 +- com.github.ahrm.sioyek.yaml | 21 +-- ...base-avoid-hardcoding-kernel-version.patch | 31 ---- ...hange-permissions-on-xdg-runtime-dir.patch | 117 ------------ patch/qtbase-use-wayland-on-gnome.patch | 20 -- patch/sioyek_build_fix.patch | 18 -- qt5-15.yaml | 171 ------------------ 7 files changed, 12 insertions(+), 374 deletions(-) delete mode 100644 patch/qtbase-avoid-hardcoding-kernel-version.patch delete mode 100644 patch/qtbase-revert-qstandardpaths-dont-change-permissions-on-xdg-runtime-dir.patch delete mode 100644 patch/qtbase-use-wayland-on-gnome.patch delete mode 100644 qt5-15.yaml diff --git a/com.github.ahrm.sioyek.metainfo.xml b/com.github.ahrm.sioyek.metainfo.xml index 32588bc..45c1f5f 100644 --- a/com.github.ahrm.sioyek.metainfo.xml +++ b/com.github.ahrm.sioyek.metainfo.xml @@ -44,6 +44,12 @@ nbenitezl_AT_gmail.com + + +

The database of this alpha release is incompatible with old database files. Make sure you backup your local.db and shared.db files before using this version.

+
+ https://github.com/ahrm/sioyek/releases/tag/sioyek3-alpha0 +

Flathub Beta release from Sioyek github code at 29-03-2024.

@@ -160,4 +166,4 @@ https://github.com/ahrm/sioyek/releases/tag/v1.1.0
- \ No newline at end of file + diff --git a/com.github.ahrm.sioyek.yaml b/com.github.ahrm.sioyek.yaml index a21ea70..31ca225 100644 --- a/com.github.ahrm.sioyek.yaml +++ b/com.github.ahrm.sioyek.yaml @@ -1,9 +1,9 @@ --- app-id: com.github.ahrm.sioyek -runtime: org.freedesktop.Platform -runtime-version: '23.08' -sdk: org.freedesktop.Sdk +runtime: org.kde.Platform +runtime-version: '6.7' +sdk: org.kde.Sdk command: sioyek @@ -21,16 +21,6 @@ finish-args: - --device=dri modules: - - name: boost - buildsystem: simple - build-commands: - - ./bootstrap.sh - - ./b2 install --prefix=/app --with-system --with-random define="BOOST_SYSTEM_NO_DEPRECATED" -sNO_BZIP2=1 cxxflags=-fPIC cflags=-fPIC - sources: - - type: archive - url: https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.tar.bz2 - sha256: 8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc - - qt5-15.yaml - "shared-modules/glu/glu-9.json" - name: sioyek buildsystem: simple @@ -46,8 +36,7 @@ modules: sources: - type: git url: https://github.com/ahrm/sioyek.git - # latest master HEAD at 29/03/2024 - commit: 35a550e8e8a6d179ed877ca6b0207da009620fb6 + tag: 'sioyek3-alpha0' - type: patch path: patch/sioyek_build_fix.patch - type: file @@ -57,4 +46,4 @@ modules: cleanup: - /share/man - - /include # Reduces app size considerably (thx Aman9das) \ No newline at end of file + - /include # Reduces app size considerably (thx Aman9das) diff --git a/patch/qtbase-avoid-hardcoding-kernel-version.patch b/patch/qtbase-avoid-hardcoding-kernel-version.patch deleted file mode 100644 index 49bb338..0000000 --- a/patch/qtbase-avoid-hardcoding-kernel-version.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/src/corelib/configure.json b/src/corelib/configure.json -index 183eb3a13e..c981b9d742 100644 ---- a/src/corelib/configure.json -+++ b/src/corelib/configure.json -@@ -501,7 +501,7 @@ - }, - "getentropy": { - "label": "getentropy()", -- "condition": "config.unix && tests.getentropy", -+ "disable": "true", - "output": [ "privateFeature" ] - }, - "glib": { -@@ -629,7 +629,7 @@ - }, - "renameat2": { - "label": "renameat2()", -- "condition": "config.linux && tests.renameat2", -+ "disable": "true", - "output": [ "privateFeature" ] - }, - "slog2": { -@@ -639,7 +639,7 @@ - }, - "statx": { - "label": "statx() in libc", -- "condition": "config.linux && tests.statx", -+ "disable": "true", - "output": [ "privateFeature" ] - }, - "syslog": { diff --git a/patch/qtbase-revert-qstandardpaths-dont-change-permissions-on-xdg-runtime-dir.patch b/patch/qtbase-revert-qstandardpaths-dont-change-permissions-on-xdg-runtime-dir.patch deleted file mode 100644 index b3d403c..0000000 --- a/patch/qtbase-revert-qstandardpaths-dont-change-permissions-on-xdg-runtime-dir.patch +++ /dev/null @@ -1,117 +0,0 @@ -From 689f77c63a4e9480ce2c8576fdbeb11ab30d206c Mon Sep 17 00:00:00 2001 -From: Jan Grulich -Date: Thu, 15 Apr 2021 09:09:10 +0200 -Subject: Revert "QStandardPaths: Don't change permissions of XDG_RUNTIME_DIR" - -This reverts commit 0fbb484d4aeb4eff50eb4aa312ab8ff41ce4e082. - -diff --git a/src/corelib/io/qstandardpaths_unix.cpp b/src/corelib/io/qstandardpaths_unix.cpp -index 4ebeefcedb..2e779bef66 100644 ---- a/src/corelib/io/qstandardpaths_unix.cpp -+++ b/src/corelib/io/qstandardpaths_unix.cpp -@@ -94,30 +94,6 @@ static QLatin1String xdg_key_name(QStandardPaths::StandardLocation type) - } - #endif - --static QByteArray unixPermissionsText(QFile::Permissions permissions) --{ -- mode_t perms = 0; -- if (permissions & QFile::ReadOwner) -- perms |= S_IRUSR; -- if (permissions & QFile::WriteOwner) -- perms |= S_IWUSR; -- if (permissions & QFile::ExeOwner) -- perms |= S_IXUSR; -- if (permissions & QFile::ReadGroup) -- perms |= S_IRGRP; -- if (permissions & QFile::WriteGroup) -- perms |= S_IWGRP; -- if (permissions & QFile::ExeGroup) -- perms |= S_IXGRP; -- if (permissions & QFile::ReadOther) -- perms |= S_IROTH; -- if (permissions & QFile::WriteOther) -- perms |= S_IWOTH; -- if (permissions & QFile::ExeOther) -- perms |= S_IXOTH; -- return '0' + QByteArray::number(perms, 8); --} -- - static bool checkXdgRuntimeDir(const QString &xdgRuntimeDir) - { - auto describeMetaData = [](const QFileSystemMetaData &metaData) -> QByteArray { -@@ -137,7 +113,27 @@ static bool checkXdgRuntimeDir(const QString &xdgRuntimeDir) - else - description += "a block device"; - -- description += " permissions " + unixPermissionsText(metaData.permissions()); -+ // convert QFileSystemMetaData permissions back to Unix -+ mode_t perms = 0; -+ if (metaData.permissions() & QFile::ReadOwner) -+ perms |= S_IRUSR; -+ if (metaData.permissions() & QFile::WriteOwner) -+ perms |= S_IWUSR; -+ if (metaData.permissions() & QFile::ExeOwner) -+ perms |= S_IXUSR; -+ if (metaData.permissions() & QFile::ReadGroup) -+ perms |= S_IRGRP; -+ if (metaData.permissions() & QFile::WriteGroup) -+ perms |= S_IWGRP; -+ if (metaData.permissions() & QFile::ExeGroup) -+ perms |= S_IXGRP; -+ if (metaData.permissions() & QFile::ReadOther) -+ perms |= S_IROTH; -+ if (metaData.permissions() & QFile::WriteOther) -+ perms |= S_IWOTH; -+ if (metaData.permissions() & QFile::ExeOther) -+ perms |= S_IXOTH; -+ description += " permissions 0" + QByteArray::number(perms, 8); - - return description - + " owned by UID " + QByteArray::number(metaData.userId()) -@@ -190,11 +186,14 @@ static bool checkXdgRuntimeDir(const QString &xdgRuntimeDir) - - // "and he MUST be the only one having read and write access to it. Its Unix access mode MUST be 0700." - if (metaData.permissions() != wantedPerms) { -- qWarning("QStandardPaths: wrong permissions on runtime directory %ls, %s instead of %s", -- qUtf16Printable(xdgRuntimeDir), -- unixPermissionsText(metaData.permissions()).constData(), -- unixPermissionsText(wantedPerms).constData()); -- return false; -+ // attempt to correct: -+ QSystemError error; -+ if (!QFileSystemEngine::setPermissions(entry, wantedPerms, error)) { -+ qErrnoWarning("QStandardPaths: could not set correct permissions on runtime directory " -+ "'%ls', which is %s", qUtf16Printable(xdgRuntimeDir), -+ describeMetaData(metaData).constData()); -+ return false; -+ } - } - - return true; -diff --git a/tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp b/tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp -index a0aefac268..afbd64c405 100644 ---- a/tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp -+++ b/tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp -@@ -532,12 +532,7 @@ void tst_qstandardpaths::testCustomRuntimeDirectory_data() - d.mkdir("runtime"); - QFile::setPermissions(p, QFile::ReadOwner | QFile::WriteOwner | QFile::ExeOwner | - QFile::ExeGroup | QFile::ExeOther); -- updateRuntimeDir(p); -- QTest::ignoreMessage(QtWarningMsg, -- QString("QStandardPaths: wrong permissions on runtime directory %1, " -- "0711 instead of 0700") -- .arg(p).toLatin1()); -- return fallbackXdgRuntimeDir(); -+ return updateRuntimeDir(p); - }); - - addRow("environment:wrong-owner", [](QDir &) { -@@ -602,7 +597,6 @@ void tst_qstandardpaths::testCustomRuntimeDirectory_data() - clearRuntimeDir(); - QString p = fallbackXdgRuntimeDir(); - d.mkdir(p); // probably has wrong permissions -- QFile::setPermissions(p, QFile::ReadOwner | QFile::WriteOwner | QFile::ExeOwner); - return p; - }); - diff --git a/patch/qtbase-use-wayland-on-gnome.patch b/patch/qtbase-use-wayland-on-gnome.patch deleted file mode 100644 index 526963c..0000000 --- a/patch/qtbase-use-wayland-on-gnome.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp -index b8bfad4f16..676fdfad5e 100644 ---- a/src/gui/kernel/qguiapplication.cpp -+++ b/src/gui/kernel/qguiapplication.cpp -@@ -1376,14 +1376,7 @@ void QGuiApplicationPrivate::createPlatformIntegration() - if (sessionType == QByteArrayLiteral("x11") && !platformName.contains(QByteArrayLiteral("xcb"))) { - platformName = QByteArrayLiteral("xcb"); - } else if (sessionType == QByteArrayLiteral("wayland") && !platformName.contains(QByteArrayLiteral("wayland"))) { -- QByteArray currentDesktop = qgetenv("XDG_CURRENT_DESKTOP").toLower(); -- QByteArray sessionDesktop = qgetenv("XDG_SESSION_DESKTOP").toLower(); -- if (currentDesktop.contains("gnome") || sessionDesktop.contains("gnome")) { -- qInfo() << "Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome." -- << "Use QT_QPA_PLATFORM=wayland to run on Wayland anyway."; -- } else { -- platformName = QByteArrayLiteral("wayland"); -- } -+ platformName = QByteArrayLiteral("wayland"); - } - } - #ifdef QT_QPA_DEFAULT_PLATFORM_NAME diff --git a/patch/sioyek_build_fix.patch b/patch/sioyek_build_fix.patch index 7902c6f..c9654a9 100644 --- a/patch/sioyek_build_fix.patch +++ b/patch/sioyek_build_fix.patch @@ -1,23 +1,5 @@ --- a/pdf_viewer_build_config.pro 2022-02-18 07:47:57.000000000 -0400 +++ b/pdf_viewer_build_config.pro 2022-03-07 17:50:49.489579924 -0400 -@@ -6,7 +6,7 @@ - zlib - - --QT += core opengl gui widgets network 3dinput -+QT += core opengl gui widgets network - - greaterThan(QT_MAJOR_VERSION, 5){ - QT += openglwidgets -@@ -17,7 +17,7 @@ - } - - CONFIG += c++17 --DEFINES += QT_3DINPUT_LIB QT_OPENGL_LIB QT_OPENGLEXTENSIONS_LIB QT_WIDGETS_LIB -+DEFINES += QT_OPENGL_LIB QT_OPENGLEXTENSIONS_LIB QT_WIDGETS_LIB - - CONFIG(non_portable){ - DEFINES += NON_PORTABLE @@ -96,7 +96,7 @@ } diff --git a/qt5-15.yaml b/qt5-15.yaml deleted file mode 100644 index 8e40063..0000000 --- a/qt5-15.yaml +++ /dev/null @@ -1,171 +0,0 @@ -name: qtwayland -buildsystem: qmake -cleanup: - - /bin -sources: - - type: git - url: https://invent.kde.org/qt/qt/qtwayland.git - #branch: kde/5.15 - # HEAD as of 06/07/2022 - commit: 64fa557eb30fc1219bec50a45107ea1a983411ed -modules: - - name: qt5-qtbase - buildsystem: autotools - cleanup: - - /bin - - /include - - /doc - - /lib/cmake - - /lib/pkgconfig - - /lib/mkspecs - - /lib/*.so - - /lib/libQt5PrintSupport* - - /lib/libQt5Concurrent* - - /lib/libQt5Xml* - - '*.prl' - - '*.la' - - '*.a' - build-options: - arch: - x86_64: - config-opts: - - -reduce-relocations - #- -force-debug-info - aarch64: - config-opts: - - -no-reduce-relocations - - -optimize-size - - -opengl es2 - post-install: - - strip ${FLATPAK_DEST}/lib/*.so.5.* - - strip ${FLATPAK_DEST}/lib/plugins/*/*.so - config-opts: - - -confirm-license - - -opensource - - -shared - - -release - - -strip - - -platform - - linux-g++ - - -optimized-qmake - - -nomake - - examples - - -nomake - - tests - - -system-harfbuzz - - -system-sqlite - - -accessibility - - -dbus-linked - - -fontconfig - - -glib - - -icu - - -openssl-linked - - -no-cups - - -no-pch - - -no-rpath - - -no-directfb - - -no-linuxfb - - -no-kms - - -no-feature-sql - - -no-feature-testlib - - -system-proxies - - -gtk - - -no-use-gold-linker - - -qpa - - xcb;wayland - - -archdatadir - - /app/lib - sources: - - type: git - url: https://invent.kde.org/qt/qt/qtbase.git - #branch: kde/5.15 - # HEAD as of 06/07/2022 - commit: aa0c6db334cf6f0887f42cbd82e4af258126bdc5 - - type: patch - path: patch/qtbase-avoid-hardcoding-kernel-version.patch - - type: patch - path: patch/qtbase-use-wayland-on-gnome.patch - # TODO: Temporary fix for https://github.com/flatpak/flatpak/issues/3397. - - type: patch - path: patch/qtbase-revert-qstandardpaths-dont-change-permissions-on-xdg-runtime-dir.patch - - type: shell - commands: - - mv configure configure.qt - - type: script - commands: - - processed=`sed -e 's/--/-/g ; s/=/ /g' <<< $@` - - ./configure.qt $processed - dest-filename: configure - - name: qt3d - buildsystem: qmake - cleanup: - - /bin - sources: - - type: git - url: https://invent.kde.org/qt/qt/qt3d.git - #branch: kde/5.15 - # HEAD as of 06/07/2022 - commit: 3cc801c4ae41ff3f155258c4bf7e21bb5b3f6a3d - - name: qt5-qttools - buildsystem: qmake - cleanup: - - /bin - - /include - - /lib - - /phrasebooks - - '*.prl' - - '*.la' - - '*.a' - cleanup-platform: - - /mkspecs - - /bin/assistant - - /bin/qhelpgenerator - - /bin/qcollectiongenerator - - /bin/qhelpconverter - - /bin/pixeltool - - /bin/designer - - /bin/lrelease - - /bin/lupdate - - /bin/lconvert - - /bin/linguist - - /bin/qdoc - - /bin/qtattributionsscanner - - /bin/qtplugininfo - - /bin/qtdiag - - /bin/qdbusviewer - sources: - - type: git - url: https://invent.kde.org/qt/qt/qttools.git - #branch: kde/5.15 - # HEAD as of 06/07/2022 - commit: 672ba9d902be3634a9fef80be65227aece9e0aed - - name: qtx11extras - buildsystem: qmake - cleanup: - - /bin - sources: - - type: git - url: https://invent.kde.org/qt/qt/qtx11extras.git - #branch: kde/5.15 - # HEAD as of 14/03/2022 - commit: 0dfaf36ec6f642a0fd583ce1cc33a31eb6b3328e - - name: qtdeclarative - buildsystem: qmake - cleanup: - - /bin - sources: - - type: git - url: https://invent.kde.org/qt/qt/qtdeclarative.git - #branch: kde/5.15 - # HEAD as of 06/07/2022 - commit: c47f3d7b227c9bc86ca1702ae3291a62c2116cfa - - name: qtquickcontrols - buildsystem: qmake - cleanup: - - /bin - sources: - - type: git - url: https://invent.kde.org/qt/qt/qtquickcontrols.git - #branch: kde/5.15 - # HEAD as of 06/07/2022 - commit: 4fb4e5942bfa1f92f1c759f182aa504ad52e8e3b \ No newline at end of file From f728636c5c1e2d5cacacad435761f1cd237a9ec7 Mon Sep 17 00:00:00 2001 From: kemal Date: Sat, 1 Feb 2025 04:31:16 +0300 Subject: [PATCH 02/30] qt6 without using the kde platform --- com.github.ahrm.sioyek.yaml | 7 +-- patch/qtbase-find_package-paths.patch | 11 +++++ qt6-8.yaml | 68 +++++++++++++++++++++++++++ 3 files changed, 83 insertions(+), 3 deletions(-) create mode 100644 patch/qtbase-find_package-paths.patch create mode 100644 qt6-8.yaml diff --git a/com.github.ahrm.sioyek.yaml b/com.github.ahrm.sioyek.yaml index 31ca225..91f48b3 100644 --- a/com.github.ahrm.sioyek.yaml +++ b/com.github.ahrm.sioyek.yaml @@ -1,9 +1,9 @@ --- app-id: com.github.ahrm.sioyek -runtime: org.kde.Platform -runtime-version: '6.7' -sdk: org.kde.Sdk +runtime: org.freedesktop.Platform +runtime-version: '24.08' +sdk: org.freedesktop.Sdk command: sioyek @@ -21,6 +21,7 @@ finish-args: - --device=dri modules: + - qt6-8.yaml - "shared-modules/glu/glu-9.json" - name: sioyek buildsystem: simple diff --git a/patch/qtbase-find_package-paths.patch b/patch/qtbase-find_package-paths.patch new file mode 100644 index 0000000..d43a57d --- /dev/null +++ b/patch/qtbase-find_package-paths.patch @@ -0,0 +1,11 @@ +--- a/cmake/QtConfig.cmake.in 2024-02-08 21:31:05.000000000 +0530 ++++ b/cmake/QtConfig.cmake.in 2024-02-08 21:31:05.000000000 +0530 +@@ -131,6 +131,8 @@ + ${QT_BUILD_CMAKE_PREFIX_PATH} + ${_qt_cmake_dir} + ${_qt_additional_packages_prefix_paths} ++ "/app/lib/cmake" ++ "/app/lib/${CMAKE_CXX_LIBRARY_ARCHITECTURE}/cmake" + ${__qt_find_package_host_qt_path} + ${_qt_additional_host_packages_prefix_paths} + ${__qt_use_no_default_path_for_qt_packages} diff --git a/qt6-8.yaml b/qt6-8.yaml new file mode 100644 index 0000000..bfd66f3 --- /dev/null +++ b/qt6-8.yaml @@ -0,0 +1,68 @@ +name: qtwayland +buildsystem: cmake-ninja +cleanup: + - /bin + - /man + - /share/man + - /lib/systemd + - '*.la' + - /share/runtime/docs + - /include + - /share/aclocal + - /share/pkgconfig + - /lib/pkgconfig + - /lib/*/pkgconfig + - '*.a' + - '*.cmake' + - /lib/*/cmake + - /mkspecs + - /lib/mkspecs + - '*.prl' +sources: + - type: archive + url: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtwayland-everywhere-src-6.8.1.tar.xz + sha256: 2226fbde4e2ddd12f8bf4b239c8f38fd706a54e789e63467dfddc77129eca203 + x-checker-data: + type: anitya + project-id: 7927 + stable-only: true + versions: + <: 6.9.0 + url-template: https://download.qt.io/official_releases/qt/6.8/$version/submodules/qtwayland-everywhere-src-$version.tar.xz +modules: + - name: qt6-qtbase + buildsystem: cmake-ninja + config-opts: + - -DINSTALL_LIBDIR=/app/lib/ + - -DINSTALL_ARCHDATADIR=lib + - -DQT_DISABLE_RPATH=ON + - -DBUILD_WITH_PCH=FALSE + - -DQT_FEATURE_openssl_linked=ON + - -DQT_FEATURE_system_sqlite=ON + sources: + - type: archive + url: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtbase-everywhere-src-6.8.1.tar.xz + sha256: 40b14562ef3bd779bc0e0418ea2ae08fa28235f8ea6e8c0cb3bce1d6ad58dcaf + x-checker-data: + type: anitya + project-id: 7927 + stable-only: true + versions: + <: 6.9.0 + url-template: https://download.qt.io/official_releases/qt/6.8/$version/submodules/qtbase-everywhere-src-$version.tar.xz + - type: patch + paths: + - patch/qtbase-find_package-paths.patch + - name: qt6-qt3d + buildsystem: cmake-ninja + sources: + - type: archive + url: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qt3d-everywhere-src-6.8.1.tar.xz + sha256: 08b006871b7bad92597c6b588ca921f630131e579e25079e49c0b34c0d7c4236 + x-checker-data: + type: anitya + project-id: 7927 + stable-only: true + versions: + <: 6.9.0 + url-template: https://download.qt.io/official_releases/qt/6.8/$version/submodules/qt3d-everywhere-src-$version.tar.xz From b8264b0bd0fede57215dc15fe23869d4f1e88b22 Mon Sep 17 00:00:00 2001 From: kemal Date: Sat, 1 Feb 2025 08:41:46 +0300 Subject: [PATCH 03/30] actually build adwaita decorations --- com.github.ahrm.sioyek.yaml | 2 +- qt6-8.yaml | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/com.github.ahrm.sioyek.yaml b/com.github.ahrm.sioyek.yaml index a2e1715..294fbf4 100644 --- a/com.github.ahrm.sioyek.yaml +++ b/com.github.ahrm.sioyek.yaml @@ -39,7 +39,7 @@ modules: sources: - type: git url: https://github.com/ahrm/sioyek.git - tag: 'sioyek3-alpha0' + commit: 159304abef7eb0c77bf7892a305d60bea19a997b - type: patch path: patch/sioyek_build_fix.patch - type: file diff --git a/qt6-8.yaml b/qt6-8.yaml index ea7fc8b..a3fb8ec 100644 --- a/qt6-8.yaml +++ b/qt6-8.yaml @@ -69,3 +69,13 @@ modules: versions: <: 6.9.0 url-template: https://download.qt.io/official_releases/qt/6.8/$version/submodules/qt3d-everywhere-src-$version.tar.xz + - name: qadwaitadecorations + buildsystem: cmake-ninja + config-opts: + - -DCMAKE_INSTALL_PREFIX=/app/lib/plugins/QAdwaitaDecorations + - -DQT_PLUGINS_DIR=/app/lib/plugins/QAdwaitaDecorations + - -DUSE_QT6=ON + sources: + - type: git + url: https://github.com/FedoraQt/QAdwaitaDecorations.git + tag: 0.1.6 From cbdd08b82a70a942f1d80104b6caa1f67496a12f Mon Sep 17 00:00:00 2001 From: kemal Date: Sat, 1 Feb 2025 09:16:55 +0300 Subject: [PATCH 04/30] add qtsvg for adwaita --- qt6-8.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/qt6-8.yaml b/qt6-8.yaml index a3fb8ec..d431ea1 100644 --- a/qt6-8.yaml +++ b/qt6-8.yaml @@ -69,6 +69,19 @@ modules: versions: <: 6.9.0 url-template: https://download.qt.io/official_releases/qt/6.8/$version/submodules/qt3d-everywhere-src-$version.tar.xz + - name: qt6-qtsvg + buildsystem: cmake-ninja + sources: + - type: archive + url: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtsvg-everywhere-src-6.8.1.tar.xz + sha256: 3d0de73596e36b2daa7c48d77c4426bb091752856912fba720215f756c560dd0 + x-checker-data: + type: anitya + project-id: 7927 + stable-only: true + versions: + <: 6.9.0 + url-template: https://download.qt.io/official_releases/qt/6.8/$version/submodules/qtsvg-everywhere-src-$version.tar.xz - name: qadwaitadecorations buildsystem: cmake-ninja config-opts: From 7cd8d7dfe69114adb87c3c5dbff5a47e75f80c44 Mon Sep 17 00:00:00 2001 From: kemal Date: Sat, 1 Feb 2025 09:45:57 +0300 Subject: [PATCH 05/30] build qtwayland before qadwaita --- com.github.ahrm.sioyek.yaml | 10 ++++++++++ qt6-8.yaml | 10 ---------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/com.github.ahrm.sioyek.yaml b/com.github.ahrm.sioyek.yaml index 294fbf4..e343f76 100644 --- a/com.github.ahrm.sioyek.yaml +++ b/com.github.ahrm.sioyek.yaml @@ -24,6 +24,16 @@ finish-args: modules: - qt6-8.yaml + - name: qadwaitadecorations + buildsystem: cmake-ninja + config-opts: + - -DCMAKE_INSTALL_PREFIX=/app/lib/plugins/QAdwaitaDecorations + - -DQT_PLUGINS_DIR=/app/lib/plugins/QAdwaitaDecorations + - -DUSE_QT6=ON + sources: + - type: git + url: https://github.com/FedoraQt/QAdwaitaDecorations.git + tag: 0.1.6 - "shared-modules/glu/glu-9.json" - name: sioyek buildsystem: simple diff --git a/qt6-8.yaml b/qt6-8.yaml index d431ea1..122fe88 100644 --- a/qt6-8.yaml +++ b/qt6-8.yaml @@ -82,13 +82,3 @@ modules: versions: <: 6.9.0 url-template: https://download.qt.io/official_releases/qt/6.8/$version/submodules/qtsvg-everywhere-src-$version.tar.xz - - name: qadwaitadecorations - buildsystem: cmake-ninja - config-opts: - - -DCMAKE_INSTALL_PREFIX=/app/lib/plugins/QAdwaitaDecorations - - -DQT_PLUGINS_DIR=/app/lib/plugins/QAdwaitaDecorations - - -DUSE_QT6=ON - sources: - - type: git - url: https://github.com/FedoraQt/QAdwaitaDecorations.git - tag: 0.1.6 From 8d6824628a5bdf4f2287faead24896666f412e83 Mon Sep 17 00:00:00 2001 From: kemal Date: Sat, 1 Feb 2025 16:44:13 +0300 Subject: [PATCH 06/30] cleanup redundant qt files --- com.github.ahrm.sioyek.yaml | 12 ++++++++++++ qt6-8.yaml | 10 ++++++++++ 2 files changed, 22 insertions(+) diff --git a/com.github.ahrm.sioyek.yaml b/com.github.ahrm.sioyek.yaml index e343f76..4e29bee 100644 --- a/com.github.ahrm.sioyek.yaml +++ b/com.github.ahrm.sioyek.yaml @@ -64,3 +64,15 @@ cleanup: - /share/aclocal - '*.la' - '*.a' + - /app/lib/*.prl + - /app/bin/q* + - /app/bin/andr* + - /app/doc/ + - /app/lib/cmake + - /app/lib/debug + - /app/lib/libexec + - /app/lib/metadata + - /app/lib/modules + - /app/lib/objects-Release + - /app/lib/sbom + - /app/mkspecs diff --git a/qt6-8.yaml b/qt6-8.yaml index 122fe88..2e367a5 100644 --- a/qt6-8.yaml +++ b/qt6-8.yaml @@ -58,6 +58,16 @@ modules: - patch/qtbase-find_package-paths.patch - name: qt6-qt3d buildsystem: cmake-ninja + config-opts: + - -qt3d-render + - no + - -qt3d-logic + - no + - -qt3d-extras + - no + - -qt3d-animation + - no + - -- sources: - type: archive url: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qt3d-everywhere-src-6.8.1.tar.xz From df830263904b3fb8570d3d44c143599ecdcc63e4 Mon Sep 17 00:00:00 2001 From: kemal Date: Sat, 1 Feb 2025 17:48:36 +0300 Subject: [PATCH 07/30] update to 6.8.2 --- qt6-8.yaml | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/qt6-8.yaml b/qt6-8.yaml index 2e367a5..095f970 100644 --- a/qt6-8.yaml +++ b/qt6-8.yaml @@ -20,8 +20,8 @@ cleanup: - '*.prl' sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtwayland-everywhere-src-6.8.1.tar.xz - sha256: 2226fbde4e2ddd12f8bf4b239c8f38fd706a54e789e63467dfddc77129eca203 + url: https://download.qt.io/official_releases/qt/6.8/6.8.2/submodules/qtwayland-everywhere-src-6.8.2.tar.xz + sha256: 5e46157908295f2bf924462d8c0855b0508ba338ced9e810891fefa295dc9647 x-checker-data: type: anitya project-id: 7927 @@ -41,11 +41,13 @@ modules: - -DQT_DISABLE_RPATH=ON - -DBUILD_WITH_PCH=FALSE - -DQT_FEATURE_openssl_linked=ON - - -DQT_FEATURE_system_sqlite=ON + - -DQT_FEATURE_sql=OFF + - -DQT_FEATURE_printsupport=OFF + - -DQT_FEATURE_testlib=OFF sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtbase-everywhere-src-6.8.1.tar.xz - sha256: 40b14562ef3bd779bc0e0418ea2ae08fa28235f8ea6e8c0cb3bce1d6ad58dcaf + url: https://download.qt.io/official_releases/qt/6.8/6.8.2/submodules/qtbase-everywhere-src-6.8.2.tar.xz + sha256: 012043ce6d411e6e8a91fdc4e05e6bedcfa10fcb1347d3c33908f7fdd10dfe05 x-checker-data: type: anitya project-id: 7927 @@ -59,19 +61,14 @@ modules: - name: qt6-qt3d buildsystem: cmake-ninja config-opts: - - -qt3d-render - - no - - -qt3d-logic - - no - - -qt3d-extras - - no - - -qt3d-animation - - no - - -- + - -DQT_FEATURE_qt3d_logic=OFF + - -DQT_FEATURE_qt3d_render=OFF + - -DQT_FEATURE_qt3d_extras=OFF + - -DQT_FEATURE_qt3d_animation=OFF sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qt3d-everywhere-src-6.8.1.tar.xz - sha256: 08b006871b7bad92597c6b588ca921f630131e579e25079e49c0b34c0d7c4236 + url: https://download.qt.io/official_releases/qt/6.8/6.8.2/submodules/qt3d-everywhere-src-6.8.2.tar.xz + sha256: 577a6352f091a8d5fd087a0ac948befb185583959ee4048009073f0b377b8c44 x-checker-data: type: anitya project-id: 7927 @@ -83,8 +80,8 @@ modules: buildsystem: cmake-ninja sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtsvg-everywhere-src-6.8.1.tar.xz - sha256: 3d0de73596e36b2daa7c48d77c4426bb091752856912fba720215f756c560dd0 + url: https://download.qt.io/official_releases/qt/6.8/6.8.2/submodules/qtsvg-everywhere-src-6.8.2.tar.xz + sha256: aa2579f21ca66d19cbcf31d87e9067e07932635d36869c8239d4decd0a9dc1fa x-checker-data: type: anitya project-id: 7927 From 42d219138df300149968dad696c5979771c3b719 Mon Sep 17 00:00:00 2001 From: kemal Date: Sat, 1 Feb 2025 18:34:58 +0300 Subject: [PATCH 08/30] fix qt3d build --- ...ont-build-plugins-that-rely-on-render.patch | 18 ++++++++++++++++++ qt6-8.yaml | 3 +++ 2 files changed, 21 insertions(+) create mode 100644 patch/qt3d-dont-build-plugins-that-rely-on-render.patch diff --git a/patch/qt3d-dont-build-plugins-that-rely-on-render.patch b/patch/qt3d-dont-build-plugins-that-rely-on-render.patch new file mode 100644 index 0000000..c35ce10 --- /dev/null +++ b/patch/qt3d-dont-build-plugins-that-rely-on-render.patch @@ -0,0 +1,18 @@ +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -58,10 +58,10 @@ + endif() + + ## Plugins +-add_subdirectory(plugins/sceneparsers) +-add_subdirectory(plugins/geometryloaders) +-add_subdirectory(plugins/renderers) ++#add_subdirectory(plugins/sceneparsers) ++#add_subdirectory(plugins/geometryloaders) ++#add_subdirectory(plugins/renderers) + + if(TARGET Qt::Quick) +- add_subdirectory(plugins/renderplugins) ++# add_subdirectory(plugins/renderplugins) + endif() + diff --git a/qt6-8.yaml b/qt6-8.yaml index 095f970..4c36cbe 100644 --- a/qt6-8.yaml +++ b/qt6-8.yaml @@ -76,6 +76,9 @@ modules: versions: <: 6.9.0 url-template: https://download.qt.io/official_releases/qt/6.8/$version/submodules/qt3d-everywhere-src-$version.tar.xz + - type: patch + paths: + - patch/qt3d-dont-build-plugins-that-rely-on-render.patch - name: qt6-qtsvg buildsystem: cmake-ninja sources: From 76a4b7f626cc133d14f0338402037ed412a53ef0 Mon Sep 17 00:00:00 2001 From: kemal Date: Sat, 1 Feb 2025 19:15:17 +0300 Subject: [PATCH 09/30] fix cleanup --- com.github.ahrm.sioyek.yaml | 25 +++++++++++++------------ qt6-8.yaml | 18 ------------------ 2 files changed, 13 insertions(+), 30 deletions(-) diff --git a/com.github.ahrm.sioyek.yaml b/com.github.ahrm.sioyek.yaml index 4e29bee..c0cab1f 100644 --- a/com.github.ahrm.sioyek.yaml +++ b/com.github.ahrm.sioyek.yaml @@ -59,20 +59,21 @@ modules: cleanup: - /share/man + - /share/runtime/docs - /include # Reduces app size considerably (thx Aman9das) - /lib/pkgconfig - /share/aclocal - '*.la' - '*.a' - - /app/lib/*.prl - - /app/bin/q* - - /app/bin/andr* - - /app/doc/ - - /app/lib/cmake - - /app/lib/debug - - /app/lib/libexec - - /app/lib/metadata - - /app/lib/modules - - /app/lib/objects-Release - - /app/lib/sbom - - /app/mkspecs + - '*.prl' + - /bin/a* + - /bin/q* + - /doc + - /lib/cmake + - /lib/libexec + - /lib/metadata + - /lib/modules + - /lib/objects-Release + - /lib/sbom + - /lib/systemd + - /mkspecs diff --git a/qt6-8.yaml b/qt6-8.yaml index 4c36cbe..7cf8590 100644 --- a/qt6-8.yaml +++ b/qt6-8.yaml @@ -1,23 +1,5 @@ name: qtwayland buildsystem: cmake-ninja -cleanup: - - /bin - - /man - - /share/man - - /lib/systemd - - '*.la' - - /share/runtime/docs - - /include - - /share/aclocal - - /share/pkgconfig - - /lib/pkgconfig - - /lib/*/pkgconfig - - '*.a' - - '*.cmake' - - /lib/*/cmake - - /mkspecs - - /lib/mkspecs - - '*.prl' sources: - type: archive url: https://download.qt.io/official_releases/qt/6.8/6.8.2/submodules/qtwayland-everywhere-src-6.8.2.tar.xz From 1be38ebe922b9133cf417a9da4126be751be3bac Mon Sep 17 00:00:00 2001 From: kemal Date: Sat, 1 Feb 2025 20:15:43 +0300 Subject: [PATCH 10/30] cleanup /lib/metatypes --- com.github.ahrm.sioyek.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.github.ahrm.sioyek.yaml b/com.github.ahrm.sioyek.yaml index c0cab1f..e55f75f 100644 --- a/com.github.ahrm.sioyek.yaml +++ b/com.github.ahrm.sioyek.yaml @@ -74,6 +74,6 @@ cleanup: - /lib/metadata - /lib/modules - /lib/objects-Release - - /lib/sbom + - /lib/metatypes - /lib/systemd - /mkspecs From 66d4bb07ea5aa8c69c7975f41c276761327db7ca Mon Sep 17 00:00:00 2001 From: kemal Date: Sun, 2 Feb 2025 05:24:58 +0300 Subject: [PATCH 11/30] dont build qt3d --- ...nt-build-plugins-that-rely-on-render.patch | 18 ---------------- patch/sioyek_build_fix.patch | 18 ++++++++++++++++ qt6-8.yaml | 21 ------------------- 3 files changed, 18 insertions(+), 39 deletions(-) delete mode 100644 patch/qt3d-dont-build-plugins-that-rely-on-render.patch diff --git a/patch/qt3d-dont-build-plugins-that-rely-on-render.patch b/patch/qt3d-dont-build-plugins-that-rely-on-render.patch deleted file mode 100644 index c35ce10..0000000 --- a/patch/qt3d-dont-build-plugins-that-rely-on-render.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -58,10 +58,10 @@ - endif() - - ## Plugins --add_subdirectory(plugins/sceneparsers) --add_subdirectory(plugins/geometryloaders) --add_subdirectory(plugins/renderers) -+#add_subdirectory(plugins/sceneparsers) -+#add_subdirectory(plugins/geometryloaders) -+#add_subdirectory(plugins/renderers) - - if(TARGET Qt::Quick) -- add_subdirectory(plugins/renderplugins) -+# add_subdirectory(plugins/renderplugins) - endif() - diff --git a/patch/sioyek_build_fix.patch b/patch/sioyek_build_fix.patch index c9654a9..7902c6f 100644 --- a/patch/sioyek_build_fix.patch +++ b/patch/sioyek_build_fix.patch @@ -1,5 +1,23 @@ --- a/pdf_viewer_build_config.pro 2022-02-18 07:47:57.000000000 -0400 +++ b/pdf_viewer_build_config.pro 2022-03-07 17:50:49.489579924 -0400 +@@ -6,7 +6,7 @@ + zlib + + +-QT += core opengl gui widgets network 3dinput ++QT += core opengl gui widgets network + + greaterThan(QT_MAJOR_VERSION, 5){ + QT += openglwidgets +@@ -17,7 +17,7 @@ + } + + CONFIG += c++17 +-DEFINES += QT_3DINPUT_LIB QT_OPENGL_LIB QT_OPENGLEXTENSIONS_LIB QT_WIDGETS_LIB ++DEFINES += QT_OPENGL_LIB QT_OPENGLEXTENSIONS_LIB QT_WIDGETS_LIB + + CONFIG(non_portable){ + DEFINES += NON_PORTABLE @@ -96,7 +96,7 @@ } diff --git a/qt6-8.yaml b/qt6-8.yaml index 7cf8590..462fbdf 100644 --- a/qt6-8.yaml +++ b/qt6-8.yaml @@ -40,27 +40,6 @@ modules: - type: patch paths: - patch/qtbase-find_package-paths.patch - - name: qt6-qt3d - buildsystem: cmake-ninja - config-opts: - - -DQT_FEATURE_qt3d_logic=OFF - - -DQT_FEATURE_qt3d_render=OFF - - -DQT_FEATURE_qt3d_extras=OFF - - -DQT_FEATURE_qt3d_animation=OFF - sources: - - type: archive - url: https://download.qt.io/official_releases/qt/6.8/6.8.2/submodules/qt3d-everywhere-src-6.8.2.tar.xz - sha256: 577a6352f091a8d5fd087a0ac948befb185583959ee4048009073f0b377b8c44 - x-checker-data: - type: anitya - project-id: 7927 - stable-only: true - versions: - <: 6.9.0 - url-template: https://download.qt.io/official_releases/qt/6.8/$version/submodules/qt3d-everywhere-src-$version.tar.xz - - type: patch - paths: - - patch/qt3d-dont-build-plugins-that-rely-on-render.patch - name: qt6-qtsvg buildsystem: cmake-ninja sources: From bd133d8b3361e9ac5e2264a9d23b9ee7ecc003c8 Mon Sep 17 00:00:00 2001 From: kemal Date: Sun, 2 Feb 2025 06:06:07 +0300 Subject: [PATCH 12/30] use static qt --- com.github.ahrm.sioyek.yaml | 5 +- patch/qtbase-fix-static-build.patch | 600 ++++++++++++++++++++++++++++ qt6-8.yaml | 20 +- 3 files changed, 617 insertions(+), 8 deletions(-) create mode 100644 patch/qtbase-fix-static-build.patch diff --git a/com.github.ahrm.sioyek.yaml b/com.github.ahrm.sioyek.yaml index e55f75f..0a91829 100644 --- a/com.github.ahrm.sioyek.yaml +++ b/com.github.ahrm.sioyek.yaml @@ -27,8 +27,8 @@ modules: - name: qadwaitadecorations buildsystem: cmake-ninja config-opts: - - -DCMAKE_INSTALL_PREFIX=/app/lib/plugins/QAdwaitaDecorations - - -DQT_PLUGINS_DIR=/app/lib/plugins/QAdwaitaDecorations + - -DCMAKE_INSTALL_PREFIX=/app/lib/plugins + - -DQT_PLUGINS_DIR=/app/lib/plugins - -DUSE_QT6=ON sources: - type: git @@ -66,6 +66,7 @@ cleanup: - '*.la' - '*.a' - '*.prl' + - '*.so' - /bin/a* - /bin/q* - /doc diff --git a/patch/qtbase-fix-static-build.patch b/patch/qtbase-fix-static-build.patch new file mode 100644 index 0000000..d118280 --- /dev/null +++ b/patch/qtbase-fix-static-build.patch @@ -0,0 +1,600 @@ +From 9558e24f03a7e34118b4eab823c0fe059d681ced Mon Sep 17 00:00:00 2001 +From: Cristian Le +Date: Tue, 04 Feb 2025 11:54:41 +0100 +Subject: [PATCH] Add `qt_feature_alias` + +Unlike chaining a feature into its `CONDITION`, it has a guaranteed +one-to-one equivalence with the original target. + +- An alias cannot be set if the main feature is already set +- Multiple aliases of a feature cannot be set at the same time + +Change-Id: I5b17ec3af51761880a7edb0c47ad8144815f1f93 +--- + +diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake +index 42496f9..1b7c1f4 100644 +--- a/cmake/QtFeature.cmake ++++ b/cmake/QtFeature.cmake +@@ -115,6 +115,66 @@ + set(__QtFeature_internal_features ${__QtFeature_internal_features} PARENT_SCOPE) + endfunction() + ++# Define an alternative alias for the main feature definition. ++# ++# If the main feature is defined, it takes precedence and all others are ignored. Otherwise ++# only one alias may be defined. ++# ++# Currently, we need this to be a dedicated function because we are gathering all aliases of ++# the main feature and check its real value as part of ++# `qt_feature_check_and_save_user_provided_value` ++# ++# TODO: See how to move this into the main `qt_feature` definition flow. ++# TODO: How to add `CONDITION` and how does it interact with the main feature's `EMIT_IF` ++# TODO: Include or forward other options: LABEL, SECTION ++# ++# Synopsis ++# ++# qt_feature_alias( ++# ALIAS_OF ++# ) ++# ++# Arguments ++# ++# `` ++# The feature alias to be created. ++# ++# `ALIAS_OF` ++# The true canonical feature to consider. ++function(qt_feature_alias alias_feature) ++ set(option_args "") ++ set(single_args ALIAS_OF) ++ set(multi_args "") ++ ++ cmake_parse_arguments(PARSE_ARGV 1 arg "${option_args}" "${single_args}" "${multi_args}") ++ _qt_internal_validate_all_args_are_parsed(arg) ++ ++ if(NOT arg_ALIAS_OF) ++ message(FATAL_ERROR "ALIAS_OF keyword not passed") ++ endif() ++ ++ set(original_name "${alias_feature}") ++ qt_feature_normalize_name("${alias_feature}" alias_feature) ++ set_property(GLOBAL PROPERTY QT_FEATURE_ORIGINAL_NAME_${alias_feature} "${original_name}") ++ qt_feature_normalize_name("${arg_ALIAS_OF}" arg_ALIAS_OF) ++ ++ list(APPEND _QT_FEATURE_ALIASES_${arg_ALIAS_OF} "${alias_feature}") ++ ++ set(forward_args "") ++ ++ set(_QT_FEATURE_DEFINITION_${alias_feature} ${forward_args} PARENT_SCOPE) ++ set(_QT_FEATURE_ALIASES_${arg_ALIAS_OF} "${_QT_FEATURE_ALIASES_${arg_ALIAS_OF}}" PARENT_SCOPE) ++ ++ # Register alias as a feature type similar to the true one ++ foreach(type IN ITEMS public private internal) ++ if(arg_ALIAS_OF IN_LIST __QtFeature_${type}_features) ++ list(APPEND __QtFeature_${type}_features "${alias_feature}") ++ set(__QtFeature_${type}_features ${__QtFeature_${type}_features} PARENT_SCOPE) ++ break() ++ endif() ++ endforeach() ++endfunction() ++ + function(qt_evaluate_to_boolean expressionVar) + if(${${expressionVar}}) + set(${expressionVar} ON PARENT_SCOPE) +@@ -292,6 +352,43 @@ + set(${expression_dump} "${${expression_dump}}" PARENT_SCOPE) + endfunction() + ++function(_qt_feature_check_feature_alias feature) ++ if(DEFINED "FEATURE_${feature}") ++ # The main feature was already defined, use the current value. ++ # Just check if any other ALIAS was defined and emit a warning ++ foreach(alias IN LISTS _QT_FEATURE_ALIASES_${feature}) ++ if(DEFINED "FEATURE_${alias}") ++ string(CONCAT msg ++ "FEATURE_${alias} is an alias of FEATURE_${feature}, and the latter was" ++ " already set. You may only use one of these features." ++ ) ++ qt_configure_add_report_error(${msg}) ++ endif() ++ endforeach() ++ else() ++ set(alias "") ++ foreach(check_alias IN LISTS _QT_FEATURE_ALIASES_${feature}) ++ if(DEFINED "FEATURE_${check_alias}") ++ list(APPEND alias ${check_alias}) ++ endif() ++ endforeach() ++ list(LENGTH alias alias_number) ++ if(alias_number GREATER 1) ++ # We can only deal with one alias being set ++ string(CONCAT msg ++ "Multiple aliases of FEATURE_${feature} were defined, we don't know which to" ++ " respect. Aliases: ${alias}" ++ ) ++ qt_configure_add_report_error(${msg}) ++ elseif(alias_number EQUAL 1) ++ # A unique alias is provided, use this value for the main feature ++ _qt_internal_parse_feature_definition("${alias}") ++ # Copy the value as-is ++ set("FEATURE_${feature}" "${FEATURE_${alias}}" PARENT_SCOPE) ++ endif() ++ endif() ++endfunction() ++ + # Stores the user provided value to FEATURE_${feature} if provided. + # If not provided, stores ${computed} instead. + # ${computed} is also stored when reconfiguring and the condition does not align with the user +@@ -299,6 +396,7 @@ + # + function(qt_feature_check_and_save_user_provided_value + resultVar feature condition condition_expression computed label) ++ _qt_feature_check_feature_alias(${feature}) + if (DEFINED "FEATURE_${feature}") + # Revisit new user provided value + set(user_value "${FEATURE_${feature}}") +@@ -810,6 +908,7 @@ + + foreach(feature ${all_features}) + unset(_QT_FEATURE_DEFINITION_${feature} PARENT_SCOPE) ++ unset(_QT_FEATURE_ALIASES_${feature} PARENT_SCOPE) + endforeach() + + if(NOT arg_ONLY_EVALUATE_FEATURES) +diff --git a/cmake/QtProcessConfigureArgs.cmake b/cmake/QtProcessConfigureArgs.cmake +index b6736c4..77d9573 100644 +--- a/cmake/QtProcessConfigureArgs.cmake ++++ b/cmake/QtProcessConfigureArgs.cmake +@@ -230,6 +230,11 @@ + set_property(GLOBAL PROPERTY COMMANDLINE_FEATURE_SECTION_${feature} "${arg_SECTION}") + endfunction() + ++function(qt_feature_alias feature) ++ set_property(GLOBAL APPEND PROPERTY COMMANDLINE_KNOWN_FEATURES "${feature}") ++ # TODO: Alias features are not listed, but neither are features without PURPOSE. ++endfunction() ++ + function(find_package) + message(FATAL_ERROR "find_package must not be used directly in configure.cmake. " + "Use qt_find_package or guard the call with an if(NOT QT_CONFIGURE_RUNNING) block.") +From c7a07ca47a4a7664f47ee56ab3c0a3008b08c485 Mon Sep 17 00:00:00 2001 +From: Cristian Le +Date: Tue, 04 Feb 2025 16:43:10 +0100 +Subject: [PATCH] Add `NEGATE` to `qt_feature_alias` + +Change-Id: I9e10618a3bc76d285d7bd59ebbf5bc5e56de62d0 +--- + +diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake +index 1b7c1f4..47ff6c4 100644 +--- a/cmake/QtFeature.cmake ++++ b/cmake/QtFeature.cmake +@@ -132,6 +132,7 @@ + # + # qt_feature_alias( + # ALIAS_OF ++# [NEGATE] + # ) + # + # Arguments +@@ -141,8 +142,13 @@ + # + # `ALIAS_OF` + # The true canonical feature to consider. ++# ++# `NEGATE` ++# Populate the main FEATURE variable with the opposite of the alias's value + function(qt_feature_alias alias_feature) +- set(option_args "") ++ set(option_args ++ NEGATE ++ ) + set(single_args ALIAS_OF) + set(multi_args "") + +@@ -161,6 +167,9 @@ + list(APPEND _QT_FEATURE_ALIASES_${arg_ALIAS_OF} "${alias_feature}") + + set(forward_args "") ++ if(arg_NEGATE) ++ list(APPEND forward_args ALIAS_NEGATE) ++ endif() + + set(_QT_FEATURE_DEFINITION_${alias_feature} ${forward_args} PARENT_SCOPE) + set(_QT_FEATURE_ALIASES_${arg_ALIAS_OF} "${_QT_FEATURE_ALIASES_${arg_ALIAS_OF}}" PARENT_SCOPE) +@@ -383,8 +392,17 @@ + elseif(alias_number EQUAL 1) + # A unique alias is provided, use this value for the main feature + _qt_internal_parse_feature_definition("${alias}") +- # Copy the value as-is +- set("FEATURE_${feature}" "${FEATURE_${alias}}" PARENT_SCOPE) ++ if(arg_ALIAS_NEGATE) ++ # Negate the alias value and return it ++ if(FEATURE_${alias}) ++ set("FEATURE_${feature}" False PARENT_SCOPE) ++ else() ++ set("FEATURE_${feature}" True PARENT_SCOPE) ++ endif() ++ else() ++ # Copy the value as-is ++ set("FEATURE_${feature}" "${FEATURE_${alias}}" PARENT_SCOPE) ++ endif() + endif() + endif() + endfunction() +@@ -491,7 +509,7 @@ + + macro(_qt_internal_parse_feature_definition feature) + cmake_parse_arguments(arg +- "PRIVATE;PUBLIC" ++ "PRIVATE;PUBLIC;ALIAS_NEGATE" + "LABEL;PURPOSE;SECTION;" + "AUTODETECT;CONDITION;ENABLE;DISABLE;EMIT_IF" + ${_QT_FEATURE_DEFINITION_${feature}}) +From 3a9ada8914440a4e68c356d3405ef5817cdd8b03 Mon Sep 17 00:00:00 2001 +From: Cristian Le +Date: Tue, 04 Feb 2025 16:48:12 +0100 +Subject: [PATCH] Add `SAVE` to `qt_feature_alias` + +Change-Id: Ia3e99a58b738eca8acb4ded57fce19620be94164 +--- + +diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake +index 47ff6c4..40c15af 100644 +--- a/cmake/QtFeature.cmake ++++ b/cmake/QtFeature.cmake +@@ -132,7 +132,7 @@ + # + # qt_feature_alias( + # ALIAS_OF +-# [NEGATE] ++# [SAVE] [NEGATE] + # ) + # + # Arguments +@@ -143,10 +143,15 @@ + # `ALIAS_OF` + # The true canonical feature to consider. + # ++# `SAVE` ++# Populate the `QT_FEATURE_` as well. If `NEGATE` is used, this value has the opposite ++# value of the main feature value. ++# + # `NEGATE` + # Populate the main FEATURE variable with the opposite of the alias's value + function(qt_feature_alias alias_feature) + set(option_args ++ SAVE + NEGATE + ) + set(single_args ALIAS_OF) +@@ -167,6 +172,9 @@ + list(APPEND _QT_FEATURE_ALIASES_${arg_ALIAS_OF} "${alias_feature}") + + set(forward_args "") ++ if(arg_SAVE) ++ list(APPEND forward_args ALIAS_SAVE) ++ endif() + if(arg_NEGATE) + list(APPEND forward_args ALIAS_NEGATE) + endif() +@@ -407,6 +415,29 @@ + endif() + endfunction() + ++function(_qt_feature_set_feature_alias feature) ++ foreach(alias IN LISTS _QT_FEATURE_ALIASES_${feature}) ++ _qt_internal_parse_feature_definition("${alias}") ++ if(NOT arg_ALIAS_SAVE) ++ # Skip aliases that do not need a `QT_FEATURE_*` variable ++ continue() ++ endif() ++ set(doc_string "Alias of ${feature}") ++ if(arg_ALIAS_NEGATE) ++ # Negate the feature value and save it ++ set(doc_string "${doc_string} (inverted)") ++ if(FEATURE_${feature}) ++ set(FEATURE_${alias} OFF) ++ else() ++ set(FEATURE_${alias} ON) ++ endif() ++ else() ++ set(FEATURE_${alias} ${FEATURE_${feature}}) ++ endif() ++ set("FEATURE_${alias}" "${FEATURE_${alias}}" CACHE BOOL "${doc_string}" FORCE) ++ endforeach() ++endfunction() ++ + # Stores the user provided value to FEATURE_${feature} if provided. + # If not provided, stores ${computed} instead. + # ${computed} is also stored when reconfiguring and the condition does not align with the user +@@ -477,6 +508,7 @@ + "FEATURE_${original_name} does not exist. Consider using: FEATURE_${feature}" + ) + endif() ++ _qt_feature_set_feature_alias(${feature}) + + set("${resultVar}" "${result}" PARENT_SCOPE) + endfunction() +@@ -509,7 +541,7 @@ + + macro(_qt_internal_parse_feature_definition feature) + cmake_parse_arguments(arg +- "PRIVATE;PUBLIC;ALIAS_NEGATE" ++ "PRIVATE;PUBLIC;ALIAS_SAVE;ALIAS_NEGATE" + "LABEL;PURPOSE;SECTION;" + "AUTODETECT;CONDITION;ENABLE;DISABLE;EMIT_IF" + ${_QT_FEATURE_DEFINITION_${feature}}) +From b8b92543ddc5f67cf47eb3c2edb8461a0f125096 Mon Sep 17 00:00:00 2001 +From: Cristian Le +Date: Tue, 04 Feb 2025 18:08:34 +0100 +Subject: [PATCH] Forward other `qt_feature` options in `qt_feature_alias` + +Change-Id: Ic0b7479e071fc17020a04ea48386054f0bbf3151 +--- + +diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake +index 40c15af..89f83ff 100644 +--- a/cmake/QtFeature.cmake ++++ b/cmake/QtFeature.cmake +@@ -126,12 +126,14 @@ + # + # TODO: See how to move this into the main `qt_feature` definition flow. + # TODO: How to add `CONDITION` and how does it interact with the main feature's `EMIT_IF` +-# TODO: Include or forward other options: LABEL, SECTION + # + # Synopsis + # + # qt_feature_alias( + # ALIAS_OF ++# [LABEL ] ++# [PURPOSE ] ++# [SECTION ] + # [SAVE] [NEGATE] + # ) + # +@@ -149,12 +151,20 @@ + # + # `NEGATE` + # Populate the main FEATURE variable with the opposite of the alias's value ++# ++# `LABEL`, `PURPOSE`, `SECTION` ++# Same as in `qt_feature` + function(qt_feature_alias alias_feature) + set(option_args + SAVE + NEGATE + ) +- set(single_args ALIAS_OF) ++ set(single_args ++ ALIAS_OF ++ LABEL ++ PURPOSE ++ SECTION ++ ) + set(multi_args "") + + cmake_parse_arguments(PARSE_ARGV 1 arg "${option_args}" "${single_args}" "${multi_args}") +@@ -178,6 +188,15 @@ + if(arg_NEGATE) + list(APPEND forward_args ALIAS_NEGATE) + endif() ++ if(arg_LABEL) ++ list(APPEND forward_args LABEL "${arg_LABEL}") ++ endif() ++ if(arg_PURPOSE) ++ list(APPEND forward_args PURPOSE "${arg_PURPOSE}") ++ endif() ++ if(arg_SECTION) ++ list(APPEND forward_args SECTION "${arg_SECTION}") ++ endif() + + set(_QT_FEATURE_DEFINITION_${alias_feature} ${forward_args} PARENT_SCOPE) + set(_QT_FEATURE_ALIASES_${arg_ALIAS_OF} "${_QT_FEATURE_ALIASES_${arg_ALIAS_OF}}" PARENT_SCOPE) +From dcec4a6d6dae9bc612a7c2c057204f24ddf4e44e Mon Sep 17 00:00:00 2001 +From: Cristian Le +Date: Tue, 04 Feb 2025 18:33:00 +0100 +Subject: [PATCH] Allow Feature to be alias of Cache variable + +Change-Id: I09b65cb038567a9f68a140e53a9e06eb15c8fc13 +--- + +diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake +index 89f83ff..9a73a05 100644 +--- a/cmake/QtFeature.cmake ++++ b/cmake/QtFeature.cmake +@@ -130,7 +130,8 @@ + # Synopsis + # + # qt_feature_alias( +-# ALIAS_OF ++# {ALIAS_OF_FEATURE | ALIAS_OF_CACHE } ++# [PRIVATE | PUBLIC] + # [LABEL ] + # [PURPOSE ] + # [SECTION ] +@@ -142,9 +143,12 @@ + # `` + # The feature alias to be created. + # +-# `ALIAS_OF` ++# `ALIAS_OF_FEATURE` + # The true canonical feature to consider. + # ++# `ALIAS_OF_CACHE` ++# The true cache variable that this value must synchronize with. ++# + # `SAVE` + # Populate the `QT_FEATURE_` as well. If `NEGATE` is used, this value has the opposite + # value of the main feature value. +@@ -154,13 +158,20 @@ + # + # `LABEL`, `PURPOSE`, `SECTION` + # Same as in `qt_feature` ++# ++# `PRIVATE`, `PUBLIC` ++# Same as in `qt_feature`. When `ALIAS_OF_FEATURE` is used, these have no effect, instead the ++# value of the the true feature is used. + function(qt_feature_alias alias_feature) + set(option_args + SAVE + NEGATE ++ PRIVATE ++ PUBLIC + ) + set(single_args +- ALIAS_OF ++ ALIAS_OF_FEATURE ++ ALIAS_OF_CACHE + LABEL + PURPOSE + SECTION +@@ -170,18 +181,26 @@ + cmake_parse_arguments(PARSE_ARGV 1 arg "${option_args}" "${single_args}" "${multi_args}") + _qt_internal_validate_all_args_are_parsed(arg) + +- if(NOT arg_ALIAS_OF) +- message(FATAL_ERROR "ALIAS_OF keyword not passed") ++ if(NOT arg_ALIAS_OF_FEATURE AND NOT arg_ALIAS_OF_CACHE) ++ message(FATAL_ERROR "One of ALIAS_OF_FEATURE,ALIAS_OF_CACHE must be passed.") ++ endif() ++ if(arg_ALIAS_OF_FEATURE AND arg_ALIAS_OF_CACHE) ++ message(FATAL_ERROR "ALIAS_OF_FEATURE and ALIAS_OF_CACHE are mutually exclusive.") + endif() + + set(original_name "${alias_feature}") + qt_feature_normalize_name("${alias_feature}" alias_feature) + set_property(GLOBAL PROPERTY QT_FEATURE_ORIGINAL_NAME_${alias_feature} "${original_name}") +- qt_feature_normalize_name("${arg_ALIAS_OF}" arg_ALIAS_OF) +- +- list(APPEND _QT_FEATURE_ALIASES_${arg_ALIAS_OF} "${alias_feature}") + + set(forward_args "") ++ if(arg_ALIAS_OF_FEATURE) ++ qt_feature_normalize_name("${arg_ALIAS_OF_FEATURE}" arg_ALIAS_OF_FEATURE) ++ list(APPEND _QT_FEATURE_ALIASES_${arg_ALIAS_OF_FEATURE} "${alias_feature}") ++ list(APPEND forward_args ALIAS_OF_FEATURE "${arg_ALIAS_OF_FEATURE}") ++ endif() ++ if(arg_ALIAS_OF_CACHE) ++ list(APPEND forward_args ALIAS_OF_CACHE "${arg_ALIAS_OF_CACHE}") ++ endif() + if(arg_SAVE) + list(APPEND forward_args ALIAS_SAVE) + endif() +@@ -199,16 +218,33 @@ + endif() + + set(_QT_FEATURE_DEFINITION_${alias_feature} ${forward_args} PARENT_SCOPE) +- set(_QT_FEATURE_ALIASES_${arg_ALIAS_OF} "${_QT_FEATURE_ALIASES_${arg_ALIAS_OF}}" PARENT_SCOPE) + +- # Register alias as a feature type similar to the true one +- foreach(type IN ITEMS public private internal) +- if(arg_ALIAS_OF IN_LIST __QtFeature_${type}_features) +- list(APPEND __QtFeature_${type}_features "${alias_feature}") +- set(__QtFeature_${type}_features ${__QtFeature_${type}_features} PARENT_SCOPE) +- break() ++ if(arg_ALIAS_OF_FEATURE) ++ # Register alias as a feature type similar to the true one ++ foreach(type IN ITEMS public private internal) ++ if(arg_ALIAS_OF_FEATURE IN_LIST __QtFeature_${type}_features) ++ list(APPEND __QtFeature_${type}_features "${alias_feature}") ++ set(__QtFeature_${type}_features ${__QtFeature_${type}_features} PARENT_SCOPE) ++ break() ++ endif() ++ endforeach() ++ set(_QT_FEATURE_ALIASES_${arg_ALIAS_OF_FEATURE} "${_QT_FEATURE_ALIASES_${arg_ALIAS_OF_FEATURE}}" PARENT_SCOPE) ++ else() ++ # Otherwise use the same logic as qt_feature ++ if (arg_PUBLIC) ++ list(APPEND __QtFeature_public_features "${alias_feature}") + endif() +- endforeach() ++ if (arg_PRIVATE) ++ list(APPEND __QtFeature_private_features "${alias_feature}") ++ endif() ++ if (NOT arg_PUBLIC AND NOT arg_PRIVATE) ++ list(APPEND __QtFeature_internal_features "${alias_feature}") ++ endif() ++ ++ set(__QtFeature_public_features ${__QtFeature_public_features} PARENT_SCOPE) ++ set(__QtFeature_private_features ${__QtFeature_private_features} PARENT_SCOPE) ++ set(__QtFeature_internal_features ${__QtFeature_internal_features} PARENT_SCOPE) ++ endif() + endfunction() + + function(qt_evaluate_to_boolean expressionVar) +@@ -388,7 +424,29 @@ + set(${expression_dump} "${${expression_dump}}" PARENT_SCOPE) + endfunction() + ++function(_qt_feature_check_cache_alias feature) ++ _qt_internal_parse_feature_definition("${feature}") ++ if(NOT arg_ALIAS_OF_CACHE) ++ # Not an alias, skip this check ++ return() ++ endif() ++ if(DEFINED "${arg_ALIAS_OF_CACHE}") ++ # Emit an error if both the primary cache and the FEATURE variable is set ++ if(DEFINED "FEATURE_${feature}") ++ string(CONCAT msg ++ "FEATURE_${feature} is an alias of ${arg_ALIAS_OF_CACHE}, and the latter was" ++ " already set. You may only use one of these variables." ++ ) ++ qt_configure_add_report_error(${msg}) ++ else() ++ # Otherwise make sure the FEATURE variable matches the cached ++ set(FEATURE_${feature} "${${arg_ALIAS_IF_CACHE}}" PARENT_SCOPE) ++ endif() ++ endif() ++endfunction() ++ + function(_qt_feature_check_feature_alias feature) ++ _qt_feature_check_cache_alias(${feature}) + if(DEFINED "FEATURE_${feature}") + # The main feature was already defined, use the current value. + # Just check if any other ALIAS was defined and emit a warning +@@ -561,7 +619,7 @@ + macro(_qt_internal_parse_feature_definition feature) + cmake_parse_arguments(arg + "PRIVATE;PUBLIC;ALIAS_SAVE;ALIAS_NEGATE" +- "LABEL;PURPOSE;SECTION;" ++ "LABEL;PURPOSE;SECTION;ALIAS_OF_FEATURE;ALIAS_OF_CACHE" + "AUTODETECT;CONDITION;ENABLE;DISABLE;EMIT_IF" + ${_QT_FEATURE_DEFINITION_${feature}}) + endmacro() +From 5ddff0a35d957107b5ae47e6a1e8de126a9798e8 Mon Sep 17 00:00:00 2001 +From: Cristian Le +Date: Tue, 04 Feb 2025 16:59:55 +0100 +Subject: [PATCH] Make `FEATURE_static` and `FEATURE_shared` aliased features + +Fixes: QTBUG-133407 +Change-Id: Ic17315b0229a829689b77e272cd9bbd331c3b0d7 +--- + +diff --git a/configure.cmake b/configure.cmake +index 12990f8..a3e3d6d 100644 +--- a/configure.cmake ++++ b/configure.cmake +@@ -519,15 +519,16 @@ + LABEL "Android Style Assets" + CONDITION ANDROID + ) +-qt_feature("shared" PUBLIC ++qt_feature_alias("shared" PUBLIC + LABEL "Building shared libraries" +- CONDITION BUILD_SHARED_LIBS ++ ALIAS_OF_CACHE BUILD_SHARED_LIBS + ) + qt_feature_definition("shared" "QT_STATIC" NEGATE PREREQUISITE "!defined(QT_SHARED) && !defined(QT_STATIC)") + qt_feature_config("shared" QMAKE_PUBLIC_QT_CONFIG) + qt_feature_config("shared" QMAKE_PUBLIC_CONFIG) +-qt_feature("static" PUBLIC +- CONDITION NOT QT_FEATURE_shared ++qt_feature_alias("static" ++ ALIAS_OF_FEATURE "shared" ++ NEGATE SAVE + ) + qt_feature_config("static" QMAKE_PUBLIC_QT_CONFIG) + qt_feature_config("static" QMAKE_PUBLIC_CONFIG) diff --git a/qt6-8.yaml b/qt6-8.yaml index 462fbdf..ab24c3e 100644 --- a/qt6-8.yaml +++ b/qt6-8.yaml @@ -20,12 +20,17 @@ modules: config-opts: - -DINSTALL_LIBDIR=/app/lib/ - -DINSTALL_ARCHDATADIR=lib - - -DQT_DISABLE_RPATH=ON - - -DBUILD_WITH_PCH=FALSE - - -DQT_FEATURE_openssl_linked=ON - - -DQT_FEATURE_sql=OFF - - -DQT_FEATURE_printsupport=OFF - - -DQT_FEATURE_testlib=OFF + - -DBUILD_SHARED_LIBS=OFF + - -DFEATURE_rpath=OFF + - -DFEATURE_precompile_header=OFF + - -DFEATURE_openssl_linked=ON + - -DFEATURE_sql=OFF + - -DFEATURE_printsupport=OFF + - -DFEATURE_testlib=OFF + - -DFEATURE_eglfs=OFF + - -DFEATURE_linuxfb=OFF + - -DFEATURE_vnc=OFF + - -DFEATURE_vkkhrdisplay=OFF sources: - type: archive url: https://download.qt.io/official_releases/qt/6.8/6.8.2/submodules/qtbase-everywhere-src-6.8.2.tar.xz @@ -40,6 +45,9 @@ modules: - type: patch paths: - patch/qtbase-find_package-paths.patch + - type: patch + paths: + - patch/qtbase-fix-static-build.patch - name: qt6-qtsvg buildsystem: cmake-ninja sources: From 70335002cf68ca9a9886ddb0761e10b2e88052a0 Mon Sep 17 00:00:00 2001 From: kemal Date: Thu, 6 Feb 2025 19:57:18 +0300 Subject: [PATCH 13/30] prevent the version tag link error in qadwaita --- com.github.ahrm.sioyek.yaml | 2 ++ ...adwaitadecorations-use-qt-add-plugin.patch | 21 +++++++++++++++++++ qt6-8.yaml | 2 +- 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 patch/qadwaitadecorations-use-qt-add-plugin.patch diff --git a/com.github.ahrm.sioyek.yaml b/com.github.ahrm.sioyek.yaml index 0a91829..1ba334f 100644 --- a/com.github.ahrm.sioyek.yaml +++ b/com.github.ahrm.sioyek.yaml @@ -34,6 +34,8 @@ modules: - type: git url: https://github.com/FedoraQt/QAdwaitaDecorations.git tag: 0.1.6 + - type: patch + path: patch/qadwaitadecorations-use-qt-add-plugin.patch - "shared-modules/glu/glu-9.json" - name: sioyek buildsystem: simple diff --git a/patch/qadwaitadecorations-use-qt-add-plugin.patch b/patch/qadwaitadecorations-use-qt-add-plugin.patch new file mode 100644 index 0000000..9216b1f --- /dev/null +++ b/patch/qadwaitadecorations-use-qt-add-plugin.patch @@ -0,0 +1,21 @@ +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -4,15 +4,8 @@ + qadwaitadecorations.cpp + ) + +-add_library(qadwaitadecorations MODULE ${qadwaitadecorations_SRCS}) +-target_link_libraries(qadwaitadecorations +- Qt${QT_VERSION_MAJOR}::Core +- Qt${QT_VERSION_MAJOR}::Gui +- Qt${QT_VERSION_MAJOR}::GuiPrivate +- Qt${QT_VERSION_MAJOR}::Svg +- Qt${QT_VERSION_MAJOR}::WaylandClientPrivate +- Qt${QT_VERSION_MAJOR}::Widgets +-) ++link_libraries(PRIVATE Qt${QT_VERSION_MAJOR}::WaylandClientPrivate) ++qt_add_plugin(qadwaitadecorations ${qadwaitadecorations_SRCS}) + + if (NOT USE_QT6) + if (${Qt5XkbCommonSupport_FOUND}) + diff --git a/qt6-8.yaml b/qt6-8.yaml index ab24c3e..bea74ad 100644 --- a/qt6-8.yaml +++ b/qt6-8.yaml @@ -18,9 +18,9 @@ modules: - name: qt6-qtbase buildsystem: cmake-ninja config-opts: - - -DINSTALL_LIBDIR=/app/lib/ - -DINSTALL_ARCHDATADIR=lib - -DBUILD_SHARED_LIBS=OFF + - -DFEATURE_relocatable=OFF - -DFEATURE_rpath=OFF - -DFEATURE_precompile_header=OFF - -DFEATURE_openssl_linked=ON From ab1f2de8aada5fa1f7e92fcd1e0ef14680ccfa71 Mon Sep 17 00:00:00 2001 From: kemal Date: Fri, 7 Feb 2025 23:51:24 +0300 Subject: [PATCH 14/30] enable wayland qpa plugin (has to be enabled manually in static qt) --- com.github.ahrm.sioyek.yaml | 14 ++------------ patch/sioyek_build_fix.patch | 2 +- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/com.github.ahrm.sioyek.yaml b/com.github.ahrm.sioyek.yaml index 1ba334f..22d9c66 100644 --- a/com.github.ahrm.sioyek.yaml +++ b/com.github.ahrm.sioyek.yaml @@ -24,18 +24,6 @@ finish-args: modules: - qt6-8.yaml - - name: qadwaitadecorations - buildsystem: cmake-ninja - config-opts: - - -DCMAKE_INSTALL_PREFIX=/app/lib/plugins - - -DQT_PLUGINS_DIR=/app/lib/plugins - - -DUSE_QT6=ON - sources: - - type: git - url: https://github.com/FedoraQt/QAdwaitaDecorations.git - tag: 0.1.6 - - type: patch - path: patch/qadwaitadecorations-use-qt-add-plugin.patch - "shared-modules/glu/glu-9.json" - name: sioyek buildsystem: simple @@ -69,6 +57,7 @@ cleanup: - '*.a' - '*.prl' - '*.so' + - '*.so.*' - /bin/a* - /bin/q* - /doc @@ -79,4 +68,5 @@ cleanup: - /lib/objects-Release - /lib/metatypes - /lib/systemd + - /lib/plugins - /mkspecs diff --git a/patch/sioyek_build_fix.patch b/patch/sioyek_build_fix.patch index 7902c6f..7e79021 100644 --- a/patch/sioyek_build_fix.patch +++ b/patch/sioyek_build_fix.patch @@ -5,7 +5,7 @@ -QT += core opengl gui widgets network 3dinput -+QT += core opengl gui widgets network ++QT += core opengl gui widgets network waylandclient greaterThan(QT_MAJOR_VERSION, 5){ QT += openglwidgets From bdd4a33eacfcf4080bf78a1af8185d619bdc9202 Mon Sep 17 00:00:00 2001 From: kemal Date: Sat, 8 Feb 2025 00:18:49 +0300 Subject: [PATCH 15/30] build mupdf with system libraries --- patch/sioyek_build_fix.patch | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/patch/sioyek_build_fix.patch b/patch/sioyek_build_fix.patch index 7e79021..576ba8d 100644 --- a/patch/sioyek_build_fix.patch +++ b/patch/sioyek_build_fix.patch @@ -82,3 +82,14 @@ #include #include #include +--- a/build_linux.sh ++++ b/build_linux.sh +@@ -3,7 +3,7 @@ + + # Compile mupdf + cd mupdf +-make USE_SYSTEM_HARFBUZZ=yes ++make USE_SYSTEM_LIBS=yes + cd .. + + # Compile sioyek From 212d9296c6c3272da02e632b156a010df5b43b14 Mon Sep 17 00:00:00 2001 From: kemal Date: Sat, 8 Feb 2025 00:43:38 +0300 Subject: [PATCH 16/30] ugh --- ...adwaitadecorations-use-qt-add-plugin.patch | 21 ----------- patch/sioyek_build_fix.patch | 36 ++++++++++++------- 2 files changed, 23 insertions(+), 34 deletions(-) delete mode 100644 patch/qadwaitadecorations-use-qt-add-plugin.patch diff --git a/patch/qadwaitadecorations-use-qt-add-plugin.patch b/patch/qadwaitadecorations-use-qt-add-plugin.patch deleted file mode 100644 index 9216b1f..0000000 --- a/patch/qadwaitadecorations-use-qt-add-plugin.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -4,15 +4,8 @@ - qadwaitadecorations.cpp - ) - --add_library(qadwaitadecorations MODULE ${qadwaitadecorations_SRCS}) --target_link_libraries(qadwaitadecorations -- Qt${QT_VERSION_MAJOR}::Core -- Qt${QT_VERSION_MAJOR}::Gui -- Qt${QT_VERSION_MAJOR}::GuiPrivate -- Qt${QT_VERSION_MAJOR}::Svg -- Qt${QT_VERSION_MAJOR}::WaylandClientPrivate -- Qt${QT_VERSION_MAJOR}::Widgets --) -+link_libraries(PRIVATE Qt${QT_VERSION_MAJOR}::WaylandClientPrivate) -+qt_add_plugin(qadwaitadecorations ${qadwaitadecorations_SRCS}) - - if (NOT USE_QT6) - if (${Qt5XkbCommonSupport_FOUND}) - diff --git a/patch/sioyek_build_fix.patch b/patch/sioyek_build_fix.patch index 576ba8d..50a58cb 100644 --- a/patch/sioyek_build_fix.patch +++ b/patch/sioyek_build_fix.patch @@ -1,26 +1,36 @@ ---- a/pdf_viewer_build_config.pro 2022-02-18 07:47:57.000000000 -0400 -+++ b/pdf_viewer_build_config.pro 2022-03-07 17:50:49.489579924 -0400 -@@ -6,7 +6,7 @@ +--- a/pdf_viewer_build_config.pro ++++ b/pdf_viewer_build_config.pro +@@ -6,7 +6,8 @@ zlib - + -QT += core opengl gui widgets network 3dinput -+QT += core opengl gui widgets network waylandclient - ++QT += core opengl gui widgets network waylandclient-private ++QTPLUGIN += qwayland-generic qwayland-egl qwayland-brcm-egl + greaterThan(QT_MAJOR_VERSION, 5){ - QT += openglwidgets -@@ -17,7 +17,7 @@ + QT += openglwidgets +@@ -17,7 +18,7 @@ } - + CONFIG += c++17 -DEFINES += QT_3DINPUT_LIB QT_OPENGL_LIB QT_OPENGLEXTENSIONS_LIB QT_WIDGETS_LIB +DEFINES += QT_OPENGL_LIB QT_OPENGLEXTENSIONS_LIB QT_WIDGETS_LIB - + CONFIG(non_portable){ DEFINES += NON_PORTABLE -@@ -96,7 +96,7 @@ +@@ -88,7 +89,7 @@ + QMAKE_CXXFLAGS += -std=c++17 + + CONFIG(linux_app_image){ +- LIBS += -ldl -Lmupdf/build/release -lmupdf -lmupdf-third -lmupdf-threads -lharfbuzz -lz ++ LIBS += -ldl -Lmupdf/build/release -lmupdf -lmupdf-third -lmupdf-threads -lharfbuzz -lz -lfreetype -lopenjp2 -ljpeg + } else { + DEFINES += NON_PORTABLE + DEFINES += LINUX_STANDARD_PATHS +@@ -96,7 +97,7 @@ } - + isEmpty(PREFIX){ - PREFIX = /usr + PREFIX = /app @@ -89,7 +99,7 @@ # Compile mupdf cd mupdf -make USE_SYSTEM_HARFBUZZ=yes -+make USE_SYSTEM_LIBS=yes ++make USE_SYSTEM_HARFBUZZ=yes USE_SYSTEM_FREETYPE=yes USE_SYSTEM_OPENJPEG=yes USE_SYSTEM_ZLIB=yes USE_SYSTEM_LIBJPEG=yes cd .. # Compile sioyek From 9da9e7762c72eedb30b30b61c608dbf44247e522 Mon Sep 17 00:00:00 2001 From: kemal Date: Sat, 8 Feb 2025 14:54:08 +0300 Subject: [PATCH 17/30] remove the update check to not link qtnetworks http classes --- patch/sioyek_build_fix.patch | 40 +++++++++++++++++++++++++++++++++++- qt6-8.yaml | 2 ++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/patch/sioyek_build_fix.patch b/patch/sioyek_build_fix.patch index 50a58cb..5c5825e 100644 --- a/patch/sioyek_build_fix.patch +++ b/patch/sioyek_build_fix.patch @@ -6,7 +6,7 @@ -QT += core opengl gui widgets network 3dinput +QT += core opengl gui widgets network waylandclient-private -+QTPLUGIN += qwayland-generic qwayland-egl qwayland-brcm-egl ++QTPLUGIN += qwayland-generic qwayland-egl greaterThan(QT_MAJOR_VERSION, 5){ QT += openglwidgets @@ -103,3 +103,41 @@ cd .. # Compile sioyek +--- a/pdf_viewer/utils.cpp ++++ b/pdf_viewer/utils.cpp +@@ -1697,34 +1697,7 @@ + return common_prefix_index; + } + +-void check_for_updates(QWidget* parent, std::string current_version) { +- +- QString url = "https://github.com/ahrm/sioyek/releases/latest"; +- QNetworkAccessManager* manager = new QNetworkAccessManager; +- +- QObject::connect(manager, &QNetworkAccessManager::finished, [=](QNetworkReply *reply) { +- std::string response_text = reply->readAll().toStdString(); +- int first_index = response_text.find("\""); +- int last_index = response_text.rfind("\""); +- std::string url_string = response_text.substr(first_index + 1, last_index - first_index - 1); +- +- std::vector parts; +- split_path(utf8_decode(url_string), parts); +- if (parts.size() > 0) { +- std::string version_string = utf8_encode(parts.back().substr(1, parts.back().size() - 1)); +- +- if (version_string != current_version) { +- int ret = QMessageBox::information(parent, "Update", QString::fromStdString("Do you want to update from " + current_version + " to " + version_string + "?"), +- QMessageBox::Ok | QMessageBox::Cancel, +- QMessageBox::Cancel); +- if (ret == QMessageBox::Ok) { +- open_web_url(url); +- } +- } +- +- } +- }); +- manager->get(QNetworkRequest(QUrl(url))); ++void check_for_updates(QWidget*, std::string) { + } + + QString expand_home_dir(QString path) { diff --git a/qt6-8.yaml b/qt6-8.yaml index bea74ad..a734eb1 100644 --- a/qt6-8.yaml +++ b/qt6-8.yaml @@ -1,5 +1,7 @@ name: qtwayland buildsystem: cmake-ninja +config-opts: + - -DFEATURE_wayland_server=OFF sources: - type: archive url: https://download.qt.io/official_releases/qt/6.8/6.8.2/submodules/qtwayland-everywhere-src-6.8.2.tar.xz From d4826cd315b34194e38eb13fe8e0427e1fc07264 Mon Sep 17 00:00:00 2001 From: kemal Date: Sat, 1 Mar 2025 20:49:56 +0300 Subject: [PATCH 18/30] update the static build fix patch --- patch/qtbase-fix-static-build.patch | 583 +++++++++++++++++++--------- 1 file changed, 395 insertions(+), 188 deletions(-) diff --git a/patch/qtbase-fix-static-build.patch b/patch/qtbase-fix-static-build.patch index d118280..a57b762 100644 --- a/patch/qtbase-fix-static-build.patch +++ b/patch/qtbase-fix-static-build.patch @@ -1,4 +1,41 @@ -From 9558e24f03a7e34118b4eab823c0fe059d681ced Mon Sep 17 00:00:00 2001 +From b71647d06970b2cc3b63b93c020eca8caf0a519f Mon Sep 17 00:00:00 2001 +From: Cristian Le +Date: Tue, 21 Jan 2025 17:07:16 +0100 +Subject: [PATCH] Check for misspelled `FEATURE_*` variable + +The feature names are normalized using `qt_feature_normalize_name`, but +a user might read `qt_feature` usage and not realize that they should +normalize the name in the `FEATURE_*` variable. + +This change emits an error if it detects such invalid names. + +Fixes: QTBUG-132464 +Pick-to: 6.8 6.9 +Change-Id: I33c7ab9f589c92e11e16d376660e8b6152339d12 +Reviewed-by: Alexandru Croitor +--- + +diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake +index 453f3d72116..42496f94712 100644 +--- a/cmake/QtFeature.cmake ++++ b/cmake/QtFeature.cmake +@@ -353,6 +353,15 @@ function(qt_feature_check_and_save_user_provided_value + set("FEATURE_${feature}" "${result}" CACHE BOOL "${label}") + endif() + ++ # Check for potential typo ++ get_property(original_name GLOBAL PROPERTY "QT_FEATURE_ORIGINAL_NAME_${feature}") ++ if(NOT original_name STREQUAL feature AND DEFINED "FEATURE_${original_name}") ++ unset("FEATURE_${original_name}" CACHE) ++ qt_configure_add_report_error( ++ "FEATURE_${original_name} does not exist. Consider using: FEATURE_${feature}" ++ ) ++ endif() ++ + set("${resultVar}" "${result}" PARENT_SCOPE) + endfunction() + +From 4bbd324a0a4a488b9ff4272888cc6b7f516d78ff Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Tue, 04 Feb 2025 11:54:41 +0100 Subject: [PATCH] Add `qt_feature_alias` @@ -10,13 +47,14 @@ one-to-one equivalence with the original target. - Multiple aliases of a feature cannot be set at the same time Change-Id: I5b17ec3af51761880a7edb0c47ad8144815f1f93 +Reviewed-by: Alexandru Croitor --- diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake -index 42496f9..1b7c1f4 100644 +index 42496f9..5b915fb 100644 --- a/cmake/QtFeature.cmake +++ b/cmake/QtFeature.cmake -@@ -115,6 +115,66 @@ +@@ -115,6 +115,69 @@ set(__QtFeature_internal_features ${__QtFeature_internal_features} PARENT_SCOPE) endfunction() @@ -62,10 +100,14 @@ index 42496f9..1b7c1f4 100644 + qt_feature_normalize_name("${alias_feature}" alias_feature) + set_property(GLOBAL PROPERTY QT_FEATURE_ORIGINAL_NAME_${alias_feature} "${original_name}") + qt_feature_normalize_name("${arg_ALIAS_OF}" arg_ALIAS_OF) ++ if(NOT DEFINED _QT_FEATURE_DEFINITION_${arg_ALIAS_OF}) ++ message(FATAL_ERROR "Primary feature ${arg_ALIAS_OF} was not defined yet.") ++ endif() + + list(APPEND _QT_FEATURE_ALIASES_${arg_ALIAS_OF} "${alias_feature}") + + set(forward_args "") ++ list(APPEND forward_args ALIAS_OF "${arg_ALIAS_OF}") + + set(_QT_FEATURE_DEFINITION_${alias_feature} ${forward_args} PARENT_SCOPE) + set(_QT_FEATURE_ALIASES_${arg_ALIAS_OF} "${_QT_FEATURE_ALIASES_${arg_ALIAS_OF}}" PARENT_SCOPE) @@ -75,7 +117,6 @@ index 42496f9..1b7c1f4 100644 + if(arg_ALIAS_OF IN_LIST __QtFeature_${type}_features) + list(APPEND __QtFeature_${type}_features "${alias_feature}") + set(__QtFeature_${type}_features ${__QtFeature_${type}_features} PARENT_SCOPE) -+ break() + endif() + endforeach() +endfunction() @@ -83,51 +124,107 @@ index 42496f9..1b7c1f4 100644 function(qt_evaluate_to_boolean expressionVar) if(${${expressionVar}}) set(${expressionVar} ON PARENT_SCOPE) -@@ -292,6 +352,43 @@ +@@ -292,6 +355,99 @@ set(${expression_dump} "${${expression_dump}}" PARENT_SCOPE) endfunction() ++# Check the actual value of a given feature/alias. ++# The value can come from `FEATURE_` being set or from another alias. ++# The out_var is sanitized to 0/1 and it is not set if the feature was not defined. ++function(_qt_feature_evaluate_alias out_var alias) ++ # Evaluate the alias against the aliases of the alias ++ _qt_feature_check_feature_alias(${alias}) ++ if(NOT DEFINED FEATURE_${alias}) ++ # If the alias was not defined, don't set value ++ return() ++ endif() ++ # Evaluate the value and return it ++ qt_set01(${out_var} FEATURE_${alias}) ++ set(${out_var} "${${out_var}}" PARENT_SCOPE) ++endfunction() ++ ++# Check that the feature value is consistent with any of its aliases. ++# If the feature was not set via `FEATURE_`, it may be set by the aliases. +function(_qt_feature_check_feature_alias feature) + if(DEFINED "FEATURE_${feature}") + # The main feature was already defined, use the current value. -+ # Just check if any other ALIAS was defined and emit a warning ++ # Just check if the other aliases have agreeing values. ++ qt_set01(expected_value FEATURE_${feature}) ++ unset(alias_value) + foreach(alias IN LISTS _QT_FEATURE_ALIASES_${feature}) -+ if(DEFINED "FEATURE_${alias}") -+ string(CONCAT msg -+ "FEATURE_${alias} is an alias of FEATURE_${feature}, and the latter was" -+ " already set. You may only use one of these features." -+ ) -+ qt_configure_add_report_error(${msg}) -+ endif() -+ endforeach() -+ else() -+ set(alias "") -+ foreach(check_alias IN LISTS _QT_FEATURE_ALIASES_${feature}) -+ if(DEFINED "FEATURE_${check_alias}") -+ list(APPEND alias ${check_alias}) ++ _qt_feature_evaluate_alias(alias_value ${alias}) ++ if(DEFINED alias_value) ++ if(NOT expected_value EQUAL alias_value) ++ string(CONCAT msg ++ "Alias FEATURE_${alias}(${FEATURE_${alias}}) is an alias of " ++ "FEATURE_${feature}(${FEATURE_${alias}}), and their values conflict" ++ ) ++ qt_configure_add_report_error(${msg}) ++ endif() ++ unset(alias_value) + endif() + endforeach() -+ list(LENGTH alias alias_number) -+ if(alias_number GREATER 1) -+ # We can only deal with one alias being set ++ return() ++ endif() ++ # Otherwise try to set the `feature` value from the aliases ++ set(aliases_set "") ++ set(expected_value "") ++ unset(value) ++ foreach(alias IN LISTS _QT_FEATURE_ALIASES_${feature}) ++ _qt_feature_evaluate_alias(value ${alias}) ++ if(DEFINED value) ++ list(APPEND aliases_set "${alias}") ++ list(APPEND expected_value "${value}") ++ unset(value) ++ endif() ++ endforeach() ++ # If there were no aliases set, do not set the feature either ++ if(NOT aliases_set) ++ return() ++ endif() ++ # Check if all values are consistent ++ list(TRANSFORM REMOVE_DUPLICATES expected_value) ++ list(LENGTH expected_value expected_value_length) ++ if(expected_value_length GREATER 1) ++ string(CONCAT msg ++ "Multiple aliases of FEATURE_${feature} were defined, with conflicting values.\n" ++ "Aliases:" ++ ) ++ while(aliases_set) ++ list(POP_FRONT aliases_set alias) + string(CONCAT msg -+ "Multiple aliases of FEATURE_${feature} were defined, we don't know which to" -+ " respect. Aliases: ${alias}" ++ "${msg}\n" ++ " - FEATURE_${alias}(${FEATURE_${alias}})" + ) -+ qt_configure_add_report_error(${msg}) -+ elseif(alias_number EQUAL 1) -+ # A unique alias is provided, use this value for the main feature -+ _qt_internal_parse_feature_definition("${alias}") -+ # Copy the value as-is -+ set("FEATURE_${feature}" "${FEATURE_${alias}}" PARENT_SCOPE) -+ endif() ++ endwhile() ++ qt_configure_add_report_error(${msg}) ++ return() + endif() ++ # All aliased values are agreeing ++ set("FEATURE_${feature}" ${expected_value} PARENT_SCOPE) ++endfunction() ++ ++# Make sure all the direct alias values are set after the final evaluation of the feature value. ++# Must be run after `_qt_feature_check_feature_alias` which checks for user-defined values and ++# any inconsistencies ++function(_qt_feature_save_alias feature) ++ foreach(alias IN LISTS _QT_FEATURE_ALIASES_${feature}) ++ # We only need to set the alias values if they were not explicitly set. The consistency ++ # check for those was done prior to this function call. ++ if(NOT DEFINED FEATURE_${alias}) ++ # Set the values based on the main feature's value ++ set(FEATURE_${alias} ${FEATURE_${feature}} CACHE BOOL ++ # Using a temporary docstring that should be overwritten if everything works well ++ "(temporarily set by _qt_feature_save_alias)" ++ ) ++ endif() ++ endforeach() +endfunction() + # Stores the user provided value to FEATURE_${feature} if provided. # If not provided, stores ${computed} instead. # ${computed} is also stored when reconfiguring and the condition does not align with the user -@@ -299,6 +396,7 @@ +@@ -299,6 +455,7 @@ # function(qt_feature_check_and_save_user_provided_value resultVar feature condition condition_expression computed label) @@ -135,7 +232,83 @@ index 42496f9..1b7c1f4 100644 if (DEFINED "FEATURE_${feature}") # Revisit new user provided value set(user_value "${FEATURE_${feature}}") -@@ -810,6 +908,7 @@ +@@ -351,6 +508,10 @@ + # Initial setup: + set(result "${computed}") + set("FEATURE_${feature}" "${result}" CACHE BOOL "${label}") ++ # Update the HELPSTRING if needed ++ set_property(CACHE "FEATURE_${feature}" PROPERTY ++ HELPSTRING "${label}" ++ ) + endif() + + # Check for potential typo +@@ -362,6 +523,9 @@ + ) + endif() + ++ # Set the values of each direct alias ++ _qt_feature_save_alias("${feature}") ++ + set("${resultVar}" "${result}" PARENT_SCOPE) + endfunction() + +@@ -394,7 +558,7 @@ + macro(_qt_internal_parse_feature_definition feature) + cmake_parse_arguments(arg + "PRIVATE;PUBLIC" +- "LABEL;PURPOSE;SECTION;" ++ "LABEL;PURPOSE;SECTION;ALIAS_OF" + "AUTODETECT;CONDITION;ENABLE;DISABLE;EMIT_IF" + ${_QT_FEATURE_DEFINITION_${feature}}) + endmacro() +@@ -436,6 +600,12 @@ + + _qt_internal_parse_feature_definition("${feature}") + ++ if(arg_ALIAS_OF) ++ # If the current feature is an alias of another, we have to check the original source first ++ # in order to be consistent with the original source if set ++ qt_evaluate_feature("${arg_ALIAS_OF}") ++ endif() ++ + if("${arg_ENABLE}" STREQUAL "") + set(arg_ENABLE OFF) + endif() +@@ -474,6 +644,11 @@ + qt_evaluate_config_expression(emit_if ${arg_EMIT_IF}) + endif() + ++ set(actual_label "${arg_LABEL}") ++ if(arg_ALIAS_OF) ++ string(APPEND actual_label " (alias of ${arg_ALIAS_OF})") ++ endif() ++ + # Warn about a feature which is not emitted, but the user explicitly provided a value for it. + if(NOT emit_if AND DEFINED FEATURE_${feature}) + set(msg "") +@@ -491,17 +666,17 @@ + if(emit_if) + qt_feature_check_and_save_user_provided_value( + saved_user_value +- "${feature}" "${condition}" "${arg_CONDITION}" "${computed}" "${arg_LABEL}") ++ "${feature}" "${condition}" "${arg_CONDITION}" "${computed}" "${actual_label}") + else() + # Make sure the feature internal value is OFF if not emitted. + set(saved_user_value OFF) + endif() + + qt_feature_check_and_save_internal_value( +- "${feature}" "${saved_user_value}" "${condition}" "${arg_LABEL}" "${arg_CONDITION}") ++ "${feature}" "${saved_user_value}" "${condition}" "${actual_label}" "${arg_CONDITION}") + + # Store each feature's label for summary info. +- set(QT_FEATURE_LABEL_${feature} "${arg_LABEL}" CACHE INTERNAL "") ++ set(QT_FEATURE_LABEL_${feature} "${actual_label}" CACHE INTERNAL "") + endfunction() + + # Collect feature names that ${feature} depends on, by inspecting the given expression. +@@ -810,6 +985,7 @@ foreach(feature ${all_features}) unset(_QT_FEATURE_DEFINITION_${feature} PARENT_SCOPE) @@ -144,7 +317,7 @@ index 42496f9..1b7c1f4 100644 if(NOT arg_ONLY_EVALUATE_FEATURES) diff --git a/cmake/QtProcessConfigureArgs.cmake b/cmake/QtProcessConfigureArgs.cmake -index b6736c4..77d9573 100644 +index 6800415..c0a4e55 100644 --- a/cmake/QtProcessConfigureArgs.cmake +++ b/cmake/QtProcessConfigureArgs.cmake @@ -230,6 +230,11 @@ @@ -159,16 +332,17 @@ index b6736c4..77d9573 100644 function(find_package) message(FATAL_ERROR "find_package must not be used directly in configure.cmake. " "Use qt_find_package or guard the call with an if(NOT QT_CONFIGURE_RUNNING) block.") -From c7a07ca47a4a7664f47ee56ab3c0a3008b08c485 Mon Sep 17 00:00:00 2001 +From 6a93429fc074e56ffbcabf479d7295df6426dbdf Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Tue, 04 Feb 2025 16:43:10 +0100 Subject: [PATCH] Add `NEGATE` to `qt_feature_alias` Change-Id: I9e10618a3bc76d285d7bd59ebbf5bc5e56de62d0 +Reviewed-by: Alexandru Croitor --- diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake -index 1b7c1f4..47ff6c4 100644 +index 5b915fb..5117765 100644 --- a/cmake/QtFeature.cmake +++ b/cmake/QtFeature.cmake @@ -132,6 +132,7 @@ @@ -194,149 +368,122 @@ index 1b7c1f4..47ff6c4 100644 set(single_args ALIAS_OF) set(multi_args "") -@@ -161,6 +167,9 @@ - list(APPEND _QT_FEATURE_ALIASES_${arg_ALIAS_OF} "${alias_feature}") +@@ -165,6 +171,9 @@ set(forward_args "") + list(APPEND forward_args ALIAS_OF "${arg_ALIAS_OF}") + if(arg_NEGATE) + list(APPEND forward_args ALIAS_NEGATE) + endif() set(_QT_FEATURE_DEFINITION_${alias_feature} ${forward_args} PARENT_SCOPE) set(_QT_FEATURE_ALIASES_${arg_ALIAS_OF} "${_QT_FEATURE_ALIASES_${arg_ALIAS_OF}}" PARENT_SCOPE) -@@ -383,8 +392,17 @@ - elseif(alias_number EQUAL 1) - # A unique alias is provided, use this value for the main feature - _qt_internal_parse_feature_definition("${alias}") -- # Copy the value as-is -- set("FEATURE_${feature}" "${FEATURE_${alias}}" PARENT_SCOPE) -+ if(arg_ALIAS_NEGATE) -+ # Negate the alias value and return it -+ if(FEATURE_${alias}) -+ set("FEATURE_${feature}" False PARENT_SCOPE) -+ else() -+ set("FEATURE_${feature}" True PARENT_SCOPE) -+ endif() -+ else() -+ # Copy the value as-is -+ set("FEATURE_${feature}" "${FEATURE_${alias}}" PARENT_SCOPE) -+ endif() - endif() +@@ -365,9 +374,17 @@ + # If the alias was not defined, don't set value + return() endif() ++ # Check if we need to negate the value to be set or not ++ set(not_kw) ++ _qt_internal_parse_feature_definition("${alias}") ++ if(arg_ALIAS_NEGATE) ++ set(not_kw "NOT") ++ endif() + # Evaluate the value and return it +- qt_set01(${out_var} FEATURE_${alias}) ++ qt_set01(${out_var} ${not_kw} FEATURE_${alias}) + set(${out_var} "${${out_var}}" PARENT_SCOPE) ++ # Also set `not_kw` since it would be reused by the caller ++ set(not_kw "${not_kw}" PARENT_SCOPE) endfunction() -@@ -491,7 +509,7 @@ + + # Check that the feature value is consistent with any of its aliases. +@@ -383,7 +400,7 @@ + if(DEFINED alias_value) + if(NOT expected_value EQUAL alias_value) + string(CONCAT msg +- "Alias FEATURE_${alias}(${FEATURE_${alias}}) is an alias of " ++ "Alias FEATURE_${alias}(${FEATURE_${alias}}) is an alias of ${not_kw} " + "FEATURE_${feature}(${FEATURE_${alias}}), and their values conflict" + ) + qt_configure_add_report_error(${msg}) +@@ -396,12 +413,14 @@ + # Otherwise try to set the `feature` value from the aliases + set(aliases_set "") + set(expected_value "") ++ set(alias_not_kws "") + unset(value) + foreach(alias IN LISTS _QT_FEATURE_ALIASES_${feature}) + _qt_feature_evaluate_alias(value ${alias}) + if(DEFINED value) + list(APPEND aliases_set "${alias}") + list(APPEND expected_value "${value}") ++ list(APPEND alias_not_kws "${not_kw}") + unset(value) + endif() + endforeach() +@@ -419,9 +438,10 @@ + ) + while(aliases_set) + list(POP_FRONT aliases_set alias) ++ list(POP_FRONT alias_not_kws not_kw) + string(CONCAT msg + "${msg}\n" +- " - FEATURE_${alias}(${FEATURE_${alias}})" ++ " - ${not_kw} FEATURE_${alias}(${FEATURE_${alias}})" + ) + endwhile() + qt_configure_add_report_error(${msg}) +@@ -439,8 +459,16 @@ + # We only need to set the alias values if they were not explicitly set. The consistency + # check for those was done prior to this function call. + if(NOT DEFINED FEATURE_${alias}) ++ # Evaluate the alias value based on the original ++ set(not_kw) ++ _qt_internal_parse_feature_definition("${alias}") ++ if(arg_ALIAS_NEGATE) ++ set(not_kw "NOT") ++ endif() ++ qt_set01(value ${not_kw} FEATURE_${feature}) ++ qt_evaluate_to_boolean(value) + # Set the values based on the main feature's value +- set(FEATURE_${alias} ${FEATURE_${feature}} CACHE BOOL ++ set(FEATURE_${alias} ${value} CACHE BOOL + # Using a temporary docstring that should be overwritten if everything works well + "(temporarily set by _qt_feature_save_alias)" + ) +@@ -557,7 +585,7 @@ macro(_qt_internal_parse_feature_definition feature) cmake_parse_arguments(arg - "PRIVATE;PUBLIC" + "PRIVATE;PUBLIC;ALIAS_NEGATE" - "LABEL;PURPOSE;SECTION;" + "LABEL;PURPOSE;SECTION;ALIAS_OF" "AUTODETECT;CONDITION;ENABLE;DISABLE;EMIT_IF" ${_QT_FEATURE_DEFINITION_${feature}}) -From 3a9ada8914440a4e68c356d3405ef5817cdd8b03 Mon Sep 17 00:00:00 2001 -From: Cristian Le -Date: Tue, 04 Feb 2025 16:48:12 +0100 -Subject: [PATCH] Add `SAVE` to `qt_feature_alias` - -Change-Id: Ia3e99a58b738eca8acb4ded57fce19620be94164 ---- - -diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake -index 47ff6c4..40c15af 100644 ---- a/cmake/QtFeature.cmake -+++ b/cmake/QtFeature.cmake -@@ -132,7 +132,7 @@ - # - # qt_feature_alias( - # ALIAS_OF --# [NEGATE] -+# [SAVE] [NEGATE] - # ) - # - # Arguments -@@ -143,10 +143,15 @@ - # `ALIAS_OF` - # The true canonical feature to consider. - # -+# `SAVE` -+# Populate the `QT_FEATURE_` as well. If `NEGATE` is used, this value has the opposite -+# value of the main feature value. -+# - # `NEGATE` - # Populate the main FEATURE variable with the opposite of the alias's value - function(qt_feature_alias alias_feature) - set(option_args -+ SAVE - NEGATE - ) - set(single_args ALIAS_OF) -@@ -167,6 +172,9 @@ - list(APPEND _QT_FEATURE_ALIASES_${arg_ALIAS_OF} "${alias_feature}") - - set(forward_args "") -+ if(arg_SAVE) -+ list(APPEND forward_args ALIAS_SAVE) -+ endif() - if(arg_NEGATE) - list(APPEND forward_args ALIAS_NEGATE) - endif() -@@ -407,6 +415,29 @@ - endif() - endfunction() +@@ -646,7 +674,11 @@ -+function(_qt_feature_set_feature_alias feature) -+ foreach(alias IN LISTS _QT_FEATURE_ALIASES_${feature}) -+ _qt_internal_parse_feature_definition("${alias}") -+ if(NOT arg_ALIAS_SAVE) -+ # Skip aliases that do not need a `QT_FEATURE_*` variable -+ continue() -+ endif() -+ set(doc_string "Alias of ${feature}") + set(actual_label "${arg_LABEL}") + if(arg_ALIAS_OF) +- string(APPEND actual_label " (alias of ${arg_ALIAS_OF})") ++ set(not_kw) + if(arg_ALIAS_NEGATE) -+ # Negate the feature value and save it -+ set(doc_string "${doc_string} (inverted)") -+ if(FEATURE_${feature}) -+ set(FEATURE_${alias} OFF) -+ else() -+ set(FEATURE_${alias} ON) -+ endif() -+ else() -+ set(FEATURE_${alias} ${FEATURE_${feature}}) ++ set(not_kw "NOT") + endif() -+ set("FEATURE_${alias}" "${FEATURE_${alias}}" CACHE BOOL "${doc_string}" FORCE) -+ endforeach() -+endfunction() -+ - # Stores the user provided value to FEATURE_${feature} if provided. - # If not provided, stores ${computed} instead. - # ${computed} is also stored when reconfiguring and the condition does not align with the user -@@ -477,6 +508,7 @@ - "FEATURE_${original_name} does not exist. Consider using: FEATURE_${feature}" - ) ++ string(APPEND actual_label " (alias of ${not_kw} ${arg_ALIAS_OF})") endif() -+ _qt_feature_set_feature_alias(${feature}) - - set("${resultVar}" "${result}" PARENT_SCOPE) - endfunction() -@@ -509,7 +541,7 @@ - macro(_qt_internal_parse_feature_definition feature) - cmake_parse_arguments(arg -- "PRIVATE;PUBLIC;ALIAS_NEGATE" -+ "PRIVATE;PUBLIC;ALIAS_SAVE;ALIAS_NEGATE" - "LABEL;PURPOSE;SECTION;" - "AUTODETECT;CONDITION;ENABLE;DISABLE;EMIT_IF" - ${_QT_FEATURE_DEFINITION_${feature}}) -From b8b92543ddc5f67cf47eb3c2edb8461a0f125096 Mon Sep 17 00:00:00 2001 + # Warn about a feature which is not emitted, but the user explicitly provided a value for it. +From beda9c82492a0818299c1623cadd5a1be53ae897 Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Tue, 04 Feb 2025 18:08:34 +0100 Subject: [PATCH] Forward other `qt_feature` options in `qt_feature_alias` Change-Id: Ic0b7479e071fc17020a04ea48386054f0bbf3151 +Reviewed-by: Alexandru Croitor --- diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake -index 40c15af..89f83ff 100644 +index 5117765..e370618 100644 --- a/cmake/QtFeature.cmake +++ b/cmake/QtFeature.cmake @@ -126,12 +126,14 @@ @@ -352,10 +499,10 @@ index 40c15af..89f83ff 100644 +# [LABEL ] +# [PURPOSE ] +# [SECTION ] - # [SAVE] [NEGATE] + # [NEGATE] # ) # -@@ -149,12 +151,20 @@ +@@ -145,11 +147,19 @@ # # `NEGATE` # Populate the main FEATURE variable with the opposite of the alias's value @@ -364,7 +511,6 @@ index 40c15af..89f83ff 100644 +# Same as in `qt_feature` function(qt_feature_alias alias_feature) set(option_args - SAVE NEGATE ) - set(single_args ALIAS_OF) @@ -377,7 +523,7 @@ index 40c15af..89f83ff 100644 set(multi_args "") cmake_parse_arguments(PARSE_ARGV 1 arg "${option_args}" "${single_args}" "${multi_args}") -@@ -178,6 +188,15 @@ +@@ -174,6 +184,15 @@ if(arg_NEGATE) list(APPEND forward_args ALIAS_NEGATE) endif() @@ -393,16 +539,17 @@ index 40c15af..89f83ff 100644 set(_QT_FEATURE_DEFINITION_${alias_feature} ${forward_args} PARENT_SCOPE) set(_QT_FEATURE_ALIASES_${arg_ALIAS_OF} "${_QT_FEATURE_ALIASES_${arg_ALIAS_OF}}" PARENT_SCOPE) -From dcec4a6d6dae9bc612a7c2c057204f24ddf4e44e Mon Sep 17 00:00:00 2001 +From a6140d84697e8076734ac2940bcb82555a16504b Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Tue, 04 Feb 2025 18:33:00 +0100 Subject: [PATCH] Allow Feature to be alias of Cache variable Change-Id: I09b65cb038567a9f68a140e53a9e06eb15c8fc13 +Reviewed-by: Alexandru Croitor --- diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake -index 89f83ff..9a73a05 100644 +index e370618..2be8de7 100644 --- a/cmake/QtFeature.cmake +++ b/cmake/QtFeature.cmake @@ -130,7 +130,8 @@ @@ -415,7 +562,7 @@ index 89f83ff..9a73a05 100644 # [LABEL ] # [PURPOSE ] # [SECTION ] -@@ -142,9 +143,12 @@ +@@ -142,20 +143,30 @@ # `` # The feature alias to be created. # @@ -426,10 +573,8 @@ index 89f83ff..9a73a05 100644 +# `ALIAS_OF_CACHE` +# The true cache variable that this value must synchronize with. +# - # `SAVE` - # Populate the `QT_FEATURE_` as well. If `NEGATE` is used, this value has the opposite - # value of the main feature value. -@@ -154,13 +158,20 @@ + # `NEGATE` + # Populate the main FEATURE variable with the opposite of the alias's value # # `LABEL`, `PURPOSE`, `SECTION` # Same as in `qt_feature` @@ -439,7 +584,6 @@ index 89f83ff..9a73a05 100644 +# value of the the true feature is used. function(qt_feature_alias alias_feature) set(option_args - SAVE NEGATE + PRIVATE + PUBLIC @@ -451,7 +595,7 @@ index 89f83ff..9a73a05 100644 LABEL PURPOSE SECTION -@@ -170,18 +181,26 @@ +@@ -165,22 +176,29 @@ cmake_parse_arguments(PARSE_ARGV 1 arg "${option_args}" "${single_args}" "${multi_args}") _qt_internal_validate_all_args_are_parsed(arg) @@ -468,22 +612,29 @@ index 89f83ff..9a73a05 100644 qt_feature_normalize_name("${alias_feature}" alias_feature) set_property(GLOBAL PROPERTY QT_FEATURE_ORIGINAL_NAME_${alias_feature} "${original_name}") - qt_feature_normalize_name("${arg_ALIAS_OF}" arg_ALIAS_OF) +- if(NOT DEFINED _QT_FEATURE_DEFINITION_${arg_ALIAS_OF}) +- message(FATAL_ERROR "Primary feature ${arg_ALIAS_OF} was not defined yet.") +- endif() - - list(APPEND _QT_FEATURE_ALIASES_${arg_ALIAS_OF} "${alias_feature}") set(forward_args "") +- list(APPEND forward_args ALIAS_OF "${arg_ALIAS_OF}") + if(arg_ALIAS_OF_FEATURE) + qt_feature_normalize_name("${arg_ALIAS_OF_FEATURE}" arg_ALIAS_OF_FEATURE) ++ if(NOT DEFINED _QT_FEATURE_DEFINITION_${arg_ALIAS_OF_FEATURE}) ++ message(FATAL_ERROR "Primary feature ${arg_ALIAS_OF_FEATURE} was not defined yet.") ++ endif() + list(APPEND _QT_FEATURE_ALIASES_${arg_ALIAS_OF_FEATURE} "${alias_feature}") + list(APPEND forward_args ALIAS_OF_FEATURE "${arg_ALIAS_OF_FEATURE}") + endif() + if(arg_ALIAS_OF_CACHE) + list(APPEND forward_args ALIAS_OF_CACHE "${arg_ALIAS_OF_CACHE}") + endif() - if(arg_SAVE) - list(APPEND forward_args ALIAS_SAVE) + if(arg_NEGATE) + list(APPEND forward_args ALIAS_NEGATE) endif() -@@ -199,16 +218,33 @@ +@@ -195,15 +213,34 @@ endif() set(_QT_FEATURE_DEFINITION_${alias_feature} ${forward_args} PARENT_SCOPE) @@ -494,17 +645,17 @@ index 89f83ff..9a73a05 100644 - if(arg_ALIAS_OF IN_LIST __QtFeature_${type}_features) - list(APPEND __QtFeature_${type}_features "${alias_feature}") - set(__QtFeature_${type}_features ${__QtFeature_${type}_features} PARENT_SCOPE) -- break() + if(arg_ALIAS_OF_FEATURE) + # Register alias as a feature type similar to the true one + foreach(type IN ITEMS public private internal) + if(arg_ALIAS_OF_FEATURE IN_LIST __QtFeature_${type}_features) + list(APPEND __QtFeature_${type}_features "${alias_feature}") + set(__QtFeature_${type}_features ${__QtFeature_${type}_features} PARENT_SCOPE) -+ break() ++ + endif() + endforeach() -+ set(_QT_FEATURE_ALIASES_${arg_ALIAS_OF_FEATURE} "${_QT_FEATURE_ALIASES_${arg_ALIAS_OF_FEATURE}}" PARENT_SCOPE) ++ set(_QT_FEATURE_ALIASES_${arg_ALIAS_OF_FEATURE} ++ "${_QT_FEATURE_ALIASES_${arg_ALIAS_OF_FEATURE}}" PARENT_SCOPE) + else() + # Otherwise use the same logic as qt_feature + if (arg_PUBLIC) @@ -525,56 +676,87 @@ index 89f83ff..9a73a05 100644 endfunction() function(qt_evaluate_to_boolean expressionVar) -@@ -388,7 +424,29 @@ - set(${expression_dump} "${${expression_dump}}" PARENT_SCOPE) +@@ -470,6 +507,34 @@ + set("FEATURE_${feature}" ${expected_value} PARENT_SCOPE) endfunction() ++# Check that the alias value is consistent with its cache source +function(_qt_feature_check_cache_alias feature) + _qt_internal_parse_feature_definition("${feature}") + if(NOT arg_ALIAS_OF_CACHE) -+ # Not an alias, skip this check ++ # Not an alias of a cache variable, skip this check + return() + endif() + if(DEFINED "${arg_ALIAS_OF_CACHE}") -+ # Emit an error if both the primary cache and the FEATURE variable is set -+ if(DEFINED "FEATURE_${feature}") ++ # Check if the feature is set by another alias ++ unset(expected_value) ++ _qt_feature_evaluate_alias(expected_value "${feature}") ++ qt_set01(cache_sanitized ${arg_ALIAS_OF_CACHE}) ++ if(NOT DEFINED expected_value) ++ # If nothing else set the alias value, use the primary cache value ++ set("FEATURE_${feature}" "${${arg_ALIAS_OF_CACHE}}" PARENT_SCOPE) ++ return() ++ endif() ++ # Otherwise, just check for consistency ++ if(NOT cache_sanitized EQUAL expected_value) + string(CONCAT msg -+ "FEATURE_${feature} is an alias of ${arg_ALIAS_OF_CACHE}, and the latter was" -+ " already set. You may only use one of these variables." ++ "FEATURE_${feature}(${FEATURE_${feature}}) is an alias of ${not_kw} " ++ "${arg_ALIAS_OF_CACHE}(${${arg_ALIAS_OF_CACHE}}), and their values conflict." + ) + qt_configure_add_report_error(${msg}) -+ else() -+ # Otherwise make sure the FEATURE variable matches the cached -+ set(FEATURE_${feature} "${${arg_ALIAS_IF_CACHE}}" PARENT_SCOPE) + endif() + endif() +endfunction() + - function(_qt_feature_check_feature_alias feature) + # Make sure all the direct alias values are set after the final evaluation of the feature value. + # Must be run after `_qt_feature_check_feature_alias` which checks for user-defined values and + # any inconsistencies +@@ -502,6 +567,7 @@ + # + function(qt_feature_check_and_save_user_provided_value + resultVar feature condition condition_expression computed label) + _qt_feature_check_cache_alias(${feature}) - if(DEFINED "FEATURE_${feature}") - # The main feature was already defined, use the current value. - # Just check if any other ALIAS was defined and emit a warning -@@ -561,7 +619,7 @@ + _qt_feature_check_feature_alias(${feature}) + if (DEFINED "FEATURE_${feature}") + # Revisit new user provided value +@@ -605,7 +671,7 @@ macro(_qt_internal_parse_feature_definition feature) cmake_parse_arguments(arg - "PRIVATE;PUBLIC;ALIAS_SAVE;ALIAS_NEGATE" -- "LABEL;PURPOSE;SECTION;" + "PRIVATE;PUBLIC;ALIAS_NEGATE" +- "LABEL;PURPOSE;SECTION;ALIAS_OF" + "LABEL;PURPOSE;SECTION;ALIAS_OF_FEATURE;ALIAS_OF_CACHE" "AUTODETECT;CONDITION;ENABLE;DISABLE;EMIT_IF" ${_QT_FEATURE_DEFINITION_${feature}}) endmacro() -From 5ddff0a35d957107b5ae47e6a1e8de126a9798e8 Mon Sep 17 00:00:00 2001 +@@ -692,12 +758,14 @@ + endif() + + set(actual_label "${arg_LABEL}") +- if(arg_ALIAS_OF) ++ if(arg_ALIAS_OF_FEATURE OR arg_ALIAS_OF_CACHE) + set(not_kw) + if(arg_ALIAS_NEGATE) + set(not_kw "NOT") + endif() +- string(APPEND actual_label " (alias of ${not_kw} ${arg_ALIAS_OF})") ++ # Only one of ALIAS_OF_FEATURE/ALIAS_OF_CACHE will be set, so we can just combine them ++ set(alias_source "${not_kw} ${arg_ALIAS_OF_FEATURE}${arg_ALIAS_OF_CACHE}") ++ string(APPEND actual_label " (alias of ${alias_source})") + endif() + + # Warn about a feature which is not emitted, but the user explicitly provided a value for it. +From 2d271835679d1833b3ddd64bb5941bde2c6ad650 Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Tue, 04 Feb 2025 16:59:55 +0100 Subject: [PATCH] Make `FEATURE_static` and `FEATURE_shared` aliased features Fixes: QTBUG-133407 Change-Id: Ic17315b0229a829689b77e272cd9bbd331c3b0d7 +Reviewed-by: Alexandru Croitor --- diff --git a/configure.cmake b/configure.cmake -index 12990f8..a3e3d6d 100644 +index 05c4bbd..1b34b9c 100644 --- a/configure.cmake +++ b/configure.cmake @@ -519,15 +519,16 @@ @@ -594,7 +776,32 @@ index 12990f8..a3e3d6d 100644 - CONDITION NOT QT_FEATURE_shared +qt_feature_alias("static" + ALIAS_OF_FEATURE "shared" -+ NEGATE SAVE ++ NEGATE ) qt_feature_config("static" QMAKE_PUBLIC_QT_CONFIG) qt_feature_config("static" QMAKE_PUBLIC_CONFIG) +From 9d78275f229f4ed26817c549bf1d8ef73ce371e3 Mon Sep 17 00:00:00 2001 +From: Cristian Le +Date: Tue, 18 Feb 2025 17:16:01 +0100 +Subject: [PATCH] Copy `qt_set01` to a central location + +Change-Id: I05b3ef4d02dd1f8583eea9960c3776409f2f3b2e +Reviewed-by: Alexandru Croitor +--- + +diff --git a/cmake/QtPublicCMakeHelpers.cmake b/cmake/QtPublicCMakeHelpers.cmake +index 3ca38b6..29e4e2f 100644 +--- a/cmake/QtPublicCMakeHelpers.cmake ++++ b/cmake/QtPublicCMakeHelpers.cmake +@@ -831,3 +831,11 @@ + endif() + set(${out_var} "${${out_var}}" PARENT_SCOPE) + endfunction() ++ ++function(qt_set01 result) ++ if (${ARGN}) ++ set("${result}" 1 PARENT_SCOPE) ++ else() ++ set("${result}" 0 PARENT_SCOPE) ++ endif() ++endfunction() From ad3df0d8927dd5868e38616c656243cf2062429f Mon Sep 17 00:00:00 2001 From: kemal Date: Fri, 28 Mar 2025 06:15:19 +0300 Subject: [PATCH 19/30] qt 6.8.3 --- patch/qtbase-fix-static-build.patch | 37 ----------------------------- qt6-8.yaml | 12 +++++----- 2 files changed, 6 insertions(+), 43 deletions(-) diff --git a/patch/qtbase-fix-static-build.patch b/patch/qtbase-fix-static-build.patch index a57b762..cd54e8c 100644 --- a/patch/qtbase-fix-static-build.patch +++ b/patch/qtbase-fix-static-build.patch @@ -1,40 +1,3 @@ -From b71647d06970b2cc3b63b93c020eca8caf0a519f Mon Sep 17 00:00:00 2001 -From: Cristian Le -Date: Tue, 21 Jan 2025 17:07:16 +0100 -Subject: [PATCH] Check for misspelled `FEATURE_*` variable - -The feature names are normalized using `qt_feature_normalize_name`, but -a user might read `qt_feature` usage and not realize that they should -normalize the name in the `FEATURE_*` variable. - -This change emits an error if it detects such invalid names. - -Fixes: QTBUG-132464 -Pick-to: 6.8 6.9 -Change-Id: I33c7ab9f589c92e11e16d376660e8b6152339d12 -Reviewed-by: Alexandru Croitor ---- - -diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake -index 453f3d72116..42496f94712 100644 ---- a/cmake/QtFeature.cmake -+++ b/cmake/QtFeature.cmake -@@ -353,6 +353,15 @@ function(qt_feature_check_and_save_user_provided_value - set("FEATURE_${feature}" "${result}" CACHE BOOL "${label}") - endif() - -+ # Check for potential typo -+ get_property(original_name GLOBAL PROPERTY "QT_FEATURE_ORIGINAL_NAME_${feature}") -+ if(NOT original_name STREQUAL feature AND DEFINED "FEATURE_${original_name}") -+ unset("FEATURE_${original_name}" CACHE) -+ qt_configure_add_report_error( -+ "FEATURE_${original_name} does not exist. Consider using: FEATURE_${feature}" -+ ) -+ endif() -+ - set("${resultVar}" "${result}" PARENT_SCOPE) - endfunction() - From 4bbd324a0a4a488b9ff4272888cc6b7f516d78ff Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Tue, 04 Feb 2025 11:54:41 +0100 diff --git a/qt6-8.yaml b/qt6-8.yaml index a734eb1..7aba24e 100644 --- a/qt6-8.yaml +++ b/qt6-8.yaml @@ -4,8 +4,8 @@ config-opts: - -DFEATURE_wayland_server=OFF sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.8/6.8.2/submodules/qtwayland-everywhere-src-6.8.2.tar.xz - sha256: 5e46157908295f2bf924462d8c0855b0508ba338ced9e810891fefa295dc9647 + url: https://download.qt.io/official_releases/qt/6.8/6.8.3/submodules/qtwayland-everywhere-src-6.8.3.tar.xz + sha256: 20fe385887d21190165a3180c17dcfc8b9a0e1da4ec76865b6334bdc709994b0 x-checker-data: type: anitya project-id: 7927 @@ -35,8 +35,8 @@ modules: - -DFEATURE_vkkhrdisplay=OFF sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.8/6.8.2/submodules/qtbase-everywhere-src-6.8.2.tar.xz - sha256: 012043ce6d411e6e8a91fdc4e05e6bedcfa10fcb1347d3c33908f7fdd10dfe05 + url: https://download.qt.io/official_releases/qt/6.8/6.8.3/submodules/qtbase-everywhere-src-6.8.3.tar.xz + sha256: 56001b905601bb9023d399f3ba780d7fa940f3e4861e496a7c490331f49e0b80 x-checker-data: type: anitya project-id: 7927 @@ -54,8 +54,8 @@ modules: buildsystem: cmake-ninja sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.8/6.8.2/submodules/qtsvg-everywhere-src-6.8.2.tar.xz - sha256: aa2579f21ca66d19cbcf31d87e9067e07932635d36869c8239d4decd0a9dc1fa + url: https://download.qt.io/official_releases/qt/6.8/6.8.3/submodules/qtsvg-everywhere-src-6.8.3.tar.xz + sha256: 35eb516460f00f264eb504baa253432384351cf23fb9980a5857190e8deef438 x-checker-data: type: anitya project-id: 7927 From 6870d7e1a2da313b5650c0766d9ff8c876d5afb8 Mon Sep 17 00:00:00 2001 From: kemal Date: Wed, 2 Apr 2025 18:30:34 +0300 Subject: [PATCH 20/30] qt 6.9 --- com.github.ahrm.sioyek.yaml | 2 +- qt6-8.yaml => qt6-9.yaml | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) rename qt6-8.yaml => qt6-9.yaml (64%) diff --git a/com.github.ahrm.sioyek.yaml b/com.github.ahrm.sioyek.yaml index 22d9c66..e8d9a40 100644 --- a/com.github.ahrm.sioyek.yaml +++ b/com.github.ahrm.sioyek.yaml @@ -23,7 +23,7 @@ finish-args: - --device=dri modules: - - qt6-8.yaml + - qt6-9.yaml - "shared-modules/glu/glu-9.json" - name: sioyek buildsystem: simple diff --git a/qt6-8.yaml b/qt6-9.yaml similarity index 64% rename from qt6-8.yaml rename to qt6-9.yaml index 7aba24e..2982e9c 100644 --- a/qt6-8.yaml +++ b/qt6-9.yaml @@ -4,15 +4,15 @@ config-opts: - -DFEATURE_wayland_server=OFF sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.8/6.8.3/submodules/qtwayland-everywhere-src-6.8.3.tar.xz - sha256: 20fe385887d21190165a3180c17dcfc8b9a0e1da4ec76865b6334bdc709994b0 + url: https://download.qt.io/official_releases/qt/6.9/6.9.0/submodules/qtwayland-everywhere-src-6.9.0.tar.xz + sha256: 503416fcb04db503bd130e6a49c45e3e546f091e83406f774a0c703130c91805 x-checker-data: type: anitya project-id: 7927 stable-only: true versions: - <: 6.9.0 - url-template: https://download.qt.io/official_releases/qt/6.8/$version/submodules/qtwayland-everywhere-src-$version.tar.xz + <: 6.10.0 + url-template: https://download.qt.io/official_releases/qt/6.9/$version/submodules/qtwayland-everywhere-src-$version.tar.xz - type: patch paths: - patch/qtwayland-use-adwaita-decorations-on-gnome-by-default.patch @@ -35,15 +35,15 @@ modules: - -DFEATURE_vkkhrdisplay=OFF sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.8/6.8.3/submodules/qtbase-everywhere-src-6.8.3.tar.xz - sha256: 56001b905601bb9023d399f3ba780d7fa940f3e4861e496a7c490331f49e0b80 + url: https://download.qt.io/official_releases/qt/6.9/6.9.0/submodules/qtbase-everywhere-src-6.9.0.tar.xz + sha256: c1800c2ea835801af04a05d4a32321d79a93954ee3ae2172bbeacf13d1f0598c x-checker-data: type: anitya project-id: 7927 stable-only: true versions: - <: 6.9.0 - url-template: https://download.qt.io/official_releases/qt/6.8/$version/submodules/qtbase-everywhere-src-$version.tar.xz + <: 6.10.0 + url-template: https://download.qt.io/official_releases/qt/6.9/$version/submodules/qtbase-everywhere-src-$version.tar.xz - type: patch paths: - patch/qtbase-find_package-paths.patch @@ -54,12 +54,12 @@ modules: buildsystem: cmake-ninja sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.8/6.8.3/submodules/qtsvg-everywhere-src-6.8.3.tar.xz - sha256: 35eb516460f00f264eb504baa253432384351cf23fb9980a5857190e8deef438 + url: https://download.qt.io/official_releases/qt/6.9/6.9.0/submodules/qtsvg-everywhere-src-6.9.0.tar.xz + sha256: ec359d930c95935ea48af58b100c2f5d0d275968ec8ca1e0e76629b7159215fc x-checker-data: type: anitya project-id: 7927 stable-only: true versions: - <: 6.9.0 - url-template: https://download.qt.io/official_releases/qt/6.8/$version/submodules/qtsvg-everywhere-src-$version.tar.xz + <: 6.10.0 + url-template: https://download.qt.io/official_releases/qt/6.9/$version/submodules/qtsvg-everywhere-src-$version.tar.xz From 23b519c3dfee7e8d72c799ee9cadca662fb6fa3c Mon Sep 17 00:00:00 2001 From: kemal Date: Wed, 2 Apr 2025 18:47:44 +0300 Subject: [PATCH 21/30] fix the _FORTIFY_SOURCE warning --- qt6-9.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/qt6-9.yaml b/qt6-9.yaml index 2982e9c..4148970 100644 --- a/qt6-9.yaml +++ b/qt6-9.yaml @@ -33,6 +33,7 @@ modules: - -DFEATURE_linuxfb=OFF - -DFEATURE_vnc=OFF - -DFEATURE_vkkhrdisplay=OFF + - -DFEATURE_glibc_fortify_source=OFF # this clashes with gcc's own _FORTIFY_SOURCE setting sources: - type: archive url: https://download.qt.io/official_releases/qt/6.9/6.9.0/submodules/qtbase-everywhere-src-6.9.0.tar.xz From fb37dfad4aa3ca5df41ab35c26a669b671cf21f6 Mon Sep 17 00:00:00 2001 From: kemal Date: Thu, 3 Apr 2025 16:04:14 +0300 Subject: [PATCH 22/30] beta release 29-03-2025 --- com.github.ahrm.sioyek.metainfo.xml | 6 ++ com.github.ahrm.sioyek.yaml | 2 +- patch/sioyek_build_fix.patch | 101 ++-------------------------- qt6-9.yaml | 54 +++++++++++++++ 4 files changed, 65 insertions(+), 98 deletions(-) diff --git a/com.github.ahrm.sioyek.metainfo.xml b/com.github.ahrm.sioyek.metainfo.xml index 7818899..f883f06 100644 --- a/com.github.ahrm.sioyek.metainfo.xml +++ b/com.github.ahrm.sioyek.metainfo.xml @@ -49,6 +49,12 @@ nbenitezl_AT_gmail.com + + +

Flathub Beta release from Sioyek github code at 29-03-2025.

+
+ https://github.com/ahrm/sioyek/commit/4ee8831dbe16848c78b3f50c8579dd40090966ab +

Flathub Beta release from Sioyek github code at 17-11-2024.

diff --git a/com.github.ahrm.sioyek.yaml b/com.github.ahrm.sioyek.yaml index e8d9a40..d13cf65 100644 --- a/com.github.ahrm.sioyek.yaml +++ b/com.github.ahrm.sioyek.yaml @@ -39,7 +39,7 @@ modules: sources: - type: git url: https://github.com/ahrm/sioyek.git - commit: 159304abef7eb0c77bf7892a305d60bea19a997b + commit: 4ee8831dbe16848c78b3f50c8579dd40090966ab - type: patch path: patch/sioyek_build_fix.patch - type: file diff --git a/patch/sioyek_build_fix.patch b/patch/sioyek_build_fix.patch index 5c5825e..8c01f09 100644 --- a/patch/sioyek_build_fix.patch +++ b/patch/sioyek_build_fix.patch @@ -4,8 +4,8 @@ zlib --QT += core opengl gui widgets network 3dinput -+QT += core opengl gui widgets network waylandclient-private +-QT += core opengl gui widgets network 3dinput quickwidgets svg texttospeech ++QT += core opengl gui widgets network quickwidgets svg texttospeech waylandclient-private +QTPLUGIN += qwayland-generic qwayland-egl greaterThan(QT_MAJOR_VERSION, 5){ @@ -37,107 +37,14 @@ } target.path = $$PREFIX/bin shortcutfiles.files = resources/sioyek.desktop ---- a/pdf_viewer/ui.h 2022-02-18 07:47:57.000000000 -0400 -+++ b/pdf_viewer/ui.h 2022-03-07 17:55:32.000002361 -0400 -@@ -14,7 +14,7 @@ - #include - #include - #include --#include -+#include - #include - #include - #include ---- a/pdf_viewer/input.cpp 2022-02-18 07:47:57.000000000 -0400 -+++ b/pdf_viewer/input.cpp 2022-03-07 18:07:06.847726694 -0400 -@@ -4,7 +4,7 @@ - #include - #include - --#include -+#include - #include - #include - #include "input.h" ---- a/pdf_viewer/main.cpp 2022-02-18 07:47:57.000000000 -0400 -+++ b/pdf_viewer/main.cpp 2022-03-07 17:57:24.106376344 -0400 -@@ -29,7 +29,7 @@ - #include - #include - #include --#include -+#include - #include - #include - #include ---- a/pdf_viewer/main_widget.cpp 2022-02-18 07:47:57.000000000 -0400 -+++ b/pdf_viewer/main_widget.cpp 2022-03-07 18:09:25.807652975 -0400 -@@ -14,7 +14,7 @@ - #include - #endif - --#include -+#include - #include - #include - #include ---- a/pdf_viewer/pdf_view_opengl_widget.h 2022-02-18 07:47:57.000000000 -0400 -+++ b/pdf_viewer/pdf_view_opengl_widget.h 2022-03-07 17:59:16.241230870 -0400 -@@ -19,7 +19,7 @@ - #include - #include - #include --#include -+#include - #include - #include - #include --- a/build_linux.sh +++ b/build_linux.sh @@ -3,7 +3,7 @@ # Compile mupdf cd mupdf --make USE_SYSTEM_HARFBUZZ=yes -+make USE_SYSTEM_HARFBUZZ=yes USE_SYSTEM_FREETYPE=yes USE_SYSTEM_OPENJPEG=yes USE_SYSTEM_ZLIB=yes USE_SYSTEM_LIBJPEG=yes +-make USE_SYSTEM_HARFBUZZ=yes -j$(nproc) ++make USE_SYSTEM_HARFBUZZ=yes USE_SYSTEM_FREETYPE=yes USE_SYSTEM_OPENJPEG=yes USE_SYSTEM_ZLIB=yes USE_SYSTEM_LIBJPEG=yes -j$(nproc) cd .. # Compile sioyek ---- a/pdf_viewer/utils.cpp -+++ b/pdf_viewer/utils.cpp -@@ -1697,34 +1697,7 @@ - return common_prefix_index; - } - --void check_for_updates(QWidget* parent, std::string current_version) { -- -- QString url = "https://github.com/ahrm/sioyek/releases/latest"; -- QNetworkAccessManager* manager = new QNetworkAccessManager; -- -- QObject::connect(manager, &QNetworkAccessManager::finished, [=](QNetworkReply *reply) { -- std::string response_text = reply->readAll().toStdString(); -- int first_index = response_text.find("\""); -- int last_index = response_text.rfind("\""); -- std::string url_string = response_text.substr(first_index + 1, last_index - first_index - 1); -- -- std::vector parts; -- split_path(utf8_decode(url_string), parts); -- if (parts.size() > 0) { -- std::string version_string = utf8_encode(parts.back().substr(1, parts.back().size() - 1)); -- -- if (version_string != current_version) { -- int ret = QMessageBox::information(parent, "Update", QString::fromStdString("Do you want to update from " + current_version + " to " + version_string + "?"), -- QMessageBox::Ok | QMessageBox::Cancel, -- QMessageBox::Cancel); -- if (ret == QMessageBox::Ok) { -- open_web_url(url); -- } -- } -- -- } -- }); -- manager->get(QNetworkRequest(QUrl(url))); -+void check_for_updates(QWidget*, std::string) { - } - - QString expand_home_dir(QString path) { diff --git a/qt6-9.yaml b/qt6-9.yaml index 4148970..9960eab 100644 --- a/qt6-9.yaml +++ b/qt6-9.yaml @@ -51,6 +51,32 @@ modules: - type: patch paths: - patch/qtbase-fix-static-build.patch + - name: qt6-qtshadertools + buildsystem: cmake-ninja + sources: + - type: archive + url: https://download.qt.io/official_releases/qt/6.9/6.9.0/submodules/qtshadertools-everywhere-src-6.9.0.tar.xz + sha256: 916c40281ac3dee23b163f6ca73fb5bdeee344838b9a922b6f36269642d6f4bb + x-checker-data: + type: anitya + project-id: 7927 + stable-only: true + versions: + <: 6.10.0 + url-template: https://download.qt.io/official_releases/qt/6.9/$version/submodules/qtshadertools-everywhere-src-$version.tar.xz + - name: qt6-qtdeclarative + buildsystem: cmake-ninja + sources: + - type: archive + url: https://download.qt.io/official_releases/qt/6.9/6.9.0/submodules/qtdeclarative-everywhere-src-6.9.0.tar.xz + sha256: a3175fa510847a136734f989e2bfea7f7bbb9dc9acc98b40b544d26f5ba20d3d + x-checker-data: + type: anitya + project-id: 7927 + stable-only: true + versions: + <: 6.10.0 + url-template: https://download.qt.io/official_releases/qt/6.9/$version/submodules/qtdeclarative-everywhere-src-$version.tar.xz - name: qt6-qtsvg buildsystem: cmake-ninja sources: @@ -64,3 +90,31 @@ modules: versions: <: 6.10.0 url-template: https://download.qt.io/official_releases/qt/6.9/$version/submodules/qtsvg-everywhere-src-$version.tar.xz + - name: qt6-qtmultimedia + buildsystem: cmake-ninja + config-opts: + - -DFEATURE_ffmpeg=OFF + sources: + - type: archive + url: https://download.qt.io/official_releases/qt/6.9/6.9.0/submodules/qtmultimedia-everywhere-src-6.9.0.tar.xz + sha256: 995c3b194f3de3e1929280639642f7661d94aa57523c459dbbf2f71dbdcaa18c + x-checker-data: + type: anitya + project-id: 7927 + stable-only: true + versions: + <: 6.10.0 + url-template: https://download.qt.io/official_releases/qt/6.9/$version/submodules/qtmultimedia-everywhere-src-$version.tar.xz + - name: qt6-qtspeech + buildsystem: cmake-ninja + sources: + - type: archive + url: https://download.qt.io/official_releases/qt/6.9/6.9.0/submodules/qtspeech-everywhere-src-6.9.0.tar.xz + sha256: a981b68c71743d77a3ce4437ad118d3851390f05a1ab26a859fb9b8c5938c971 + x-checker-data: + type: anitya + project-id: 7927 + stable-only: true + versions: + <: 6.10.0 + url-template: https://download.qt.io/official_releases/qt/6.9/$version/submodules/qtspeech-everywhere-src-$version.tar.xz From 14e0a6e3b7be7e293b19fba4c28b1441cc509613 Mon Sep 17 00:00:00 2001 From: kemal Date: Thu, 3 Apr 2025 22:25:04 +0300 Subject: [PATCH 23/30] clean /lib/qml --- com.github.ahrm.sioyek.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/com.github.ahrm.sioyek.yaml b/com.github.ahrm.sioyek.yaml index d13cf65..a1a7b03 100644 --- a/com.github.ahrm.sioyek.yaml +++ b/com.github.ahrm.sioyek.yaml @@ -69,4 +69,5 @@ cleanup: - /lib/metatypes - /lib/systemd - /lib/plugins + - /lib/qml - /mkspecs From aa7ff5c6282b2357ab4216edd4cc04b7f0f3b0dc Mon Sep 17 00:00:00 2001 From: kemal Date: Thu, 26 Jun 2025 21:28:29 +0300 Subject: [PATCH 24/30] qt 6.9.1 --- qt6-9.yaml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/qt6-9.yaml b/qt6-9.yaml index 9960eab..ada01fa 100644 --- a/qt6-9.yaml +++ b/qt6-9.yaml @@ -4,8 +4,8 @@ config-opts: - -DFEATURE_wayland_server=OFF sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.9/6.9.0/submodules/qtwayland-everywhere-src-6.9.0.tar.xz - sha256: 503416fcb04db503bd130e6a49c45e3e546f091e83406f774a0c703130c91805 + url: https://download.qt.io/official_releases/qt/6.9/6.9.1/submodules/qtwayland-everywhere-src-6.9.1.tar.xz + sha256: 7d21ea0e687180ebb19b9a1f86ae9cfa7a25b4f02d5db05ec834164409932e3e x-checker-data: type: anitya project-id: 7927 @@ -36,8 +36,8 @@ modules: - -DFEATURE_glibc_fortify_source=OFF # this clashes with gcc's own _FORTIFY_SOURCE setting sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.9/6.9.0/submodules/qtbase-everywhere-src-6.9.0.tar.xz - sha256: c1800c2ea835801af04a05d4a32321d79a93954ee3ae2172bbeacf13d1f0598c + url: https://download.qt.io/official_releases/qt/6.9/6.9.1/submodules/qtbase-everywhere-src-6.9.1.tar.xz + sha256: 40caedbf83cc9a1959610830563565889878bc95f115868bbf545d1914acf28e x-checker-data: type: anitya project-id: 7927 @@ -55,8 +55,8 @@ modules: buildsystem: cmake-ninja sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.9/6.9.0/submodules/qtshadertools-everywhere-src-6.9.0.tar.xz - sha256: 916c40281ac3dee23b163f6ca73fb5bdeee344838b9a922b6f36269642d6f4bb + url: https://download.qt.io/official_releases/qt/6.9/6.9.1/submodules/qtshadertools-everywhere-src-6.9.1.tar.xz + sha256: 4e1ed24cce0887fb4b6c7be4f150239853a29c330c9717f6bacfb6376f3b4b74 x-checker-data: type: anitya project-id: 7927 @@ -68,8 +68,8 @@ modules: buildsystem: cmake-ninja sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.9/6.9.0/submodules/qtdeclarative-everywhere-src-6.9.0.tar.xz - sha256: a3175fa510847a136734f989e2bfea7f7bbb9dc9acc98b40b544d26f5ba20d3d + url: https://download.qt.io/official_releases/qt/6.9/6.9.1/submodules/qtdeclarative-everywhere-src-6.9.1.tar.xz + sha256: ccb94665df0199d7ee387b965b29677c8b89cfb1782bb6f01239b1d1524cec97 x-checker-data: type: anitya project-id: 7927 @@ -81,8 +81,8 @@ modules: buildsystem: cmake-ninja sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.9/6.9.0/submodules/qtsvg-everywhere-src-6.9.0.tar.xz - sha256: ec359d930c95935ea48af58b100c2f5d0d275968ec8ca1e0e76629b7159215fc + url: https://download.qt.io/official_releases/qt/6.9/6.9.1/submodules/qtsvg-everywhere-src-6.9.1.tar.xz + sha256: 2dfc5de5fd891ff2afd9861e519bf1a26e6deb729b3133f68a28ba763c9abbd5 x-checker-data: type: anitya project-id: 7927 @@ -96,8 +96,8 @@ modules: - -DFEATURE_ffmpeg=OFF sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.9/6.9.0/submodules/qtmultimedia-everywhere-src-6.9.0.tar.xz - sha256: 995c3b194f3de3e1929280639642f7661d94aa57523c459dbbf2f71dbdcaa18c + url: https://download.qt.io/official_releases/qt/6.9/6.9.1/submodules/qtmultimedia-everywhere-src-6.9.1.tar.xz + sha256: 955e36459518ee55f8e2bb79defc6e44aa94dc1edf5ac58a22d7734b2e07391d x-checker-data: type: anitya project-id: 7927 @@ -109,8 +109,8 @@ modules: buildsystem: cmake-ninja sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.9/6.9.0/submodules/qtspeech-everywhere-src-6.9.0.tar.xz - sha256: a981b68c71743d77a3ce4437ad118d3851390f05a1ab26a859fb9b8c5938c971 + url: https://download.qt.io/official_releases/qt/6.9/6.9.1/submodules/qtspeech-everywhere-src-6.9.1.tar.xz + sha256: 6807f59fcae2ef8f1f64210cfbfc8bcee1a40ed2d21eaee6673aba36bb7c1428 x-checker-data: type: anitya project-id: 7927 From 2f3f8b55f817636797b85ef0fd69f5ff7f7e7f48 Mon Sep 17 00:00:00 2001 From: kemal Date: Wed, 2 Jul 2025 15:10:52 +0300 Subject: [PATCH 25/30] Revert to dynamic Qt, Sioyek 07-06-2025 --- com.github.ahrm.sioyek.metainfo.xml | 6 +- com.github.ahrm.sioyek.yaml | 7 +- patch/qtbase-fix-static-build.patch | 770 ---------------------------- patch/sioyek_build_fix.patch | 10 - qt6-9.yaml => qt6.yaml | 4 - 5 files changed, 5 insertions(+), 792 deletions(-) delete mode 100644 patch/qtbase-fix-static-build.patch rename qt6-9.yaml => qt6.yaml (97%) diff --git a/com.github.ahrm.sioyek.metainfo.xml b/com.github.ahrm.sioyek.metainfo.xml index f883f06..eb445d7 100644 --- a/com.github.ahrm.sioyek.metainfo.xml +++ b/com.github.ahrm.sioyek.metainfo.xml @@ -49,11 +49,11 @@ nbenitezl_AT_gmail.com - + -

Flathub Beta release from Sioyek github code at 29-03-2025.

+

Flathub Beta release from Sioyek github code at 07-06-2025.

- https://github.com/ahrm/sioyek/commit/4ee8831dbe16848c78b3f50c8579dd40090966ab + https://github.com/ahrm/sioyek/commit/5726ccd9d28327c462e4853822ef55ef486e1e4d
diff --git a/com.github.ahrm.sioyek.yaml b/com.github.ahrm.sioyek.yaml index a1a7b03..9398e9a 100644 --- a/com.github.ahrm.sioyek.yaml +++ b/com.github.ahrm.sioyek.yaml @@ -23,7 +23,7 @@ finish-args: - --device=dri modules: - - qt6-9.yaml + - qt6.yaml - "shared-modules/glu/glu-9.json" - name: sioyek buildsystem: simple @@ -39,7 +39,7 @@ modules: sources: - type: git url: https://github.com/ahrm/sioyek.git - commit: 4ee8831dbe16848c78b3f50c8579dd40090966ab + commit: 5726ccd9d28327c462e4853822ef55ef486e1e4d - type: patch path: patch/sioyek_build_fix.patch - type: file @@ -56,8 +56,6 @@ cleanup: - '*.la' - '*.a' - '*.prl' - - '*.so' - - '*.so.*' - /bin/a* - /bin/q* - /doc @@ -68,6 +66,5 @@ cleanup: - /lib/objects-Release - /lib/metatypes - /lib/systemd - - /lib/plugins - /lib/qml - /mkspecs diff --git a/patch/qtbase-fix-static-build.patch b/patch/qtbase-fix-static-build.patch deleted file mode 100644 index cd54e8c..0000000 --- a/patch/qtbase-fix-static-build.patch +++ /dev/null @@ -1,770 +0,0 @@ -From 4bbd324a0a4a488b9ff4272888cc6b7f516d78ff Mon Sep 17 00:00:00 2001 -From: Cristian Le -Date: Tue, 04 Feb 2025 11:54:41 +0100 -Subject: [PATCH] Add `qt_feature_alias` - -Unlike chaining a feature into its `CONDITION`, it has a guaranteed -one-to-one equivalence with the original target. - -- An alias cannot be set if the main feature is already set -- Multiple aliases of a feature cannot be set at the same time - -Change-Id: I5b17ec3af51761880a7edb0c47ad8144815f1f93 -Reviewed-by: Alexandru Croitor ---- - -diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake -index 42496f9..5b915fb 100644 ---- a/cmake/QtFeature.cmake -+++ b/cmake/QtFeature.cmake -@@ -115,6 +115,69 @@ - set(__QtFeature_internal_features ${__QtFeature_internal_features} PARENT_SCOPE) - endfunction() - -+# Define an alternative alias for the main feature definition. -+# -+# If the main feature is defined, it takes precedence and all others are ignored. Otherwise -+# only one alias may be defined. -+# -+# Currently, we need this to be a dedicated function because we are gathering all aliases of -+# the main feature and check its real value as part of -+# `qt_feature_check_and_save_user_provided_value` -+# -+# TODO: See how to move this into the main `qt_feature` definition flow. -+# TODO: How to add `CONDITION` and how does it interact with the main feature's `EMIT_IF` -+# TODO: Include or forward other options: LABEL, SECTION -+# -+# Synopsis -+# -+# qt_feature_alias( -+# ALIAS_OF -+# ) -+# -+# Arguments -+# -+# `` -+# The feature alias to be created. -+# -+# `ALIAS_OF` -+# The true canonical feature to consider. -+function(qt_feature_alias alias_feature) -+ set(option_args "") -+ set(single_args ALIAS_OF) -+ set(multi_args "") -+ -+ cmake_parse_arguments(PARSE_ARGV 1 arg "${option_args}" "${single_args}" "${multi_args}") -+ _qt_internal_validate_all_args_are_parsed(arg) -+ -+ if(NOT arg_ALIAS_OF) -+ message(FATAL_ERROR "ALIAS_OF keyword not passed") -+ endif() -+ -+ set(original_name "${alias_feature}") -+ qt_feature_normalize_name("${alias_feature}" alias_feature) -+ set_property(GLOBAL PROPERTY QT_FEATURE_ORIGINAL_NAME_${alias_feature} "${original_name}") -+ qt_feature_normalize_name("${arg_ALIAS_OF}" arg_ALIAS_OF) -+ if(NOT DEFINED _QT_FEATURE_DEFINITION_${arg_ALIAS_OF}) -+ message(FATAL_ERROR "Primary feature ${arg_ALIAS_OF} was not defined yet.") -+ endif() -+ -+ list(APPEND _QT_FEATURE_ALIASES_${arg_ALIAS_OF} "${alias_feature}") -+ -+ set(forward_args "") -+ list(APPEND forward_args ALIAS_OF "${arg_ALIAS_OF}") -+ -+ set(_QT_FEATURE_DEFINITION_${alias_feature} ${forward_args} PARENT_SCOPE) -+ set(_QT_FEATURE_ALIASES_${arg_ALIAS_OF} "${_QT_FEATURE_ALIASES_${arg_ALIAS_OF}}" PARENT_SCOPE) -+ -+ # Register alias as a feature type similar to the true one -+ foreach(type IN ITEMS public private internal) -+ if(arg_ALIAS_OF IN_LIST __QtFeature_${type}_features) -+ list(APPEND __QtFeature_${type}_features "${alias_feature}") -+ set(__QtFeature_${type}_features ${__QtFeature_${type}_features} PARENT_SCOPE) -+ endif() -+ endforeach() -+endfunction() -+ - function(qt_evaluate_to_boolean expressionVar) - if(${${expressionVar}}) - set(${expressionVar} ON PARENT_SCOPE) -@@ -292,6 +355,99 @@ - set(${expression_dump} "${${expression_dump}}" PARENT_SCOPE) - endfunction() - -+# Check the actual value of a given feature/alias. -+# The value can come from `FEATURE_` being set or from another alias. -+# The out_var is sanitized to 0/1 and it is not set if the feature was not defined. -+function(_qt_feature_evaluate_alias out_var alias) -+ # Evaluate the alias against the aliases of the alias -+ _qt_feature_check_feature_alias(${alias}) -+ if(NOT DEFINED FEATURE_${alias}) -+ # If the alias was not defined, don't set value -+ return() -+ endif() -+ # Evaluate the value and return it -+ qt_set01(${out_var} FEATURE_${alias}) -+ set(${out_var} "${${out_var}}" PARENT_SCOPE) -+endfunction() -+ -+# Check that the feature value is consistent with any of its aliases. -+# If the feature was not set via `FEATURE_`, it may be set by the aliases. -+function(_qt_feature_check_feature_alias feature) -+ if(DEFINED "FEATURE_${feature}") -+ # The main feature was already defined, use the current value. -+ # Just check if the other aliases have agreeing values. -+ qt_set01(expected_value FEATURE_${feature}) -+ unset(alias_value) -+ foreach(alias IN LISTS _QT_FEATURE_ALIASES_${feature}) -+ _qt_feature_evaluate_alias(alias_value ${alias}) -+ if(DEFINED alias_value) -+ if(NOT expected_value EQUAL alias_value) -+ string(CONCAT msg -+ "Alias FEATURE_${alias}(${FEATURE_${alias}}) is an alias of " -+ "FEATURE_${feature}(${FEATURE_${alias}}), and their values conflict" -+ ) -+ qt_configure_add_report_error(${msg}) -+ endif() -+ unset(alias_value) -+ endif() -+ endforeach() -+ return() -+ endif() -+ # Otherwise try to set the `feature` value from the aliases -+ set(aliases_set "") -+ set(expected_value "") -+ unset(value) -+ foreach(alias IN LISTS _QT_FEATURE_ALIASES_${feature}) -+ _qt_feature_evaluate_alias(value ${alias}) -+ if(DEFINED value) -+ list(APPEND aliases_set "${alias}") -+ list(APPEND expected_value "${value}") -+ unset(value) -+ endif() -+ endforeach() -+ # If there were no aliases set, do not set the feature either -+ if(NOT aliases_set) -+ return() -+ endif() -+ # Check if all values are consistent -+ list(TRANSFORM REMOVE_DUPLICATES expected_value) -+ list(LENGTH expected_value expected_value_length) -+ if(expected_value_length GREATER 1) -+ string(CONCAT msg -+ "Multiple aliases of FEATURE_${feature} were defined, with conflicting values.\n" -+ "Aliases:" -+ ) -+ while(aliases_set) -+ list(POP_FRONT aliases_set alias) -+ string(CONCAT msg -+ "${msg}\n" -+ " - FEATURE_${alias}(${FEATURE_${alias}})" -+ ) -+ endwhile() -+ qt_configure_add_report_error(${msg}) -+ return() -+ endif() -+ # All aliased values are agreeing -+ set("FEATURE_${feature}" ${expected_value} PARENT_SCOPE) -+endfunction() -+ -+# Make sure all the direct alias values are set after the final evaluation of the feature value. -+# Must be run after `_qt_feature_check_feature_alias` which checks for user-defined values and -+# any inconsistencies -+function(_qt_feature_save_alias feature) -+ foreach(alias IN LISTS _QT_FEATURE_ALIASES_${feature}) -+ # We only need to set the alias values if they were not explicitly set. The consistency -+ # check for those was done prior to this function call. -+ if(NOT DEFINED FEATURE_${alias}) -+ # Set the values based on the main feature's value -+ set(FEATURE_${alias} ${FEATURE_${feature}} CACHE BOOL -+ # Using a temporary docstring that should be overwritten if everything works well -+ "(temporarily set by _qt_feature_save_alias)" -+ ) -+ endif() -+ endforeach() -+endfunction() -+ - # Stores the user provided value to FEATURE_${feature} if provided. - # If not provided, stores ${computed} instead. - # ${computed} is also stored when reconfiguring and the condition does not align with the user -@@ -299,6 +455,7 @@ - # - function(qt_feature_check_and_save_user_provided_value - resultVar feature condition condition_expression computed label) -+ _qt_feature_check_feature_alias(${feature}) - if (DEFINED "FEATURE_${feature}") - # Revisit new user provided value - set(user_value "${FEATURE_${feature}}") -@@ -351,6 +508,10 @@ - # Initial setup: - set(result "${computed}") - set("FEATURE_${feature}" "${result}" CACHE BOOL "${label}") -+ # Update the HELPSTRING if needed -+ set_property(CACHE "FEATURE_${feature}" PROPERTY -+ HELPSTRING "${label}" -+ ) - endif() - - # Check for potential typo -@@ -362,6 +523,9 @@ - ) - endif() - -+ # Set the values of each direct alias -+ _qt_feature_save_alias("${feature}") -+ - set("${resultVar}" "${result}" PARENT_SCOPE) - endfunction() - -@@ -394,7 +558,7 @@ - macro(_qt_internal_parse_feature_definition feature) - cmake_parse_arguments(arg - "PRIVATE;PUBLIC" -- "LABEL;PURPOSE;SECTION;" -+ "LABEL;PURPOSE;SECTION;ALIAS_OF" - "AUTODETECT;CONDITION;ENABLE;DISABLE;EMIT_IF" - ${_QT_FEATURE_DEFINITION_${feature}}) - endmacro() -@@ -436,6 +600,12 @@ - - _qt_internal_parse_feature_definition("${feature}") - -+ if(arg_ALIAS_OF) -+ # If the current feature is an alias of another, we have to check the original source first -+ # in order to be consistent with the original source if set -+ qt_evaluate_feature("${arg_ALIAS_OF}") -+ endif() -+ - if("${arg_ENABLE}" STREQUAL "") - set(arg_ENABLE OFF) - endif() -@@ -474,6 +644,11 @@ - qt_evaluate_config_expression(emit_if ${arg_EMIT_IF}) - endif() - -+ set(actual_label "${arg_LABEL}") -+ if(arg_ALIAS_OF) -+ string(APPEND actual_label " (alias of ${arg_ALIAS_OF})") -+ endif() -+ - # Warn about a feature which is not emitted, but the user explicitly provided a value for it. - if(NOT emit_if AND DEFINED FEATURE_${feature}) - set(msg "") -@@ -491,17 +666,17 @@ - if(emit_if) - qt_feature_check_and_save_user_provided_value( - saved_user_value -- "${feature}" "${condition}" "${arg_CONDITION}" "${computed}" "${arg_LABEL}") -+ "${feature}" "${condition}" "${arg_CONDITION}" "${computed}" "${actual_label}") - else() - # Make sure the feature internal value is OFF if not emitted. - set(saved_user_value OFF) - endif() - - qt_feature_check_and_save_internal_value( -- "${feature}" "${saved_user_value}" "${condition}" "${arg_LABEL}" "${arg_CONDITION}") -+ "${feature}" "${saved_user_value}" "${condition}" "${actual_label}" "${arg_CONDITION}") - - # Store each feature's label for summary info. -- set(QT_FEATURE_LABEL_${feature} "${arg_LABEL}" CACHE INTERNAL "") -+ set(QT_FEATURE_LABEL_${feature} "${actual_label}" CACHE INTERNAL "") - endfunction() - - # Collect feature names that ${feature} depends on, by inspecting the given expression. -@@ -810,6 +985,7 @@ - - foreach(feature ${all_features}) - unset(_QT_FEATURE_DEFINITION_${feature} PARENT_SCOPE) -+ unset(_QT_FEATURE_ALIASES_${feature} PARENT_SCOPE) - endforeach() - - if(NOT arg_ONLY_EVALUATE_FEATURES) -diff --git a/cmake/QtProcessConfigureArgs.cmake b/cmake/QtProcessConfigureArgs.cmake -index 6800415..c0a4e55 100644 ---- a/cmake/QtProcessConfigureArgs.cmake -+++ b/cmake/QtProcessConfigureArgs.cmake -@@ -230,6 +230,11 @@ - set_property(GLOBAL PROPERTY COMMANDLINE_FEATURE_SECTION_${feature} "${arg_SECTION}") - endfunction() - -+function(qt_feature_alias feature) -+ set_property(GLOBAL APPEND PROPERTY COMMANDLINE_KNOWN_FEATURES "${feature}") -+ # TODO: Alias features are not listed, but neither are features without PURPOSE. -+endfunction() -+ - function(find_package) - message(FATAL_ERROR "find_package must not be used directly in configure.cmake. " - "Use qt_find_package or guard the call with an if(NOT QT_CONFIGURE_RUNNING) block.") -From 6a93429fc074e56ffbcabf479d7295df6426dbdf Mon Sep 17 00:00:00 2001 -From: Cristian Le -Date: Tue, 04 Feb 2025 16:43:10 +0100 -Subject: [PATCH] Add `NEGATE` to `qt_feature_alias` - -Change-Id: I9e10618a3bc76d285d7bd59ebbf5bc5e56de62d0 -Reviewed-by: Alexandru Croitor ---- - -diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake -index 5b915fb..5117765 100644 ---- a/cmake/QtFeature.cmake -+++ b/cmake/QtFeature.cmake -@@ -132,6 +132,7 @@ - # - # qt_feature_alias( - # ALIAS_OF -+# [NEGATE] - # ) - # - # Arguments -@@ -141,8 +142,13 @@ - # - # `ALIAS_OF` - # The true canonical feature to consider. -+# -+# `NEGATE` -+# Populate the main FEATURE variable with the opposite of the alias's value - function(qt_feature_alias alias_feature) -- set(option_args "") -+ set(option_args -+ NEGATE -+ ) - set(single_args ALIAS_OF) - set(multi_args "") - -@@ -165,6 +171,9 @@ - - set(forward_args "") - list(APPEND forward_args ALIAS_OF "${arg_ALIAS_OF}") -+ if(arg_NEGATE) -+ list(APPEND forward_args ALIAS_NEGATE) -+ endif() - - set(_QT_FEATURE_DEFINITION_${alias_feature} ${forward_args} PARENT_SCOPE) - set(_QT_FEATURE_ALIASES_${arg_ALIAS_OF} "${_QT_FEATURE_ALIASES_${arg_ALIAS_OF}}" PARENT_SCOPE) -@@ -365,9 +374,17 @@ - # If the alias was not defined, don't set value - return() - endif() -+ # Check if we need to negate the value to be set or not -+ set(not_kw) -+ _qt_internal_parse_feature_definition("${alias}") -+ if(arg_ALIAS_NEGATE) -+ set(not_kw "NOT") -+ endif() - # Evaluate the value and return it -- qt_set01(${out_var} FEATURE_${alias}) -+ qt_set01(${out_var} ${not_kw} FEATURE_${alias}) - set(${out_var} "${${out_var}}" PARENT_SCOPE) -+ # Also set `not_kw` since it would be reused by the caller -+ set(not_kw "${not_kw}" PARENT_SCOPE) - endfunction() - - # Check that the feature value is consistent with any of its aliases. -@@ -383,7 +400,7 @@ - if(DEFINED alias_value) - if(NOT expected_value EQUAL alias_value) - string(CONCAT msg -- "Alias FEATURE_${alias}(${FEATURE_${alias}}) is an alias of " -+ "Alias FEATURE_${alias}(${FEATURE_${alias}}) is an alias of ${not_kw} " - "FEATURE_${feature}(${FEATURE_${alias}}), and their values conflict" - ) - qt_configure_add_report_error(${msg}) -@@ -396,12 +413,14 @@ - # Otherwise try to set the `feature` value from the aliases - set(aliases_set "") - set(expected_value "") -+ set(alias_not_kws "") - unset(value) - foreach(alias IN LISTS _QT_FEATURE_ALIASES_${feature}) - _qt_feature_evaluate_alias(value ${alias}) - if(DEFINED value) - list(APPEND aliases_set "${alias}") - list(APPEND expected_value "${value}") -+ list(APPEND alias_not_kws "${not_kw}") - unset(value) - endif() - endforeach() -@@ -419,9 +438,10 @@ - ) - while(aliases_set) - list(POP_FRONT aliases_set alias) -+ list(POP_FRONT alias_not_kws not_kw) - string(CONCAT msg - "${msg}\n" -- " - FEATURE_${alias}(${FEATURE_${alias}})" -+ " - ${not_kw} FEATURE_${alias}(${FEATURE_${alias}})" - ) - endwhile() - qt_configure_add_report_error(${msg}) -@@ -439,8 +459,16 @@ - # We only need to set the alias values if they were not explicitly set. The consistency - # check for those was done prior to this function call. - if(NOT DEFINED FEATURE_${alias}) -+ # Evaluate the alias value based on the original -+ set(not_kw) -+ _qt_internal_parse_feature_definition("${alias}") -+ if(arg_ALIAS_NEGATE) -+ set(not_kw "NOT") -+ endif() -+ qt_set01(value ${not_kw} FEATURE_${feature}) -+ qt_evaluate_to_boolean(value) - # Set the values based on the main feature's value -- set(FEATURE_${alias} ${FEATURE_${feature}} CACHE BOOL -+ set(FEATURE_${alias} ${value} CACHE BOOL - # Using a temporary docstring that should be overwritten if everything works well - "(temporarily set by _qt_feature_save_alias)" - ) -@@ -557,7 +585,7 @@ - - macro(_qt_internal_parse_feature_definition feature) - cmake_parse_arguments(arg -- "PRIVATE;PUBLIC" -+ "PRIVATE;PUBLIC;ALIAS_NEGATE" - "LABEL;PURPOSE;SECTION;ALIAS_OF" - "AUTODETECT;CONDITION;ENABLE;DISABLE;EMIT_IF" - ${_QT_FEATURE_DEFINITION_${feature}}) -@@ -646,7 +674,11 @@ - - set(actual_label "${arg_LABEL}") - if(arg_ALIAS_OF) -- string(APPEND actual_label " (alias of ${arg_ALIAS_OF})") -+ set(not_kw) -+ if(arg_ALIAS_NEGATE) -+ set(not_kw "NOT") -+ endif() -+ string(APPEND actual_label " (alias of ${not_kw} ${arg_ALIAS_OF})") - endif() - - # Warn about a feature which is not emitted, but the user explicitly provided a value for it. -From beda9c82492a0818299c1623cadd5a1be53ae897 Mon Sep 17 00:00:00 2001 -From: Cristian Le -Date: Tue, 04 Feb 2025 18:08:34 +0100 -Subject: [PATCH] Forward other `qt_feature` options in `qt_feature_alias` - -Change-Id: Ic0b7479e071fc17020a04ea48386054f0bbf3151 -Reviewed-by: Alexandru Croitor ---- - -diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake -index 5117765..e370618 100644 ---- a/cmake/QtFeature.cmake -+++ b/cmake/QtFeature.cmake -@@ -126,12 +126,14 @@ - # - # TODO: See how to move this into the main `qt_feature` definition flow. - # TODO: How to add `CONDITION` and how does it interact with the main feature's `EMIT_IF` --# TODO: Include or forward other options: LABEL, SECTION - # - # Synopsis - # - # qt_feature_alias( - # ALIAS_OF -+# [LABEL ] -+# [PURPOSE ] -+# [SECTION ] - # [NEGATE] - # ) - # -@@ -145,11 +147,19 @@ - # - # `NEGATE` - # Populate the main FEATURE variable with the opposite of the alias's value -+# -+# `LABEL`, `PURPOSE`, `SECTION` -+# Same as in `qt_feature` - function(qt_feature_alias alias_feature) - set(option_args - NEGATE - ) -- set(single_args ALIAS_OF) -+ set(single_args -+ ALIAS_OF -+ LABEL -+ PURPOSE -+ SECTION -+ ) - set(multi_args "") - - cmake_parse_arguments(PARSE_ARGV 1 arg "${option_args}" "${single_args}" "${multi_args}") -@@ -174,6 +184,15 @@ - if(arg_NEGATE) - list(APPEND forward_args ALIAS_NEGATE) - endif() -+ if(arg_LABEL) -+ list(APPEND forward_args LABEL "${arg_LABEL}") -+ endif() -+ if(arg_PURPOSE) -+ list(APPEND forward_args PURPOSE "${arg_PURPOSE}") -+ endif() -+ if(arg_SECTION) -+ list(APPEND forward_args SECTION "${arg_SECTION}") -+ endif() - - set(_QT_FEATURE_DEFINITION_${alias_feature} ${forward_args} PARENT_SCOPE) - set(_QT_FEATURE_ALIASES_${arg_ALIAS_OF} "${_QT_FEATURE_ALIASES_${arg_ALIAS_OF}}" PARENT_SCOPE) -From a6140d84697e8076734ac2940bcb82555a16504b Mon Sep 17 00:00:00 2001 -From: Cristian Le -Date: Tue, 04 Feb 2025 18:33:00 +0100 -Subject: [PATCH] Allow Feature to be alias of Cache variable - -Change-Id: I09b65cb038567a9f68a140e53a9e06eb15c8fc13 -Reviewed-by: Alexandru Croitor ---- - -diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake -index e370618..2be8de7 100644 ---- a/cmake/QtFeature.cmake -+++ b/cmake/QtFeature.cmake -@@ -130,7 +130,8 @@ - # Synopsis - # - # qt_feature_alias( --# ALIAS_OF -+# {ALIAS_OF_FEATURE | ALIAS_OF_CACHE } -+# [PRIVATE | PUBLIC] - # [LABEL ] - # [PURPOSE ] - # [SECTION ] -@@ -142,20 +143,30 @@ - # `` - # The feature alias to be created. - # --# `ALIAS_OF` -+# `ALIAS_OF_FEATURE` - # The true canonical feature to consider. - # -+# `ALIAS_OF_CACHE` -+# The true cache variable that this value must synchronize with. -+# - # `NEGATE` - # Populate the main FEATURE variable with the opposite of the alias's value - # - # `LABEL`, `PURPOSE`, `SECTION` - # Same as in `qt_feature` -+# -+# `PRIVATE`, `PUBLIC` -+# Same as in `qt_feature`. When `ALIAS_OF_FEATURE` is used, these have no effect, instead the -+# value of the the true feature is used. - function(qt_feature_alias alias_feature) - set(option_args - NEGATE -+ PRIVATE -+ PUBLIC - ) - set(single_args -- ALIAS_OF -+ ALIAS_OF_FEATURE -+ ALIAS_OF_CACHE - LABEL - PURPOSE - SECTION -@@ -165,22 +176,29 @@ - cmake_parse_arguments(PARSE_ARGV 1 arg "${option_args}" "${single_args}" "${multi_args}") - _qt_internal_validate_all_args_are_parsed(arg) - -- if(NOT arg_ALIAS_OF) -- message(FATAL_ERROR "ALIAS_OF keyword not passed") -+ if(NOT arg_ALIAS_OF_FEATURE AND NOT arg_ALIAS_OF_CACHE) -+ message(FATAL_ERROR "One of ALIAS_OF_FEATURE,ALIAS_OF_CACHE must be passed.") -+ endif() -+ if(arg_ALIAS_OF_FEATURE AND arg_ALIAS_OF_CACHE) -+ message(FATAL_ERROR "ALIAS_OF_FEATURE and ALIAS_OF_CACHE are mutually exclusive.") - endif() - - set(original_name "${alias_feature}") - qt_feature_normalize_name("${alias_feature}" alias_feature) - set_property(GLOBAL PROPERTY QT_FEATURE_ORIGINAL_NAME_${alias_feature} "${original_name}") -- qt_feature_normalize_name("${arg_ALIAS_OF}" arg_ALIAS_OF) -- if(NOT DEFINED _QT_FEATURE_DEFINITION_${arg_ALIAS_OF}) -- message(FATAL_ERROR "Primary feature ${arg_ALIAS_OF} was not defined yet.") -- endif() -- -- list(APPEND _QT_FEATURE_ALIASES_${arg_ALIAS_OF} "${alias_feature}") - - set(forward_args "") -- list(APPEND forward_args ALIAS_OF "${arg_ALIAS_OF}") -+ if(arg_ALIAS_OF_FEATURE) -+ qt_feature_normalize_name("${arg_ALIAS_OF_FEATURE}" arg_ALIAS_OF_FEATURE) -+ if(NOT DEFINED _QT_FEATURE_DEFINITION_${arg_ALIAS_OF_FEATURE}) -+ message(FATAL_ERROR "Primary feature ${arg_ALIAS_OF_FEATURE} was not defined yet.") -+ endif() -+ list(APPEND _QT_FEATURE_ALIASES_${arg_ALIAS_OF_FEATURE} "${alias_feature}") -+ list(APPEND forward_args ALIAS_OF_FEATURE "${arg_ALIAS_OF_FEATURE}") -+ endif() -+ if(arg_ALIAS_OF_CACHE) -+ list(APPEND forward_args ALIAS_OF_CACHE "${arg_ALIAS_OF_CACHE}") -+ endif() - if(arg_NEGATE) - list(APPEND forward_args ALIAS_NEGATE) - endif() -@@ -195,15 +213,34 @@ - endif() - - set(_QT_FEATURE_DEFINITION_${alias_feature} ${forward_args} PARENT_SCOPE) -- set(_QT_FEATURE_ALIASES_${arg_ALIAS_OF} "${_QT_FEATURE_ALIASES_${arg_ALIAS_OF}}" PARENT_SCOPE) - -- # Register alias as a feature type similar to the true one -- foreach(type IN ITEMS public private internal) -- if(arg_ALIAS_OF IN_LIST __QtFeature_${type}_features) -- list(APPEND __QtFeature_${type}_features "${alias_feature}") -- set(__QtFeature_${type}_features ${__QtFeature_${type}_features} PARENT_SCOPE) -+ if(arg_ALIAS_OF_FEATURE) -+ # Register alias as a feature type similar to the true one -+ foreach(type IN ITEMS public private internal) -+ if(arg_ALIAS_OF_FEATURE IN_LIST __QtFeature_${type}_features) -+ list(APPEND __QtFeature_${type}_features "${alias_feature}") -+ set(__QtFeature_${type}_features ${__QtFeature_${type}_features} PARENT_SCOPE) -+ -+ endif() -+ endforeach() -+ set(_QT_FEATURE_ALIASES_${arg_ALIAS_OF_FEATURE} -+ "${_QT_FEATURE_ALIASES_${arg_ALIAS_OF_FEATURE}}" PARENT_SCOPE) -+ else() -+ # Otherwise use the same logic as qt_feature -+ if (arg_PUBLIC) -+ list(APPEND __QtFeature_public_features "${alias_feature}") - endif() -- endforeach() -+ if (arg_PRIVATE) -+ list(APPEND __QtFeature_private_features "${alias_feature}") -+ endif() -+ if (NOT arg_PUBLIC AND NOT arg_PRIVATE) -+ list(APPEND __QtFeature_internal_features "${alias_feature}") -+ endif() -+ -+ set(__QtFeature_public_features ${__QtFeature_public_features} PARENT_SCOPE) -+ set(__QtFeature_private_features ${__QtFeature_private_features} PARENT_SCOPE) -+ set(__QtFeature_internal_features ${__QtFeature_internal_features} PARENT_SCOPE) -+ endif() - endfunction() - - function(qt_evaluate_to_boolean expressionVar) -@@ -470,6 +507,34 @@ - set("FEATURE_${feature}" ${expected_value} PARENT_SCOPE) - endfunction() - -+# Check that the alias value is consistent with its cache source -+function(_qt_feature_check_cache_alias feature) -+ _qt_internal_parse_feature_definition("${feature}") -+ if(NOT arg_ALIAS_OF_CACHE) -+ # Not an alias of a cache variable, skip this check -+ return() -+ endif() -+ if(DEFINED "${arg_ALIAS_OF_CACHE}") -+ # Check if the feature is set by another alias -+ unset(expected_value) -+ _qt_feature_evaluate_alias(expected_value "${feature}") -+ qt_set01(cache_sanitized ${arg_ALIAS_OF_CACHE}) -+ if(NOT DEFINED expected_value) -+ # If nothing else set the alias value, use the primary cache value -+ set("FEATURE_${feature}" "${${arg_ALIAS_OF_CACHE}}" PARENT_SCOPE) -+ return() -+ endif() -+ # Otherwise, just check for consistency -+ if(NOT cache_sanitized EQUAL expected_value) -+ string(CONCAT msg -+ "FEATURE_${feature}(${FEATURE_${feature}}) is an alias of ${not_kw} " -+ "${arg_ALIAS_OF_CACHE}(${${arg_ALIAS_OF_CACHE}}), and their values conflict." -+ ) -+ qt_configure_add_report_error(${msg}) -+ endif() -+ endif() -+endfunction() -+ - # Make sure all the direct alias values are set after the final evaluation of the feature value. - # Must be run after `_qt_feature_check_feature_alias` which checks for user-defined values and - # any inconsistencies -@@ -502,6 +567,7 @@ - # - function(qt_feature_check_and_save_user_provided_value - resultVar feature condition condition_expression computed label) -+ _qt_feature_check_cache_alias(${feature}) - _qt_feature_check_feature_alias(${feature}) - if (DEFINED "FEATURE_${feature}") - # Revisit new user provided value -@@ -605,7 +671,7 @@ - macro(_qt_internal_parse_feature_definition feature) - cmake_parse_arguments(arg - "PRIVATE;PUBLIC;ALIAS_NEGATE" -- "LABEL;PURPOSE;SECTION;ALIAS_OF" -+ "LABEL;PURPOSE;SECTION;ALIAS_OF_FEATURE;ALIAS_OF_CACHE" - "AUTODETECT;CONDITION;ENABLE;DISABLE;EMIT_IF" - ${_QT_FEATURE_DEFINITION_${feature}}) - endmacro() -@@ -692,12 +758,14 @@ - endif() - - set(actual_label "${arg_LABEL}") -- if(arg_ALIAS_OF) -+ if(arg_ALIAS_OF_FEATURE OR arg_ALIAS_OF_CACHE) - set(not_kw) - if(arg_ALIAS_NEGATE) - set(not_kw "NOT") - endif() -- string(APPEND actual_label " (alias of ${not_kw} ${arg_ALIAS_OF})") -+ # Only one of ALIAS_OF_FEATURE/ALIAS_OF_CACHE will be set, so we can just combine them -+ set(alias_source "${not_kw} ${arg_ALIAS_OF_FEATURE}${arg_ALIAS_OF_CACHE}") -+ string(APPEND actual_label " (alias of ${alias_source})") - endif() - - # Warn about a feature which is not emitted, but the user explicitly provided a value for it. -From 2d271835679d1833b3ddd64bb5941bde2c6ad650 Mon Sep 17 00:00:00 2001 -From: Cristian Le -Date: Tue, 04 Feb 2025 16:59:55 +0100 -Subject: [PATCH] Make `FEATURE_static` and `FEATURE_shared` aliased features - -Fixes: QTBUG-133407 -Change-Id: Ic17315b0229a829689b77e272cd9bbd331c3b0d7 -Reviewed-by: Alexandru Croitor ---- - -diff --git a/configure.cmake b/configure.cmake -index 05c4bbd..1b34b9c 100644 ---- a/configure.cmake -+++ b/configure.cmake -@@ -519,15 +519,16 @@ - LABEL "Android Style Assets" - CONDITION ANDROID - ) --qt_feature("shared" PUBLIC -+qt_feature_alias("shared" PUBLIC - LABEL "Building shared libraries" -- CONDITION BUILD_SHARED_LIBS -+ ALIAS_OF_CACHE BUILD_SHARED_LIBS - ) - qt_feature_definition("shared" "QT_STATIC" NEGATE PREREQUISITE "!defined(QT_SHARED) && !defined(QT_STATIC)") - qt_feature_config("shared" QMAKE_PUBLIC_QT_CONFIG) - qt_feature_config("shared" QMAKE_PUBLIC_CONFIG) --qt_feature("static" PUBLIC -- CONDITION NOT QT_FEATURE_shared -+qt_feature_alias("static" -+ ALIAS_OF_FEATURE "shared" -+ NEGATE - ) - qt_feature_config("static" QMAKE_PUBLIC_QT_CONFIG) - qt_feature_config("static" QMAKE_PUBLIC_CONFIG) -From 9d78275f229f4ed26817c549bf1d8ef73ce371e3 Mon Sep 17 00:00:00 2001 -From: Cristian Le -Date: Tue, 18 Feb 2025 17:16:01 +0100 -Subject: [PATCH] Copy `qt_set01` to a central location - -Change-Id: I05b3ef4d02dd1f8583eea9960c3776409f2f3b2e -Reviewed-by: Alexandru Croitor ---- - -diff --git a/cmake/QtPublicCMakeHelpers.cmake b/cmake/QtPublicCMakeHelpers.cmake -index 3ca38b6..29e4e2f 100644 ---- a/cmake/QtPublicCMakeHelpers.cmake -+++ b/cmake/QtPublicCMakeHelpers.cmake -@@ -831,3 +831,11 @@ - endif() - set(${out_var} "${${out_var}}" PARENT_SCOPE) - endfunction() -+ -+function(qt_set01 result) -+ if (${ARGN}) -+ set("${result}" 1 PARENT_SCOPE) -+ else() -+ set("${result}" 0 PARENT_SCOPE) -+ endif() -+endfunction() diff --git a/patch/sioyek_build_fix.patch b/patch/sioyek_build_fix.patch index 8c01f09..c42edb2 100644 --- a/patch/sioyek_build_fix.patch +++ b/patch/sioyek_build_fix.patch @@ -1,15 +1,5 @@ --- a/pdf_viewer_build_config.pro +++ b/pdf_viewer_build_config.pro -@@ -6,7 +6,8 @@ - zlib - - --QT += core opengl gui widgets network 3dinput quickwidgets svg texttospeech -+QT += core opengl gui widgets network quickwidgets svg texttospeech waylandclient-private -+QTPLUGIN += qwayland-generic qwayland-egl - - greaterThan(QT_MAJOR_VERSION, 5){ - QT += openglwidgets @@ -17,7 +18,7 @@ } diff --git a/qt6-9.yaml b/qt6.yaml similarity index 97% rename from qt6-9.yaml rename to qt6.yaml index ada01fa..68ec718 100644 --- a/qt6-9.yaml +++ b/qt6.yaml @@ -21,7 +21,6 @@ modules: buildsystem: cmake-ninja config-opts: - -DINSTALL_ARCHDATADIR=lib - - -DBUILD_SHARED_LIBS=OFF - -DFEATURE_relocatable=OFF - -DFEATURE_rpath=OFF - -DFEATURE_precompile_header=OFF @@ -48,9 +47,6 @@ modules: - type: patch paths: - patch/qtbase-find_package-paths.patch - - type: patch - paths: - - patch/qtbase-fix-static-build.patch - name: qt6-qtshadertools buildsystem: cmake-ninja sources: From a2597524d5b47721ae11373e0c7c11b6caf79816 Mon Sep 17 00:00:00 2001 From: kemal Date: Sun, 31 Aug 2025 18:09:31 +0300 Subject: [PATCH 26/30] qt 6.9.2 --- qt6.yaml | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/qt6.yaml b/qt6.yaml index 68ec718..bf86ca4 100644 --- a/qt6.yaml +++ b/qt6.yaml @@ -4,8 +4,8 @@ config-opts: - -DFEATURE_wayland_server=OFF sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.9/6.9.1/submodules/qtwayland-everywhere-src-6.9.1.tar.xz - sha256: 7d21ea0e687180ebb19b9a1f86ae9cfa7a25b4f02d5db05ec834164409932e3e + url: https://download.qt.io/official_releases/qt/6.9/6.9.2/submodules/qtwayland-everywhere-src-6.9.2.tar.xz + sha256: cad79806565568f12f9983fed69219416abcee9d5deef4abdfcf94aa2eef7781 x-checker-data: type: anitya project-id: 7927 @@ -21,22 +21,18 @@ modules: buildsystem: cmake-ninja config-opts: - -DINSTALL_ARCHDATADIR=lib - - -DFEATURE_relocatable=OFF - -DFEATURE_rpath=OFF - -DFEATURE_precompile_header=OFF - -DFEATURE_openssl_linked=ON - -DFEATURE_sql=OFF - -DFEATURE_printsupport=OFF - -DFEATURE_testlib=OFF - - -DFEATURE_eglfs=OFF - - -DFEATURE_linuxfb=OFF - -DFEATURE_vnc=OFF - - -DFEATURE_vkkhrdisplay=OFF - -DFEATURE_glibc_fortify_source=OFF # this clashes with gcc's own _FORTIFY_SOURCE setting sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.9/6.9.1/submodules/qtbase-everywhere-src-6.9.1.tar.xz - sha256: 40caedbf83cc9a1959610830563565889878bc95f115868bbf545d1914acf28e + url: https://download.qt.io/official_releases/qt/6.9/6.9.2/submodules/qtbase-everywhere-src-6.9.2.tar.xz + sha256: 44be9c9ecfe04129c4dea0a7e1b36ad476c9cc07c292016ac98e7b41514f2440 x-checker-data: type: anitya project-id: 7927 @@ -51,8 +47,8 @@ modules: buildsystem: cmake-ninja sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.9/6.9.1/submodules/qtshadertools-everywhere-src-6.9.1.tar.xz - sha256: 4e1ed24cce0887fb4b6c7be4f150239853a29c330c9717f6bacfb6376f3b4b74 + url: https://download.qt.io/official_releases/qt/6.9/6.9.2/submodules/qtshadertools-everywhere-src-6.9.2.tar.xz + sha256: 17678af9d9543224bbb932bf18d4fc05e180b2b3a3216241e557631bd6bf1495 x-checker-data: type: anitya project-id: 7927 @@ -64,8 +60,8 @@ modules: buildsystem: cmake-ninja sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.9/6.9.1/submodules/qtdeclarative-everywhere-src-6.9.1.tar.xz - sha256: ccb94665df0199d7ee387b965b29677c8b89cfb1782bb6f01239b1d1524cec97 + url: https://download.qt.io/official_releases/qt/6.9/6.9.2/submodules/qtdeclarative-everywhere-src-6.9.2.tar.xz + sha256: 477f2d2c0bd98916107818725e6d498206e033dfb2859c52121e01a06ac42664 x-checker-data: type: anitya project-id: 7927 @@ -77,8 +73,8 @@ modules: buildsystem: cmake-ninja sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.9/6.9.1/submodules/qtsvg-everywhere-src-6.9.1.tar.xz - sha256: 2dfc5de5fd891ff2afd9861e519bf1a26e6deb729b3133f68a28ba763c9abbd5 + url: https://download.qt.io/official_releases/qt/6.9/6.9.2/submodules/qtsvg-everywhere-src-6.9.2.tar.xz + sha256: d984cab8f26334aa1c15e5b8f0cd9f1b7c0c1289fe0b68c1c84ab469b75605a5 x-checker-data: type: anitya project-id: 7927 @@ -92,8 +88,8 @@ modules: - -DFEATURE_ffmpeg=OFF sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.9/6.9.1/submodules/qtmultimedia-everywhere-src-6.9.1.tar.xz - sha256: 955e36459518ee55f8e2bb79defc6e44aa94dc1edf5ac58a22d7734b2e07391d + url: https://download.qt.io/official_releases/qt/6.9/6.9.2/submodules/qtmultimedia-everywhere-src-6.9.2.tar.xz + sha256: 7bf8a19a57a7432181b05d0e264acfd8ca4b75a3901d01a27a32935703e5ab12 x-checker-data: type: anitya project-id: 7927 @@ -105,8 +101,8 @@ modules: buildsystem: cmake-ninja sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.9/6.9.1/submodules/qtspeech-everywhere-src-6.9.1.tar.xz - sha256: 6807f59fcae2ef8f1f64210cfbfc8bcee1a40ed2d21eaee6673aba36bb7c1428 + url: https://download.qt.io/official_releases/qt/6.9/6.9.2/submodules/qtspeech-everywhere-src-6.9.2.tar.xz + sha256: b2b667375111637e45517a6e63475987691b922a19900abc52996617a0a088b1 x-checker-data: type: anitya project-id: 7927 From 980ca118ea92c1f8133d5db359fd5d74afbf496f Mon Sep 17 00:00:00 2001 From: kemal Date: Thu, 4 Sep 2025 07:06:04 +0300 Subject: [PATCH 27/30] fix tab in metainfo --- com.github.ahrm.sioyek.metainfo.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.github.ahrm.sioyek.metainfo.xml b/com.github.ahrm.sioyek.metainfo.xml index eb445d7..4091317 100644 --- a/com.github.ahrm.sioyek.metainfo.xml +++ b/com.github.ahrm.sioyek.metainfo.xml @@ -168,7 +168,7 @@ https://github.com/ahrm/sioyek/releases/tag/v1.3.0 - + Same 1.1.0 release but with updated dependencies (Qt 5.15 and Boost 1.78) https://github.com/ahrm/sioyek/releases/tag/v1.1.0 From 36bc3a013c29e2f56f9ebd13eb6a515d1d5bc0f1 Mon Sep 17 00:00:00 2001 From: kemal Date: Thu, 4 Sep 2025 07:16:02 +0300 Subject: [PATCH 28/30] metainfo: wrap the description text in

--- com.github.ahrm.sioyek.metainfo.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/com.github.ahrm.sioyek.metainfo.xml b/com.github.ahrm.sioyek.metainfo.xml index 4091317..f38f3c7 100644 --- a/com.github.ahrm.sioyek.metainfo.xml +++ b/com.github.ahrm.sioyek.metainfo.xml @@ -112,7 +112,7 @@ - Sioyek 1.4.0fl flathub maintance release: +

Sioyek 1.4.0fl flathub maintance release:

  • Flathub packaging: Make Sioyek use Wayland backend when under Wayland, X11 otherwise
  • Flathub packaging: Fix launching Sioyek from desktop "Open with.." dialog
  • @@ -169,11 +169,11 @@ https://github.com/ahrm/sioyek/releases/tag/v1.3.0 - Same 1.1.0 release but with updated dependencies (Qt 5.15 and Boost 1.78) +

    Same 1.1.0 release but with updated dependencies (Qt 5.15 and Boost 1.78)

    https://github.com/ahrm/sioyek/releases/tag/v1.1.0
    - 1.1.0 release +

    1.1.0 release

    https://github.com/ahrm/sioyek/releases/tag/v1.1.0
    From 177d1727c413f1cf9a57326bb08cccb471e901a1 Mon Sep 17 00:00:00 2001 From: kemal Date: Thu, 4 Sep 2025 07:20:43 +0300 Subject: [PATCH 29/30] update sioyek and freedesktop platform --- com.github.ahrm.sioyek.metainfo.xml | 6 +++--- com.github.ahrm.sioyek.yaml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/com.github.ahrm.sioyek.metainfo.xml b/com.github.ahrm.sioyek.metainfo.xml index f38f3c7..58e52f5 100644 --- a/com.github.ahrm.sioyek.metainfo.xml +++ b/com.github.ahrm.sioyek.metainfo.xml @@ -49,11 +49,11 @@ nbenitezl_AT_gmail.com - + -

    Flathub Beta release from Sioyek github code at 07-06-2025.

    +

    Flathub Beta release from Sioyek github code at 08-08-2025.

    - https://github.com/ahrm/sioyek/commit/5726ccd9d28327c462e4853822ef55ef486e1e4d + https://github.com/ahrm/sioyek/commit/02f47e758e813eaefe713bdbb0eaa22a9467373c
    diff --git a/com.github.ahrm.sioyek.yaml b/com.github.ahrm.sioyek.yaml index 9398e9a..1a06f4a 100644 --- a/com.github.ahrm.sioyek.yaml +++ b/com.github.ahrm.sioyek.yaml @@ -2,7 +2,7 @@ app-id: com.github.ahrm.sioyek runtime: org.freedesktop.Platform -runtime-version: '24.08' +runtime-version: '25.08' sdk: org.freedesktop.Sdk command: sioyek @@ -39,7 +39,7 @@ modules: sources: - type: git url: https://github.com/ahrm/sioyek.git - commit: 5726ccd9d28327c462e4853822ef55ef486e1e4d + commit: 02f47e758e813eaefe713bdbb0eaa22a9467373c - type: patch path: patch/sioyek_build_fix.patch - type: file From da02b9c12facae193edaa23c8cc431eef7e1aade Mon Sep 17 00:00:00 2001 From: kemal Date: Sat, 14 Feb 2026 16:38:06 +0300 Subject: [PATCH 30/30] 2.0.0.github260212 --- com.github.ahrm.sioyek.metainfo.xml | 6 +- com.github.ahrm.sioyek.yaml | 2 +- ...aita-decorations-on-gnome-by-default.patch | 18 ++++++ ...aita-decorations-on-gnome-by-default.patch | 17 ----- qt6.yaml | 62 +++++++++---------- 5 files changed, 53 insertions(+), 52 deletions(-) create mode 100644 patch/qtbase-use-adwaita-decorations-on-gnome-by-default.patch delete mode 100644 patch/qtwayland-use-adwaita-decorations-on-gnome-by-default.patch diff --git a/com.github.ahrm.sioyek.metainfo.xml b/com.github.ahrm.sioyek.metainfo.xml index 58e52f5..d03ec3a 100644 --- a/com.github.ahrm.sioyek.metainfo.xml +++ b/com.github.ahrm.sioyek.metainfo.xml @@ -49,11 +49,11 @@ nbenitezl_AT_gmail.com - + -

    Flathub Beta release from Sioyek github code at 08-08-2025.

    +

    Flathub Beta release from Sioyek github code at 12-02-2026.

    - https://github.com/ahrm/sioyek/commit/02f47e758e813eaefe713bdbb0eaa22a9467373c + https://github.com/ahrm/sioyek/commit/7b2b26547da4b644d646686a53b087d26ac7413f
    diff --git a/com.github.ahrm.sioyek.yaml b/com.github.ahrm.sioyek.yaml index 1a06f4a..ca52009 100644 --- a/com.github.ahrm.sioyek.yaml +++ b/com.github.ahrm.sioyek.yaml @@ -39,7 +39,7 @@ modules: sources: - type: git url: https://github.com/ahrm/sioyek.git - commit: 02f47e758e813eaefe713bdbb0eaa22a9467373c + commit: 7b2b26547da4b644d646686a53b087d26ac7413f - type: patch path: patch/sioyek_build_fix.patch - type: file diff --git a/patch/qtbase-use-adwaita-decorations-on-gnome-by-default.patch b/patch/qtbase-use-adwaita-decorations-on-gnome-by-default.patch new file mode 100644 index 0000000..587b866 --- /dev/null +++ b/patch/qtbase-use-adwaita-decorations-on-gnome-by-default.patch @@ -0,0 +1,18 @@ +diff --git a/src/plugins/platforms/wayland/qwaylandintegration.cpp b/src/plugins/platforms/wayland/qwaylandintegration.cpp +index 669d47ee3b8b96484092527abaed7c4ba99dd030..4b6814f2c19586cd1cc0a3320f789559a85ff973 100644 +--- a/src/plugins/platforms/wayland/qwaylandintegration.cpp ++++ b/src/plugins/platforms/wayland/qwaylandintegration.cpp +@@ -93,6 +93,12 @@ QWaylandIntegration::QWaylandIntegration(const QString &platformName) + QWaylandWindow::fixedToplevelPositions = + !qEnvironmentVariableIsSet("QT_WAYLAND_DISABLE_FIXED_POSITIONS"); + ++ const QByteArray xdgCurrentDesktop = qgetenv("XDG_CURRENT_DESKTOP"); ++ if (xdgCurrentDesktop == "GNOME") { ++ if (!qEnvironmentVariableIsSet("QT_WAYLAND_DECORATION")) ++ qputenv("QT_WAYLAND_DECORATION", "adwaita"); ++ } ++ + sInstance = this; + if (platformName != "wayland"_L1) + initializeClientBufferIntegration(); + diff --git a/patch/qtwayland-use-adwaita-decorations-on-gnome-by-default.patch b/patch/qtwayland-use-adwaita-decorations-on-gnome-by-default.patch deleted file mode 100644 index 6a5e3b4..0000000 --- a/patch/qtwayland-use-adwaita-decorations-on-gnome-by-default.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/src/client/qwaylandintegration.cpp b/src/client/qwaylandintegration.cpp -index 06a1aec..0ea9e0e 100644 ---- a/src/client/qwaylandintegration.cpp -+++ b/src/client/qwaylandintegration.cpp -@@ -87,6 +87,12 @@ QWaylandIntegration::QWaylandIntegration() - QWaylandWindow::fixedToplevelPositions = - !qEnvironmentVariableIsSet("QT_WAYLAND_DISABLE_FIXED_POSITIONS"); - -+ const QByteArray xdgCurrentDesktop = qgetenv("XDG_CURRENT_DESKTOP"); -+ if (xdgCurrentDesktop == "GNOME") { -+ if (!qEnvironmentVariableIsSet("QT_WAYLAND_DECORATION")) -+ qputenv("QT_WAYLAND_DECORATION", "adwaita"); -+ } -+ - sInstance = this; - } - diff --git a/qt6.yaml b/qt6.yaml index bf86ca4..100d171 100644 --- a/qt6.yaml +++ b/qt6.yaml @@ -4,18 +4,15 @@ config-opts: - -DFEATURE_wayland_server=OFF sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.9/6.9.2/submodules/qtwayland-everywhere-src-6.9.2.tar.xz - sha256: cad79806565568f12f9983fed69219416abcee9d5deef4abdfcf94aa2eef7781 + url: https://download.qt.io/official_releases/qt/6.10/6.10.2/submodules/qtwayland-everywhere-src-6.10.2.tar.xz + sha256: 391998eb432719df26a6a67d8efdc67f8bf2afdd76c1ee3381ebff4fe7527ee2 x-checker-data: type: anitya project-id: 7927 stable-only: true versions: - <: 6.10.0 - url-template: https://download.qt.io/official_releases/qt/6.9/$version/submodules/qtwayland-everywhere-src-$version.tar.xz - - type: patch - paths: - - patch/qtwayland-use-adwaita-decorations-on-gnome-by-default.patch + <: 6.11.0 + url-template: https://download.qt.io/official_releases/qt/6.10/$version/submodules/qtwayland-everywhere-src-$version.tar.xz modules: - name: qt6-qtbase buildsystem: cmake-ninja @@ -31,82 +28,85 @@ modules: - -DFEATURE_glibc_fortify_source=OFF # this clashes with gcc's own _FORTIFY_SOURCE setting sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.9/6.9.2/submodules/qtbase-everywhere-src-6.9.2.tar.xz - sha256: 44be9c9ecfe04129c4dea0a7e1b36ad476c9cc07c292016ac98e7b41514f2440 + url: https://download.qt.io/official_releases/qt/6.10/6.10.2/submodules/qtbase-everywhere-src-6.10.2.tar.xz + sha256: aeb78d29291a2b5fd53cb55950f8f5065b4978c25fb1d77f627d695ab9adf21e x-checker-data: type: anitya project-id: 7927 stable-only: true versions: - <: 6.10.0 - url-template: https://download.qt.io/official_releases/qt/6.9/$version/submodules/qtbase-everywhere-src-$version.tar.xz + <: 6.11.0 + url-template: https://download.qt.io/official_releases/qt/6.10/$version/submodules/qtbase-everywhere-src-$version.tar.xz - type: patch paths: - patch/qtbase-find_package-paths.patch + - type: patch + paths: + - patch/qtbase-use-adwaita-decorations-on-gnome-by-default.patch - name: qt6-qtshadertools buildsystem: cmake-ninja sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.9/6.9.2/submodules/qtshadertools-everywhere-src-6.9.2.tar.xz - sha256: 17678af9d9543224bbb932bf18d4fc05e180b2b3a3216241e557631bd6bf1495 + url: https://download.qt.io/official_releases/qt/6.10/6.10.2/submodules/qtshadertools-everywhere-src-6.10.2.tar.xz + sha256: 18d9dbbc4f7e6e96e6ed89a9965dc032e2b58158b65156c035537826216716c9 x-checker-data: type: anitya project-id: 7927 stable-only: true versions: - <: 6.10.0 - url-template: https://download.qt.io/official_releases/qt/6.9/$version/submodules/qtshadertools-everywhere-src-$version.tar.xz + <: 6.11.0 + url-template: https://download.qt.io/official_releases/qt/6.10/$version/submodules/qtshadertools-everywhere-src-$version.tar.xz - name: qt6-qtdeclarative buildsystem: cmake-ninja sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.9/6.9.2/submodules/qtdeclarative-everywhere-src-6.9.2.tar.xz - sha256: 477f2d2c0bd98916107818725e6d498206e033dfb2859c52121e01a06ac42664 + url: https://download.qt.io/official_releases/qt/6.10/6.10.2/submodules/qtdeclarative-everywhere-src-6.10.2.tar.xz + sha256: a249914ff66cdcdbf0df8b5ffad997a2ee6dce01cc17d43c6cc56fdc1d0f4b0f x-checker-data: type: anitya project-id: 7927 stable-only: true versions: - <: 6.10.0 - url-template: https://download.qt.io/official_releases/qt/6.9/$version/submodules/qtdeclarative-everywhere-src-$version.tar.xz + <: 6.11.0 + url-template: https://download.qt.io/official_releases/qt/6.10/$version/submodules/qtdeclarative-everywhere-src-$version.tar.xz - name: qt6-qtsvg buildsystem: cmake-ninja sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.9/6.9.2/submodules/qtsvg-everywhere-src-6.9.2.tar.xz - sha256: d984cab8f26334aa1c15e5b8f0cd9f1b7c0c1289fe0b68c1c84ab469b75605a5 + url: https://download.qt.io/official_releases/qt/6.10/6.10.2/submodules/qtsvg-everywhere-src-6.10.2.tar.xz + sha256: f07ff80f38caf235187200345392ca7479445ddf49a36c3694cd52a735dad6e1 x-checker-data: type: anitya project-id: 7927 stable-only: true versions: - <: 6.10.0 - url-template: https://download.qt.io/official_releases/qt/6.9/$version/submodules/qtsvg-everywhere-src-$version.tar.xz + <: 6.11.0 + url-template: https://download.qt.io/official_releases/qt/6.10/$version/submodules/qtsvg-everywhere-src-$version.tar.xz - name: qt6-qtmultimedia buildsystem: cmake-ninja config-opts: - -DFEATURE_ffmpeg=OFF sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.9/6.9.2/submodules/qtmultimedia-everywhere-src-6.9.2.tar.xz - sha256: 7bf8a19a57a7432181b05d0e264acfd8ca4b75a3901d01a27a32935703e5ab12 + url: https://download.qt.io/official_releases/qt/6.10/6.10.2/submodules/qtmultimedia-everywhere-src-6.10.2.tar.xz + sha256: 93f7ef0106fbd731165a2723f3e436c911fc5e6880f5bc987b55516c20833e2b x-checker-data: type: anitya project-id: 7927 stable-only: true versions: - <: 6.10.0 - url-template: https://download.qt.io/official_releases/qt/6.9/$version/submodules/qtmultimedia-everywhere-src-$version.tar.xz + <: 6.11.0 + url-template: https://download.qt.io/official_releases/qt/6.10/$version/submodules/qtmultimedia-everywhere-src-$version.tar.xz - name: qt6-qtspeech buildsystem: cmake-ninja sources: - type: archive - url: https://download.qt.io/official_releases/qt/6.9/6.9.2/submodules/qtspeech-everywhere-src-6.9.2.tar.xz - sha256: b2b667375111637e45517a6e63475987691b922a19900abc52996617a0a088b1 + url: https://download.qt.io/official_releases/qt/6.10/6.10.2/submodules/qtspeech-everywhere-src-6.10.2.tar.xz + sha256: d937f6c715792b0d8f036e94513ebfc8def6b988a65f3ff30a7f4a8cc1263014 x-checker-data: type: anitya project-id: 7927 stable-only: true versions: - <: 6.10.0 - url-template: https://download.qt.io/official_releases/qt/6.9/$version/submodules/qtspeech-everywhere-src-$version.tar.xz + <: 6.11.0 + url-template: https://download.qt.io/official_releases/qt/6.10/$version/submodules/qtspeech-everywhere-src-$version.tar.xz