diff --git a/dev-qt/linguist-tools/Manifest b/dev-qt/linguist-tools/Manifest new file mode 100644 index 0000000..1328906 --- /dev/null +++ b/dev-qt/linguist-tools/Manifest @@ -0,0 +1,2 @@ +DIST qttools-5.15.18-gentoo-kde-1.tar.xz 2336 BLAKE2B 0ddc602b0b0edddbd7ff5cb435a6ab63ea4c9a159513c3b42e553ad68fb297239893b1d55e1ed1ff143d7af624e4d47cd07e5e2e564f4fe022b987b589f8d05d SHA512 e96f2d01a3526b1ebc3fb9afd04a38b42336d159961f53e348798cd0c4548abdae96569b670521b077daaf2fd64a29eedf9dd3b0cb7a131d5ec77deaec37cb5e +DIST qttools-everywhere-opensource-src-5.15.18.tar.xz 8876416 BLAKE2B f546692ac9faccd617838432c001f7d574c7137ff44326d6d1e207a3eea913592c7857a15c91cbbadf0451512c256f4a99d43694b35f84fc758aa2a55118be75 SHA512 30a278df553ff3bb64927a4a5be0370b070131ec2970410095b4618e6a0f6e7c45374abf37c458b69dd9e4f7cecb98289b8e777cf5bc85b09f0b5cd278a40a70 diff --git a/dev-qt/linguist-tools/linguist-tools-5.15.18.ebuild b/dev-qt/linguist-tools/linguist-tools-5.15.18.ebuild new file mode 100644 index 0000000..aaa3cff --- /dev/null +++ b/dev-qt/linguist-tools/linguist-tools-5.15.18.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=1 + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +QT5_MODULE="qttools" +inherit qt5-build + +DESCRIPTION="Tools for working with Qt translation data files" + +IUSE="qml" + +DEPEND=" + =dev-qt/qtcore-${QT5_PV}*:5= + =dev-qt/qtxml-${QT5_PV}* + qml? ( =dev-qt/qtdeclarative-${QT5_PV}* ) +" +RDEPEND="${DEPEND}" + +QT5_TARGET_SUBDIRS=( + src/linguist +) + +src_prepare() { + sed -i -e '/SUBDIRS += linguist/d' \ + src/linguist/linguist.pro || die + + qt_use_disable_mod qml qmldevtools-private \ + src/linguist/lupdate/lupdate.pro + + qt5-build_src_prepare +} diff --git a/dev-qt/linguist-tools/metadata.xml b/dev-qt/linguist-tools/metadata.xml new file mode 100644 index 0000000..7541e00 --- /dev/null +++ b/dev-qt/linguist-tools/metadata.xml @@ -0,0 +1,20 @@ + + + + + Enable QML support in lupdate + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/metadata.xml b/dev-qt/metadata.xml new file mode 100644 index 0000000..5ea359f --- /dev/null +++ b/dev-qt/metadata.xml @@ -0,0 +1,20 @@ + + + + + The dev-qt category contains packages for the Qt framework modules and + directly related libraries and development applications from the upstream + Qt Project. Do not add other packages to this category. + + + Die Kategorie dev-qt enthält Pakete für die Qt-Framework-Module + sowie direkt zugehörige Bibliotheken und Entwicklungsanwendungen + des Qt-Upstream-Projekts. Zu dieser Kategorie sollen keine anderen + Pakete hinzugefügt werden. + + + La categoría dev-qt contiene paquetes para los módulos del marco de trabajo + Qt y las librerías y aplicaciones de desarrollo directamente relacionadas + del proyecto Qt. No añadir otros paquetes a esta categoría. + + diff --git a/dev-qt/qlementine/Manifest b/dev-qt/qlementine/Manifest new file mode 100644 index 0000000..280f187 --- /dev/null +++ b/dev-qt/qlementine/Manifest @@ -0,0 +1,2 @@ +DIST qlementine-1.4.2-build-as-shared-lib.patch 11920 BLAKE2B 14d5947f144a6805f01cd8408293ddf452ca96ccc1935d65540e9906011654a73ec27cb2cd7686566fbddac4e265ff8085c43ee56d876a0caa37301b8c7577ac SHA512 6ab48df30ea548fccc3b3fbf6d7358cfba8deb466dab141d5bc673c4704a580ef1860b48e9cf710238cf59cab7b113f2557085a91a02729d05f841b4b006eb90 +DIST qlementine-1.4.2.tar.gz 3682605 BLAKE2B f03fc8666d1afaff8c48ba5d2bf5819062affc0d83737740c4a816699d2960c8723b38435c764a7f0005d521e24ea10667884f97fa6c9f5dceffd646898e1450 SHA512 7c80b11f938b3e2ea23083e8394470b8cfa95bbe07d5bc89720c46e5ec0a004839860094044eecfe830a080d5e8b2e62cafc883c66ceeae84a2e8aadf8acbaed diff --git a/dev-qt/qlementine/metadata.xml b/dev-qt/qlementine/metadata.xml new file mode 100644 index 0000000..479ee38 --- /dev/null +++ b/dev-qt/qlementine/metadata.xml @@ -0,0 +1,11 @@ + + + + + kangie@gentoo.org + Primary maintainer + + + oclero/qlementine + + diff --git a/dev-qt/qlementine/qlementine-1.4.2.ebuild b/dev-qt/qlementine/qlementine-1.4.2.ebuild new file mode 100644 index 0000000..7a0181d --- /dev/null +++ b/dev-qt/qlementine/qlementine-1.4.2.ebuild @@ -0,0 +1,33 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Modern QStyle for desktop Qt6 applications" +HOMEPAGE="https://github.com/oclero/qlementine" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/oclero/qlementine.git" +else + SRC_URI=" + https://github.com/oclero/qlementine/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://deps.gentoo.zip/dev-qt/qlementine/${P}-build-as-shared-lib.patch + " + KEYWORDS="~amd64" +fi + +LICENSE="MIT" +SLOT="0" + +RDEPEND=" + dev-qt/qtbase:6[widgets] + dev-qt/qtsvg:6 +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${DISTDIR}/${P}-build-as-shared-lib.patch" +) diff --git a/dev-qt/qt-creator/Manifest b/dev-qt/qt-creator/Manifest new file mode 100644 index 0000000..1315993 --- /dev/null +++ b/dev-qt/qt-creator/Manifest @@ -0,0 +1,3 @@ +DIST qt-creator-opensource-src-19.0.0.tar.xz 39935612 BLAKE2B 474d6b0d80f75462272a926440537a7e815f137e27fa02cfad17ab562820ea0eca94eb30a70e6345fe1fa66282722540b1b6a56113ca72a998eeabec1f1d4f02 SHA512 7214d1883c4ddfa2d5a52b74d75c649f926afe455f1dab30aed72d7abc21ceae677d137a196e13b61a2d798a6556f1c68d79fcd63e6ba1c847b817a2a5274d90 +DIST qt-creator-opensource-src-19.0.1.tar.xz 39906824 BLAKE2B 3624bea2048cd384dbb453ae08f6809c2d93d19d17444d93540a2f8bd4ee1f447e7324c4a80db2dfb101dc04794dfbaafe27565b95ece0fabaee38d9cb61fb83 SHA512 9cce61ea678f5c98c5a7cecce28d74a2c22687b1fa26aeb61e475534effdaa6558fe59beef805f9c5ac77fd5c6f28bd7738b870e4801008e05c84ca0dac4a8ff +DIST qt-creator-opensource-src-19.0.2.tar.xz 39908940 BLAKE2B 2a20e5644ad1406292108654d71d3bacbc06fba12270ea657814537755d96c033fd1a4f7d64c284c1115cc4c7f3f1b3e4a61a3360d3a263dbfeacb27accd944e SHA512 c0663a848fa7da32e7a1b1b3198a963bf2cc8e1f620cec97ca80522799029bff5fee61dd40bbebb337efe9eb7a87c08e6eb41154c05e7890808faf5d6b1a38f8 diff --git a/dev-qt/qt-creator/files/qt-creator-12.0.0-musl-no-malloc-trim.patch b/dev-qt/qt-creator/files/qt-creator-12.0.0-musl-no-malloc-trim.patch new file mode 100644 index 0000000..b22f204 --- /dev/null +++ b/dev-qt/qt-creator/files/qt-creator-12.0.0-musl-no-malloc-trim.patch @@ -0,0 +1,8 @@ +malloc_trim() is unavailable with musl +--- a/src/plugins/coreplugin/icore.cpp ++++ b/src/plugins/coreplugin/icore.cpp +@@ -1276,3 +1276,3 @@ + // glibc may not actually free memory in free(). +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) && defined(__GLIBC__) + connect(&m_trimTimer, &QTimer::timeout, this, [] { malloc_trim(0); }); diff --git a/dev-qt/qt-creator/files/qt-creator-16.0.0-musl-no-execinfo.patch b/dev-qt/qt-creator/files/qt-creator-16.0.0-musl-no-execinfo.patch new file mode 100644 index 0000000..289f68f --- /dev/null +++ b/dev-qt/qt-creator/files/qt-creator-16.0.0-musl-no-execinfo.patch @@ -0,0 +1,26 @@ +execinfo is unavailable with musl (unless opt to package+use libexecinfo) +--- a/src/libs/utils/qtcassert.cpp ++++ b/src/libs/utils/qtcassert.cpp +@@ -9,5 +9,5 @@ + #include + +-#if defined(Q_OS_UNIX) ++#if defined(Q_OS_UNIX) && defined(__GLIBC__) + #include + #include +@@ -30,5 +30,5 @@ + if (maxdepth < 0 || maxdepth > ArraySize) + maxdepth = ArraySize; +-#if defined(Q_OS_UNIX) ++#if defined(Q_OS_UNIX) && defined(__GLIBC__) + void *bt[ArraySize] = {nullptr}; + int size = backtrace(bt, maxdepth); +--- a/src/plugins/qmldesigner/libs/designercore/exceptions/exception.cpp ++++ b/src/plugins/qmldesigner/libs/designercore/exceptions/exception.cpp +@@ -4,5 +4,5 @@ + #include "exception.h" + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) && defined(__GLIBC__) + #include + #include diff --git a/dev-qt/qt-creator/metadata.xml b/dev-qt/qt-creator/metadata.xml new file mode 100644 index 0000000..03101bc --- /dev/null +++ b/dev-qt/qt-creator/metadata.xml @@ -0,0 +1,27 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Build clang-based plugins for C/C++ development (code model, formatting, static analysis) + Enable designer for QtWidgets-based UIs + Enable the integrated dev-qt/qt-docs viewer (also needed for examples) + Install the 'Devel' component needed to build external Qt Creator plugins + Build QmlDesigner and related plugins (Insight, StudioWelcome) + Build the serial terminal plugin + Build plugins for tracing requiring extra dependencies (AppStatisticsMonitor, CtfVisualizer, PerfProfiler, QmlProfiler) + + Allow using dev-qt/qtwebengine for + better USE=help display, and for Design Viewer + Connector support with USE=qmldesigner + + + + https://qt-project.atlassian.net/ + https://doc.qt.io/qtcreator/ + qt-creator/qt-creator + + diff --git a/dev-qt/qt-creator/qt-creator-19.0.0.ebuild b/dev-qt/qt-creator/qt-creator-19.0.0.ebuild new file mode 100644 index 0000000..4806a17 --- /dev/null +++ b/dev-qt/qt-creator/qt-creator-19.0.0.ebuild @@ -0,0 +1,281 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {16..22} ) +LLVM_OPTIONAL=1 +PYTHON_COMPAT=( python3_{11..14} ) +inherit cmake flag-o-matic llvm-r2 python-any-r1 readme.gentoo-r1 xdg + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI=( + "https://code.qt.io/qt-creator/qt-creator.git" + "https://github.com/qt-creator/qt-creator.git" + ) + EGIT_SUBMODULES=( + perfparser + src/libs/qlitehtml + src/libs/qlitehtml/src/3rdparty/litehtml + ) +else + QTC_PV=${PV/_/-} + QTC_P=${PN}-opensource-src-${QTC_PV} + [[ ${QTC_PV} == ${PV} ]] && QTC_REL=official || QTC_REL=development + SRC_URI=" + https://download.qt.io/${QTC_REL}_releases/qtcreator/$(ver_cut 1-2)/${PV/_/-}/${QTC_P}.tar.xz + " + S=${WORKDIR}/${QTC_P} + KEYWORDS="amd64" +fi + +DESCRIPTION="Lightweight IDE for C++/QML development centering around Qt" +HOMEPAGE="https://www.qt.io/product/development-tools" + +LICENSE="GPL-3" +SLOT="0" +IUSE=" + +clang designer doc +help keyring plugin-dev qmldesigner + serialterminal +svg test +tracing webengine +" +REQUIRED_USE="clang? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +QT_PV=6.7.3:6 + +# := is used where Qt's private APIs are used for safety +COMMON_DEPEND=" + app-arch/libarchive:= + dev-cpp/yaml-cpp:= + >=dev-qt/qtbase-${QT_PV}=[concurrent,dbus,gui,network,ssl,widgets,xml] + >=dev-qt/qtdeclarative-${QT_PV}= + clang? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + ) + designer? ( >=dev-qt/qttools-${QT_PV}[designer] ) + help? ( + >=dev-qt/qttools-${QT_PV}[assistant] + webengine? ( >=dev-qt/qtwebengine-${QT_PV} ) + ) + keyring? ( + app-crypt/libsecret + dev-libs/glib:2 + ) + qmldesigner? ( + >=dev-qt/qtquick3d-${QT_PV}= + >=dev-qt/qtsvg-${QT_PV} + >=dev-qt/qtwebsockets-${QT_PV} + webengine? ( >=dev-qt/qtwebengine-${QT_PV} ) + ) + serialterminal? ( >=dev-qt/qtserialport-${QT_PV} ) + svg? ( >=dev-qt/qtsvg-${QT_PV} ) + tracing? ( + app-arch/zstd:= + dev-libs/elfutils + >=dev-qt/qtcharts-${QT_PV} + >=dev-qt/qtshadertools-${QT_PV} + ) +" +# qtimageformats for .webp in examples, semi-optfeature but useful in general +RDEPEND=" + ${COMMON_DEPEND} + help? ( >=dev-qt/qtimageformats-${QT_PV} ) + qmldesigner? ( >=dev-qt/qtquicktimeline-${QT_PV} ) +" +DEPEND="${COMMON_DEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + >=dev-qt/qttools-${QT_PV}[linguist] + doc? ( >=dev-qt/qttools-${QT_PV}[qdoc,qtattributionsscanner] ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-16.0.0-musl-no-execinfo.patch + "${FILESDIR}"/${PN}-12.0.0-musl-no-malloc-trim.patch +) + +src_prepare() { + cmake_src_prepare + + # needed for finding docs at runtime in PF + sed -e "/_IDE_DOC_PATH/s/qtcreator/${PF}/" \ + -i cmake/QtCreatorAPIInternal.cmake || die + + # avoid building manual tests (aka not ran) for nothing (bug #950010) + sed -i '/add_subdirectory(manual)/d' tests/CMakeLists.txt || die + + if use plugin-dev; then #928423 + # cmake --install --component integrates poorly with the cmake + # eclass and the install targets are otherwise missing, so strip + # out EXCLUDE_FROM_ALL until figure out a better solution + find . \( -name CMakeLists.txt -o -name '*.cmake' \) -exec sed -i -zE \ + 's/COMPONENT[[:space:]]+Devel[[:space:]]+EXCLUDE_FROM_ALL//g' {} + || die + fi +} + +src_configure() { + use clang && llvm_chost_setup + + # -Werror=lto-type-mismatch issues, needs looking into + filter-lto + + # temporary workaround for musl-1.2.4 (bug #903611), this ideally + # needs fixing in qtbase as *64 usage comes from its headers' macros + use elibc_musl && append-lfs-flags + + local mycmakeargs=( + -DBUILD_DEVELOPER_DOCS=$(usex doc) + -DBUILD_DOCS_BY_DEFAULT=$(usex doc) + -DBUILD_WITH_PCH=no + -DWITH_DOCS=$(usex doc) + -DWITH_TESTS=$(usex test) + + # sticking to bundled for now until it switches to KF6's + -DBUILD_LIBRARY_KSYNTAXHIGHLIGHTING=yes + + # Much can be optional, but do not want to flood users (or maintainers) + # with too many flags. Not to mention that many plugins are merely + # wrappers around still optional tools (e.g. cvs) and any unwanted + # plugins can be disabled at runtime. So optional flags are limited + # to plugins with additional build-time dependencies. + -DBUILD_LIBRARY_TRACING=$(usex tracing) # qml+perfprofiler,ctfvisual + -DBUILD_EXECUTABLE_PERFPARSER=$(usex tracing) + -DBUILD_PLUGIN_APPSTATISTICSMONITOR=$(usex tracing) + + -DBUILD_PLUGIN_CLANGCODEMODEL=$(usex clang) + -DBUILD_PLUGIN_CLANGFORMAT=$(usex clang) + -DBUILD_PLUGIN_CLANGTOOLS=$(usex clang) + -DCLANGTOOLING_LINK_CLANG_DYLIB=yes + + -DBUILD_PLUGIN_DESIGNER=$(usex designer) + + -DBUILD_PLUGIN_HELP=$(usex help) + -DBUILD_HELPVIEWERBACKEND_QTWEBENGINE=$(usex webengine) + # TODO?: unbundle litehtml, but support for latest releases + # tend to lag behind and bundled may work out better for now + -DBUILD_LIBRARY_QLITEHTML=$(usex help $(usex !webengine)) + + # help shouldn't use with the above, but qmldesigner is automagic + $(use help || use qmldesigner && + cmake_use_find_package webengine Qt6WebEngineWidgets) + + -DBUILD_PLUGIN_SERIALTERMINAL=$(usex serialterminal) + -DENABLE_SVG_SUPPORT=$(usex svg) + -DWITH_QMLDESIGNER=$(usex qmldesigner) + + # cmdbridge-server is a hardly used maintenance burden (bug #967488) + -DBUILD_EXECUTABLE_CMDBRIDGE=no + + # meant to be in sync with qtbase[journald], but think(?) not worth + # handling given qt-creator can use QT_FORCE_STDERR_LOGGING=1 nowadays + -Djournald=no + + # not packaged, but allow using if found + #-DCMAKE_DISABLE_FIND_PACKAGE_LibDDemangle=yes + #-DCMAKE_DISABLE_FIND_PACKAGE_LibRustcDemangle=yes + + # for bundled qtkeychain (no switch to unbundle right now) + # reminder: if ever unbundled/optional, qtbase[dbus] can be removed + -DLIBSECRET_SUPPORT=$(usex keyring) + ) + + cmake_src_configure +} + +src_test() { + local -x QT_QPA_PLATFORM=offscreen + + local CMAKE_SKIP_TESTS=( + # broke since 17.0.0 and hasn't really been looked into yet, + # does not seem to cause visible problems so skipping for now + tst_process + # skipping same tests+label as upstream's CI by default + # `grep ctest .github/workflows/build_cmake.yml` + tst_perfdata + ) + + cmake_src_test --label-exclude exclude_from_precheck +} + +src_install() { + cmake_src_install + + if use doc; then + dodoc -r "${BUILD_DIR}"/doc/html + dodoc "${BUILD_DIR}"/share/doc/${PF}/qtcreator{,-dev}.qch + docompress -x /usr/share/doc/${PF}/qtcreator{,-dev}.qch + fi + + local DISABLE_AUTOFORMATTING=yes + local DOC_CONTENTS="\ +Some plugins (if used) may need optional extra dependencies/USE. + +This list provides associations with Gentoo's packages (if exists) +ordered as in Qt Creator's Help -> About Plugins (not exhaustive). + +dev-qt/qt-docs:6 with USE=\"examples qch\" is notably recommended, or +else the example tab will be empty alongside missing documentation. + +Build Systems: +- CMakeProjectManager (dev-build/cmake) +- MesonProjectManager (dev-build/meson) +- QbsProjectManager (dev-util/qbs) + +C++: +- Beautifier (dev-util/astyle and/or dev-util/uncrustify) +- ClangCodeModel (USE=clang, dev-util/clazy to understand Qt semantics) +- ClangFormat (USE=clang) + +Code Analyzer: +- ClangTools (USE=clang) +- Cppcheck (dev-util/cppcheck) +- CtfVisualizer (USE=tracing) +- PerfProfiler (USE=tracing) +- Valgrind (dev-debug/valgrind) + +Core: +- Help (USE=help + dev-qt/qt-docs:6 with USE=\"examples qch\") + +Device Support: +- Android (virtual/jdk, will also want the unpackaged Qt for Android) + +Other Languages: +- Nim (dev-lang/nim) +- Python (dev-lang/python) + +Qt Creator: +- Designer (USE=designer) + +Qt Quick: +- Insight (USE=qmldesigner) +- QmlDesigner (USE=qmldesigner) +- QmlProfiler (USE=tracing) + +Utilities: +- AppStatisticsMonitor (USE=tracing) +- Autotest (dev-cpp/catch, dev-cpp/gtest, or dev-libs/boost if used) +- Conan (dev-util/conan) +- Docker (app-containers/docker) +- Haskell (dev-lang/ghc) +- ScreenRecorder (media-video/ffmpeg) +- SerialTerminal (USE=serialterminal) +- SilverSearcher (sys-apps/the_silver_searcher) +- StudioWelcome (USE=qmldesigner) + +Version Control: +- CVS (dev-vcs/cvs) +- Fossil (dev-vcs/fossil) +- Git (dev-vcs/git) +- Mercurial (dev-vcs/mercurial) +- Subversion (dev-vcs/subversion)" + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + readme.gentoo_print_elog +} diff --git a/dev-qt/qt-creator/qt-creator-19.0.1.ebuild b/dev-qt/qt-creator/qt-creator-19.0.1.ebuild new file mode 100644 index 0000000..7668663 --- /dev/null +++ b/dev-qt/qt-creator/qt-creator-19.0.1.ebuild @@ -0,0 +1,281 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {16..22} ) +LLVM_OPTIONAL=1 +PYTHON_COMPAT=( python3_{11..14} ) +inherit cmake flag-o-matic llvm-r2 python-any-r1 readme.gentoo-r1 xdg + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI=( + "https://code.qt.io/qt-creator/qt-creator.git" + "https://github.com/qt-creator/qt-creator.git" + ) + EGIT_SUBMODULES=( + perfparser + src/libs/qlitehtml + src/libs/qlitehtml/src/3rdparty/litehtml + ) +else + QTC_PV=${PV/_/-} + QTC_P=${PN}-opensource-src-${QTC_PV} + [[ ${QTC_PV} == ${PV} ]] && QTC_REL=official || QTC_REL=development + SRC_URI=" + https://download.qt.io/${QTC_REL}_releases/qtcreator/$(ver_cut 1-2)/${PV/_/-}/${QTC_P}.tar.xz + " + S=${WORKDIR}/${QTC_P} + KEYWORDS="~amd64" +fi + +DESCRIPTION="Lightweight IDE for C++/QML development centering around Qt" +HOMEPAGE="https://www.qt.io/product/development-tools" + +LICENSE="GPL-3" +SLOT="0" +IUSE=" + +clang designer doc +help keyring plugin-dev qmldesigner + serialterminal +svg test +tracing webengine +" +REQUIRED_USE="clang? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +QT_PV=6.7.3:6 + +# := is used where Qt's private APIs are used for safety +COMMON_DEPEND=" + app-arch/libarchive:= + dev-cpp/yaml-cpp:= + >=dev-qt/qtbase-${QT_PV}=[concurrent,dbus,gui,network,ssl,widgets,xml] + >=dev-qt/qtdeclarative-${QT_PV}= + clang? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + ) + designer? ( >=dev-qt/qttools-${QT_PV}[designer] ) + help? ( + >=dev-qt/qttools-${QT_PV}[assistant] + webengine? ( >=dev-qt/qtwebengine-${QT_PV} ) + ) + keyring? ( + app-crypt/libsecret + dev-libs/glib:2 + ) + qmldesigner? ( + >=dev-qt/qtquick3d-${QT_PV}= + >=dev-qt/qtsvg-${QT_PV} + >=dev-qt/qtwebsockets-${QT_PV} + webengine? ( >=dev-qt/qtwebengine-${QT_PV} ) + ) + serialterminal? ( >=dev-qt/qtserialport-${QT_PV} ) + svg? ( >=dev-qt/qtsvg-${QT_PV} ) + tracing? ( + app-arch/zstd:= + dev-libs/elfutils + >=dev-qt/qtcharts-${QT_PV} + >=dev-qt/qtshadertools-${QT_PV} + ) +" +# qtimageformats for .webp in examples, semi-optfeature but useful in general +RDEPEND=" + ${COMMON_DEPEND} + help? ( >=dev-qt/qtimageformats-${QT_PV} ) + qmldesigner? ( >=dev-qt/qtquicktimeline-${QT_PV} ) +" +DEPEND="${COMMON_DEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + >=dev-qt/qttools-${QT_PV}[linguist] + doc? ( >=dev-qt/qttools-${QT_PV}[qdoc,qtattributionsscanner] ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-16.0.0-musl-no-execinfo.patch + "${FILESDIR}"/${PN}-12.0.0-musl-no-malloc-trim.patch +) + +src_prepare() { + cmake_src_prepare + + # needed for finding docs at runtime in PF + sed -e "/_IDE_DOC_PATH/s/qtcreator/${PF}/" \ + -i cmake/QtCreatorAPIInternal.cmake || die + + # avoid building manual tests (aka not ran) for nothing (bug #950010) + sed -i '/add_subdirectory(manual)/d' tests/CMakeLists.txt || die + + if use plugin-dev; then #928423 + # cmake --install --component integrates poorly with the cmake + # eclass and the install targets are otherwise missing, so strip + # out EXCLUDE_FROM_ALL until figure out a better solution + find . \( -name CMakeLists.txt -o -name '*.cmake' \) -exec sed -i -zE \ + 's/COMPONENT[[:space:]]+Devel[[:space:]]+EXCLUDE_FROM_ALL//g' {} + || die + fi +} + +src_configure() { + use clang && llvm_chost_setup + + # -Werror=lto-type-mismatch issues, needs looking into + filter-lto + + # temporary workaround for musl-1.2.4 (bug #903611), this ideally + # needs fixing in qtbase as *64 usage comes from its headers' macros + use elibc_musl && append-lfs-flags + + local mycmakeargs=( + -DBUILD_DEVELOPER_DOCS=$(usex doc) + -DBUILD_DOCS_BY_DEFAULT=$(usex doc) + -DBUILD_WITH_PCH=no + -DWITH_DOCS=$(usex doc) + -DWITH_TESTS=$(usex test) + + # sticking to bundled for now until it switches to KF6's + -DBUILD_LIBRARY_KSYNTAXHIGHLIGHTING=yes + + # Much can be optional, but do not want to flood users (or maintainers) + # with too many flags. Not to mention that many plugins are merely + # wrappers around still optional tools (e.g. cvs) and any unwanted + # plugins can be disabled at runtime. So optional flags are limited + # to plugins with additional build-time dependencies. + -DBUILD_LIBRARY_TRACING=$(usex tracing) # qml+perfprofiler,ctfvisual + -DBUILD_EXECUTABLE_PERFPARSER=$(usex tracing) + -DBUILD_PLUGIN_APPSTATISTICSMONITOR=$(usex tracing) + + -DBUILD_PLUGIN_CLANGCODEMODEL=$(usex clang) + -DBUILD_PLUGIN_CLANGFORMAT=$(usex clang) + -DBUILD_PLUGIN_CLANGTOOLS=$(usex clang) + -DCLANGTOOLING_LINK_CLANG_DYLIB=yes + + -DBUILD_PLUGIN_DESIGNER=$(usex designer) + + -DBUILD_PLUGIN_HELP=$(usex help) + -DBUILD_HELPVIEWERBACKEND_QTWEBENGINE=$(usex webengine) + # TODO?: unbundle litehtml, but support for latest releases + # tend to lag behind and bundled may work out better for now + -DBUILD_LIBRARY_QLITEHTML=$(usex help $(usex !webengine)) + + # help shouldn't use with the above, but qmldesigner is automagic + $(use help || use qmldesigner && + cmake_use_find_package webengine Qt6WebEngineWidgets) + + -DBUILD_PLUGIN_SERIALTERMINAL=$(usex serialterminal) + -DENABLE_SVG_SUPPORT=$(usex svg) + -DWITH_QMLDESIGNER=$(usex qmldesigner) + + # cmdbridge-server is a hardly used maintenance burden (bug #967488) + -DBUILD_EXECUTABLE_CMDBRIDGE=no + + # meant to be in sync with qtbase[journald], but think(?) not worth + # handling given qt-creator can use QT_FORCE_STDERR_LOGGING=1 nowadays + -Djournald=no + + # not packaged, but allow using if found + #-DCMAKE_DISABLE_FIND_PACKAGE_LibDDemangle=yes + #-DCMAKE_DISABLE_FIND_PACKAGE_LibRustcDemangle=yes + + # for bundled qtkeychain (no switch to unbundle right now) + # reminder: if ever unbundled/optional, qtbase[dbus] can be removed + -DLIBSECRET_SUPPORT=$(usex keyring) + ) + + cmake_src_configure +} + +src_test() { + local -x QT_QPA_PLATFORM=offscreen + + local CMAKE_SKIP_TESTS=( + # broke since 17.0.0 and hasn't really been looked into yet, + # does not seem to cause visible problems so skipping for now + tst_process + # skipping same tests+label as upstream's CI by default + # `grep ctest .github/workflows/build_cmake.yml` + tst_perfdata + ) + + cmake_src_test --label-exclude exclude_from_precheck +} + +src_install() { + cmake_src_install + + if use doc; then + dodoc -r "${BUILD_DIR}"/doc/html + dodoc "${BUILD_DIR}"/share/doc/${PF}/qtcreator{,-dev}.qch + docompress -x /usr/share/doc/${PF}/qtcreator{,-dev}.qch + fi + + local DISABLE_AUTOFORMATTING=yes + local DOC_CONTENTS="\ +Some plugins (if used) may need optional extra dependencies/USE. + +This list provides associations with Gentoo's packages (if exists) +ordered as in Qt Creator's Help -> About Plugins (not exhaustive). + +dev-qt/qt-docs:6 with USE=\"examples qch\" is notably recommended, or +else the example tab will be empty alongside missing documentation. + +Build Systems: +- CMakeProjectManager (dev-build/cmake) +- MesonProjectManager (dev-build/meson) +- QbsProjectManager (dev-util/qbs) + +C++: +- Beautifier (dev-util/astyle and/or dev-util/uncrustify) +- ClangCodeModel (USE=clang, dev-util/clazy to understand Qt semantics) +- ClangFormat (USE=clang) + +Code Analyzer: +- ClangTools (USE=clang) +- Cppcheck (dev-util/cppcheck) +- CtfVisualizer (USE=tracing) +- PerfProfiler (USE=tracing) +- Valgrind (dev-debug/valgrind) + +Core: +- Help (USE=help + dev-qt/qt-docs:6 with USE=\"examples qch\") + +Device Support: +- Android (virtual/jdk, will also want the unpackaged Qt for Android) + +Other Languages: +- Nim (dev-lang/nim) +- Python (dev-lang/python) + +Qt Creator: +- Designer (USE=designer) + +Qt Quick: +- Insight (USE=qmldesigner) +- QmlDesigner (USE=qmldesigner) +- QmlProfiler (USE=tracing) + +Utilities: +- AppStatisticsMonitor (USE=tracing) +- Autotest (dev-cpp/catch, dev-cpp/gtest, or dev-libs/boost if used) +- Conan (dev-util/conan) +- Docker (app-containers/docker) +- Haskell (dev-lang/ghc) +- ScreenRecorder (media-video/ffmpeg) +- SerialTerminal (USE=serialterminal) +- SilverSearcher (sys-apps/the_silver_searcher) +- StudioWelcome (USE=qmldesigner) + +Version Control: +- CVS (dev-vcs/cvs) +- Fossil (dev-vcs/fossil) +- Git (dev-vcs/git) +- Mercurial (dev-vcs/mercurial) +- Subversion (dev-vcs/subversion)" + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + readme.gentoo_print_elog +} diff --git a/dev-qt/qt-creator/qt-creator-19.0.2.ebuild b/dev-qt/qt-creator/qt-creator-19.0.2.ebuild new file mode 100644 index 0000000..6531009 --- /dev/null +++ b/dev-qt/qt-creator/qt-creator-19.0.2.ebuild @@ -0,0 +1,281 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {16..22} ) +LLVM_OPTIONAL=1 +PYTHON_COMPAT=( python3_{11..14} ) +inherit cmake flag-o-matic llvm-r2 python-any-r1 readme.gentoo-r1 xdg + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI=( + "https://code.qt.io/qt-creator/qt-creator.git" + "https://github.com/qt-creator/qt-creator.git" + ) + EGIT_SUBMODULES=( + perfparser + src/libs/qlitehtml + src/libs/qlitehtml/src/3rdparty/litehtml + ) +else + QTC_PV=${PV/_/-} + QTC_P=${PN}-opensource-src-${QTC_PV} + [[ ${QTC_PV} == ${PV} ]] && QTC_REL=official || QTC_REL=development + SRC_URI=" + https://download.qt.io/${QTC_REL}_releases/qtcreator/$(ver_cut 1-2)/${PV/_/-}/${QTC_P}.tar.xz + " + S=${WORKDIR}/${QTC_P} + KEYWORDS="amd64" +fi + +DESCRIPTION="Lightweight IDE for C++/QML development centering around Qt" +HOMEPAGE="https://www.qt.io/product/development-tools" + +LICENSE="GPL-3" +SLOT="0" +IUSE=" + +clang designer doc +help keyring plugin-dev qmldesigner + serialterminal +svg test +tracing webengine +" +REQUIRED_USE="clang? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +QT_PV=6.7.3:6 + +# := is used where Qt's private APIs are used for safety +COMMON_DEPEND=" + app-arch/libarchive:= + dev-cpp/yaml-cpp:= + >=dev-qt/qtbase-${QT_PV}=[concurrent,dbus,gui,network,ssl,widgets,xml] + >=dev-qt/qtdeclarative-${QT_PV}= + clang? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + ) + designer? ( >=dev-qt/qttools-${QT_PV}[designer] ) + help? ( + >=dev-qt/qttools-${QT_PV}[assistant] + webengine? ( >=dev-qt/qtwebengine-${QT_PV} ) + ) + keyring? ( + app-crypt/libsecret + dev-libs/glib:2 + ) + qmldesigner? ( + >=dev-qt/qtquick3d-${QT_PV}= + >=dev-qt/qtsvg-${QT_PV} + >=dev-qt/qtwebsockets-${QT_PV} + webengine? ( >=dev-qt/qtwebengine-${QT_PV} ) + ) + serialterminal? ( >=dev-qt/qtserialport-${QT_PV} ) + svg? ( >=dev-qt/qtsvg-${QT_PV} ) + tracing? ( + app-arch/zstd:= + dev-libs/elfutils + >=dev-qt/qtcharts-${QT_PV} + >=dev-qt/qtshadertools-${QT_PV} + ) +" +# qtimageformats for .webp in examples, semi-optfeature but useful in general +RDEPEND=" + ${COMMON_DEPEND} + help? ( >=dev-qt/qtimageformats-${QT_PV} ) + qmldesigner? ( >=dev-qt/qtquicktimeline-${QT_PV} ) +" +DEPEND="${COMMON_DEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + >=dev-qt/qttools-${QT_PV}[linguist] + doc? ( >=dev-qt/qttools-${QT_PV}[qdoc,qtattributionsscanner] ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-16.0.0-musl-no-execinfo.patch + "${FILESDIR}"/${PN}-12.0.0-musl-no-malloc-trim.patch +) + +src_prepare() { + cmake_src_prepare + + # needed for finding docs at runtime in PF + sed -e "/_IDE_DOC_PATH/s/qtcreator/${PF}/" \ + -i cmake/QtCreatorAPIInternal.cmake || die + + # avoid building manual tests (aka not ran) for nothing (bug #950010) + cmake_comment_add_subdirectory -f tests/CMakeLists.txt manual + + if use plugin-dev; then #928423 + # cmake --install --component integrates poorly with the cmake + # eclass and the install targets are otherwise missing, so strip + # out EXCLUDE_FROM_ALL until figure out a better solution + find . \( -name CMakeLists.txt -o -name '*.cmake' \) -exec sed -i -zE \ + 's/COMPONENT[[:space:]]+Devel[[:space:]]+EXCLUDE_FROM_ALL//g' {} + || die + fi +} + +src_configure() { + use clang && llvm_chost_setup + + # -Werror=lto-type-mismatch issues, needs looking into + filter-lto + + # temporary workaround for musl-1.2.4 (bug #903611), this ideally + # needs fixing in qtbase as *64 usage comes from its headers' macros + use elibc_musl && append-lfs-flags + + local mycmakeargs=( + -DBUILD_DEVELOPER_DOCS=$(usex doc) + -DBUILD_DOCS_BY_DEFAULT=$(usex doc) + -DBUILD_WITH_PCH=no + -DWITH_DOCS=$(usex doc) + -DWITH_TESTS=$(usex test) + + # sticking to bundled for now until it switches to KF6's + -DBUILD_LIBRARY_KSYNTAXHIGHLIGHTING=yes + + # Much can be optional, but do not want to flood users (or maintainers) + # with too many flags. Not to mention that many plugins are merely + # wrappers around still optional tools (e.g. cvs) and any unwanted + # plugins can be disabled at runtime. So optional flags are limited + # to plugins with additional build-time dependencies. + -DBUILD_LIBRARY_TRACING=$(usex tracing) # qml+perfprofiler,ctfvisual + -DBUILD_EXECUTABLE_PERFPARSER=$(usex tracing) + -DBUILD_PLUGIN_APPSTATISTICSMONITOR=$(usex tracing) + + -DBUILD_PLUGIN_CLANGCODEMODEL=$(usex clang) + -DBUILD_PLUGIN_CLANGFORMAT=$(usex clang) + -DBUILD_PLUGIN_CLANGTOOLS=$(usex clang) + -DCLANGTOOLING_LINK_CLANG_DYLIB=yes + + -DBUILD_PLUGIN_DESIGNER=$(usex designer) + + -DBUILD_PLUGIN_HELP=$(usex help) + -DBUILD_HELPVIEWERBACKEND_QTWEBENGINE=$(usex webengine) + # TODO?: unbundle litehtml, but support for latest releases + # tend to lag behind and bundled may work out better for now + -DBUILD_LIBRARY_QLITEHTML=$(usex help $(usex !webengine)) + + # help shouldn't use with the above, but qmldesigner is automagic + $(use help || use qmldesigner && + cmake_use_find_package webengine Qt6WebEngineWidgets) + + -DBUILD_PLUGIN_SERIALTERMINAL=$(usex serialterminal) + -DENABLE_SVG_SUPPORT=$(usex svg) + -DWITH_QMLDESIGNER=$(usex qmldesigner) + + # cmdbridge-server is a hardly used maintenance burden (bug #967488) + -DBUILD_EXECUTABLE_CMDBRIDGE=no + + # meant to be in sync with qtbase[journald], but think(?) not worth + # handling given qt-creator can use QT_FORCE_STDERR_LOGGING=1 nowadays + -Djournald=no + + # not packaged, but allow using if found + #-DCMAKE_DISABLE_FIND_PACKAGE_LibDDemangle=yes + #-DCMAKE_DISABLE_FIND_PACKAGE_LibRustcDemangle=yes + + # for bundled qtkeychain (no switch to unbundle right now) + # reminder: if ever unbundled/optional, qtbase[dbus] can be removed + -DLIBSECRET_SUPPORT=$(usex keyring) + ) + + cmake_src_configure +} + +src_test() { + local -x QT_QPA_PLATFORM=offscreen + + local CMAKE_SKIP_TESTS=( + # broke since 17.0.0 and hasn't really been looked into yet, + # does not seem to cause visible problems so skipping for now + tst_process + # skipping same tests+label as upstream's CI by default + # `grep ctest .github/workflows/build_cmake.yml` + tst_perfdata + ) + + cmake_src_test --label-exclude exclude_from_precheck +} + +src_install() { + cmake_src_install + + if use doc; then + dodoc -r "${BUILD_DIR}"/doc/html + dodoc "${BUILD_DIR}"/share/doc/${PF}/qtcreator{,-dev}.qch + docompress -x /usr/share/doc/${PF}/qtcreator{,-dev}.qch + fi + + local DISABLE_AUTOFORMATTING=yes + local DOC_CONTENTS="\ +Some plugins (if used) may need optional extra dependencies/USE. + +This list provides associations with Gentoo's packages (if exists) +ordered as in Qt Creator's Help -> About Plugins (not exhaustive). + +dev-qt/qt-docs:6 with USE=\"examples qch\" is notably recommended, or +else the example tab will be empty alongside missing documentation. + +Build Systems: +- CMakeProjectManager (dev-build/cmake) +- MesonProjectManager (dev-build/meson) +- QbsProjectManager (dev-util/qbs) + +C++: +- Beautifier (dev-util/astyle and/or dev-util/uncrustify) +- ClangCodeModel (USE=clang, dev-util/clazy to understand Qt semantics) +- ClangFormat (USE=clang) + +Code Analyzer: +- ClangTools (USE=clang) +- Cppcheck (dev-util/cppcheck) +- CtfVisualizer (USE=tracing) +- PerfProfiler (USE=tracing) +- Valgrind (dev-debug/valgrind) + +Core: +- Help (USE=help + dev-qt/qt-docs:6 with USE=\"examples qch\") + +Device Support: +- Android (virtual/jdk, will also want the unpackaged Qt for Android) + +Other Languages: +- Nim (dev-lang/nim) +- Python (dev-lang/python) + +Qt Creator: +- Designer (USE=designer) + +Qt Quick: +- Insight (USE=qmldesigner) +- QmlDesigner (USE=qmldesigner) +- QmlProfiler (USE=tracing) + +Utilities: +- AppStatisticsMonitor (USE=tracing) +- Autotest (dev-cpp/catch, dev-cpp/gtest, or dev-libs/boost if used) +- Conan (dev-util/conan) +- Docker (app-containers/docker) +- Haskell (dev-lang/ghc) +- ScreenRecorder (media-video/ffmpeg) +- SerialTerminal (USE=serialterminal) +- SilverSearcher (sys-apps/the_silver_searcher) +- StudioWelcome (USE=qmldesigner) + +Version Control: +- CVS (dev-vcs/cvs) +- Fossil (dev-vcs/fossil) +- Git (dev-vcs/git) +- Mercurial (dev-vcs/mercurial) +- Subversion (dev-vcs/subversion)" + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + readme.gentoo_print_elog +} diff --git a/dev-qt/qt-creator/qt-creator-9999.ebuild b/dev-qt/qt-creator/qt-creator-9999.ebuild new file mode 100644 index 0000000..134ada8 --- /dev/null +++ b/dev-qt/qt-creator/qt-creator-9999.ebuild @@ -0,0 +1,278 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {16..22} ) +LLVM_OPTIONAL=1 +PYTHON_COMPAT=( python3_{11..14} ) +inherit cmake flag-o-matic llvm-r2 python-any-r1 readme.gentoo-r1 xdg + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI=( + "https://code.qt.io/qt-creator/qt-creator.git" + "https://github.com/qt-creator/qt-creator.git" + ) + EGIT_SUBMODULES=( + perfparser + src/libs/qlitehtml + src/libs/qlitehtml/src/3rdparty/litehtml + ) +else + QTC_PV=${PV/_/-} + QTC_P=${PN}-opensource-src-${QTC_PV} + [[ ${QTC_PV} == ${PV} ]] && QTC_REL=official || QTC_REL=development + SRC_URI=" + https://download.qt.io/${QTC_REL}_releases/qtcreator/$(ver_cut 1-2)/${PV/_/-}/${QTC_P}.tar.xz + " + S=${WORKDIR}/${QTC_P} + KEYWORDS="~amd64" +fi + +DESCRIPTION="Lightweight IDE for C++/QML development centering around Qt" +HOMEPAGE="https://www.qt.io/product/development-tools" + +LICENSE="GPL-3" +SLOT="0" +IUSE=" + +clang designer doc +help keyring plugin-dev qmldesigner + serialterminal +svg test +tracing webengine +" +REQUIRED_USE="clang? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +QT_PV=6.7.3:6 + +# := is used where Qt's private APIs are used for safety +COMMON_DEPEND=" + app-arch/libarchive:= + dev-cpp/yaml-cpp:= + >=dev-qt/qtbase-${QT_PV}=[concurrent,dbus,gui,network,ssl,widgets,xml] + >=dev-qt/qtdeclarative-${QT_PV}= + clang? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${LLVM_SLOT}= + ') + ) + designer? ( >=dev-qt/qttools-${QT_PV}[designer] ) + help? ( + >=dev-qt/qttools-${QT_PV}[assistant] + webengine? ( >=dev-qt/qtwebengine-${QT_PV} ) + ) + keyring? ( + app-crypt/libsecret + dev-libs/glib:2 + ) + qmldesigner? ( + >=dev-qt/qtquick3d-${QT_PV}= + >=dev-qt/qtsvg-${QT_PV} + >=dev-qt/qtwebsockets-${QT_PV} + webengine? ( >=dev-qt/qtwebengine-${QT_PV} ) + ) + serialterminal? ( >=dev-qt/qtserialport-${QT_PV} ) + svg? ( >=dev-qt/qtsvg-${QT_PV} ) + tracing? ( + app-arch/zstd:= + dev-libs/elfutils + >=dev-qt/qtcharts-${QT_PV} + >=dev-qt/qtshadertools-${QT_PV} + ) +" +# qtimageformats for .webp in examples, semi-optfeature but useful in general +RDEPEND=" + ${COMMON_DEPEND} + help? ( >=dev-qt/qtimageformats-${QT_PV} ) + qmldesigner? ( >=dev-qt/qtquicktimeline-${QT_PV} ) +" +DEPEND="${COMMON_DEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + >=dev-qt/qttools-${QT_PV}[linguist] + doc? ( >=dev-qt/qttools-${QT_PV}[qdoc,qtattributionsscanner] ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-16.0.0-musl-no-execinfo.patch + "${FILESDIR}"/${PN}-12.0.0-musl-no-malloc-trim.patch +) + +src_prepare() { + cmake_src_prepare + + # needed for finding docs at runtime in PF + sed -e "/_IDE_DOC_PATH/s/qtcreator/${PF}/" \ + -i cmake/QtCreatorAPIInternal.cmake || die + + # avoid building manual tests (aka not ran) for nothing (bug #950010) + cmake_comment_add_subdirectory -f tests/CMakeLists.txt manual + + if use plugin-dev; then #928423 + # cmake --install --component integrates poorly with the cmake + # eclass and the install targets are otherwise missing, so strip + # out EXCLUDE_FROM_ALL until figure out a better solution + find . \( -name CMakeLists.txt -o -name '*.cmake' \) -exec sed -i -zE \ + 's/COMPONENT[[:space:]]+Devel[[:space:]]+EXCLUDE_FROM_ALL//g' {} + || die + fi +} + +src_configure() { + use clang && llvm_chost_setup + + # -Werror=lto-type-mismatch issues, needs looking into + filter-lto + + # temporary workaround for musl-1.2.4 (bug #903611), this ideally + # needs fixing in qtbase as *64 usage comes from its headers' macros + use elibc_musl && append-lfs-flags + + local mycmakeargs=( + -DBUILD_DEVELOPER_DOCS=$(usex doc) + -DBUILD_DOCS_BY_DEFAULT=$(usex doc) + -DBUILD_WITH_PCH=no + -DWITH_DOCS=$(usex doc) + -DWITH_TESTS=$(usex test) + + # sticking to bundled for now until it switches to KF6's + -DBUILD_LIBRARY_KSYNTAXHIGHLIGHTING=yes + + # Much can be optional, but do not want to flood users (or maintainers) + # with too many flags. Not to mention that many plugins are merely + # wrappers around still optional tools (e.g. cvs) and any unwanted + # plugins can be disabled at runtime. So optional flags are limited + # to plugins with additional build-time dependencies. + -DBUILD_LIBRARY_TRACING=$(usex tracing) # qml+perfprofiler,ctfvisual + -DBUILD_EXECUTABLE_PERFPARSER=$(usex tracing) + -DBUILD_PLUGIN_APPSTATISTICSMONITOR=$(usex tracing) + + -DBUILD_PLUGIN_CLANGCODEMODEL=$(usex clang) + -DBUILD_PLUGIN_CLANGFORMAT=$(usex clang) + -DBUILD_PLUGIN_CLANGTOOLS=$(usex clang) + -DCLANGTOOLING_LINK_CLANG_DYLIB=yes + + -DBUILD_PLUGIN_DESIGNER=$(usex designer) + + -DBUILD_PLUGIN_HELP=$(usex help) + -DBUILD_HELPVIEWERBACKEND_QTWEBENGINE=$(usex webengine) + # TODO?: unbundle litehtml, but support for latest releases + # tend to lag behind and bundled may work out better for now + -DBUILD_LIBRARY_QLITEHTML=$(usex help $(usex !webengine)) + + # help shouldn't use with the above, but qmldesigner is automagic + $(use help || use qmldesigner && + cmake_use_find_package webengine Qt6WebEngineWidgets) + + -DBUILD_PLUGIN_SERIALTERMINAL=$(usex serialterminal) + -DENABLE_SVG_SUPPORT=$(usex svg) + -DWITH_QMLDESIGNER=$(usex qmldesigner) + + # cmdbridge-server is a hardly used maintenance burden (bug #967488) + -DBUILD_EXECUTABLE_CMDBRIDGE=no + + # meant to be in sync with qtbase[journald], but think(?) not worth + # handling given qt-creator can use QT_FORCE_STDERR_LOGGING=1 nowadays + -Djournald=no + + # not packaged, but allow using if found + #-DCMAKE_DISABLE_FIND_PACKAGE_LibDDemangle=yes + #-DCMAKE_DISABLE_FIND_PACKAGE_LibRustcDemangle=yes + + # for bundled qtkeychain (no switch to unbundle right now) + # reminder: if ever unbundled/optional, qtbase[dbus] can be removed + -DLIBSECRET_SUPPORT=$(usex keyring) + ) + + cmake_src_configure +} + +src_test() { + local -x QT_QPA_PLATFORM=offscreen + + local CMAKE_SKIP_TESTS=( + # skipping same tests+label as upstream's CI by default + # `grep ctest .github/workflows/build_cmake.yml` + tst_perfdata + ) + + cmake_src_test --label-exclude exclude_from_precheck +} + +src_install() { + cmake_src_install + + if use doc; then + dodoc -r "${BUILD_DIR}"/doc/html + dodoc "${BUILD_DIR}"/share/doc/${PF}/qtcreator{,-dev}.qch + docompress -x /usr/share/doc/${PF}/qtcreator{,-dev}.qch + fi + + local DISABLE_AUTOFORMATTING=yes + local DOC_CONTENTS="\ +Some plugins (if used) may need optional extra dependencies/USE. + +This list provides associations with Gentoo's packages (if exists) +ordered as in Qt Creator's Help -> About Plugins (not exhaustive). + +dev-qt/qt-docs:6 with USE=\"examples qch\" is notably recommended, or +else the example tab will be empty alongside missing documentation. + +Build Systems: +- CMakeProjectManager (dev-build/cmake) +- MesonProjectManager (dev-build/meson) +- QbsProjectManager (dev-util/qbs) + +C++: +- Beautifier (dev-util/astyle and/or dev-util/uncrustify) +- ClangCodeModel (USE=clang, dev-util/clazy to understand Qt semantics) +- ClangFormat (USE=clang) + +Code Analyzer: +- ClangTools (USE=clang) +- Cppcheck (dev-util/cppcheck) +- CtfVisualizer (USE=tracing) +- PerfProfiler (USE=tracing) +- Valgrind (dev-debug/valgrind) + +Core: +- Help (USE=help + dev-qt/qt-docs:6 with USE=\"examples qch\") + +Device Support: +- Android (virtual/jdk, will also want the unpackaged Qt for Android) + +Other Languages: +- Nim (dev-lang/nim) +- Python (dev-lang/python) + +Qt Creator: +- Designer (USE=designer) + +Qt Quick: +- Insight (USE=qmldesigner) +- QmlDesigner (USE=qmldesigner) +- QmlProfiler (USE=tracing) + +Utilities: +- AppStatisticsMonitor (USE=tracing) +- Autotest (dev-cpp/catch, dev-cpp/gtest, or dev-libs/boost if used) +- Conan (dev-util/conan) +- Docker (app-containers/docker) +- Haskell (dev-lang/ghc) +- ScreenRecorder (media-video/ffmpeg) +- SerialTerminal (USE=serialterminal) +- SilverSearcher (sys-apps/the_silver_searcher) +- StudioWelcome (USE=qmldesigner) + +Version Control: +- CVS (dev-vcs/cvs) +- Fossil (dev-vcs/fossil) +- Git (dev-vcs/git) +- Mercurial (dev-vcs/mercurial) +- Subversion (dev-vcs/subversion)" + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + readme.gentoo_print_elog +} diff --git a/dev-qt/qt-docs/Manifest b/dev-qt/qt-docs/Manifest new file mode 100644 index 0000000..ebf0a81 --- /dev/null +++ b/dev-qt/qt-docs/Manifest @@ -0,0 +1,210 @@ +DIST 6.10.3-0-202603310406activeqt-documentation.tar.xz 251108 BLAKE2B 8ab1debf5d2b16ceb83150036f30afdb78f564ac97e981728d13b3e7811d14309a003a1d28b776fcc4c563f5ada48f8368d1db02dd6361764a457341f95fa25d SHA512 8278ea2a80d69853aaeecbbfb42b8092b5a7303a701f81a40823c629cdeb6dd021a69ce775af11717e2deee068661f59ecf551f5f5293c0e96f51ab5faa8d7b6 +DIST 6.10.3-0-202603310406qdoc-documentation.tar.xz 299724 BLAKE2B 486e8742380eb8e40d250a6b3617bf145b8128a40e15a9e054b103f0714ef708e1c6eb5742b70d7ae62c3acb446b9f3775deb744ce489a6d7d1099fbff99591a SHA512 b9f491b080b8f649e766eddb8154bc001177e7423d755b098be5bc5e21db98261881febf24141c8c5dfa42577073ab1baa7306c951bb5e8cf032e2d24785c1bb +DIST 6.10.3-0-202603310406qmake-documentation.tar.xz 347952 BLAKE2B 5b68a65966b008444f8edb0044db2e2b21f9114561dce9985a06302824a6243e28b081f6e8395b2df491f9a77dc6f5e0cd931a44067726321be699c88c789a69 SHA512 e9eb8649a5c49fc04e8da55263aed27d984fe8f0dd925137f9cb3db248b7970c93e7b7848d523d86fb49fd7292ccf6ef23fc276cc46f76e53f8d39ddd72bfc46 +DIST 6.10.3-0-202603310406qt3d-documentation.tar.xz 4896944 BLAKE2B ecb7f859d4ffe5a7ef8d60e49bbb176166e9578028aa64bb4088f2c8eef7db3c60fc7f044c5e4e294664f28c4611319f10ec8fbf49799ee3dfa8469c6eb0bd22 SHA512 a9090d0a0fc96daf027db7ebecb79d6151a9cc9e12d82d034aec93247c37b000a593f6376dcdaf206b6415f7c5dfe6a756b890f549a204a6f41d5931c1c7dd59 +DIST 6.10.3-0-202603310406qt3d-examples-6.10.3.7z 60338272 BLAKE2B aac109a36e7ad3cbd5a902c2f4c7ebd66b78da4f0e3b867276db67fb9f3107ed08887b66b13cb9de90b4e84f3920e8500e63a59cbb7a855a8e0a9491ac035d2f SHA512 e35aec9b0be68881b36c8c65967155ad38e6e56daa85f57014ae0c6e45b9dd78e6b478bad5ab14c8c27dac37e6ace03355fe0f95cbb787c1a7de69d44e31526e +DIST 6.10.3-0-202603310406qt5compat-examples-6.10.3.7z 27930 BLAKE2B e369d3e7eb53837658fb153072fdf4f9ad1c792a5ee2a018827e084d60c1c61fc7627542bf6cba6729f62cc32b5ccd67bca7b1dbfa9f9cb127273c26a5655965 SHA512 9fd1002eb9b43dc90419cbe0d7a13fb9fe2be83ed003756db7b69d97da9b035374b1eb3041d4933bfaddf62ec04453009e73edeb3d20f3c56440035652bc402b +DIST 6.10.3-0-202603310406qtactiveqt-examples-6.10.3.7z 11957 BLAKE2B 44f85a046f153f28142d5c3bf17e4b6c7880e98fb438f1f460e33700a397bdd56c00cf8a1b9e022f088ec591459020545f129b0a2ef4e5a8f53a2c707424ee2a SHA512 b03e835f9925522836ab0fb80b003093fdba4e42a56ec937a1147d5afe28f67105c139cd64022f5d46f3b17c40cdc0b0882ac3aa37dc2bc9b1fd276b8f97d1e5 +DIST 6.10.3-0-202603310406qtassistant-documentation.tar.xz 734628 BLAKE2B e586814d44e6618e57efecad3bee670e171ac45980d4bd51904657f8329548b6badc81a9e2af98d92f16befb815586b21b89b28e54a79296ca59df6743a0e110 SHA512 4ed59fab1cc277132149f95bce0f6a7614eeff2287aaefc4bfa87585075589457d4b91e58d4fd647205bf49eb8531fe3c9fc3e7ef1008e214c09e5ca29eff09f +DIST 6.10.3-0-202603310406qtbase-examples-6.10.3.7z 4311329 BLAKE2B 31b64a42f93b7f779ccf7031cb0cd7c90d6e33d81f4c6b92f525d135bcc83a098dabd654134ebc484046690279c975022494e5e703b468db269ded9c2f54345f SHA512 4849f3c0e179b3f4c3d31bef59eb7f7ebae8e3b40ceb4abb55f852c398eef5d04c39ea0961e9e8619ffa774daec4d8ca1bdfb7946e85dc11fa0d53301d57c90f +DIST 6.10.3-0-202603310406qtbluetooth-documentation.tar.xz 1037156 BLAKE2B 12a06428a0a97980bb7ed2b54c6a3abd1adf901311dc598726e48bd3fc7281b3aef4f45b78d6139aef43d927c302cb07a115b6527bb77a22078dcbd9ebd0ea87 SHA512 fecb8309c52877c5ecead760fde9fc22cc56c3ed9dfa5997b47f685a52b2ac21f87a16c50a411408d62f3feda97850c4a99b91a8d893c2d759877dc5433784ad +DIST 6.10.3-0-202603310406qtcharts-documentation.tar.xz 8727896 BLAKE2B 1a9862ef494f854e1ec9a40144710b6781e6d4f10613622653e3bf5899ca78a7ea6fc5360bbb9c89289ca7ebd64cada025aa19fd1a38f0ae22526434f1fa27af SHA512 1df49328edc8c3f511b88905e6a2d7d02f3cc0b1a2e3376339056dc6a75dedb88763bd9260fa6ce6752bdcb8d3a4e42fd91bef8b510c2ee22bab8a71813cc1d8 +DIST 6.10.3-0-202603310406qtcharts-examples-6.10.3.7z 164116 BLAKE2B 4e53587bf7f539f26d1aae0022f869bde47ac342fb9a7b80341a80ac270fe02e496a9285ddf861281c7a3733cb7258da8342fcaf032931d2fb79eff85e6ab428 SHA512 30d65d035e050a68ae90d735c352700ffe9d5888b26a045efd2501cef5bfecdfe264ccd2d032c5e9174aa109e4c5b7a8401e4e6f0268abfdad90ec39696f1214 +DIST 6.10.3-0-202603310406qtcmake-documentation.tar.xz 106016 BLAKE2B f334c33f57ea99cfcb8585a9deecc2f9d921cb7e532b377bb648ec3c4b0cf84c1101600228f09fe8785465b472385558ed90e67e501c75ed7fba072c73dd88b9 SHA512 b1c503535a0746d659250cfc4449922420ec8a74edb6dfff166e401d88908b2d799fc771846971f3a9416cc282393c521bd37c73c441bc36ee94ef6487be5fd5 +DIST 6.10.3-0-202603310406qtconcurrent-documentation.tar.xz 190640 BLAKE2B ed9bd80719a887c7a3839e1c8074401975991d2e2e8529eee15c6db84e1839c650773d7f4c837527d9d5db0e72c8d25320de95ca8fac7eb3c28ad42ce9ada772 SHA512 046407fde5924ac3689a1b891f5f3e63edce1944c709a2c119eed74a4f6811a65c15ea2f8359db01e2ea53451841104accdbf462f4da66a7b5a6166d5799da4a +DIST 6.10.3-0-202603310406qtconnectivity-examples-6.10.3.7z 403500 BLAKE2B 60858aade2dec6e753901a7999e355ee9cb5f208e53cb9b0641dec9729b31ffd16e681f84d04cbee66c4f45dcc801c9d23e20f23cb9669eaf287fe474ee4df87 SHA512 669073ee302eeadfd499049d395813733d36020b450cdf9935161f32787d06a25f791e17d06a65fc1c994d3c20667ad0c6cdbe6aafe1f5fe8a307ed7788e1dc5 +DIST 6.10.3-0-202603310406qtcore-documentation.tar.xz 7116024 BLAKE2B 8a4576d1affee706707f287d2e1a9f3d3ab6a066e39f09547311638a141a6eae74a99c918adaab8fa992e0d1e0943e80d8aa6763bd27199929f3f5b1eba66a0e SHA512 0400efdb19fc2b6478aa67d2f7a7e507666d357c045df07b43372ad521d735208546d34188f8cd53331bc3957611410af08cb2642444fe595c6e15d95989e21d +DIST 6.10.3-0-202603310406qtcore5compat-documentation.tar.xz 317752 BLAKE2B 30eb5ff4f16cff1fa91c77e15aad7900c6c7d75396a86ba9b14316563c5f59c2c821d4ab2be4a0a4b2e3b4682a3e1714a9db885acf7f1a8d1ad866013b8240c8 SHA512 ddfbb83e771836b62cfc210f59129abd9c3a21d78e926c20933703d4a639e34dd2cc07517bde4a570036127d62cec81c1d3aa5c8367ccf63c84a58591cbc8b60 +DIST 6.10.3-0-202603310406qtdatavis3d-documentation.tar.xz 2716280 BLAKE2B 76efb6042d9949658d3c1e4ccee6a751804db21dc746ba56149fbdd3c1a841e8208b856fb99a7bb1658f8a15e50f7ba759865d95eba725f8724d167fc156f4ff SHA512 598556cd4b83cbdf078cc4c0d7e02d941de185fc01e4fc3e10161c0d36750e5eccf02bcd541b45976cabc33cb1c019dcd682a94607193525d2730ed7a30819e3 +DIST 6.10.3-0-202603310406qtdatavis3d-examples-6.10.3.7z 2771112 BLAKE2B d7adef0d2f2d8085342fe21688a16c9d2802cb10960b9b3c401943f79f16db10cd2b874588a07ba8b6961a7fb643a09f41a32a41ca0b9a19374b288cc62d428a SHA512 ea15f1ee0436003680d26e8c4f4d600c2903739a769966a9dca37257e1ce6a027f88554d340b49a9b969b7a3b670d083ca7d5b746e42a78ee6de7f48abba69e9 +DIST 6.10.3-0-202603310406qtdbus-documentation.tar.xz 339052 BLAKE2B 05f4fb38ceae28acd43bfaec8ee90c6dabd68ef65f97e823871a946617e72a95111e178e2f78f393519f3f9958dad637113c29b2bf293ef083eb191584484467 SHA512 30ec88a17baef019bdd6cb24ae780c959578be76b4f2ba35b7c22c2ac5c3cbcc64910edc66ddcfb6158eabb2cd574579dca0e850867eb065232a4cf360cbe4fc +DIST 6.10.3-0-202603310406qtdeclarative-examples-6.10.3.7z 12478617 BLAKE2B 61af1d6e1463c3b6bb6348506c2d08c6e5285acffc254a20c06943b0aee270faf2df35dbe2b2f6ee14fb947c79eadc9bfc6bf01279651b0cd317d0dc044b83f6 SHA512 21577411055f3051882292a1fcfa5c74a03a9abef9602de13251761e61f2dfd4970c3709f42926fe014d3340e0a1730c6e3e4be2774c6fb07ff575eae5a0c4ee +DIST 6.10.3-0-202603310406qtdesigner-documentation.tar.xz 3332848 BLAKE2B 65c21c8086943ff7572f8f06a35737afb70603ab5014864da88070f4a33756beeca03696b2eeb56b71c8d13d1d1c30870c0259a773d50dc7e2f90cffec8742ac SHA512 a6b6bbfb3c2c0dd1f488006cfef1ff6cd4971cf665700f28721155767c8859bde500807ef05579f27dae22af0247373d41a407fcb562bc7e03b1b37afde368ec +DIST 6.10.3-0-202603310406qtdistancefieldgenerator-documentation.tar.xz 149376 BLAKE2B 03bf42f3ff45b773e3d125a25534d8e0315f38f63de88d9821cbece4830aee1f094463077d034e1f24a1303f1f7c426b2e9561085733e2d6aadf9fb672202d24 SHA512 4a77299ead97776f0019f6a978ea58eb68db4fd834ddf463f14b3c123b7063c9bfc53ac1002fa4999a3afb6121b5bc229a64e85f7a74d6d9cc0e4c1e1513eba5 +DIST 6.10.3-0-202603310406qtdoc-documentation.tar.xz 13392704 BLAKE2B adee83e1ded2fa99565dcf20619d1d2175519e5466b1260c44ab4f734625e5022bb604edf1c8198376fdcfa4a48a1a77f1d42a521fbc55b1de95acc5ed2e248b SHA512 7e3a65abf27912e77b336606f6171a866b823d7e78bd9dcef8dd900ca6a5ae1916247659cca10d70cb6dd3f6f0480aa9434826ca8f665183073c5705c93098d3 +DIST 6.10.3-0-202603310406qtdoc-examples-6.10.3.7z 40845650 BLAKE2B 299ca9ad6497497413595919f23dc5ec1d64bd4bcaf2c8a114cfb9c98fdc66cc77df8f73a5cdb1e2be23dcb3c6ed2fb978d1c92c9710679c1931f615c0b6fb72 SHA512 ce3f927243db6d47dad6477cb9f7bca9bfda08d2aa815df43fdfd43f140d8e7f2d58fd430bb21a282213cbf4c59a21459f943f723ed60f4dfe920d8330839985 +DIST 6.10.3-0-202603310406qtgraphicaleffects5compat-documentation.tar.xz 25753952 BLAKE2B 0938e9adf1000ae8e7ea8dc8f50da7335f21886cd410c2731da532b1f5b21047a301202bc0bf946cf69dff5692c540a058ccc168bf8dd76820396a14277ba388 SHA512 b085fbd0e0a5f69a2b0672ea0257bcaac0f09f912329b95fbdfc3870a6c260b12ec3d170c88ae6150e768b19728963f0bda7e693e5966f57f51f4b68b0f60f2d +DIST 6.10.3-0-202603310406qtgraphs-documentation.tar.xz 4022676 BLAKE2B b3316dea1ae392d8ac36c24f351432e0ee02c923333bf66b580ed6e112b2b7efc2865e9cd6a5a88c273d2c83d75257654e82e4ca47dca074d8a34cb4c0d73f56 SHA512 3e768eb9bc28eea4f3a767692d89549097e507fbb80a1e405c6e6d7d3cec40fe564a87f2c87abd0bb0d77f5eec2f8cd2e2740de88f118a4be1e180ccbab53a7e +DIST 6.10.3-0-202603310406qtgraphs-examples-6.10.3.7z 2722519 BLAKE2B de5ed6b260e846409ef911324ae40a20aa9addbf08ce1b56504e49b65a23cda58732b0e7375d8662a5f8a977baa62c15b644291e5ec1cb626e3278b40a0ff761 SHA512 fc2f441e0cd4f230bb2d83ef2ad171cd5bb1b7f8e816548130ce353ce273db9a9f210582389d29a801856bcb008da8c9b5547aba5025660e14fe7a03d533e03d +DIST 6.10.3-0-202603310406qtgrpc-documentation.tar.xz 433008 BLAKE2B a61338786ea9d20502682d3f6c95c6fa07c5c0f9b4568f7e585d120b9f21b8904e62080ad23fd6c8b19801a062580375bf581c81499e335a9ad8882b2feba763 SHA512 30fbb313ea9c933954d88c159fef19cac40f9b4331c607124bf18df9704aa789f5568e38ea17f3e242ad3f14a76500c8655dc0a8d8cec897ca8e3a34b004e8f7 +DIST 6.10.3-0-202603310406qtgrpc-examples-6.10.3.7z 236324 BLAKE2B 57c8e48540b3933a8cdd336a424257c3dae3480833e620eff9d613fe62ce3d3dd9b8881489775395600dfdbe36877304a34f9d8ac1ca8fed01cb2fc748a33268 SHA512 b091a9184373473bc7f748dde8949e67a331a71401803d71c86a0b7255ea6ff9ae7602a051360440857a2d0cde98030baeb51b4fda8527f0dc852f3b650241fd +DIST 6.10.3-0-202603310406qtgui-documentation.tar.xz 6308464 BLAKE2B 7c5a2a85068f9b37a2b8adc16b4a1bf8f7df02462404f6be12554775b2b768200b2e3f2d5306b192488abc7548c27b2c967dc2a4ec638d7015093c54c4473cad SHA512 1e6e6270feb365b6a770d3876948351589b4cea53a2402a0ace75a92e7cb2c9a54feea0a4cb61f1652330d35ea856ca60d1b049e608bfce7e72a5a5020816a7c +DIST 6.10.3-0-202603310406qthelp-documentation.tar.xz 302112 BLAKE2B 88b96e90ef6ab7e772df91b82c479c3bb26be6aa02eda3661551d448faa80dd92f4b374084d4a836c908bd4bc1855d641ebafd4e166f14a578f6c1ea7cb9d12a SHA512 73d315524fef443b585caa85447cbff2be209b6a41fcefea23e84e29ca5a84679d6e0bac241d58ef926c2bcc23de8d9136b72a9e59b51528a52d752ad3a1303f +DIST 6.10.3-0-202603310406qthttpserver-documentation.tar.xz 322792 BLAKE2B 3d930ed25a3bc973c1b05db5e1b9547906d76a725192369993e205f0588e0b83fa5ef01ca544b7efcf5e7bda0e9b639e74585547b50f49e2416180fd04ad7a33 SHA512 3ff4cf5d0ac87823964297acef0680c7ed0e958fd00e80959f8894193ac1e875d0e0e24f3a3ffedb737b9dc1801f14bc1818776dc6b86a9e3be7d5967ab97e5a +DIST 6.10.3-0-202603310406qthttpserver-examples-6.10.3.7z 51760 BLAKE2B aedcdd427e47f8c8c816335134108c2e0af8b62ae586e9ba64b160e95b44077a5d177864f00f995565dd88620046aace4a5fa6b292a1643ef2171314cc2a587d SHA512 19534cf9cafe68331bfd01b11e9feed50ec44b741609dec78a1899576da0c30e8d64c8ae3b05ca05960b77b12265628bb150d068a6768757b4105a0bbf41e9ff +DIST 6.10.3-0-202603310406qtimageformats-documentation.tar.xz 31936 BLAKE2B 71b1b0dd19b7749a3df1c814020ec28b2ebe0f017d44cf97b4138fe8fbd55b0e4feec46e75bddfc8f4e3ddffcb511cbd61b36f7c86a95f1b5061604f69e2e8ad SHA512 593a1f48d89a9a4b532a07e5c19a75b7e647b48644ff9aa6e8c153b07bde283141492938e3c8e1898b41d8aa784841064bc4e1d56423f8431fe3417a03c0e101 +DIST 6.10.3-0-202603310406qtlabsplatform-documentation.tar.xz 539688 BLAKE2B 26e236d1a96d42477ff498da0d1cac64af7bfc620be5c2b2e56e6087c70f26b28a0e369a5d81bf545fcd962dcbaf7f100b833a60bc87652a6738b170c8c3b261 SHA512 db15258d3c6a42080e3a6a4f0150941612af24e356245bad606c016bf6a1b6e93b6e73aebc483bb6cfa34f21197b0a8d2c56cd356ff68d6028301e8674e560ef +DIST 6.10.3-0-202603310406qtlinguist-documentation.tar.xz 819144 BLAKE2B 0cacf85d8da1c589563ba33d0f52df60c7c82f974d4862bfb7a2ad859bb65cc65639c75e78538d03a61227c71812d84cb0ff8645329bd4ea846e3d5273ea8802 SHA512 495161a59c60f777c495d1886fc451ad78c866a33e197537426c399a265d6faf7a2443f8188fb8385845812ab6f46c57d163abc73331310a7f550edf700c66c2 +DIST 6.10.3-0-202603310406qtlocation-documentation.tar.xz 2939792 BLAKE2B 24db90a18d0cd1ff635d3530358cbe6a5364b892e62eaf8d89734b485dcfc711042fcf789d465fdf5f48b958c1b9cbcbf9de51e5d900d9efe6e0a5fbbb12ba56 SHA512 558e2dbfb4f5031f6e9186298b3f14c268f8eece8fc014e321941c0fc7d382f45d332cd6b75a49fcc38c3de37db5d31998bf999f54955ada7f2bd1eacc72b9b5 +DIST 6.10.3-0-202603310406qtlocation-examples-6.10.3.7z 1570866 BLAKE2B 324f5c48cabf6c63c810f8d71430525f58cb19aa2808a59b0f082544640678abf1a18810542fc6b3271d2752d2b8c65d6c2a23930b3757f0dd4d00fdb290b5ab SHA512 3eb2d9c091034c00b294ed2e403287bdeaae829e4b531e7af3977cc808ec5e6a239d4643b379a23bc5de4f62c0304e0e1cad489d2b3ff87feba13804645ffd93 +DIST 6.10.3-0-202603310406qtlottie-examples-6.10.3.7z 390605 BLAKE2B 9cd80731a2092a1bbcbe57757397e6de7ce0a3ad937e2848cf3a76d93bc1d54f9dca66cdb570e54a433b45dc95ffd6641f910a70d6b983b668fc8671dc4f4fdf SHA512 2e1681ea542434180f8f0a8e2ad461fdd10bfdef61d466c7c02f372b94367d7c3d2ba667c2db038e418312d15cc3b646d578886f1c3651a1f9b565dd544934b2 +DIST 6.10.3-0-202603310406qtlottieanimation-documentation.tar.xz 635936 BLAKE2B b049f4a1bd67f6f224a7624510f1d13bc7234a84c49c487e50a0dd0591ddc52ab12c0ccf43c5f008f64048b05453423f0c214d6e15cdedf8d3e17947ed945905 SHA512 cfca3466663ccdcd803ff211bd8992ee4a49bc10cfda8e948fcc4faaa16a38ffb740e5328773775cdccc43e64b1dcde250bd39598cf7847c48e1aa8290c5e4c0 +DIST 6.10.3-0-202603310406qtmultimedia-documentation.tar.xz 4804956 BLAKE2B 593feb3659bea4b918a351b4e8544fd0219d4f56c7930d1b80f5b49344c69b1c8aba844ecdbf11533b62bf90506e2f90dcd3e6a18ac9e977ca43d4517abc2cf1 SHA512 9e76259e43dd74f07306c5152a1675a3ce769173815d424ce505a589a1b2b11119b9e5e79a65ff3e8a94f53b9f63513545bd9eed0e095f66fbc41c31b631a390 +DIST 6.10.3-0-202603310406qtmultimedia-examples-6.10.3.7z 1593288 BLAKE2B 78edb8d811fcd71b772a752db137e4865d554bb3b549a8ed12f1a48a00a9b3bb6a41d078d497a0a507b37bd258c1b1f3fd88e51693586acbc5feef6d65d19b09 SHA512 9b5b59b831ff1f2649acb3fae7c326607ffd4ce198aabc2ee1160ce2179dddcb829c9a6336e2dd1eb9eee81748b95c137c2f7b6763f72735b84c54bdc17c9bfc +DIST 6.10.3-0-202603310406qtnetwork-documentation.tar.xz 1481828 BLAKE2B 5ed8d208b1adee1bf511b6f4819891f2ca2c2e8056005c0a23dad50f95786c142904a249b186b0a9b25163698d20c532ac15b2ab47be259ea3d16ce44e2419d2 SHA512 8faac14aa609ec50759d512047308b384f576142dc9fab368661a4580a2e7961988257a933b7ccf5cc61e5ed65e1bd2809505f1945832cc56835a5373957a94c +DIST 6.10.3-0-202603310406qtnetworkauth-documentation.tar.xz 785692 BLAKE2B caaec8d634e68a6e12f72ee83fb12645333d59c7af843da9ef2b492e0813259faa918229e76f1d2b1bc7a89981cabf502d4946178e067ff64b92bc6eec64dd40 SHA512 77358b6397d18e9b8f9ff6512dfde148d6cae2a70d7776f97126872b398bfabe149bff369d2a501547465b5d835caa2fa12710e4e00602a4ff0a20161f997d59 +DIST 6.10.3-0-202603310406qtnetworkauth-examples-6.10.3.7z 41323 BLAKE2B 8a9ee9c9b6247033b7b63c22a9f3cf00964590e2f36b629b4abe74b485dee97288ffbef6af69ffd7effc124b8e9bbdd1f3bb7f0c35e13c3d8fb3313371a660b7 SHA512 d451314d20392ff1650dd3d9b03d50eef5f9ba37f01a1994555277f186e9be51d44fc78a2822be9898559598f983d173b9fe261636fe9b5362ef3564a4054357 +DIST 6.10.3-0-202603310406qtnfc-documentation.tar.xz 236988 BLAKE2B 4ff5f9508138c15d888bb6d6fcd7a34e9d938a854127d2b7769b5d5cc2e0dc0357bdf531d8664eedef1299d2e0b7132c07d9c8b02ab946fa077a3778f5306340 SHA512 a11850857014a883500e2be98264be6b2d680f15ca555ba899854a1640276b45cf1ea9e77479e3ae672964911eff0d010b5ffae329bc630efb0e64bfbe5984bc +DIST 6.10.3-0-202603310406qtopengl-documentation.tar.xz 1024568 BLAKE2B 054a2d58f8c0708d56f2b74b790c47092cb226d84846eb225326162eb2475cbfc0c1c839dd9f8fd3c68629c33bb8b67b6300672d64b0c45de18e0e85329d54bc SHA512 91547666bc00d8d4837eaff73dac46a73292a34f68bb20f35d6bbd8e77178d991a3db5a87778a76effa82e14f9958bfb0e3e845256aebf1f2a8b12d210a948fe +DIST 6.10.3-0-202603310406qtplatformintegration-documentation.tar.xz 41984 BLAKE2B 8fb4fcb8ab7d8b18a05e60a272692d80264bed28c698b6698aed4006784f91a9986df3fefd15e21c830338099d302b41091102ad2ed7f8364cfd3d7a4389991b SHA512 2e82d0bf896ab87d8b3d4975a7e35403c97243d20b46833f229b3d24749f92dc26d4425447e48089afdb09561dbbab108e7b77863913e05f96f8fac5dea82e4b +DIST 6.10.3-0-202603310406qtpositioning-documentation.tar.xz 692216 BLAKE2B 7a042feacd79a4a99f8dde23dff35b67267b47868b25ec5d10e8a05cfd4e7c151f2ca655f80c09fc93521d05cd7eff11e58cb89fb8ab5af5c9b77c49e17cb4c5 SHA512 d6be597be212786f015d1dcbf95af64d599f565043b483a373ae04afb833b15f6a244975d3d37a95fdfa261a3fcd9211d716cfd0cd6c10cedb7e9cfed40af100 +DIST 6.10.3-0-202603310406qtpositioning-examples-6.10.3.7z 272541 BLAKE2B eaa155a46fc72f69619b652874d7fdd3f38029606d2e5e138240c4f9b766dcca746a73fbd382766bedcff4de5ab14c1c40b51da2fba09fa7c9a94a02da161a96 SHA512 df11379ba44a9ee768b944945c9e910e8ab37ea3a294f0fb8dcaf9b1a08b494d2c85f3e9ecfa73ba8e64e6077116857ff7d2d1be20c19dac2f0e772b727785b2 +DIST 6.10.3-0-202603310406qtprintsupport-documentation.tar.xz 349856 BLAKE2B 70097c0ba6355692600ea654756c59714cc27d5423aec833170c043fdbae026c9508d0231e088980c034abe85308c1035477aa201d70c4c91822bac07833b4e3 SHA512 6aefd6bcb74f47c1d297af05862aad2309444d0f633f349c642f40872cbe83d778f889f0018848479fa3c19e8a4682b566278c71698ccb2d0194c9e9df75aaca +DIST 6.10.3-0-202603310406qtprotobuf-documentation.tar.xz 326856 BLAKE2B 723f2dce22d2371898777fb4fcbe6c1bf90de0e482d9136627c32cf12a7f9636d39b6d7d4117d6d975001742daed207d4e3529e571d75caf3fb94a9232bf3578 SHA512 6341515c36e25d83c4c0a35e0720781c618ef1b9496ca38a6fe6b1886da9be849a11350a03757dd941e90999c6e69b9a9f321f2ad4d131e6f885554811c9423e +DIST 6.10.3-0-202603310406qtqml-documentation.tar.xz 1606308 BLAKE2B bd9cf7f328a145b2a33ddc605ee6d6dc55bcd527a18af6dc7abe4c1536113a7aad160dc4174dc52ec5863f581b591a4a76e95b1d2d76e0e4318717c31d31082c SHA512 c0afff1f39bb8165be896588a1d95c0d8dbd639f5709d9bd90d99586096da23cef0bf563bfe965a886c5b8c4c0c0818037dd1b739a836832341fc6d209ffea58 +DIST 6.10.3-0-202603310406qtqmlcore-documentation.tar.xz 68628 BLAKE2B 533079af9ebd299316b1ff839ea88c2e9e859379dfe278eb8ca0265b2b3315f04e676eec2e9bdaa5b7ba0a07ca9e18ec6b73a3b69fb5348b718e20c3f8050fe1 SHA512 9f2a71443a87cf080bf7d4b385c10dbfd59a60d6487803b39ac24d731255231295aba96f4e0d8b8ebec84421c1dc57ee4afb3ac3fb30c2ef1a51a12fec1a5e34 +DIST 6.10.3-0-202603310406qtqmlmodels-documentation.tar.xz 194480 BLAKE2B c2177f97cfeb977c391e48b7e4c3728e8cb18e01bc51e135929c6561be78f78d9402ab50af54d6dfccd57e4d3aae5ad2794fc5b222b6386d2db9739726a4a5ac SHA512 d2490f2146e063c6ca428ee798fd6920eee61692726c3a6f9c5f7fc4a3b52ddc2c37f144d933e62303ba002d001897caca8ee676aed9608902cc52022520fda9 +DIST 6.10.3-0-202603310406qtqmltest-documentation.tar.xz 92832 BLAKE2B 3f129f86559efd4bded5ca8341ef14412ef3f7ab093ed43d01c3155846b6b1fca791a90e8a619263a34ad0cac3146172724e9f359b7964c9cc9f86baf8568235 SHA512 a77bbae5691d2f904fbcf71f4ef6b10b2b4c08956c9e1c2bba5600ba545227cc6b621c0d4c8455de51e48f9a2155cab75b80eb423876afaff6e07a7c0fb27a20 +DIST 6.10.3-0-202603310406qtqmlworkerscript-documentation.tar.xz 32780 BLAKE2B 2a36dd502b163c19385d8223fdfc509652eb03dd04d66fae0c9ea5a6a53dbac0d6cf7de6117613f0fa1a739d2784b338f08e1ff256c0fd9502e4da39cd0b0608 SHA512 d2304e871397176200680ec2dca56b2378186102e5b2ae5808119e91e4be2b740d4b4c61c617b9a5c430871b39510ae80822d1661dc0cf525db23c74d6c3d27e +DIST 6.10.3-0-202603310406qtqmlxmllistmodel-documentation.tar.xz 38644 BLAKE2B a1803cbbb5bbbd6dbd96cbbd4e7e5f085f5dc72b94b73930965499bb48049b52034ca80de72ce8b9d481b0f78facc094af44a1a54d928149fd15836ef21ab221 SHA512 306b2410c94a60bbd962eeb2232ceff4dcc9f099b277441e84d6f3cf0a8a0441a004c8ce6bde86526a9251a94d85d9fa36dd79a1d4e6845529b0b8be6b89ff1c +DIST 6.10.3-0-202603310406qtquick-documentation.tar.xz 25596500 BLAKE2B 71dd4183161acc9ae51eabdfc5d65e53befe720d026c5f08a2f09c56718f8e5016b8ebd01cf2c0570ad6bfec0a1414f15674e1d2bceb77c5aefc806e72712d72 SHA512 8b765a6b31875e9040cf3a5fef50e54a55a2f382899673722d09ee37e2af0adef04619c98a3eb08f4cea235fad009e1012123055ed57a8398be79005cd4107a6 +DIST 6.10.3-0-202603310406qtquick3d-documentation.tar.xz 52579396 BLAKE2B 512e18f5fc502fa69173e22c5a98d09f4cf9b3bf802e6871bd90c475f0b175f7b5a3ee9bf91c456b337f7c28375ffd93d710c5d90ba48a1f6d11da31383c8cf9 SHA512 b8a2a407d583a7b6c1e83327ba4d0233b151184473e1421a272758dbae90b04a277a9e9e238c37edba119f7134974e6d539df89226108d27b608c755ad432262 +DIST 6.10.3-0-202603310406qtquick3d-examples-6.10.3.7z 21687641 BLAKE2B c924929d64f34e554175fb47fe7729dbdb4c07c84387e1af76e053997b58e8ba965a40bfc9e1de97f2a0ebfe73775cda74b3930f1b6c4ce8f72b3914dcd1ac82 SHA512 fbc32079efdd070fa8be4140f15959098012269e53181837d41d75ddafbd1a8461d61088534d82a2ff945ea0f73038744c4d4301737f3813468551913c9c954d +DIST 6.10.3-0-202603310406qtquick3dphysics-documentation.tar.xz 4603436 BLAKE2B 072e805e0852b8c49bb81942190252e6c173366777b8e8ca1b418b57c6d02cc99a4c49b2eb2ab0bab1e89062277f1eec3358306acc18a0ee7d8ce38b5aed05bd SHA512 e039e799d3e08166196532d01c3f72c31d598fb38d3c5b05ad946e1f04d5563698a30150067b7029a6456cf0147d5ef95928ed202122f39b6c702a7b42cb9c59 +DIST 6.10.3-0-202603310406qtquick3dphysics-examples-6.10.3.7z 2355200 BLAKE2B 031637098e5fddfdaef98bcd25490e3c152c8c7911a97992e169bf11655d9e0e48a4c482a85fdebfe5d3a83a19cd7ca4d7afcc6219c1da7420dcf1da0c5f1c29 SHA512 7b5c8a1a5d92e28d9226d3334ed67ffd7b1a21d7e8cac5e1416ad07fe40a295942e3930e9119fa76f1998d26aba3c92bf488bbe1c268ced44c0809d66fc4cefb +DIST 6.10.3-0-202603310406qtquickcontrols-documentation.tar.xz 7633108 BLAKE2B cc61623b73c80a0633d8992845c8b2f998b9f571829f93f9fa84324985aeb9219e799b14471e5c920cb60885de3e5cf86fbd0c3a1859a434e3dcf116355625d0 SHA512 2943b2ab627a87c6af169ba5a9ffde034494690616064ecce4153362bd69c41f07797280e0c3106acd9b0293bcd77f87ccd13413ec6b1651bdfad0c6f1280f7b +DIST 6.10.3-0-202603310406qtquickdialogs-documentation.tar.xz 314856 BLAKE2B 5a64d9d433b2213b992741f5147d652764e2fb83283e121f0d99087cfe45643a265dab43be2b0b93f99068468d04f6d7a179ff37f492aef6aa6ce91656c8b00e SHA512 5dec46cb477ee773c22134a5bbe4afc3197b135b0a45810f2e732135ca6ed28ed3e564f5db2f7b8096b59f5a9eb0352263bc16c12e7bc2e20a124f654e8f81a3 +DIST 6.10.3-0-202603310406qtquickeffectmaker-documentation.tar.xz 810596 BLAKE2B 34734b9ca5103338bb71c50ed4c2ed8e38c12ba99db90fda794b6f01956667f3a1cce3d4f654496e6beaaf76cde67ecf7bc32214248406562cef06c1c7ec6582 SHA512 0883d701a2392a0924ad9ffb13b4ee0f5578a4bd3308ed89b6a0bfdaf02f24ae47a89c5b7f1b305238edf651ea96d44440269d39e9014ca646b62a4483d208ef +DIST 6.10.3-0-202603310406qtquickeffectmaker-examples-6.10.3.7z 244689 BLAKE2B 2fc9b54b6c9e9891f205f4d0e044d3cce2144200c9f907f3d1c9621eda20c0956897e3f40f3bfb8c626e932e9bb003e66d7bbda0b4394d949996a549fcaecd7f SHA512 1480acae866c203b3541aa32fea2cafe083fb79b4adbfb302cd7d8775b8f53be04cb8beaa117859cdc336b13e8a5625727497d351623bbe23f15812911eb0452 +DIST 6.10.3-0-202603310406qtquicktimeline-documentation.tar.xz 167948 BLAKE2B ccda55c949d0188312250527204cea25cc61e4b005ce69a778f4907cb85955f898fd7cd783bfa6af84e2c40cb9a2435b6c585f64755c69baf30e2299ef056cb9 SHA512 d8bdb203a7090b776bcca6bd2de9509b5c2753fa3298fbb7a4f3351ef781eb78e6c747fd3d789ded22427084f2524fd94a7ff013130ea619d4def3019f8c8c67 +DIST 6.10.3-0-202603310406qtremoteobjects-documentation.tar.xz 494812 BLAKE2B e532d3c5d03cfcfffe37a3d460b3ec8a5486b5760387a19c063c4eb250c5f760f0e5edd808ea3cf2ea260235f8bc0b7a5d15736eec98c8815794298eb5bb58fc SHA512 c74b106c5d5db1eb306475e1602ec0045b45760ce9ad6fac53a766a83f9a4580a81274eb630df8b3beab8227d4ff64eeaaa8386c244e99fe8a2c8ecc9b5331be +DIST 6.10.3-0-202603310406qtremoteobjects-examples-6.10.3.7z 81574 BLAKE2B 902f56053f3eb4454d3ce9ae2c34c5821851e12f454324b3ad9cc5bb868ced01336702168a15a4e375bb212b0fa48e9f429753bf94cbadfaa6efc919b7ffed24 SHA512 308a8784244218014a4203399cc5a9a32bf04232d772815ceeaeade6939defdbea0ad300af8780af2c59b0374f59d7714a520ecc99fecc95581587b507865f86 +DIST 6.10.3-0-202603310406qtscxml-documentation.tar.xz 397604 BLAKE2B 56f8b59b41d2abb1a7bd1597b697701ab3d6dd7f86d86a2934adb17ffc92f2117114ed65f9070ed72958fbce47cf074764e3a6245791a041174593cab3930c52 SHA512 ce4f245f1979cf21b8a6649be7d91bf7d2529e73139653a215387d9e54afc309076eaa255051e722aa9faf3e0a520832cd7b7710e3f5afb2d1b139bfe8ae0225 +DIST 6.10.3-0-202603310406qtscxml-examples-6.10.3.7z 140258 BLAKE2B 69f38ec2980b602654e4367eacbf2d28d8502cb11ef7d334ab6ba24b33f87deb4b3476ec45a2e2d31f1a275d58436ae044ba97cd4b0d8f2aefce7e88e41f3ba8 SHA512 1987e7d7e32577d17dfcdde926d9db3b42c5c1c8705ec3ddda3be874645d095b008734c7ed526770e14ce58dbda6d6a056d664dd4332e5e6d0e56740894aa4d4 +DIST 6.10.3-0-202603310406qtsensors-documentation.tar.xz 2149436 BLAKE2B 500f9c6990f67a55571b1e9952cc04b7b41a760738c7adcb96dd7cd3d5f2c6c32322ff85dbf24a8e77aa76ac86b3d83e9990962e7cc76adf89df38d13c3ba840 SHA512 4837bfde5c03a7f43644bed565afe1346519b3e039b12c723c4fd2240716c150337e2e5b9a865301764ec35b2856c91c2bf7c34ded883e8b9e3877c6fea12a5a +DIST 6.10.3-0-202603310406qtsensors-examples-6.10.3.7z 53364 BLAKE2B 4e65aca633427806a9c432381c23e06221244b2ca39ba7a9a238dedd63ccd80784cb7826ccaea65661dfbfffb62110e0f28f00775726fe0233cbffe4d7418c62 SHA512 a765e226efcae69557ce32214dc1bc6f4787c7f2e5ce42806dece543d162efe202c28ec740ed0553661e730d08d39b3eddba70fd0817fd8fe1d1a90a74dbbf92 +DIST 6.10.3-0-202603310406qtserialbus-documentation.tar.xz 741588 BLAKE2B f36113fa9a395554037e51a1a915cc8a2ee34f1a4c7a432656027b5ab4f47462efbabd75d996cc7bb63f69e3644a6ec265ddc25655424b5c14c5097fdf589f73 SHA512 ac2239d8bf96b34671eeae7d911e7150a128ce22da5a6bca94ec22faeb760a20e01d2ee977382fdc3dc6403a998ab4df4bb70a881ad88dda79dfc18aee900a18 +DIST 6.10.3-0-202603310406qtserialbus-examples-6.10.3.7z 212025 BLAKE2B 6c5751447ea9e1b8909f5800abf2b78554c4ad2ad7645271116a36f5e043e1c8c7d0e814292f07153533bb18752b3b1d848b4aa348b790867153aca2419d285c SHA512 064bfadf5e0cc7d9e983f3608044fb2e5c879daf606599b2cfd22644a06085b0790b3a9bbeaadbacd753305b6de6b324d1827a20b04e68d268a904b1fb6615b0 +DIST 6.10.3-0-202603310406qtserialport-documentation.tar.xz 187432 BLAKE2B 03e8849d8dceba881215845b019d1b9cbd851df34193d140328afbc3e8dcab8512385f2c6ae286e9c4c78d7ddfc3fa06ebb6410fc639e900c5d8070acb52d400 SHA512 710e399d17ab9415b4abd9d1e892f7cae236a4c92bbde3a6ddf1df4a6c288e0aedb9cc2d3d4e297391146a63ae14a24264ba9c4ad6e1b417a47a7768cf4c2891 +DIST 6.10.3-0-202603310406qtserialport-examples-6.10.3.7z 80981 BLAKE2B 477301c772bd59730f0750b629bb9b12789bf4a1159a432aad67ea77f44c1b2be2599be64be47fc32bf97368d67414d2d5cea46eacb6b55afd85880c15db9235 SHA512 90baecb194a7d39597b46b1ae5a690de3d778a38a693b6220d873bf132ebf4de2bd8c9eb8cf6ceb1d6d1eeca34dd573c72d40b0b46dd974651f2e8663210f8e6 +DIST 6.10.3-0-202603310406qtshadertools-documentation.tar.xz 200824 BLAKE2B 68b8158418e6754f1d4e7569bd4f103dc0ca428fa83802c6710b38fb27c214130070dcb1e946d29788b7732fc5463ca5a863664b56d7ff5b440da2eabbd8fa8a SHA512 628c1777d9a79912ce556541e67b6daf9199fcfe933e2889ca1dbd23ad959be7cb270cb6ac34653680fbd859fb8b132b240ad66dbe9bb1aaaf6ffdf97194c862 +DIST 6.10.3-0-202603310406qtspatialaudio-documentation.tar.xz 471496 BLAKE2B 263318dc757d85d4a5ae9a25948b63fbdf35b203f497c15ea50cb1968665f2bf0359d089263410d6ec275cbb0911c60582b86a47d849535b3efd533dfd031c83 SHA512 6aa7af0ac2f9a1612ff55270769527328825b410d76b17b57302c41ebcff73a19c86570f0d2e8aa4a41ac60893ff7c7063694ab0b1a06f525d212a46272caee9 +DIST 6.10.3-0-202603310406qtspeech-examples-6.10.3.7z 157815 BLAKE2B ac338ceab6ab42ecbbcf7ce09208bbef2f758e1176d22784cc417842416c065bac0c32a3cc68a300e1b5669256630f48364fecc94bc9ea6271b7035d3ad9fa02 SHA512 1c040a79d9e4f89f823fea6a4489aa8342c14956ad64ca29d00d32879fd4b12f9cf7c7c6633190abc3dbc2fa39bd74c344245be7e2da9c368e84f7ee584fdfe6 +DIST 6.10.3-0-202603310406qtsql-documentation.tar.xz 908760 BLAKE2B 1754d5869096470e8e8f66f844dda36774bdc658209c2490a79bb0a891015c547ec73166322486d32de8ef79c08bda68b4e35f21e2e0348253bd5f888350abf2 SHA512 cc7f2286cb952c39d13eedec4594ace23c4eea2d3fc3be7b7574a0ab62fa34fd9854b45366af3d3a186c35483e7e00a781a5465acbad191697caac9d6067c0be +DIST 6.10.3-0-202603310406qtstatemachine-documentation.tar.xz 407900 BLAKE2B a6596f80369f8c6c2fb99c009824801bcf7013441e0ab26fb6f73c617afca5442294f31dcda83db8db83a387385ab32671dfd4d4195406ccd81c639162fa9f3c SHA512 8efec993d42388f5233ce7994cb50a67390228b3940132fedd92a4978e3e51460c976d5cb839a9f6736e63e27d695779ff9f78b7b4704ed8b2706808f7957710 +DIST 6.10.3-0-202603310406qtsvg-documentation.tar.xz 671208 BLAKE2B 9a5f8d7aeb4ea36b37d5d3d20105219eae180094260ca9e9711a9188968a882d0737e2db08689b7df66ba3a634dd42c9157e33a00a6af8830e2d1901da4372e6 SHA512 4e0c5fd11b03ab660bb7c1009d9ddc4dcb275aeb76b242a0fce284176040bdfddf275d6c9a842cfbf25962824d1cb5a9d50ee7462f688623df093400e1dd06d4 +DIST 6.10.3-0-202603310406qtsvg-examples-6.10.3.7z 612623 BLAKE2B f52d2253e4d8d89738abbc0d8cfbce840e517288ab3a92f7b3eb4570338d7bb6d83681cc61b03529b1b82df77c1cea5667cfdb7ea1686f12d80f42567942533a SHA512 97816e063a31aa3009547e19281490bf230ea2922891eb86f882d828c7f59081247ba7f708564dbb3fe04dc4ed95db7f27210eea26ce5a447904d63634fa4d84 +DIST 6.10.3-0-202603310406qttestlib-documentation.tar.xz 250908 BLAKE2B 6f75e78e6a77e8f505dd905b4cbb511143706822f6e8dd523e446c24b441bba6effa86fd33348298489c3687633b8fb338aed62e8841092a85e25bd6f0d457f0 SHA512 b66640c4179f629b656897f7fa95f239c23137589c6cff4a5355a0c19d6a3c477b00b20abc6aeea271fc7b1b28a674cc51a7c70b475e308519b1075c53996484 +DIST 6.10.3-0-202603310406qttexttospeech-documentation.tar.xz 401088 BLAKE2B 2cb6d4471afc0262bac88dafad87a4162e6d4cf1eb8232b5102e5a6147b1578fa2662623cd35b988270b7b51051c490733a54d2eaa6e8cd6f70d1a5259f4ae38 SHA512 21b8eb4ba6e466787b4cb9922b4c95f92c4a222e87e561471f27ed52c3296b50ed85e848bffe5b705ad15d8025837353b5c8b178ec66e66a729319dff4ac91ba +DIST 6.10.3-0-202603310406qttools-examples-6.10.3.7z 748132 BLAKE2B 06af23d5f7bbc4485c59af75bc3ac3d25803d055144978b8a8efedac85860ff0dc033f2acff3752efa18d8aa5ed7a3f314577e634addfda8934860f84e2276cf SHA512 7668c201afe5e2badbad1ae26c6c132ef333777380a64349fe285608c761cac797b2838b38bbd230f7f1c85d1e5d36bf352b2495ba0e3f5dd2ddd725fc0fbfa0 +DIST 6.10.3-0-202603310406qtuitools-documentation.tar.xz 206100 BLAKE2B 543a6b4f8888869a6ec859d2ea8ae3fc96d12b2ea26a854b878971b7c1015858d7cec4f71313fffa6f1455118bc8a2a23b9ddd868fcd03b471ad95318f8d65b8 SHA512 412b1991c4515135e404db2bc154383fa218e91183d6026d0ba5068d1135730660aeff34695c900cf15671122865f82ef06d42c43c3ea2e627274341d4773fb5 +DIST 6.10.3-0-202603310406qtvirtualkeyboard-documentation.tar.xz 889580 BLAKE2B 42a460818e42951902b46c64ed701898f1f0ecb274fc1e197724f82ffcb2e89e13ca8627caa3cb9867a5723b2e09a46d2b161fa04f50c2b7628861902812b405 SHA512 e04dc5d49501561c99701983ffa8c3a68be0e5b3adacbe7fc2b4f49eccba6728050bf653bfe50b27a780fd5688f4c303968191cdcabf12b85cbd74ddddeeaddd +DIST 6.10.3-0-202603310406qtvirtualkeyboard-examples-6.10.3.7z 6998 BLAKE2B b8fee1421d2719d8939646e5b6cd2895ab082171d05e7c66050f07a0fa0ecafda9316c59356d76cad8ff771e1f15042d875f702759f4bed50de7a96dc7f756c8 SHA512 b7e01d44357a3edd149d5227076274751195ecdb9d42ec2a814edbba1f1f644454f1979da3abf170967af0224d8b7d5d4caa45f6f0ac58aeb18a1cd26cb5b9ac +DIST 6.10.3-0-202603310406qtwayland-examples-6.10.3.7z 567987 BLAKE2B b01ba92ef53c9af12725c0a2e8b5deff2d9e9c0267b38d22f3c74736043bfdbcd18e04a183773e676da41472f0e4cccb27c426532cc05fc7222687759b884d47 SHA512 eb341de6045f197cc4a32e2edf4f02fade98be225c67ba72bcbeeecd454d7e5157904f05ae72fb7e8021a04b75675a034ee402835433addf3aba3dcd47ebe3b8 +DIST 6.10.3-0-202603310406qtwaylandcompositor-documentation.tar.xz 1567380 BLAKE2B b468c19b345a1be538aaacf952edf22a8303de847dd48efaa25ef9ea72ce0a6ec6154b617db86972d3b628dc4a10584cd326ae3211964340734f60f6c30785d0 SHA512 dc731a4a711aea660f6bebb262c16d0b1158151b505dc0ce9f16de88762f2c70e6754334e1b956d9cb705a586240b41da02a8cfe6089b4f507b6f55f5476b7e5 +DIST 6.10.3-0-202603310406qtwebchannel-documentation.tar.xz 167224 BLAKE2B ec16abffc545cd9399022eb13ada960956ef3d38945f89c3852330483fb0a36c36412597efc71ae0a96e8ec9260cf00bfeb8471195d139db7b0d2e590ebe6afc SHA512 d5aed22abad32064e895b1e04342d7db259c5e9ec24b41e038a42341c131ee481f327716e5a15ee83105813df83b68c5e977e8d3ba01242f31aa98fc097477d6 +DIST 6.10.3-0-202603310406qtwebchannel-examples-6.10.3.7z 66029 BLAKE2B 7bfa7ec2a184f8c5f7d3782181dfe9c20f4963c89637c32e46b5c17044c5304173640eb7c254835f8001ac2ec53f351ee1ecdf9360dc5f40e85144fe5808be20 SHA512 1c173991182295eeb90d50496b6d08e209e74911829f3a8f71051333a3b55a90b6012d97e13cab81206adc883ec8d6ce2dbc5df1df1f7717eb78842888784d0a +DIST 6.10.3-0-202603310406qtwebsockets-documentation.tar.xz 535356 BLAKE2B a15fe148c69e1dc5299d76dc974daa4d80bdcceba19082fda35eff46e117a269b1de5aa5665540c4f009ed87226fa101d7ec0ad1ea2e091eed355993508b94d6 SHA512 a4caaacc7e76e193037479671918b22f592825525cd388be908ee7afed0d7b44f7923bc06097240247984d7ad2d2b96fc931e7aa3a6d3ac6c2747ee6c38dfb42 +DIST 6.10.3-0-202603310406qtwebsockets-examples-6.10.3.7z 248829 BLAKE2B 451f570aba88b5dba1e79762e0a8ea2a4735aad5b75da1f87ac66b6207cd5ccc5954e2ec9b51061c8e16b8052511410cebd489d9613ffa2ff1c60c917f7c6b96 SHA512 27631f245178763078ff9bf2134618a7c57be940f8f1cef24a755269116138aa60b4ef6391ecf134d5f7ef71b660c0c1ad98e0932b3effefe35d3de5370e88d6 +DIST 6.10.3-0-202603310406qtwebview-documentation.tar.xz 125716 BLAKE2B bd38e1751235b50f98a71448da6a5b15df40b2020d1f528d5118b8d5117f6e0aeb38760e7be9d421024ef1a07d1a9b2f3e23ec9b832eed582be657a3d5bbade3 SHA512 378027dc4b951a227d5085b1514a59cadf4af6769b99dd65638ecf65b04c77ff05afa63ee867f00fd53dae612fde0c518433a273cc9bec3c9f8c07091cc1ab14 +DIST 6.10.3-0-202603310406qtwebview-examples-6.10.3.7z 47247 BLAKE2B 02d7280dad782425097e7b728a6be088ec8a28697d499d16be010ae3434b8715bcc7bb0c33cfb88c2f9b0608b5d241562bd5b02ecb111839059203abdafe274f SHA512 b9ad6e0f896217721722d9b326828ea9684151401ec3bb3e2dc70f61430632fb7f102d24ebb8144aab530f27d39462eb01a618f280f410ee3a032d30fa27e80b +DIST 6.10.3-0-202603310406qtwidgets-documentation.tar.xz 20709040 BLAKE2B bf872c8c78b8ea3c05752dcbb60d3b7c60707702004dd252a6813031db88c4e48138f13971a9d590597b1d0bbfcbd751387baba6eae7877956ac533267023463 SHA512 2a649f3e69ba5045ed60aa2512cc60784018bd6dc05b97f712c5afde4c7ee324a27ab5afd4ae8e26fac001bad6615e984b8bf1b8050e13375c9dedb930a00043 +DIST 6.10.3-0-202603310406qtxml-documentation.tar.xz 347752 BLAKE2B 624ee497d699227107cf64c28a53c7206d3e9fd5553dfc42013c8d20452bf78b869535f30b586c2ae911fe2af318e130ff7cc70b2542e2c15df3e4ac727fe9ab SHA512 08550cacb277fae164dbcc5f3762f12a26c6086e0b3c86c539450505f9e7ba2ffe3c8edd2710b1eed1cab5616216da23cc273bda1ce5f4a80ac0541ef59711cd +DIST 6.11.1-0-202605090529activeqt-documentation.tar.xz 251104 BLAKE2B 31698307f5c290fe879c1880aacf5ba094528def3da2d8a7c835ad2406e252738a0e3ece373b70a86bfff48b7b2d9e53953b9546f3c2d3bf85f7567a5a6300ee SHA512 7126dffd08c5f8d68b8230b2dd266d44526a419c47b8891849e51896cc568c996e06a6d8b608e6e6221723297c53498543f3db16f32c570fc495bd51a3fff30e +DIST 6.11.1-0-202605090529qdoc-documentation.tar.xz 309596 BLAKE2B 95c8920ca79c4b58eb09ae7271bd9b339c1d9e0356936cc4a8bdee8832d32b4e8ebf980814396eb7f67624dbc689cd4044b588be76bba9f20b20ff55fe378810 SHA512 0164a1411a006940d19d04dbed946d617f22bd6cd3114ba1c937e75793770715651b5f1012ad76abaaa73c3426724047bd0e63e85fed223ec302cfb98d684e8e +DIST 6.11.1-0-202605090529qmake-documentation.tar.xz 347988 BLAKE2B 6060aea62f227743c7b7672906f281a1de2aec02b2311ea81d947a4355b48b36e7848421533a949992760d1269de98491ddf1698fa001a89473f3f37e5a46eab SHA512 c35ef38511a706ac85287607e5466575ee9b03962391a8b5394783d4e409a5abec0bfda07b42b65a8e2e53f8c1b598831f10d65c044b36380ea1e85f93d2b48b +DIST 6.11.1-0-202605090529qt3d-documentation.tar.xz 4874940 BLAKE2B f4cd1ecd266a499bdd096649e393f728c5dcd2e07b41f5ca2a980e04cb4cd83bc83bdb529bbb20ef130b7baab7fed3664eba77dc7cb29176c5f294eb9c77b464 SHA512 a598a6f202015f0a3ef30eae615e051cae51e0ba795d724453e07a1c2bbbcd37ac91ccb0bd7b8942d6be29ce18f584cd8f5576844ce8aad644ca7ca5f4920964 +DIST 6.11.1-0-202605090529qt3d-examples-6.11.1.7z 60338306 BLAKE2B 2aa6a610abeeae22c46bf922491ae7f1a50b5811801937648bf90b022f7fd66c872d982982818a63d3acf2b5725926d08f4ee49427d8bac3b27c5a39d54253a4 SHA512 8269a25e8004d58223cb4146ecc6621420adb872a47833a2eb0c8807e3d3ad085e24a2419d0a71b4e16501054cd69db5db7102b32b2c184671e1322cfb00bae4 +DIST 6.11.1-0-202605090529qt5compat-examples-6.11.1.7z 27935 BLAKE2B 96b0643efbb7557821272f772b96c902d1807ae8b0de660d6622208659fb75c5719c104e8af73b0d68823d37887baa1b8bf5413751667eacf8936127733a93e2 SHA512 384427a62c0166ed6210aa30889cde0b9033e813c4fd09c17c12d4342840d8b20fcabe475cba018a2bb0dce53bd88eef0138a6a591ca44d30746a197c9afab47 +DIST 6.11.1-0-202605090529qtactiveqt-examples-6.11.1.7z 11950 BLAKE2B fca6293fda803a785ab0452cc44bc155544d08bd495fcdc3aa681732ca740b9f7e94556306d3b50b88f477b4322d35fc6b788fbe111b78b4f966afa50d8804f9 SHA512 590a09a787b73ab898d8e8123156c900f34c636faa6ac1f71526392d8f92bb33513cd2ae2e1b5cc24d47d716d44f592b6ea28d1feb1f8f2b167b6838f11ec407 +DIST 6.11.1-0-202605090529qtassistant-documentation.tar.xz 735160 BLAKE2B f6cfa8e6fd0357fc41d51f698c65f10d66d45c5b297f50f1e3a90df4ee7198c2088d136cd36b662a863cde7d74eeb2f6bc39bc2de0c79e4ef4aa29b15c011a44 SHA512 22dc8ad07f3e0f4a913de262c8252dab462c1f0b5c81c179eb1c78939085eea267c228d0ea11c93a73bd5e6b785f8c21092843fc835a5d4c7e0000f72d24a0dc +DIST 6.11.1-0-202605090529qtbase-examples-6.11.1.7z 4312945 BLAKE2B 764b86acace47a24a0c7d71c5c9982c73daf576af22dc972a2e83a6d858c5e19c33036c70c0f2e781b2d9ec9655ce9425863d99ba470219ddb937543fa9916e2 SHA512 033052f886a25a8734a24aaa217b31a5aa621c1ee17864ee1fca9df1def3d745ccd19c80b4848f71468294ac3a5eada70a41df6e2fcad28c8d439b6fa4ee2181 +DIST 6.11.1-0-202605090529qtbluetooth-documentation.tar.xz 1039708 BLAKE2B deeb4a56dc08eb4ba15c9378bd07e13b5c89567f060caf69889e6c0908e6baf5ec4ec9b67e72de3919631677a628e4389458538df8f9cf5b6a9145245063dd59 SHA512 adb726a5ace00e3d18a049693b33629a5f028c581b9bb1b3a4db1c4b5e13e2b951439cd0d8fae1e2e618dc140fa1581169a42756838f81d5a4ce48703675baf6 +DIST 6.11.1-0-202605090529qtcanvaspainter-documentation.tar.xz 682180 BLAKE2B b382f2e33daae0d141fede14bfee0c82e077b44fc0eb3aedd580a07973535f4d70afdbc41a661cdec223c647d53c95acf81207a060289231cfb10e13823e968d SHA512 384a6494634f9bbe1c215438ed0fb410b696a6213c438042788e11455ebdcd66c883fd35f00c13df4fe4fa908b226b9d2b17844e174c447102a500726feca3b5 +DIST 6.11.1-0-202605090529qtcanvaspainter-examples-6.11.1.7z 230390 BLAKE2B c33e17b36b3f2b7f525b8d7c52aa518d9214582323f0032d638c6e168e3bec7923be84ba0ad211ca89657b747c23d532f2dd8ef462e58ff31f9ffe53ad48b57a SHA512 c50ea15761c1009729803c34937dec68886e22bbe7cfa017d7528c7fd3c4c293f2d740574e9e7e8f0985d57622fb54814daa4d159bd60565de127d08b03cb1b1 +DIST 6.11.1-0-202605090529qtcharts-documentation.tar.xz 8726468 BLAKE2B da102b1eb7cf7a39dbfdf735d40793c67e393015f8a443c144c6ef196d4b379182fb4df823ab7066c83fe8526c5ca6f7d2a38f3645f14f428d8ce35a5495fd9b SHA512 212523fee59ae80380996a1df661f2a339f0a62fc0bc0d1adb115e9c07f9445a67afc9c41a918a6870ce54b271da066648d9b1ad6265659043a0642b61381612 +DIST 6.11.1-0-202605090529qtcharts-examples-6.11.1.7z 164114 BLAKE2B ab8243b3234abc84481f630fdf55a58376013f3dbb4860d075423af9decb254c97cc99846ce47b3d37ddefeb9708b44eda1430bda372a53755bb14f84c18eefa SHA512 4a680542b8e93f4c802ab345d55e7b8ba124122235c102286d15a1b3377b7c535f0cf629d0ac026cd2e5a1205391d0d64d9b877cd97258817c711f105677cab3 +DIST 6.11.1-0-202605090529qtcmake-documentation.tar.xz 105172 BLAKE2B 630fd30e63bbb0627d7b4cb44e29a96b9d4d6dd252c52be5da0aeff56e1a78b9a9462f2f5da6d1ad3692bf149202bc9863c37f47fb867501f211304741b50828 SHA512 32bf51f1cf4ac943c04d7c615d6d48ab7e9e0f0a6db5dae8bd309557daffabf15e32e1983dbae9af9069e28efca1111c632db2c8158b10412ded1514ccdabcb3 +DIST 6.11.1-0-202605090529qtconcurrent-documentation.tar.xz 190888 BLAKE2B 0e1e314fbdd4393f016e72fb91042645d00328910264d3f19ddb53bc625a7776b9bda157d3cce377d8e14c695df69e4fe59310650db9257a72b7a2fc1bc1778e SHA512 19c6df07eb4f169faa5059494a9be22ce6ad5d9314165c0a039976ddc3bd93f1dd05dc58b64a69366241acbff77c9fde303520ad62ba51dbc98ffc971f689d2f +DIST 6.11.1-0-202605090529qtconnectivity-examples-6.11.1.7z 403463 BLAKE2B c2c49cb3a82a19bc05c35f04eb50cc51957461fcb058f2bbbe299cdab8bbf3ea5e35d62e2458f53c7ecd93590f87596e0b5105d42da80d25c2a75ab0b3bf9daa SHA512 66f172d27a328dd4d158cd037d902bfda9a89836660f57201b5b535933c3849cf50a0f491582ee1de355ea0c6b0e25d358f4060118744beeabb65f539a67cc4f +DIST 6.11.1-0-202605090529qtcore-documentation.tar.xz 7222376 BLAKE2B 4fd2368ff50ffef4923e7462cc6d9ed3a3d8c87720571a418ae93a38b7fa5bd250de148c19d74d022146ec4b398f7ece26bb7c1458bd1c323f99e15c9834ea98 SHA512 b9f21a915474e3d99db20532e77673e78a4672055c2d2a7da24237b3a3afc9980c587495d18860fcc7e3d4eb72bc5d1affd6ceb1bd46c90bbbfd4ca053b2debd +DIST 6.11.1-0-202605090529qtcore5compat-documentation.tar.xz 318528 BLAKE2B 3c8be57dab7bbcaecd781015c93466c5da65a73fa4b368cced0676a40b9573483b9823af9ec6927fb3ec887c08ea8c7a241e0c9135eef904457963848be8dad0 SHA512 00f5064c0055cb119b2eaa542c4b4cc049d0fa870bfd3e14c51297e34736e5a809dfa5123e29ccda64f765a988c171ced7fc8837745f90ced7a8458f3a7dc64e +DIST 6.11.1-0-202605090529qtdatavis3d-documentation.tar.xz 2712356 BLAKE2B 43093a4be7d07154ad02b5a26928f4bb33ba244aadb2686846229786b1bb8626007e71ae74bb8fdfa308edc0beb8ffe3905231a8d05ecadeca28ae056450e225 SHA512 bbdeb833548c744622b2e923c9dd3567b9baa40159820646f5412c751d42bc24f895078a1dbaddfdabc1679c9e1b46f55e12c4fbbf6c9f3f51ffa909299df048 +DIST 6.11.1-0-202605090529qtdatavis3d-examples-6.11.1.7z 2771118 BLAKE2B a3c8a866fb50f669ee3091ceb4d3ff7c16fbfab5877f0ac96af272bd114cb703d8c657e6fa25435b6e97e8c35a4a3315e5965bebb1111688d79ddae7648ca92c SHA512 1fcb6c3df44a79252507d270b277944dfbbc2f52a786086c6b3811ef0276382a7c6ec928b2fa599e9d95b62535494bdff4a4599c2680688bc2795f3716541d49 +DIST 6.11.1-0-202605090529qtdbus-documentation.tar.xz 339380 BLAKE2B 18128bde55f99a5b53b70bda2877f1a3fbd8bce6a04db7899a9c8633d30b8e926ffbc59eb7ef8bbb9814dd5fb79e28d99cb0167240605ca20469b1d4aff870c4 SHA512 fa8d55ed2f9654524fc48d7cedd18316d0d7c236b27ecb92e6d9d4191fd32f5d1d189111477c54e7a2422426181b96fd8d15275a22b8d73a81ed07b297fc20a7 +DIST 6.11.1-0-202605090529qtdeclarative-examples-6.11.1.7z 12463076 BLAKE2B 9e422d72c8399605ab0026cfcb9c96330fb2b444b06f2efce71039531a884bb761dca315f7a1a7125e30521b239f762c9cd36521eab192dddda70ee574f71bd7 SHA512 63f68d5f7e32008c4e8bce590ddc0d68a814917c9416b9fa03c0734487320781d040a55c763924835ff423b2e56bc0094aee4f689a1f68fc75361ff7ef73cb61 +DIST 6.11.1-0-202605090529qtdesigner-documentation.tar.xz 3330856 BLAKE2B 5dad380d51742d554ba1be0b909ffbdf314d19dda4062fe3a8c587df5b049ddec1bd7eaba2175feeb7af1b5339892838c2f66a2e01c6b70b83657bf5234843b5 SHA512 3cd0d6ecc5b24dbf983321bda9cc0d55f5d69afd7240dbe1e77a33fb2dfa4aca4c9648cf798e75252530031970d5659c7b5c6af3fb88af7b8c88f2ecfa6eec6c +DIST 6.11.1-0-202605090529qtdistancefieldgenerator-documentation.tar.xz 149440 BLAKE2B 987616104fcde6d4a7587089febfea8cd2dfe6234b573986a9dd889c23264bfd3bde16a006a1a7dcee37822ddf71cc7ab5a184e4158924d4b9b980c97412ef3d SHA512 aaaaeac645f0da6c098e92952b9782ebd9accc57b5dfb72e159aedaff9ec010ce2198f70cc7c8a928b3e8928406890403f5c5a44b53b471488eada3389a6da0c +DIST 6.11.1-0-202605090529qtdoc-documentation.tar.xz 19561692 BLAKE2B 25dbb463aedb61d1847b958aa4644330a9d910b544caa425ab57ae1478a3955115e3226717db13df29f01c9520d4a698646f57b7c9dd3786194b5d3577eded76 SHA512 02f9352ded92b9c47f7abc56abca9650bbb3da310d92ad9744131f9c865f7991328a886ca4dcefb05e688cd0d556cb715bb742efb342feeab2cb2766fb09818f +DIST 6.11.1-0-202605090529qtdoc-examples-6.11.1.7z 43344993 BLAKE2B e626988f6c4a872e67709d28b25ecf497d25da49d43bd3b15fbc9fead3edb96ff2ed1c8d200a56fc9fee9e3abbc7295545f87effba3445b94585538bd0cad30e SHA512 6b73960ec18557eac1c296520d0974827ea6732451696fa2fad4013370c69b8a64f66de0d3c0dffe7ddeca694a261be1b9a83b42db0191c2484c9bded41c6e45 +DIST 6.11.1-0-202605090529qtgraphicaleffects5compat-documentation.tar.xz 25781668 BLAKE2B d8eea04ce24b774e14d134147916b32a26a7e002f737ebd85f98dc552f160d9b3a0b44f6d4ebf9202b4df2785d67cfadf797132d39432d269594dac90cca6b3b SHA512 a956621dba97bea0f2b3f67245a6c74d4fdb0f58de62ac7c0c3f84c674a4508d3da02fbe95644e2e7a2d3a63a6a47cb523ee27372afaae3a957921b618a9a2f3 +DIST 6.11.1-0-202605090529qtgraphs-documentation.tar.xz 4589376 BLAKE2B 4e95503a0f9fdea7dfe20b81dee892a520251b8b22d8023d5a26dc8fb65a2bba8f439f539e939c654691d0082774fba960c97e453f0ed99d3cd00be1a4293669 SHA512 fdcd5c7bd34f19ab1665a5f7c0e2033c78ba16df8a03e29bc79a0520ace2369e1b7a148d0e02b85ec555ce4a3e62e35d24b54e2e2131d3b6826492022418205c +DIST 6.11.1-0-202605090529qtgraphs-examples-6.11.1.7z 6664702 BLAKE2B d3e37d4ec2ed5501917407bf1ab48e6d837690202d67280084050e79e6cbbd964cd7b34fca20c691cad84f1b4cb187f6ca19895250f4974bcfd47bd6249f013f SHA512 6902f03009ce800443fae33e347e7d0626d6c8e7164b5e07d700958361c74f837323a005fc52fc458a25b5fba5832a1210661ff76c61a6dfcd68398289760b95 +DIST 6.11.1-0-202605090529qtgrpc-documentation.tar.xz 669632 BLAKE2B b17514cc2099b3432310ad4e63e456733da4c3b66f7e9edc6eaa768c8681325547ebb249540d78ec5ce322b8ec65a7a14733104ffa73198f8081cd10ca51abe1 SHA512 574ed1a1ab94c9cbee771090d732a3420d5605b047197c60b2d5d6f6c0cf17287776390f4ebd829c1eab6755695db368e796a9d324b6e3da3bbbc3b21ad1051b +DIST 6.11.1-0-202605090529qtgrpc-examples-6.11.1.7z 295122 BLAKE2B ae2fc9678d47976f79bf77ca5ff363e0658c6a7895a7160353c359e7ca1db2fe39116bcfcbcaeff87abd16b63b7374bf48b351c921e9d1a62a12bb8a23216b03 SHA512 27ffda7e92c9de28786fc64fc0540491dab8785145e3cc5b95354c65055266b1a8f9930263f670982e845df4e4c687c0317a0338b3e98fd411e65ae5f6e5e1e4 +DIST 6.11.1-0-202605090529qtgui-documentation.tar.xz 6141448 BLAKE2B cedc12a0b18f6e8dab423c2abd35febbc15fc4c02c522a9304d25619bfe5ea082f43302d74379e65880a62180ca0c46f2b10130b532c6a694c90feca20846ec3 SHA512 c8fb405a48f9ec54cefa49998719e6fee387c0acf1cea1503137165ee1777eef4e78cfa387d45a1a3da97c79cf869b9d89c81e771aac40b8a242f73378262e25 +DIST 6.11.1-0-202605090529qthelp-documentation.tar.xz 302412 BLAKE2B 3594a44f8be915930fa9c2182ec57b6aa34c59d3dbd21bc49e273fc4f7ce646d45d6f2089e6ce0c75992ad24a67b34d671b7c6d49d45edeb7eb4dd419ebb458e SHA512 53b94d1c15bce4d1bb045a4d4d4006e492805f965de73ff59eb2cb3613dfe12b17a871d1472aaf0e3b668b69ccc9b4698c38498258a360b4b76cfb31a6b07b21 +DIST 6.11.1-0-202605090529qthttpserver-documentation.tar.xz 325484 BLAKE2B 5243ce0f88e5e7bbce2bd205fcf50047a21117f28fbd5489969c4ef71c1039770574cfdc9763410b8588a8966c2a306d51dae0b37738bd5e120a0f1817fa79be SHA512 e94dc9924a304e44e94b265d90629759bdec6a5aa31911d337f129ae70eccf6bad220b977d7b5ac5f8188a5bd1d53d3a98855025b452031fe7e9e52d8c060b77 +DIST 6.11.1-0-202605090529qthttpserver-examples-6.11.1.7z 51794 BLAKE2B 69b3c253d4b7c928ab52077ae9fb0b0503818e0c520e17a4614f269c342a7faac82dc23f15c84226f62cc4e69e90df062cd970a7b3641f23bfeb941bd05886da SHA512 726a6780ec60f9d93717c2fc4c1c9781945e4e7d3c55822ac38962c4d074871539eaa821f4277bcfd2b8ceed21907433ebb978849e0183564a79ebada44d27e4 +DIST 6.11.1-0-202605090529qtimageformats-documentation.tar.xz 32008 BLAKE2B ba262565ad5b8f14315a120bb7b58ce3d6a47c65a6ddd31c8ab75da5c591fc515692ec32b47713dcdffb1078f9d4f2f813606131bff0c582e650efb21f592396 SHA512 39ff7d7f7c3ff7d6a066242e19175379542a0ceed820bfbe26578e76d72653a0a0a243781775effb3e9f48b7cef98955ec45709c05e1c2c7c945fec3a3d81d26 +DIST 6.11.1-0-202605090529qtlabsplatform-documentation.tar.xz 538664 BLAKE2B a477b0a716410b3aa6c7c0fc3e103a1bb85ce10b3ca212371c437c5f5ed52f30c8b1cb54d2c8448a9cf4e694a690f8ed9932fcaca810b082d94de5039f934372 SHA512 48c7ae08cfdbe6bf834fecffa845569794c25845d7280db052274a536278f7f9c790b818e65cb68359c3a52b8ce9e77c74b7bc12937627c4c834b55a31d0a307 +DIST 6.11.1-0-202605090529qtlinguist-documentation.tar.xz 879932 BLAKE2B 776574f7cf5f87598f187d930497bd056e7c1ef9f703c0fd76abf76a984df581f56b9fb3ef0e12e5222c8e30cf8dd3ffae2c32a2166dfe91ff0fb3dac1546377 SHA512 f3d02f4204fd1846842355227627c42bb4dcc310827e8922105f797dfeeccbf5468a79c1df6922f07d023e026937a682547bbfb4de09b42e81238f9c84ef3b8e +DIST 6.11.1-0-202605090529qtlocation-documentation.tar.xz 2931348 BLAKE2B 7ebc5904504f03b33e413c19685fe48532e22ae004a06a4260348710e858122e2f20de6076089333238bc38e3520b5fdc5fef5940b09f787ba9109765b37b86e SHA512 48b0417bad743d033a156bb66189230743a9c1f41d49c64fcb5f62d0a543e1cf5f8307e3032310fdcd1e0dc453a67433848464f734421eb24bdf66490a68e0c3 +DIST 6.11.1-0-202605090529qtlocation-examples-6.11.1.7z 1570898 BLAKE2B 45977f7ecb3eb471d4b261ff9504c14f5c752fec44c7e453984975099bfff102ed3e46f81c5ff8c61fc644fc48da8170e1560488dffc4e9ae5eaf39178a59ae2 SHA512 55b1ebd7876f1ce0a326339bb14391ecd369ec8cfc4e3e5643739b6dedac9301a71f17c19ed1b3d9b4947caff6a5ac23ebd0dd64fad74be3ded3d5c262b513f7 +DIST 6.11.1-0-202605090529qtlottie-examples-6.11.1.7z 324966 BLAKE2B d8fa06e8549468a243e1803a1debd755baa4ae75fdf9e99e466a650be7f4834278a6fa6df21f963848d09cd3bcaddaf189d21b245ae671f176a3e644b49128e0 SHA512 06ebeb467572fc8999a55b8fc77a7f49d887dcab7a2d80d35895e56d9b9f94ac7901fc78296c910cd465b341a5e38f525bf3da663822f81f15a05a598bd2be7f +DIST 6.11.1-0-202605090529qtlottieanimation-documentation.tar.xz 640864 BLAKE2B 28d86881f6d51ee83a51ac82d1af4206cbf69a9106525c2fdd81cbf8bfb0294849ff245f003d4da0fa718a139cbf797ab3d56698e33870187ed791f8b7351a54 SHA512 4b5b52d5ea1cf2e327206fde5f14b41d95d0e75765fa7859fc8e304767479832c3bd868e2cd2964327d4ed548de173e0f04d2f82540ab7ab2a2874285d961ebe +DIST 6.11.1-0-202605090529qtmultimedia-documentation.tar.xz 4806376 BLAKE2B c6e02e1d697a86145d3c54ce5b1052dfb5ca3237151728ef6a4838fdf960a8a0b61edb0baf4072832a985d68596d348a0b95e58f0056f2cef8e9edbf2a2de34a SHA512 918e5030c858cdb3c3de148de8b8912f1693c4faa76f74b96fc527ae3e3189984b9bd238494fc34178c9bf3aea50a6b767bee8a6e61b58ee4186508b2b16d96b +DIST 6.11.1-0-202605090529qtmultimedia-examples-6.11.1.7z 1588330 BLAKE2B 62c22e33174a964f75bc39102f1c55c4268a233c3169155ff9789a4e0906b16de9121355d4b2acaabf51a8448dbdd18717869bb9e920e605e211f25100d87569 SHA512 4825725e0a4042e156242bef173c19ccdc358bed986f37e6e6230653ad705f6428cf41d5c403cccf0fb57ad73991b78cf235a99772a2caa0d7a69ed8e6d635f3 +DIST 6.11.1-0-202605090529qtnetwork-documentation.tar.xz 1485852 BLAKE2B 1fe9ad25ab97321d6604ebdce0588bd6b534d9513cd72403bfbd49e5691ed452f9275031bd380a10273207886a4a26f63433882ec2e92742397bc7746b458828 SHA512 6047070e5958619b8dbbe01e5b54b1bbe78389e524a9cf7088e268733de98726ce656b3410a0e59e08b1c0e4c5e49824571f6831a093590d31f7aeb96a1247c2 +DIST 6.11.1-0-202605090529qtnetworkauth-documentation.tar.xz 787904 BLAKE2B 0144ba9258d9f2319e52f493c469318accaf1ae89899002d9e51bb62b6db8dea97c0ab063b356148fab235ba78c3ff3ee26b98bd0d98409ff2a492754de8feee SHA512 8967529b6f5e1abcb61f365c88a624eeb1c2d9ba9d4e3eacdbcaed61af8ec0f805419b7a419307068313a0b3118a6e53f156679ad6f992401799e87ad22f6335 +DIST 6.11.1-0-202605090529qtnetworkauth-examples-6.11.1.7z 41320 BLAKE2B ea94f43081dc9b848febe09f209edd3c2215aaf6bc9582f9727ae3663a5c4088bfd57b168d1a85c6de942bf0144658990f2604dd7c54e5e437ac1b619abb3141 SHA512 cf299c8ddb7d9ef1f6c4fa5953859adb8687c726f5747d6c26879fe37b55abf5c0af14891564407a9b267a6902fb4639bb91aff724a42dc6dcf7565ca23c93e8 +DIST 6.11.1-0-202605090529qtnfc-documentation.tar.xz 237092 BLAKE2B 3d648acbce65e13446e0068fae99fe7605ff2357265e721db5046867e624397067824ccaccfa728918c02fa83bba98a8742223378ee80682ea2a821e2a56be9b SHA512 c9d21bfbe5557aaf4d1f660e024367fabac8ce81d37172e425887f165d0e16e49a8e2f48779395bd6b7684c7891f77f8c7e569c7ea3364a8cc478d816f0cb7ab +DIST 6.11.1-0-202605090529qtopenapi-documentation.tar.xz 327220 BLAKE2B 55646fe2c9bfcf7acf2e0902089c0231a36f655ba7537b142986697dd6c5ab06befea3e93029ecdd62c00cb5683a44eeaa38d4512128d2bb7c513d6615ab90c8 SHA512 083adb8f8eeb4ea976599d8ad88b82091d2c4f9a6bb633bc20529a645567b2237e1cf92c54b12ab57ae516f30c20d099f9cc76ac7c2e79b52f4aecd036bba8f2 +DIST 6.11.1-0-202605090529qtopenapi-examples-6.11.1.7z 154954 BLAKE2B 062c45bfb27997b7528fabfd29407c48bc9376c85f50b7c5c813876c8a07c04984045fe6ab26cf4cdd8572acdd4335f0f60f3ce9070952693468a6e10ad2353d SHA512 8a28ac6f8012c10892b0f65a2491d27a7b37f9adac931b8c9c7ca9a754e1ac531f7b8d632bb2ce2ebf7773397a14f28c8aa7d9b0ba79bcdd22f8b713d80f28ee +DIST 6.11.1-0-202605090529qtopengl-documentation.tar.xz 1026896 BLAKE2B 5a1c2d67c49ab30160b45580a4e97b87ad00cba0f00d441e198335a9e5473831a681e8ea37491b9e732230c2167e8225142e0c78137a271d2b55be4b861c19d5 SHA512 f0722361e781a5ac623f3bfc0fab3040f7f9215bd96226006239942a1d714c2534725ecd70eecbf89ccc3c097030f4b9af8f05d69b8424df321c89fcb110b023 +DIST 6.11.1-0-202605090529qtplatformintegration-documentation.tar.xz 42080 BLAKE2B 3e7c282fb4fa6432fa0dc6dfe3fa6f8876f2a003c5c762b8a78bc770f4926ee361e3e9a0801e41c2e257d40c5c292be11beaf55c5f67565f32c5fdf35fd16386 SHA512 dfa7fb69020d955c3b960a73884479fd5aa06f878509f02bcb923e0c3285fc5a187301470459dbb5aa8487060672110b78fa571b65aa173c28e3c54caa263cc4 +DIST 6.11.1-0-202605090529qtpositioning-documentation.tar.xz 689524 BLAKE2B fab89d1defdc5ae6793a2085cbe0fba61777c7a1d578d48c4cbaa7e45091e141970a95ba729b508834348b32715958049b0ec03fb0dddcff1d6534a68c22e1cf SHA512 c2e37fcbe718aaa91e85fcee5259463bd6c37c496f0b50e5db06c540962ac1667d1aa471cbd6be133b91c89e0cf63f528b812075a24f59906a77b773a8751fe2 +DIST 6.11.1-0-202605090529qtpositioning-examples-6.11.1.7z 272572 BLAKE2B d08460ee12e9f33e1ced901bf4fd3f2bc42036b15a11f39a0ff24be9afd81e03328ce56555bd337467a7da46c4aa1ff5ff0536706635e40339020de5fd0c7700 SHA512 d913d8bb8a311c448d2dddbbbb02052c8b26208117b6c130138e2ad2a89bc944245a1ee75436558511957cc474e80a47eabcc718bd412712c0dd529d58aaabda +DIST 6.11.1-0-202605090529qtprintsupport-documentation.tar.xz 349452 BLAKE2B b157a84f6d92b1e7539e1a5a254aec128cb6d0117ce148c4e31c38eb40fb25b04c80ce3f2cea229bcdd4ba77a765a539e7ebeef04a7f6a8a81d054ed2b72d221 SHA512 970b73b8d5735fadcc98962150b3710bcc7765faaca5de1f4bd75c339a189f26ba4698a4c95f0ec528ab84ff5af445b0d6745147ad6e447c1de4cb758a717001 +DIST 6.11.1-0-202605090529qtprotobuf-documentation.tar.xz 331144 BLAKE2B ce5e1bdba1e386662fbb6e6762695425fa9dfb8f80bd39503816ed0dee20c9074490357eb1b8f7a15734c79aa27b3c46e275ba28ba3e0dd40c597c6e12175827 SHA512 8e4fcb76aa727627d22fc9c0d29c285dbd0330112e7db2798c4ca5bc63cc060aacd42205ca4e94262af3e587ab7f967642263dfc734c32226e142d422b1063e8 +DIST 6.11.1-0-202605090529qtqml-documentation.tar.xz 1694660 BLAKE2B a73490ba46975f829739662d658d876a9935792b2c388ff164f10565094149887715e27ddb420c434c157a2198c8760bfe70693776ba2f83cb169fd6bb02c757 SHA512 649f5c708e7937bbfec517ff827ce2e22ad9bbb49ac675df90acaabecb4fd740cbd96d9079f495de3f12229af3572e402a0bafbb2407f536dedd7530b5439a9a +DIST 6.11.1-0-202605090529qtqmlcore-documentation.tar.xz 69084 BLAKE2B 9ff0829e8d752294140f87c82279ece27b9e0972d933c2a9de3e88c658ca0b262729f94349403ddafcce1f28e75b5628baf6fa9078b0a2135f7c5c239f161cda SHA512 7194abc9a20a7fc196da2fbe5fccd4a3962e1a59134e4ba265c7236e29ba24a449b1941c3bf4e464a0b464965395aa0ba85e298808fd75c20c51859d5590ada3 +DIST 6.11.1-0-202605090529qtqmlmodels-documentation.tar.xz 196264 BLAKE2B 231541466b92e47e5cd0505f1ebecf6a8867ac5cd549a4d4f66f3bf6185783611d57dea3712d80c09376a5575c31299d7702e6ab3f79d26175d12c04930c2b28 SHA512 62008165659b0fa4cc1429b95f88dec876f01cd3745177d94028271ff4cc150aa7d5269beb288851f7d8e98c325205698ddde5e76463357095319d277a51de4e +DIST 6.11.1-0-202605090529qtqmltest-documentation.tar.xz 92436 BLAKE2B 766ec40660edd6e4d2f68a26c843314350bd3e10e12c6efa61deba0617d37f041d65dcd5a7ce030a9210685c051ef6adaabb85b3758e82c4904abac3f63a1071 SHA512 0961a18607dddd275bfb7c09ac4eded71ac4d5a4b9e133b42836bc81e34cb7440295a02bf813e2dad815654a156164ee6299355abb485a340478a513b5036664 +DIST 6.11.1-0-202605090529qtqmlworkerscript-documentation.tar.xz 32736 BLAKE2B 8ba1c423a535ae921fbc9a2dfc4df081c25643996003509d4454c693bfb1f266df841f22a4187cd6d640690cde0f774910a5354ac24cc3e12fef5ed441e5fc3a SHA512 5d61b72772fac25590b62b6e59278c117f4a0d89fe97113ecc75fbe7cd3d24bc40c300150f87984bdeddeb0ae2f90b6cdcf8dc4ab11c221a271770059ecd438a +DIST 6.11.1-0-202605090529qtqmlxmllistmodel-documentation.tar.xz 38600 BLAKE2B 76ca16e7531eeebd89b1fbd17f5428b2fd7013c0223b4598128cb43ea82f32329d4e07bb2bff796235b94051740a7f627e685cd9f0dd79a52df0026a9a00fcff SHA512 b735cab204e4af194c4a7512b0c14a0bed6d1399ec8526eb7e140cc77725b9e6191ac47972c2c9c1722f007753062c470788aea8d34cb6342ad838642986a5f0 +DIST 6.11.1-0-202605090529qtquick-documentation.tar.xz 25829376 BLAKE2B fe7a7932487e878bbc2fe542d104fcdff46d333f4b23609dece84a8c330938726aca736022a2dd9821b535afb3d29d12420299ed910c6084611b07a454a7858e SHA512 1518911bd9135b50ee1a400b2942b3299308224f12b4b97a6e2c93cb2d2afb51bc44ddb809e27914052cdc36bac6eb623938cbb0703207b14a6027401b6a5d9e +DIST 6.11.1-0-202605090529qtquick3d-documentation.tar.xz 53552148 BLAKE2B dc2e66b99ee0f3a76edd39d357e41aea7a6cedecb99f3fd9b18d000bd3f95e38900ae0807b841ed02fd109d80d39389a7a8833d49d7aa880ed4ed20538e9542d SHA512 d6628bbf3c53087e07706d101e00aa18cb8061341997c9e4719fe8878fcc1c940b46ce45d8e73eef33f1562fc677941ad37395ec4eb6209218cf153691ff57db +DIST 6.11.1-0-202605090529qtquick3d-examples-6.11.1.7z 15600588 BLAKE2B a1d131e91c868446f99d1f447bd96f2959f60fbf3eaf72c1a995c939b5c066c15e5cc90c8711744184710d4ac615f8d2213a525f583421e252d613cf80d00a45 SHA512 0b4d1d0afe02b69421f957cbcd0a2952414c9de886f4874932a55de25284f465f4abb266b41f1fda94c1aaf03bff7c11d38e9af5e2cdc871b1f31538c46a6604 +DIST 6.11.1-0-202605090529qtquick3dphysics-documentation.tar.xz 4605004 BLAKE2B f92b37d8a306f3ef5122096b908f280f9699be2c3e0d0dfb0b87ae83896b03d9337577192e03031e1efde5a5e64e9a750e6950a68827a0716c67c6d258c414f9 SHA512 8a0276a923cb85fdf8424f0a5c32dccf4f58cf48616e397a97b02fa192f3484a0f69d1db447be5b975db083b26d45cd6055976db4d76cdd308c1a58d5b56b781 +DIST 6.11.1-0-202605090529qtquick3dphysics-examples-6.11.1.7z 2355603 BLAKE2B c084b765aa2b686042e576946af80d7126af6433bdc6075fddf68e3efa8650c478109f59a8d634e45ab52eac677b65bfc1eef40185608b803c6333697ecfd1ab SHA512 46faaa046fd3107657c7bdddbb1095b5dad727a20b071e46317466436ff0e7eb28a57158d914187c6e81ff10d84b6403cc56e3811f8a5dbce1cb45122035f70b +DIST 6.11.1-0-202605090529qtquickcontrols-documentation.tar.xz 7648248 BLAKE2B b6cbf4f68654d3bc8ef5c6e1356c7f14617f2b2915012b80387f90db0a54b39f2bd7cebb4b87ac3877195e53a2eceda5443eae816f7572abb474c4ef5e00b5c3 SHA512 0950a6b7a37dca26758600030f8fe770b7a6be5f56402b1598e75894b53c8cdfaa3ce2f4185ff8e914447f88f59fb9d4af080afe7f28fd593983c7461f97c7b6 +DIST 6.11.1-0-202605090529qtquickdialogs-documentation.tar.xz 314412 BLAKE2B 98e6336a2eb55d5e561c8ca7625fe78dce5b998a56d944f64e2158c21e8deaed70d147ab88c33ba1eed7492a1a43c1a9fa677910b203cef266f45869fd93d9c0 SHA512 d5fb29c674ec1ea0ba0bea73316f61a591b0a868578d50a16b82493313f654787d6698415b2c47d5126e9d732d7d8cfbf0c6b14e991b72b8072c6ddba59dd127 +DIST 6.11.1-0-202605090529qtquickeffectmaker-documentation.tar.xz 811252 BLAKE2B a7e75ed50ad437eb716c0d0ce62cf71609367a9582af443b14ff18453420b16277119ea1276ffba88d47d5a74c93f6a7b0d58185f08308361133fd3c580c75a2 SHA512 40366b5d20e47d0f7555c8fa7b1a7bbab062c5685a2fc6fe5f4712634bf6fcda5f35a504090d512d8d6556d37e2d2ffee5ce3ae9abb352d4333eb758429c42d0 +DIST 6.11.1-0-202605090529qtquickeffectmaker-examples-6.11.1.7z 244812 BLAKE2B 112471d6cc0f1b6150afe00a0df94f7555735e9aab56ed7530a71b983031ec1005cf25b835f48fdeb14adda470130cef5a7608c5c27ad305b9a2ac710738b7a4 SHA512 2859cda7ecb0e4cf0f54070e2b5ed6d0572a6a9529d981cd3eaa56583e539c8628b9eaeeb736836fa057f1a66c9f31ec0978cd847ab4c6280317fad00cc5a8f0 +DIST 6.11.1-0-202605090529qtquicktimeline-documentation.tar.xz 167768 BLAKE2B 13d7f70f6e7880dbbae68e0e484d0ddc970b9a517b322adb6879e32e4711fda684e00f1176e220cdf408bf2488bbaf8ef43db0d603c13ffdf89e0fe2cfdd9078 SHA512 563a32c5319e295db3a543d7a2c18971229fd99a10fa4819e13cb77ffdbe3d74749d14c7125d65b003faa9fe45d2580d83ea6dd80be91bf8dcda7a524244bedf +DIST 6.11.1-0-202605090529qtremoteobjects-documentation.tar.xz 494736 BLAKE2B 199bf5aa306bc375747acad2f3001030218fc531e1489bc474928b5032f32a979512aaab5f4bf7cc1cdd6ee26665ad53055b2d709b22e53de0c50d7c347b4fc7 SHA512 bef1ec757fb38adb50a3d765221753e5e2877015e2ce12c74241814875c6a0e3057c5317983d5fb818ece304d3e157267cea68da32271b2b2c8f577d6f1c3a57 +DIST 6.11.1-0-202605090529qtremoteobjects-examples-6.11.1.7z 81659 BLAKE2B fb47bae4a8059ff5b803cfcc5b252af611e4a9aaf7d205084cb49c611d5f18d377c2f24e841791c8adc65e6f154265a618778f1e426c7d7314df6b16ce033828 SHA512 a6c883eceb2e020aa259022c5c870ba855764c0e02997142e26c6b3545f13f797e5af50a3e5caa14c1e1e59374a9f3f504753bed8ae91e140528c9f17778eab7 +DIST 6.11.1-0-202605090529qtscxml-documentation.tar.xz 397488 BLAKE2B 383cbf7c9e598fc131640ae1c559b66275e1b1b74a1214b3391787627361219277b6b556fd1be0c1faafbb4d46276f64f71a87b3a886fe43b19a689af84064d7 SHA512 40df5bc4d5f4aa061817d8f50562e57abc124556040780c8ab7d97b0f3346c8cbc0112575d5529396e446a8318a26a1223c46e0942d748a0e4320290785c97a2 +DIST 6.11.1-0-202605090529qtscxml-examples-6.11.1.7z 140662 BLAKE2B 20b55b0fd914f42ad26ab2c3c9bd110da0c1ce5e3624a86e25422b72e72b1a8522903d51be1013f0c8c42aa97b6d45bf8869ef4c2ca9a7f3915feaab8b8b54da SHA512 7773ff2d7e44521b69e67801a0ae025801eefbe6c721493004f2380a93763801fca2bcc15867cf1527d22fda5478754573fb7ef7fe48a0bb6c65add972ab1932 +DIST 6.11.1-0-202605090529qtsensors-documentation.tar.xz 2146800 BLAKE2B 1e0fa1820e78f28aa871b99b4d3575abab97a9a82cd965e7242012974f93a7126fc99b0639572a2f843826bfde5241ce4cf11a50b5fa099ae939b7cc8e9e11ec SHA512 24873c8e615618f6aa3f780d20ab08eb89052efdafc0b77efae85ddf14a69a66cd1292aaa8acf7ad8fff00ec58346d15a87c84d62757d180cc449c02e9ec06a5 +DIST 6.11.1-0-202605090529qtsensors-examples-6.11.1.7z 53354 BLAKE2B a5e679c4d7a0a2d78ecf18b9d97b2dbcf57d46a01ad933fb365f3bb0994f908e0c575e1ddcc408dac7aa7596fa68e7125c71a19914e4dc27863c11d7253d4289 SHA512 43255f2abbfdcaa919b9908f7e0ec2b0a9f873003d09d02df83a798ac6c3d29871a9dd41979a86aaa28ef452dec09af296f9ad9961c6cded2e448108274a59b1 +DIST 6.11.1-0-202605090529qtserialbus-documentation.tar.xz 741580 BLAKE2B 2794e468874a39956d2c3ec18d1fd1a9ec26726c033449c9973c37fc9292385e2efa8f096f706498c20baefa443ad642e47c8d29f7ca0df16f74337deb07283c SHA512 2fb0ec84f799da22adab59a6cbff85b8392ec64c4858a8135937532a145922ca98e6a31007a63deb7bd424862fe1a80686edc9481254b51dfb7a06e293ac99b8 +DIST 6.11.1-0-202605090529qtserialbus-examples-6.11.1.7z 212031 BLAKE2B 265a326e3ea3b6a154e3126af4b1dbc89c8fcbc8345d00e5e823b65bdacf73ed79043b80e1d41e8004dbb8c97f2f53cbda597c2bcf8ae0c67f4c0b098ea7e7d0 SHA512 c2afbde4693eb1cfc70d6c189e3f8254a00169a397338229c8b59cdb8029fc349ddf430ca6845be65d3df6da76f53c3f1514eaab0e1dd968afafb08f45f04d23 +DIST 6.11.1-0-202605090529qtserialport-documentation.tar.xz 187520 BLAKE2B 66130df64062549ceca332b01ab3348b6f89b27ef272594ceb2f865b69601d40e4962b15d6c5ab03642a45d05b53da341000a4593acee9645d6759c2b8ed411c SHA512 96ef63924a0a163475c23c29a597545337a01e1f61c59453e179a963d2ff68bb80e56228c717705861e9c2803947d12809d64291d156b9e00dc3a6fd8cf47042 +DIST 6.11.1-0-202605090529qtserialport-examples-6.11.1.7z 80996 BLAKE2B 5646cc4ddf45626acdc85b7b874fd60e56fe0a3adbaeb7ed5117627af373be82ff4fc5fa146c7d2a5374a673e5f5226ac0f2cd94bd479ee18f8019e53fb8cc48 SHA512 04e462a2f430bcbff628c2a1293ddd37e26f842dda0fcd9d44073675a0491f1a860398169d882194e0524e5c53260f12e0e5039c72c7feec5b4ce1cc303568df +DIST 6.11.1-0-202605090529qtshadertools-documentation.tar.xz 201656 BLAKE2B efda47e561ce04eb93e27a4e45f96ef0c78675c817ce0a7c6120e7b9272d81dd68d94abc8c0bf3768aad8bc847a6d3e4abbcb257b91cb41340c2b5833747084c SHA512 7d410765c48b90d7677f806295f7537b44f329533333eeb4bc2b8a8875eca17e5f4be71fc2e7f21bfbc2d2b03fbd6013be4ff6ca196704b4c836db577747990c +DIST 6.11.1-0-202605090529qtspatialaudio-documentation.tar.xz 476864 BLAKE2B b20c255106e3384f90ec36446ee90a930f11bac1417dd72dd9419d832b03a8b4f2df3f914e4b00cfa71acfa7d4eea08d395d2b1af2e54b751e7f61bf2f4c7e0e SHA512 663de4c2172208fd33951ceaf90ff4f8a14d5c5c63cb0e1d4c64dd7d0c4951f499e4f786bc7b04a86b62b21ca630246e22f03c94ad0de4aa8efafa17374a2ccb +DIST 6.11.1-0-202605090529qtspeech-examples-6.11.1.7z 157892 BLAKE2B dcd9e9cb655a51e66b42c57e83b728a2f2e9c1f56ba9c51168b4ee7d71cf0e9282149fe9ef50bf2eff6fcd430f3764477fa49027882c3cd7a1f6f4fa964c7231 SHA512 98d25d87ec6e23c211150224fbdca3f486ff9c410b5f89353d548bbdefe52627223083351e1798e83680321db5f1049e5c6b9c8add2ad393e1ac6eef7684b001 +DIST 6.11.1-0-202605090529qtsql-documentation.tar.xz 909360 BLAKE2B 3bc2c0c0be82fa6e6a31acb25915f61ad763b8537979312db032c732ea516969b4eeec6c63ceeffe88c874c99548fcb7b39aeb367868086d5e9268b799faf53c SHA512 c2e2d3df5399d6dbc9239efc9332240e26191b161d40d8397892e7b37f3f59baecb44248d780b52684346e5c26d76d120537f50e00ca42658e2bfd181a9c173a +DIST 6.11.1-0-202605090529qtstatemachine-documentation.tar.xz 408652 BLAKE2B c3a6dd08927594c5d0584053bcfa0a96b687a16f21ff07e7bb4986baa40bacf8cd6384d15112665dbe18e5be4579ce85f11afff94986daf5aa17012439c309f4 SHA512 d6c8f8e5931fec9ca8e1ea6d217b21ba5a7c32c204d26765d3bbd603ad1c1d9a9f34c09f39e800db5dfed48dca8dc48591d2fbf174ef9037847b61a816c7d5f4 +DIST 6.11.1-0-202605090529qtsvg-documentation.tar.xz 671584 BLAKE2B 3ccde154edf549f2b43c0d1833c6f1ef6ee5583620f05b94d1a511b9b1a3212e6a73c4eed7e98b4ae419faa9d4c775e5d672aeba09bdf622feaeb9b494282bef SHA512 d80835b39e276e7de8d27b4c94d8db330a4190c35d59f66b649ac898c4f1aebbc6afede065adea0830d0bd89294325845a6671f962b83ffd79dc3a371af814f1 +DIST 6.11.1-0-202605090529qtsvg-examples-6.11.1.7z 612679 BLAKE2B 895e01912605de859ef608bb8c6dee717f0b75ade497ffad9904a1b5409749e9a233b8478bf519c43077bf701623306136b5df7c1b5b72339ea8656cf8af5ccb SHA512 9f106c16132beae5acbb341abd63009fdd385b2c3ebaf3ff886fb4ce6123227be7041a05e9d312cf3721b960c7eed2a39390356c9c424abbe6b17435af12ead2 +DIST 6.11.1-0-202605090529qttasktree-documentation.tar.xz 564820 BLAKE2B 7e40ea4173bff6225d37ec0de7d3fed561f304d16d9da01ec8928092c97c071e1f98d25fbe5a531bfb99b9fa7de158985b04bc4a3f944191aad32cfa2653e967 SHA512 1f464f8c986e676529902793b897c4fa156a3058c74377ea50ab4b31f3a189a65f7d1b66acee50f62d33ff039cc3027364c29249d3ee6c41fab56bd7f4da854a +DIST 6.11.1-0-202605090529qttasktree-examples-6.11.1.7z 164211 BLAKE2B 6bafd309be3bea635e8a5262deda84fcb5c6ab3a733a22a0a5594f1e891f11802f512d2e38ebbb0d3d8ad9b18a0cd0c45bf160192788643c1f6dc625cda00f3a SHA512 f2896c4d47d11c708df35f6bbacf2fbd7f3a43d02a50feaa4a969121552d47cb1707317d2bbb9c51579d3429b23b119fcfa1b4322b375a9f5b021cbdbc56e14d +DIST 6.11.1-0-202605090529qttestlib-documentation.tar.xz 253820 BLAKE2B a06419f0259ba59a6a4c62ebdf50942eba6d0684a3748e3b00bf8190d32fc256fc8dbcdd2513481dfa24c5949fd9a78f74e2d5e57dd1bf19d968252c1436e3f5 SHA512 3c5cd193878eaef501f77ccc15c59dc23fdf8382f685dbf38fe0df187413720f40eefa8f57d5c0a14d8478cade58e4de7f7cc170487462759219efb79b4c45e8 +DIST 6.11.1-0-202605090529qttexttospeech-documentation.tar.xz 400776 BLAKE2B 46fe79535889ea36a8c62cf05bcdfa8bf98bad102dc8317ea4318c4815b87fa3652892286df807636b6054cf9bbda0c824c51fd6c66326777cce58381caa1e29 SHA512 75286ed0c246c3b14ed6a3219f666c2569aab58126692b9e33a951aa4e09cba97c92f0f37600a3b5427083265f1f627e0108abf658c3eaeb10ee5433a5450574 +DIST 6.11.1-0-202605090529qttools-examples-6.11.1.7z 719282 BLAKE2B 51c1b6497e1c69697e6ea4cd70f7f2e5a80a21cedc5b2df0c19f61190d0475be9066fa691b6ef77071bf8a438783766914e1e85c3cc0def25c7092d8dac5821d SHA512 00f9301f603ba1e40dac119480fbfc3e4e45f16da3180d71e3d7cc2ee2202e5c20fc093b55ac6022bcd291a1d2090a307339989c78ab2b05c69997a3052de2a2 +DIST 6.11.1-0-202605090529qtuitools-documentation.tar.xz 206188 BLAKE2B a259c5ce143b0fdf541878d0ee2230ae103f1b2706f40f2c5c3154aa6905775bb95f420a726032bbe03fac1dc724611bb6c54c83a0893fba035f8c5901633e30 SHA512 66752c268736ad9b9251e90dec00fe0bf68c5c3ef67dc5a23407ece0206bdf0316f41189869e46ce4e9ca000656a0e3b10a941dd2b6ad9dbd9078578731de182 +DIST 6.11.1-0-202605090529qtvirtualkeyboard-documentation.tar.xz 920196 BLAKE2B 10cb693b64349915f3b14acf52ed06674ee3431ccd57d190e49fb7973d05468f0d9ca71b71503d3afcc4d845a9e2a0ea699cc31e6da38cf180d5882486bccec3 SHA512 3725cd3eeccda409de5c4543c2cdd987b19ef3ee498dbf4ece1edc6f638060996e79e48c227999c888b33ae5b81609dc1e81670ce9262838d6d36509d4cacd0c +DIST 6.11.1-0-202605090529qtvirtualkeyboard-examples-6.11.1.7z 6308 BLAKE2B 39882d805537bc96d47e9edaf7394f945e27157af17fb0e62adbf4f75fe112f0ccf2c1c8a11d4ed82425ed7577b41301b2b02a410b388f4f0946b623dd0f9699 SHA512 838f406d1ab54907ea758cae4642200f3dba863b3f1eb1eb1daf35e71ba0f23b041214a6027a6cd61e4eea0bb558d7779b2bf2583778f74ef529e73a8aa7a1f2 +DIST 6.11.1-0-202605090529qtwayland-examples-6.11.1.7z 567992 BLAKE2B 552a14a9ce164f4e768db84891f8aca63d1b51372c701524b58a96ecfe2ee4ca1a47c8c767605c6f20c01d0972c9c62ed82f132e717ae5cb1ea696b95b54d97d SHA512 cafc10fe679c970e9a6ce129fd53e98279a8e932567b1d086e9f795a9162998459a3681b4f5aa48d86ece12d46b5d2a22aa98b32a53429cd2ea137815da6a48f +DIST 6.11.1-0-202605090529qtwaylandcompositor-documentation.tar.xz 1582128 BLAKE2B c5201bb84e8dc65728b28afc255864f9ddec402fad1ecd7e08d318e571c1f824aff5661ed28f92f3e5417ef37dfa2bc3b81202d6c74930e97a0551930604b3d3 SHA512 824c0bddaff10f5cf734e9ddf70affad1787984f5782c6a5b1320793b046320da1b987b957741a03ce2a1a27c0d02faf420e7586fda97e973f0df88680cee77f +DIST 6.11.1-0-202605090529qtwebchannel-documentation.tar.xz 167068 BLAKE2B f8151107c28f20f45168ac8922363d7d027eab20d36ad850e0e8994d060219aa7cd67138df1c514033780d4f4e5cbf653382e25e4fa8a14c9c42c502a778c2a2 SHA512 5b9e1090e39068b4ae864ad6f24e989de47c196f9ced9f45dc3aacd3b7abff1a84a21ef1e3dd030eac590d69d660b77de01286afbc97d2f9b68ced6ea42e1e24 +DIST 6.11.1-0-202605090529qtwebchannel-examples-6.11.1.7z 61613 BLAKE2B be859793a5dec82483abe7da5bb72174702cfcef2bf8334c2fbaf84a65cc891f94810cdf57ee7ae8774e834eaf6a0c6cbefe8aafdc23c4a2d571d67e6b029961 SHA512 44d525e1190237a73e071113fb3f197b75d28a95e78ed4ef3c10ab3900d9fc565f4fc1684d2deb579f59da1c99672c40ec94e7397ddb8fcdb5666d2879a242cd +DIST 6.11.1-0-202605090529qtwebsockets-documentation.tar.xz 535768 BLAKE2B 326d79628f53971db31f836a764739f028bdb26ecb19dd7cb94d44bb2b23b6b497d0bc697b5369a89e2045642920064b51619aae70ba6b978535c690f5738c67 SHA512 65ef4385b5d51984b0131f98ba73ff4cab9a6b6f9a21c5228206abecdc6ce65f4d3c5d7652368adf4f2a09f97e6d317275819d9c4ad4435f41b4f9075f0cd2d0 +DIST 6.11.1-0-202605090529qtwebsockets-examples-6.11.1.7z 248837 BLAKE2B 445ad181d6d59937fb15a61309efebf74be243683848f1dde8bd39ee93a63685f63b04176012c2e1f05df6aa6e2b2f1d923dd01be55b1e67a758922c19f14351 SHA512 c1232bc9c5239383561e359b17151cb132aefaa2fbc3ad3d315ec77780a4f1cf42181a2f8eb6c38487e6d184b24b65bd579b78fcb41a00735fac29dbfb321503 +DIST 6.11.1-0-202605090529qtwebview-documentation.tar.xz 152080 BLAKE2B 3019c1ceb6a98bbce2fd53ec487ba979878bd10b7f3b90f5a16379fb00136b8f2bf74e7966aa516a648ce2d3daa1ef3eaa4302c6ac25b06c68f81209e582786e SHA512 fb20edd1dd6c8fba82d8c538ed7ea7f7f42887e2c683d472dfa6d3c5d793dfa6e8020b010dd6358e7781dc12069cc2e13418383f57bd988f74192ba5c31cf99d +DIST 6.11.1-0-202605090529qtwebview-examples-6.11.1.7z 49259 BLAKE2B 73f81dc7994549dbfe83828b943143b0bdde8faf0b1c762fca204ac2cacddd7de06b3cb1a5e49d977389100d03b8e5e388321598866c38b1f6bc395273bcc5c1 SHA512 ba319f4239ba61eecb93e1f2079d5d9bc5636afabba54a6142989bb6215b6a747632a6a36d252872d095f3e2bdd155f661c538f7646a66c249c3e6ff2d12e955 +DIST 6.11.1-0-202605090529qtwidgets-documentation.tar.xz 20615136 BLAKE2B 040fcd4bf02aa77e59abc22d293f6a438a8e21fd41beeaa22798d375802da8b9fec8b7aa92bb9ff05e50068bb9755a6f71af5d47f1382c5f6feba0c1b35e5df6 SHA512 d7e41f37684da924755db9de054b03c7ffb6ba10561a7f82f4eedd1557d9a155365e8aa4b7a81d64fe745bd2b38fbac111947591f12e18e29d11306bfd8e2a79 +DIST 6.11.1-0-202605090529qtxml-documentation.tar.xz 348032 BLAKE2B f1dcc65acc200a5fda403f1d42bc00f1c3ebfe7f008cdb8f35246728024b9d9c236a574647cbf8193158204ae88baeda2971bcdeb876db649f8aaa8355bbf5ea SHA512 844e14248e45f46d727bb15ddc2c23ebc452a6eb2aeb7f84dae108622519fea34b8f7f4a1f95427bdc80ebf305f525e9d90f8ed21bb424de684902a11f3f9d11 diff --git a/dev-qt/qt-docs/metadata.xml b/dev-qt/qt-docs/metadata.xml new file mode 100644 index 0000000..165f952 --- /dev/null +++ b/dev-qt/qt-docs/metadata.xml @@ -0,0 +1,54 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + + Install documentation for dev-qt/qt3d + Install documentation for ActiveQt (unpackaged, Windows-only) + Install documentation for QtCanvasPainter (unpackaged) + Install documentation for dev-qt/qtcharts + Install documentation for dev-qt/qtconnectivity + Install documentation for QtDataVisualization (unpackaged) + Install documentation for dev-qt/qtdeclarative + Install documentation for dev-qt/qtgraphs + Install documentation for QtGRPC (unpackaged) + Install documentation in HTML format + Install documentation for dev-qt/qthttpserver + Install documentation for dev-qt/qtimageformats + Install documentation for dev-qt/qtlocation + Install documentation for QtLottie (unpackaged) + Install documentation for dev-qt/qtmultimedia + Install documentation for dev-qt/qtnetworkauth + Install documentation for QtOpenAPI (unpackaged) + Install documentation for dev-qt/qtpositioning + Install documentation in QCH format + Install documentation for dev-qt/qt5compat + Install documentation for dev-qt/qtquick3d + Install documentation for QtQuick3DPhysics (unpackaged) + Install documentation for QtQuickEffectMaker (unpackaged) + Install documentation for dev-qt/qtremoteobjects + Install documentation for dev-qt/qtscxml + Install documentation for dev-qt/qtsensors + Install documentation for dev-qt/qtserialbus + Install documentation for dev-qt/qtserialport + Install documentation for dev-qt/qtshadertools + Install documentation for dev-qt/qtspeech + Install documentation for dev-qt/qtsvg + Install documentation for dev-qt/qtquicktimeline + Install documentation for QtTaskTree (unpackaged) + Install documentation for dev-qt/qttools + Install documentation for dev-qt/qtvirtualkeyboard + Install documentation for dev-qt/qtwayland + Install documentation for dev-qt/qtwebchannel + Install documentation for dev-qt/qtwebsockets + Install documentation for dev-qt/qtwebview + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + + diff --git a/dev-qt/qt-docs/qt-docs-6.10.3_p202603310406.ebuild b/dev-qt/qt-docs/qt-docs-6.10.3_p202603310406.ebuild new file mode 100644 index 0000000..15b5a91 --- /dev/null +++ b/dev-qt/qt-docs/qt-docs-6.10.3_p202603310406.ebuild @@ -0,0 +1,188 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit unpacker + +DESCRIPTION="Qt6 documentation and examples for Qt Creator and other tools" +HOMEPAGE="https://doc.qt.io/" + +LICENSE="FDL-1.3" +SLOT="6" +KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +IUSE="+examples +html +qch" +REQUIRED_USE="|| ( examples html qch )" + +# passing .7z to avoid looping through the massive list of archives for nothing +BDEPEND=" + examples? ( $(unpacker_src_uri_depends .7z) ) +" + +qt6_docs_generate_metadata() { + local qtver=${PV%%_p*} + local prefix=${qtver}-0-${PV##*_p} + local doc_suffix=-documentation.tar.xz + local exa_suffix=-examples-${qtver}.7z + local baseuri=https://download.qt.io/online/qtsdkrepository/all_os/qt/qt6_${qtver//.}_unix_line_endings_src/qt.qt6.${qtver//.} + SRC_URI= + S=${WORKDIR} + + # Bumping involves diff'ing the unversioned *_src/*/ files list from + # old version to the new for -documentation and -examples files, + # then adding/removing entries if anything changed. + # + # Format: [+-%][[!|:]][=" ..."] + # - [+-%]: enable(+), disable(-), or no IUSE(%) + # (should disable if associated package is not in tree) + # - /: qt.qt6.*.examples./*--examples* + # - ^: qt.qt6.*.examples/*--examples.7z + # - : qt.qt6.*.doc./*--documentation* + # (if is unspecified, defaults to ) + # - [!:]: only has examples(!) or documentation(:) + # + # To future maintainers: if this feels too complex, could either + # replace by generating the ebuild with a new less-compact script + # or go for the simplest alternative by redistributing 1-2 big + # tarballs with everything. + local map=( + # map with (non-split) Qt6 packages rather than per-module + %base^qtbase=" + qmake qtcmake qtconcurrent qtcore qtdbus + qtgui qtnetwork qtopengl qtplatformintegration + qtprintsupport qtsql qttestlib qtwidgets qtxml + " + +3d/qt3d + -activeqt/qtactiveqt="activeqt" + +charts/qtcharts + +connectivity/qtbluetooth: + +connectivity/qtconnectivity! + +connectivity/qtnfc: + -datavis/qtdatavis3d + +declarative^qtdeclarative=" + qtlabsplatform qtqml qtqmlcore qtqmlmodels + qtqmltest qtqmlworkerscript qtqmlxmllistmodel + qtquick qtquickcontrols qtquickdialogs + " + %doc^qtdoc + +graphs/qtgraphs + -grpc/qtgrpc="qtgrpc qtprotobuf" + +httpserver/qthttpserver + +imageformats/qtimageformats: + +location/qtlocation + -lottie/qtlottie="qtlottieanimation" + +multimedia/qtmultimedia + +multimedia/qtmultimedia:="qtspatialaudio" + +networkauth/qtnetworkauth + +positioning/qtpositioning + +qt5compat/qt5compat="qtcore5compat qtgraphicaleffects5compat" +# +qt5="qt5" # already installed by qtbase (conflicts) + -quick3dphysics/qtquick3dphysics + +quick3d/qtquick3d + -quickeffectmaker/qtquickeffectmaker + +remoteobjects/qtremoteobjects + +scxml/qtscxml + +scxml/qtscxml:="qtstatemachine" + +sensors/qtsensors + +serialbus/qtserialbus + +serialport/qtserialport + +shadertools/qtshadertools: + +speech/qtspeech="qttexttospeech" + +svg^qtsvg + +timeline/qtquicktimeline: + +tools^qttools=" + qdoc qtassistant qtdesigner qtdistancefieldgenerator + qthelp qtlinguist qtuitools + " + +virtualkeyboard/qtvirtualkeyboard + +wayland/qtwaylandcompositor + +webchannel/qtwebchannel + # webengine archives for docs/examples missing since 6.8.0...? + #+webengine/qtpdf: + #+webengine/qtwebengine + +websockets/qtwebsockets + +webview/qtwebview + ) + + local entry operator use subdir package exception modules uris + local -A iuse + for entry in "${map[@]}"; do + [[ ${entry} =~ ^([%+-])([^/^!:=]+)([/^])?([^!:=]+)?([!:])?=?(.+)? ]] || + die "syntax error in '${entry}'" # global scope, must never fail + + operator=${BASH_REMATCH[1]#-} + use=${BASH_REMATCH[2]} + subdir=${BASH_REMATCH[3]} + package=${BASH_REMATCH[4]} + exception=${BASH_REMATCH[5]} + modules=${BASH_REMATCH[6]:-${package}} + + [[ ${subdir} == / ]] && subdir=.${package} || subdir= + + # special rule due to inconsistent examples path since qt 6.8.0 + [[ ${package} == qtwaylandcompositor ]] && package=qtwayland + + [[ ${exception} != ! ]] && + printf -v uris "${baseuri}.doc${subdir}/${prefix}%s${doc_suffix} " \ + ${modules} + [[ ${exception} != : ]] && + uris+=" examples? ( ${baseuri}.examples${subdir}/${prefix}${package}${exa_suffix} )" + + if [[ ${operator} == % ]]; then + SRC_URI+=" ${uris}" + else + iuse[${operator}${use}]= # avoid duplicates + SRC_URI+=" ${use}? ( ${uris} )" + fi + done + IUSE+=" ${!iuse[*]}" +} +qt6_docs_generate_metadata + +src_unpack() { + local a docs=() examples=() + for a in ${A}; do + case ${a} in + *documentation*) docs+=("${a}");; + *examples*) examples+=("${a}");; + *) die "unrecognized archive '${a}'";; + esac + done + + mkdir docs || die + pushd docs >/dev/null || die + unpack "${docs[@]}" + popd >/dev/null || die + + if use examples; then + mkdir examples || die + pushd examples >/dev/null || die + unpacker "${examples[@]}" # .7z + popd >/dev/null || die + fi +} + +src_install() { + insinto /usr/share/qt6-doc # QT6_DOCDIR + use qch && doins -r docs/*.qch + + if use html; then + doins -r docs/*/ # trailing '/' skips .qch files + + # needed not to let Qt Creator believe that these examples exist + use examples || + find "${ED}" -type f -name examples-manifest.xml -delete || die + elif use examples; then + # still need docs tarballs even with USE="-html -qch" + local dir + for dir in docs/*/; do + if [[ -e ${dir}/examples-manifest.xml ]]; then + insinto /usr/share/qt6-doc/"${dir#*/*/}" + doins ${dir}/examples-manifest.xml + fi + done + fi + + insinto /usr/share/qt6/examples # QT6_EXAMPLESDIR + use examples && doins -r examples/*/ +} diff --git a/dev-qt/qt-docs/qt-docs-6.11.1_p202605090529.ebuild b/dev-qt/qt-docs/qt-docs-6.11.1_p202605090529.ebuild new file mode 100644 index 0000000..f3cdbad --- /dev/null +++ b/dev-qt/qt-docs/qt-docs-6.11.1_p202605090529.ebuild @@ -0,0 +1,191 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit unpacker + +DESCRIPTION="Qt6 documentation and examples for Qt Creator and other tools" +HOMEPAGE="https://doc.qt.io/" + +LICENSE="FDL-1.3" +SLOT="6" +KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +IUSE="+examples +html +qch" +REQUIRED_USE="|| ( examples html qch )" + +# passing .7z to avoid looping through the massive list of archives for nothing +BDEPEND=" + examples? ( $(unpacker_src_uri_depends .7z) ) +" + +qt6_docs_generate_metadata() { + local qtver=${PV%%_p*} + local prefix=${qtver}-0-${PV##*_p} + local doc_suffix=-documentation.tar.xz + local exa_suffix=-examples-${qtver}.7z + local baseuri=https://download.qt.io/online/qtsdkrepository/all_os/qt/qt6_${qtver//.}_unix_line_endings_src/qt.qt6.${qtver//.} + SRC_URI= + S=${WORKDIR} + + # Bumping involves diff'ing the unversioned *_src/*/ files list from + # old version to the new for -documentation and -examples files, + # then adding/removing entries if anything changed. + # + # Format: [+-%][[!|:]][=" ..."] + # - [+-%]: enable(+), disable(-), or no IUSE(%) + # (should disable if associated package is not in tree) + # - /: qt.qt6.*.examples./*--examples* + # - ^: qt.qt6.*.examples/*--examples.7z + # - : qt.qt6.*.doc./*--documentation* + # (if is unspecified, defaults to ) + # - [!:]: only has examples(!) or documentation(:) + # + # To future maintainers: if this feels too complex, could either + # replace by generating the ebuild with a new less-compact script + # or go for the simplest alternative by redistributing 1-2 big + # tarballs with everything. + local map=( + # map with (non-split) Qt6 packages rather than per-module + %base^qtbase=" + qmake qtcmake qtconcurrent qtcore qtdbus + qtgui qtnetwork qtopengl qtplatformintegration + qtprintsupport qtsql qttestlib qtwidgets qtxml + " + +3d/qt3d + -activeqt/qtactiveqt="activeqt" + -canvaspainter/qtcanvaspainter + +charts/qtcharts + +connectivity/qtbluetooth: + +connectivity/qtconnectivity! + +connectivity/qtnfc: + -datavis/qtdatavis3d + +declarative^qtdeclarative=" + qtlabsplatform qtqml qtqmlcore qtqmlmodels + qtqmltest qtqmlworkerscript qtqmlxmllistmodel + qtquick qtquickcontrols qtquickdialogs + " + %doc^qtdoc + +graphs/qtgraphs + -grpc/qtgrpc="qtgrpc qtprotobuf" + +httpserver/qthttpserver + +imageformats/qtimageformats: + +location/qtlocation + -lottie/qtlottie="qtlottieanimation" + +multimedia/qtmultimedia + +multimedia/qtmultimedia:="qtspatialaudio" + +networkauth/qtnetworkauth + -openapi/qtopenapi + +positioning/qtpositioning + +qt5compat/qt5compat="qtcore5compat qtgraphicaleffects5compat" +# +qt5="qt5" # already installed by qtbase (conflicts) + -quick3dphysics/qtquick3dphysics + +quick3d/qtquick3d + -quickeffectmaker/qtquickeffectmaker + +remoteobjects/qtremoteobjects + +scxml/qtscxml + +scxml/qtscxml:="qtstatemachine" + +sensors/qtsensors + +serialbus/qtserialbus + +serialport/qtserialport + +shadertools/qtshadertools: + +speech/qtspeech="qttexttospeech" + +svg^qtsvg + -tasktree/qttasktree + +timeline/qtquicktimeline: + +tools^qttools=" + qdoc qtassistant qtdesigner qtdistancefieldgenerator + qthelp qtlinguist qtuitools + " + +virtualkeyboard/qtvirtualkeyboard + +wayland/qtwaylandcompositor + +webchannel/qtwebchannel + # webengine archives for docs/examples missing since 6.8.0...? + #+webengine/qtpdf: + #+webengine/qtwebengine + +websockets/qtwebsockets + +webview/qtwebview + ) + + local entry operator use subdir package exception modules uris + local -A iuse + for entry in "${map[@]}"; do + [[ ${entry} =~ ^([%+-])([^/^!:=]+)([/^])?([^!:=]+)?([!:])?=?(.+)? ]] || + die "syntax error in '${entry}'" # global scope, must never fail + + operator=${BASH_REMATCH[1]#-} + use=${BASH_REMATCH[2]} + subdir=${BASH_REMATCH[3]} + package=${BASH_REMATCH[4]} + exception=${BASH_REMATCH[5]} + modules=${BASH_REMATCH[6]:-${package}} + + [[ ${subdir} == / ]] && subdir=.${package} || subdir= + + # special rule due to inconsistent examples path since qt 6.8.0 + [[ ${package} == qtwaylandcompositor ]] && package=qtwayland + + [[ ${exception} != ! ]] && + printf -v uris "${baseuri}.doc${subdir}/${prefix}%s${doc_suffix} " \ + ${modules} + [[ ${exception} != : ]] && + uris+=" examples? ( ${baseuri}.examples${subdir}/${prefix}${package}${exa_suffix} )" + + if [[ ${operator} == % ]]; then + SRC_URI+=" ${uris}" + else + iuse[${operator}${use}]= # avoid duplicates + SRC_URI+=" ${use}? ( ${uris} )" + fi + done + IUSE+=" ${!iuse[*]}" +} +qt6_docs_generate_metadata + +src_unpack() { + local a docs=() examples=() + for a in ${A}; do + case ${a} in + *documentation*) docs+=("${a}");; + *examples*) examples+=("${a}");; + *) die "unrecognized archive '${a}'";; + esac + done + + mkdir docs || die + pushd docs >/dev/null || die + unpack "${docs[@]}" + popd >/dev/null || die + + if use examples; then + mkdir examples || die + pushd examples >/dev/null || die + unpacker "${examples[@]}" # .7z + popd >/dev/null || die + fi +} + +src_install() { + insinto /usr/share/qt6-doc # QT6_DOCDIR + use qch && doins -r docs/*.qch + + if use html; then + doins -r docs/*/ # trailing '/' skips .qch files + + # needed not to let Qt Creator believe that these examples exist + use examples || + find "${ED}" -type f -name examples-manifest.xml -delete || die + elif use examples; then + # still need docs tarballs even with USE="-html -qch" + local dir + for dir in docs/*/; do + if [[ -e ${dir}/examples-manifest.xml ]]; then + insinto /usr/share/qt6-doc/"${dir#*/*/}" + doins ${dir}/examples-manifest.xml + fi + done + fi + + insinto /usr/share/qt6/examples # QT6_EXAMPLESDIR + use examples && doins -r examples/*/ +} diff --git a/dev-qt/qt3d/Manifest b/dev-qt/qt3d/Manifest new file mode 100644 index 0000000..c7ece67 --- /dev/null +++ b/dev-qt/qt3d/Manifest @@ -0,0 +1,2 @@ +DIST qt3d-everywhere-src-6.10.3.tar.xz 141863456 BLAKE2B 71d529573814802b70c8ec389006f252119df65b34c51cac283dc10fd8393175d316dfd32e49442d95d7e40d407a87e06967fa69db844127265be7c6eaef55c3 SHA512 6a8b2842fe1a6dce1bc6afe0d1fd564049d92da8588676fc8c44af73c324a86b78865b5907be399813e74ee00fd6d699189ba45f85095dfe9acdb599eeb4519c +DIST qt3d-everywhere-src-6.11.1.tar.xz 141869788 BLAKE2B b07600ca4f86cb7a3eedb5f709045b584c835a2f8a39b6e8c5ea3ce6dd15a493711f5fbca1f355fae82d69523bd1845f586d13ca2d1f00a870b4eef3f7a1f8eb SHA512 64679efc2e3ea5847cf66f67e8b33d8ddbcc42be4908804e69389edc3118b680af1945977ee884d91d850a110c66db4ae3498ca732285ec75b052da09c58647f diff --git a/dev-qt/qt3d/files/qt3d-6.9.2-assimp6.patch b/dev-qt/qt3d/files/qt3d-6.9.2-assimp6.patch new file mode 100644 index 0000000..8ea1ee7 --- /dev/null +++ b/dev-qt/qt3d/files/qt3d-6.9.2-assimp6.patch @@ -0,0 +1,15 @@ +Seems that the '5' enforces the major version and it refuses to find +system's assimp-6.0.2 (which is perfectly usable given Qt 6.9.2 bundles +that version without it). + +We don't package older ones, so drop the check as a quick workaround. + +https://bugreports.qt.io/browse/QTBUG-137996 +--- a/src/core/configure.cmake ++++ b/src/core/configure.cmake +@@ -16 +16 @@ +-qt_find_package(WrapQt3DAssimp 5 PROVIDED_TARGETS WrapQt3DAssimp::WrapQt3DAssimp MODULE_NAME 3dcore QMAKE_LIB qt3d-assimp) ++qt_find_package(WrapQt3DAssimp PROVIDED_TARGETS WrapQt3DAssimp::WrapQt3DAssimp MODULE_NAME 3dcore QMAKE_LIB qt3d-assimp) +@@ -23 +23 @@ +- PACKAGES PACKAGE WrapQt3DAssimp 5 ++ PACKAGES PACKAGE WrapQt3DAssimp diff --git a/dev-qt/qt3d/metadata.xml b/dev-qt/qt3d/metadata.xml new file mode 100644 index 0000000..086f435 --- /dev/null +++ b/dev-qt/qt3d/metadata.xml @@ -0,0 +1,21 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Build QML/QtQuick bindings + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qt3d + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qt3d/qt3d-6.10.3.ebuild b/dev-qt/qt3d/qt3d-6.10.3.ebuild new file mode 100644 index 0000000..bbcfd49 --- /dev/null +++ b/dev-qt/qt3d/qt3d-6.10.3.ebuild @@ -0,0 +1,40 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="3D rendering module for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ~riscv x86" +elif [[ ${QT6_BUILD_TYPE} == live ]]; then + EGIT_SUBMODULES=() # skip qtquick3d-assimp +fi + +IUSE="gles2-only qml vulkan" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[concurrent,gles2-only=,gui,network,opengl,vulkan=] + ~dev-qt/qtshadertools-${PV}:6 + media-libs/assimp:= + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND=" + ${RDEPEND} + vulkan? ( dev-util/vulkan-headers ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.9.2-assimp6.patch +) + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + -DQT_FEATURE_qt3d_system_assimp=ON + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qt3d/qt3d-6.11.1.ebuild b/dev-qt/qt3d/qt3d-6.11.1.ebuild new file mode 100644 index 0000000..bbcfd49 --- /dev/null +++ b/dev-qt/qt3d/qt3d-6.11.1.ebuild @@ -0,0 +1,40 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="3D rendering module for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ~riscv x86" +elif [[ ${QT6_BUILD_TYPE} == live ]]; then + EGIT_SUBMODULES=() # skip qtquick3d-assimp +fi + +IUSE="gles2-only qml vulkan" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[concurrent,gles2-only=,gui,network,opengl,vulkan=] + ~dev-qt/qtshadertools-${PV}:6 + media-libs/assimp:= + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND=" + ${RDEPEND} + vulkan? ( dev-util/vulkan-headers ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.9.2-assimp6.patch +) + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + -DQT_FEATURE_qt3d_system_assimp=ON + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qt3d/qt3d-6.11.9999.ebuild b/dev-qt/qt3d/qt3d-6.11.9999.ebuild new file mode 100644 index 0000000..895f0e2 --- /dev/null +++ b/dev-qt/qt3d/qt3d-6.11.9999.ebuild @@ -0,0 +1,40 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="3D rendering module for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" +elif [[ ${QT6_BUILD_TYPE} == live ]]; then + EGIT_SUBMODULES=() # skip qtquick3d-assimp +fi + +IUSE="gles2-only qml vulkan" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[concurrent,gles2-only=,gui,network,opengl,vulkan=] + ~dev-qt/qtshadertools-${PV}:6 + media-libs/assimp:= + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND=" + ${RDEPEND} + vulkan? ( dev-util/vulkan-headers ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.9.2-assimp6.patch +) + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + -DQT_FEATURE_qt3d_system_assimp=ON + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qt3d/qt3d-6.12.9999.ebuild b/dev-qt/qt3d/qt3d-6.12.9999.ebuild new file mode 100644 index 0000000..5957907 --- /dev/null +++ b/dev-qt/qt3d/qt3d-6.12.9999.ebuild @@ -0,0 +1,40 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="3D rendering module for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" +elif [[ ${QT6_BUILD_TYPE} == live ]]; then + EGIT_SUBMODULES=() # skip qtquick3d-assimp +fi + +IUSE="gles2-only qml vulkan" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[concurrent,gles2-only=,gui,network,opengl,vulkan=] + ~dev-qt/qtshadertools-${PV}:6 + media-libs/assimp:= + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND=" + ${RDEPEND} + vulkan? ( dev-util/vulkan-headers ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.9.2-assimp6.patch +) + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + -DQT_FEATURE_qt3d_system_assimp=ON + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qt3d/qt3d-6.9999.ebuild b/dev-qt/qt3d/qt3d-6.9999.ebuild new file mode 100644 index 0000000..895f0e2 --- /dev/null +++ b/dev-qt/qt3d/qt3d-6.9999.ebuild @@ -0,0 +1,40 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="3D rendering module for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" +elif [[ ${QT6_BUILD_TYPE} == live ]]; then + EGIT_SUBMODULES=() # skip qtquick3d-assimp +fi + +IUSE="gles2-only qml vulkan" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[concurrent,gles2-only=,gui,network,opengl,vulkan=] + ~dev-qt/qtshadertools-${PV}:6 + media-libs/assimp:= + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND=" + ${RDEPEND} + vulkan? ( dev-util/vulkan-headers ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.9.2-assimp6.patch +) + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + -DQT_FEATURE_qt3d_system_assimp=ON + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qt5compat/Manifest b/dev-qt/qt5compat/Manifest new file mode 100644 index 0000000..a6a9e51 --- /dev/null +++ b/dev-qt/qt5compat/Manifest @@ -0,0 +1,2 @@ +DIST qt5compat-everywhere-src-6.10.3.tar.xz 14616476 BLAKE2B 99be075a84a60dfd9441809ae42813859398ca066baa4b5bb1b63fd0b1d6ec21290f08664261a3c6c4628ec85ef610d667a27738eda6cbcca5ed35e9b7c65f14 SHA512 a690b570b3c22cad4e05dedef2c6a3c5a59d0c720319998b07ed13542573a1145472fd043c355079a07367a10a3b90ac69b51e558aa3000072e442658af3acf2 +DIST qt5compat-everywhere-src-6.11.1.tar.xz 14621480 BLAKE2B c87f0f06b1ff5f43f64542f568b4713ae7367ffcfaffda0d8e53775503ff42a09844f4d0e0acfa5ad7cc9c5d078d365e045018a2d7a1e6175676d1746728a2ac SHA512 cd3d35f040dc3956ccb5edbf5d52b846adf10aed7dbf7ec6a6f821846717db6430ceab2b061efaa7e31072b48bd07bd676e94cf98f1b95c40cdbd6d1367836bc diff --git a/dev-qt/qt5compat/metadata.xml b/dev-qt/qt5compat/metadata.xml new file mode 100644 index 0000000..d9bfd50 --- /dev/null +++ b/dev-qt/qt5compat/metadata.xml @@ -0,0 +1,21 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Build QML/QtQuick bindings and imports + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qt5compat + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qt5compat/qt5compat-6.10.3.ebuild b/dev-qt/qt5compat/qt5compat-6.10.3.ebuild new file mode 100644 index 0000000..52092b8 --- /dev/null +++ b/dev-qt/qt5compat/qt5compat-6.10.3.ebuild @@ -0,0 +1,38 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Qt module containing the unsupported Qt 5 APIs" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="+gui icu qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui=,icu=,network,xml] + icu? ( dev-libs/icu:= ) + !icu? ( virtual/libiconv ) + qml? ( + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtshadertools-${PV}:6 + ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Quick) + ) + + qt6-build_src_configure +} + +src_test() { + # tst_qxmlinputsource sometimes hang without -j1 + qt6-build_src_test -j1 +} diff --git a/dev-qt/qt5compat/qt5compat-6.11.1.ebuild b/dev-qt/qt5compat/qt5compat-6.11.1.ebuild new file mode 100644 index 0000000..52092b8 --- /dev/null +++ b/dev-qt/qt5compat/qt5compat-6.11.1.ebuild @@ -0,0 +1,38 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Qt module containing the unsupported Qt 5 APIs" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="+gui icu qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui=,icu=,network,xml] + icu? ( dev-libs/icu:= ) + !icu? ( virtual/libiconv ) + qml? ( + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtshadertools-${PV}:6 + ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Quick) + ) + + qt6-build_src_configure +} + +src_test() { + # tst_qxmlinputsource sometimes hang without -j1 + qt6-build_src_test -j1 +} diff --git a/dev-qt/qt5compat/qt5compat-6.11.9999.ebuild b/dev-qt/qt5compat/qt5compat-6.11.9999.ebuild new file mode 100644 index 0000000..a41bcdc --- /dev/null +++ b/dev-qt/qt5compat/qt5compat-6.11.9999.ebuild @@ -0,0 +1,38 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Qt module containing the unsupported Qt 5 APIs" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="+gui icu qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui=,icu=,network,xml] + icu? ( dev-libs/icu:= ) + !icu? ( virtual/libiconv ) + qml? ( + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtshadertools-${PV}:6 + ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Quick) + ) + + qt6-build_src_configure +} + +src_test() { + # tst_qxmlinputsource sometimes hang without -j1 + qt6-build_src_test -j1 +} diff --git a/dev-qt/qt5compat/qt5compat-6.12.9999.ebuild b/dev-qt/qt5compat/qt5compat-6.12.9999.ebuild new file mode 100644 index 0000000..736fef3 --- /dev/null +++ b/dev-qt/qt5compat/qt5compat-6.12.9999.ebuild @@ -0,0 +1,38 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Qt module containing the unsupported Qt 5 APIs" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="+gui icu qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui=,icu=,network,xml] + icu? ( dev-libs/icu:= ) + !icu? ( virtual/libiconv ) + qml? ( + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtshadertools-${PV}:6 + ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Quick) + ) + + qt6-build_src_configure +} + +src_test() { + # tst_qxmlinputsource sometimes hang without -j1 + qt6-build_src_test -j1 +} diff --git a/dev-qt/qt5compat/qt5compat-6.9999.ebuild b/dev-qt/qt5compat/qt5compat-6.9999.ebuild new file mode 100644 index 0000000..a41bcdc --- /dev/null +++ b/dev-qt/qt5compat/qt5compat-6.9999.ebuild @@ -0,0 +1,38 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Qt module containing the unsupported Qt 5 APIs" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="+gui icu qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui=,icu=,network,xml] + icu? ( dev-libs/icu:= ) + !icu? ( virtual/libiconv ) + qml? ( + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtshadertools-${PV}:6 + ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Quick) + ) + + qt6-build_src_configure +} + +src_test() { + # tst_qxmlinputsource sometimes hang without -j1 + qt6-build_src_test -j1 +} diff --git a/dev-qt/qtbase/Manifest b/dev-qt/qtbase/Manifest new file mode 100644 index 0000000..211d8c3 --- /dev/null +++ b/dev-qt/qtbase/Manifest @@ -0,0 +1,2 @@ +DIST qtbase-everywhere-src-6.10.3.tar.xz 50509856 BLAKE2B d4e929e4d235f54afa19878bf1c83f6bef466c9da6fec55787424d7d001ce1b8ba265cefeea9fed211bc814adedcfe565b8c52410d3edde7e5e867d0abc1cee9 SHA512 76e9d8657e884c55568653597fc5f2f00d73185cc26f84a7d8ab1d3df49b9a0e2dd979b49c09f1230208327733eb4857292156e6576dc9e9c9e4d054d47b2504 +DIST qtbase-everywhere-src-6.11.1.tar.xz 50648500 BLAKE2B 64fc52304987011a0e448988089aeb2c3ada1a477562ed87bf51ba32a4b03fd0489e54e2d29fc736dbfba767b1e45055d85d6b23a1667d882004201b4dc52ad4 SHA512 b5608b6cefd483ecdc5e4fa3536acfc31116c8dfb698257f945180a8e412ee444dc670d754d4f6145649170f7d55637a70820188337a6c6b79193fbfbcd6a3fc diff --git a/dev-qt/qtbase/files/qtbase-6.10.3-QTBUG-145310.patch b/dev-qt/qtbase/files/qtbase-6.10.3-QTBUG-145310.patch new file mode 100644 index 0000000..aed1eb6 --- /dev/null +++ b/dev-qt/qtbase/files/qtbase-6.10.3-QTBUG-145310.patch @@ -0,0 +1,20 @@ +https://mail.kde.org/pipermail/distributions/2026-May/001681.html +https://qt-project.atlassian.net/browse/QTBUG-145310 +https://codereview.qt-project.org/c/qt/qtbase/+/727830 +--- a/src/gui/text/freetype/qfontengine_ft.cpp ++++ b/src/gui/text/freetype/qfontengine_ft.cpp +@@ -1956,9 +1956,11 @@ + + err = FT_Render_Glyph(slot, renderMode); +- if (err != FT_Err_Ok) +- qWarning("render glyph failed err=%x face=%p, glyph=%d", err, face, glyph); +- + FT_Library_SetLcdFilter(slot->library, FT_LCD_FILTER_NONE); + ++ if (err != FT_Err_Ok) { ++ qWarning("render glyph failed err=%x face=%p, glyph=%d", err, face, glyph); ++ return nullptr; ++ } ++ + info.height = slot->bitmap.rows; + info.width = slot->bitmap.width; diff --git a/dev-qt/qtbase/files/qtbase-6.11.1-QTBUG-146670.patch b/dev-qt/qtbase/files/qtbase-6.11.1-QTBUG-146670.patch new file mode 100644 index 0000000..7536030 --- /dev/null +++ b/dev-qt/qtbase/files/qtbase-6.11.1-QTBUG-146670.patch @@ -0,0 +1,14 @@ +https://codereview.qt-project.org/c/qt/qtbase/+/735182 +https://qt-project.atlassian.net/browse/QTBUG-146670 +(seems to also affect ppc32) +--- a/src/corelib/kernel/qtestsupport_core.cpp ++++ b/src/corelib/kernel/qtestsupport_core.cpp +@@ -9,8 +9,4 @@ + using namespace std::chrono_literals; + +-// Assert that this instantiation of std::atomic is always lock-free so we +-// know that no code will execute on destruction. +-static_assert(std::atomic::is_always_lock_free); +- + QT_BEGIN_NAMESPACE + diff --git a/dev-qt/qtbase/files/qtbase-6.5.2-hppa-forkfd-grow-stack.patch b/dev-qt/qtbase/files/qtbase-6.5.2-hppa-forkfd-grow-stack.patch new file mode 100644 index 0000000..ccada9f --- /dev/null +++ b/dev-qt/qtbase/files/qtbase-6.5.2-hppa-forkfd-grow-stack.patch @@ -0,0 +1,28 @@ +Patch taken from Debian[1], largely broken on HPPA without and several +tests give segmentation faults[2]. + +Needs upstreaming if someone familiar with HPPA wants to give this +attention. Note forkfd is essentially maintained in qtbase's repo[3] +rather than truly third party. + +[1] https://bugs.debian.org/1042018 +[2] https://bugs.gentoo.org/914371 +[3] https://code.qt.io/cgit/qt/qtbase.git/tree/src/3rdparty/forkfd + +Description: Change how stack grows on HPPA. + On HPPA stack grows upwards. This patch introduces this change for + this 3rd party code. +Author: John David Anglin +--- a/src/3rdparty/forkfd/forkfd_linux.c ++++ b/src/3rdparty/forkfd/forkfd_linux.c +@@ -170,5 +170,10 @@ + *system = 1; + ++#if defined(__hppa__) ++ /* Stack grows up */ ++ pid = clone(childFn, childStack, cloneflags, token, &pidfd, NULL, NULL); ++#else + pid = clone(childFn, childStack + sizeof(childStack), cloneflags, token, &pidfd, NULL, NULL); ++#endif + if (pid < 0) + return pid; diff --git a/dev-qt/qtbase/files/qtbase-6.5.2-no-symlink-check.patch b/dev-qt/qtbase/files/qtbase-6.5.2-no-symlink-check.patch new file mode 100644 index 0000000..815fd39 --- /dev/null +++ b/dev-qt/qtbase/files/qtbase-6.5.2-no-symlink-check.patch @@ -0,0 +1,5 @@ +https://bugs.gentoo.org/914195 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -65 +64,0 @@ +-qt_internal_check_if_path_has_symlinks("${CMAKE_BINARY_DIR}") diff --git a/dev-qt/qtbase/files/qtbase-6.6.1-forkfd-childstack-size.patch b/dev-qt/qtbase/files/qtbase-6.6.1-forkfd-childstack-size.patch new file mode 100644 index 0000000..3b9df41 --- /dev/null +++ b/dev-qt/qtbase/files/qtbase-6.6.1-forkfd-childstack-size.patch @@ -0,0 +1,27 @@ +Avoid crash that happens for some users in qsb, qmake, and +potentially other Qt tools when ran under sandbox leading +to build failures for qtdeclarative and other packages. + +Former fix involved replacing 4096 by SIGSTKSZ but +bug #918664 shown that this may be insufficient so this +tries 32k instead. + +Update: after https://bugs.gentoo.org/923013 and a fixed +sandbox been stabilized for some time, it should in theory +be possible to drop this + +https://bugs.gentoo.org/908809 +https://bugs.gentoo.org/908816 +https://bugs.gentoo.org/913493 +https://bugs.gentoo.org/915695 +https://bugs.gentoo.org/918664 +https://codereview.qt-project.org/c/qt/qtbase/+/513140 +--- a/src/3rdparty/forkfd/forkfd_linux.c ++++ b/src/3rdparty/forkfd/forkfd_linux.c +@@ -158,5 +158,5 @@ + int system_vforkfd(int flags, pid_t *ppid, int (*childFn)(void *), void *token, int *system) + { +- __attribute__((aligned(64))) char childStack[SIGSTKSZ]; ++ __attribute__((aligned(64))) char childStack[32768]; + pid_t pid; + int pidfd; diff --git a/dev-qt/qtbase/files/qtbase-6.6.3-gcc14-avx512fp16.patch b/dev-qt/qtbase/files/qtbase-6.6.3-gcc14-avx512fp16.patch new file mode 100644 index 0000000..e7eb9dc --- /dev/null +++ b/dev-qt/qtbase/files/qtbase-6.6.3-gcc14-avx512fp16.patch @@ -0,0 +1,15 @@ +Simply disable the broken path rather than worry about it for now. + +Likely an easy fix but would rather this be handled upstream and +reported by someone that is affected and can test. + +https://bugs.gentoo.org/926287 +--- a/src/gui/painting/qrgbafloat.h ++++ b/src/gui/painting/qrgbafloat.h +@@ -20,5 +20,5 @@ + public: + using Type = F; +-#if defined(__AVX512FP16__) && QFLOAT16_IS_NATIVE ++#if 0 + // AVX512FP16 has multiplication instructions + using FastType = F; diff --git a/dev-qt/qtbase/files/qtbase-6.8.2-cross.patch b/dev-qt/qtbase/files/qtbase-6.8.2-cross.patch new file mode 100644 index 0000000..b597aa3 --- /dev/null +++ b/dev-qt/qtbase/files/qtbase-6.8.2-cross.patch @@ -0,0 +1,36 @@ +When cross-compiling, CMake needs to find the build host's Qt6CoreTools. It +therefore prepends QT_HOST_PATH, which is /usr, to CMAKE_FIND_ROOT_PATH. The +problem is that CMAKE_FIND_ROOT_PATH is only a hint, not a definitive +location. Just below, CMake's find_package is usually told to look in +/usr/${CHOST}/usr/lib/cmake and /usr/lib/cmake when cross-compiling. Since +both of these are under /usr, it chooses the former instead of the latter. +It then ends up trying to execute non-native Qt binaries. + +We can avoid this problem by setting CMAKE_FIND_ROOT_PATH to a more precise +location. All the Qt6 modules are installed under /usr/lib/cmake, represented +by the __qt_find_package_host_qt_path variable, so we can point it there. + +find_package has two modes, module mode and config mode. No mode is +explicitly chosen in this case, so it tries both. In module mode, it would +use a module called FindQt6*.cmake, but no such module exists. It is +therefore safe to assume config mode, which involves the files under +/usr/lib/cmake. + +See the isSameDirectoryOrSubDirectory() call in CMake's +cmFindCommon::RerootPaths() function for exactly where this goes wrong. + +Chewi + +https://bugs.gentoo.org/950314 + +--- a/cmake/QtConfig.cmake.in ++++ b/cmake/QtConfig.cmake.in +@@ -131,7 +131,7 @@ + set(__qt_backup_cmake_find_root_path "${CMAKE_FIND_ROOT_PATH}") + list(PREPEND CMAKE_PREFIX_PATH "${__qt_find_package_host_qt_path}" + ${_qt_additional_host_packages_prefix_paths}) +- list(PREPEND CMAKE_FIND_ROOT_PATH "${QT_HOST_PATH}" ++ list(PREPEND CMAKE_FIND_ROOT_PATH "${__qt_find_package_host_qt_path}" + ${_qt_additional_host_packages_root_paths}) + endif() + diff --git a/dev-qt/qtbase/files/qtbase-6.9.0-no-direct-extern-access.patch b/dev-qt/qtbase/files/qtbase-6.9.0-no-direct-extern-access.patch new file mode 100644 index 0000000..89c8dd5 --- /dev/null +++ b/dev-qt/qtbase/files/qtbase-6.9.0-no-direct-extern-access.patch @@ -0,0 +1,9 @@ +Re-allow auto-detect rather than do =ON to ensure the toolchain supports it. +https://bugs.gentoo.org/754021 +https://github.com/qt/qtbase/commit/48675dfa3 (revert of) +--- a/configure.cmake ++++ b/configure.cmake +@@ -784,3 +784,2 @@ + CONDITION NOT WIN32 AND TEST_no_direct_extern_access +- AUTODETECT OFF + ) diff --git a/dev-qt/qtbase/metadata.xml b/dev-qt/qtbase/metadata.xml new file mode 100644 index 0000000..76506d6 --- /dev/null +++ b/dev-qt/qtbase/metadata.xml @@ -0,0 +1,37 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Build the XCB platform plugin and enable X11 integration + Build Qt6Concurrent module + Build Qt6DBus module + Build the EGL Full Screen/Single Surface platform plugin + Enable support for input devices via evdev + Enable support for GSSAPI (virtual/krb5) + Build the GTK platform theme plugin + Build Qt6Gui module + Log messages using sys-apps/systemd's journald rather than output to stderr (override with the QT_FORCE_STDERR_LOGGING=1 env var) + Enable support for input devices via dev-libs/libinput + Use net-libs/libproxy for automatic HTTP/SOCKS proxy configuration + Build Qt6Network module + Enable support for capturing graphic's API calls using media-gfx/renderdoc + Build Qt6Sql module + Log messages using syslog rather than output to stderr (override with the QT_FORCE_STDERR_LOGGING=1 env var) + Enable support for touchscreen devices via x11-libs/tslib + Build Qt6Widgets module + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtbase + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtbase/qtbase-6.10.3-r1.ebuild b/dev-qt/qtbase/qtbase-6.10.3-r1.ebuild new file mode 100644 index 0000000..c2e2bcf --- /dev/null +++ b/dev-qt/qtbase/qtbase-6.10.3-r1.ebuild @@ -0,0 +1,446 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_HAS_STATIC_LIBS=1 +inherit flag-o-matic qt6-build toolchain-funcs + +DESCRIPTION="Cross-platform application development framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +declare -gA QT6_IUSE=( + [global]="+ssl +udev zstd" + [core]="icu journald syslog" + [modules]="+concurrent +dbus +gui +network +sql +xml" + + [gui]=" + +X accessibility eglfs evdev gles2-only +libinput + opengl renderdoc tslib vulkan wayland +widgets + " + [network]="brotli gssapi libproxy sctp" + [sql]="mysql oci8 odbc postgres +sqlite" + [widgets]="cups gtk" + + [optfeature]="nls" #810802 +) +IUSE="${QT6_IUSE[*]}" +REQUIRED_USE=" + ?? ( journald syslog ) + $( + printf '%s? ( gui ) ' ${QT6_IUSE[gui]//+/} + printf '%s? ( network ) ' ${QT6_IUSE[network]//+/} + printf '%s? ( sql ) ' ${QT6_IUSE[sql]//+/} + printf '%s? ( gui widgets ) ' ${QT6_IUSE[widgets]//+/} + ) + accessibility? ( dbus ) + eglfs? ( opengl ) + gles2-only? ( opengl ) + gui? ( || ( X eglfs wayland ) ) + libinput? ( udev ) + sql? ( || ( ${QT6_IUSE[sql]//+/} ) ) + test? ( icu sql? ( sqlite ) ) + wayland? ( opengl ) +" + +# groups: +# - global (configure.cmake) +# - qtcore (src/corelib/configure.cmake) +# - qtgui (src/gui/configure.cmake) +# - qtnetwork (src/network/configure.cmake) +# - qtprintsupport (src/printsupport/configure.cmake) [gui+widgets] +# - qtsql (src/plugins/sqldrivers/configure.cmake) +# nolink: renderdoc, systemd +COMMON_DEPEND=" + virtual/zlib:= + ssl? ( dev-libs/openssl:= ) + udev? ( virtual/libudev:= ) + zstd? ( app-arch/zstd:= ) + + app-crypt/libb2 + dev-libs/double-conversion:= + dev-libs/glib:2 + dev-libs/libpcre2:=[pcre16,unicode(+)] + icu? ( dev-libs/icu:= ) + journald? ( sys-apps/systemd ) + + dbus? ( sys-apps/dbus ) + gui? ( + dev-libs/md4c + media-libs/fontconfig + >=media-libs/freetype-2.13.1:2 + media-libs/harfbuzz:= + media-libs/libjpeg-turbo:= + media-libs/libpng:= + x11-libs/libdrm + x11-libs/libxkbcommon[X?] + X? ( + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libxcb:= + x11-libs/xcb-util-cursor + x11-libs/xcb-util-image + x11-libs/xcb-util-keysyms + x11-libs/xcb-util-renderutil + x11-libs/xcb-util-wm + ) + accessibility? ( app-accessibility/at-spi2-core:2 ) + eglfs? ( media-libs/mesa[gbm(+)] ) + evdev? ( sys-libs/mtdev ) + libinput? ( dev-libs/libinput:= ) + opengl? ( + gles2-only? ( media-libs/libglvnd ) + !gles2-only? ( media-libs/libglvnd[X?] ) + ) + renderdoc? ( media-gfx/renderdoc ) + tslib? ( x11-libs/tslib ) + wayland? ( dev-libs/wayland ) + widgets? ( + cups? ( net-print/cups ) + gtk? ( + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.24.41-r1:3[X?,wayland?] + x11-libs/pango + ) + ) + ) + network? ( + brotli? ( app-arch/brotli:= ) + gssapi? ( virtual/krb5 ) + libproxy? ( net-libs/libproxy ) + ) + sql? ( + mysql? ( dev-db/mysql-connector-c:= ) + oci8? ( dev-db/oracle-instantclient:=[sdk] ) + odbc? ( dev-db/unixODBC ) + postgres? ( dev-db/postgresql:* ) + sqlite? ( dev-db/sqlite:3 ) + ) +" +# wrt blockers: users do not always depclean regularly and outdated +# dev-qt packages sometime cause runtime issues (update this when new +# Qt libraries/plugins are added, and keep old for 2y+ if removed) +RDEPEND=" + ${COMMON_DEPEND} + !=6.6.2 had related fixes, needs retesting + # partially broken on llvm-musl, needs looking into but skip to have + # a baseline for regressions (rest of dev-qt still passes with musl) + $(usev elibc_musl ' + tst_qicoimageformat + tst_qimagereader + tst_qimage + ') + # fails due to hppa's NaN handling, needs looking into (bug #914371) + $(usev hppa ' + tst_qcborvalue + tst_qnumeric + ') + # note: for linux, upstream only really runs+maintains tests for amd64 + # https://doc.qt.io/qt-6/supported-platforms.html + ) + + qt6-build_src_test +} + +src_install() { + qt6-build_src_install + + if use test; then + local delete_bins=( # need a better way to handle this + apphelper clientserver copier crashingServer desktopsettingsaware_helper + echo fileWriterProcess modal_helper nospace 'one space' + paster qcommandlineparser_test_helper qfileopeneventexternal + socketprocess syslocaleapp tst_qhashseed_helper 'two space s' + write-read-write + ) + local delete=( # sigh + "${D}${QT6_BINDIR}"/test* + "${D}${QT6_LIBDIR}/objects-${CMAKE_BUILD_TYPE}"/*test* + "${delete_bins[@]/#/${D}${QT6_BINDIR}/}" + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtbase/qtbase-6.11.1.ebuild b/dev-qt/qtbase/qtbase-6.11.1.ebuild new file mode 100644 index 0000000..1b61bda --- /dev/null +++ b/dev-qt/qtbase/qtbase-6.11.1.ebuild @@ -0,0 +1,443 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_HAS_STATIC_LIBS=1 +inherit flag-o-matic qt6-build toolchain-funcs + +DESCRIPTION="Cross-platform application development framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +declare -gA QT6_IUSE=( + [global]="+ssl +udev zstd" + [core]="icu io-uring journald syslog" + [modules]="+concurrent +dbus +gui +network +sql +xml" + + [gui]=" + +X accessibility eglfs evdev gles2-only +libinput + opengl renderdoc tslib vulkan wayland +widgets + " + [network]="brotli gssapi libproxy sctp" + [sql]="mysql oci8 odbc postgres +sqlite" + [widgets]="cups gtk" + + [optfeature]="nls" #810802 +) +IUSE="${QT6_IUSE[*]}" +REQUIRED_USE=" + ?? ( journald syslog ) + $( + printf '%s? ( gui ) ' ${QT6_IUSE[gui]//+/} + printf '%s? ( network ) ' ${QT6_IUSE[network]//+/} + printf '%s? ( sql ) ' ${QT6_IUSE[sql]//+/} + printf '%s? ( gui widgets ) ' ${QT6_IUSE[widgets]//+/} + ) + accessibility? ( dbus ) + eglfs? ( opengl ) + gles2-only? ( opengl ) + gui? ( || ( X eglfs wayland ) ) + libinput? ( udev ) + sql? ( || ( ${QT6_IUSE[sql]//+/} ) ) + test? ( icu sql? ( sqlite ) ) + wayland? ( opengl ) +" + +# groups: +# - global (configure.cmake) +# - qtcore (src/corelib/configure.cmake) +# - qtgui (src/gui/configure.cmake) +# - qtnetwork (src/network/configure.cmake) +# - qtprintsupport (src/printsupport/configure.cmake) [gui+widgets] +# - qtsql (src/plugins/sqldrivers/configure.cmake) +# nolink: renderdoc, systemd +COMMON_DEPEND=" + virtual/zlib:= + ssl? ( dev-libs/openssl:= ) + udev? ( virtual/libudev:= ) + zstd? ( app-arch/zstd:= ) + + app-crypt/libb2 + dev-libs/double-conversion:= + dev-libs/glib:2 + dev-libs/libpcre2:=[pcre16,unicode(+)] + icu? ( dev-libs/icu:= ) + io-uring? ( sys-libs/liburing:= ) + journald? ( sys-apps/systemd ) + + dbus? ( sys-apps/dbus ) + gui? ( + dev-libs/md4c + media-libs/fontconfig + >=media-libs/freetype-2.13.1:2 + media-libs/harfbuzz:= + media-libs/libjpeg-turbo:= + media-libs/libpng:= + x11-libs/libdrm + x11-libs/libxkbcommon[X?] + X? ( + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libxcb:= + x11-libs/xcb-util-cursor + x11-libs/xcb-util-image + x11-libs/xcb-util-keysyms + x11-libs/xcb-util-renderutil + x11-libs/xcb-util-wm + ) + accessibility? ( app-accessibility/at-spi2-core:2 ) + eglfs? ( media-libs/mesa[gbm(+)] ) + evdev? ( sys-libs/mtdev ) + libinput? ( dev-libs/libinput:= ) + opengl? ( + gles2-only? ( media-libs/libglvnd ) + !gles2-only? ( media-libs/libglvnd[X?] ) + ) + renderdoc? ( media-gfx/renderdoc ) + tslib? ( x11-libs/tslib ) + wayland? ( dev-libs/wayland ) + widgets? ( + cups? ( net-print/cups ) + gtk? ( + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.24.41-r1:3[X?,wayland?] + x11-libs/pango + ) + ) + ) + network? ( + brotli? ( app-arch/brotli:= ) + gssapi? ( virtual/krb5 ) + libproxy? ( net-libs/libproxy ) + ) + sql? ( + mysql? ( dev-db/mysql-connector-c:= ) + oci8? ( dev-db/oracle-instantclient:=[sdk] ) + odbc? ( dev-db/unixODBC ) + postgres? ( dev-db/postgresql:* ) + sqlite? ( dev-db/sqlite:3 ) + ) +" +# wrt blockers: users do not always depclean regularly and outdated +# dev-qt packages sometime cause runtime issues (update this when new +# Qt libraries/plugins are added, and keep old for 2y+ if removed) +RDEPEND=" + ${COMMON_DEPEND} + !=6.6.2 had related fixes, needs retesting + # this test has often caused trouble depending on arch, endianness, + # musl, and others with some image/pixel formats and similar and, + # while there is likely real bugs, it's above what I'm willing to + # handle for now + tst_qimage + # partially broken on llvm-musl, needs looking into but skip to have + # a baseline for regressions (rest of dev-qt still passes with musl) + $(usev elibc_musl ' + tst_qicoimageformat + tst_qimagereader + ') + # fails due to hppa's NaN handling, needs looking into (bug #914371) + $(usev hppa ' + tst_qcborvalue + tst_qnumeric + ') + # note: for linux, upstream only really runs+maintains tests for amd64 + # https://doc.qt.io/qt-6/supported-platforms.html + ) + + qt6-build_src_test +} + +src_install() { + qt6-build_src_install + + if use test; then + local delete_bins=( # need a better way to handle this + apphelper clientserver copier crashingServer desktopsettingsaware_helper + echo fileWriterProcess modal_helper nospace 'one space' + paster qcommandlineparser_test_helper qfileopeneventexternal + socketprocess syslocaleapp tst_qhashseed_helper 'two space s' + write-read-write + ) + local delete=( # sigh + "${D}${QT6_BINDIR}"/test* + "${D}${QT6_LIBDIR}/objects-${CMAKE_BUILD_TYPE}"/*test* + "${delete_bins[@]/#/${D}${QT6_BINDIR}/}" + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtbase/qtbase-6.11.9999.ebuild b/dev-qt/qtbase/qtbase-6.11.9999.ebuild new file mode 100644 index 0000000..670b3ab --- /dev/null +++ b/dev-qt/qtbase/qtbase-6.11.9999.ebuild @@ -0,0 +1,442 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_HAS_STATIC_LIBS=1 +inherit flag-o-matic qt6-build toolchain-funcs + +DESCRIPTION="Cross-platform application development framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +declare -gA QT6_IUSE=( + [global]="+ssl +udev zstd" + [core]="icu io-uring journald syslog" + [modules]="+concurrent +dbus +gui +network +sql +xml" + + [gui]=" + +X accessibility eglfs evdev gles2-only +libinput + opengl renderdoc tslib vulkan wayland +widgets + " + [network]="brotli gssapi libproxy sctp" + [sql]="mysql oci8 odbc postgres +sqlite" + [widgets]="cups gtk" + + [optfeature]="nls" #810802 +) +IUSE="${QT6_IUSE[*]}" +REQUIRED_USE=" + ?? ( journald syslog ) + $( + printf '%s? ( gui ) ' ${QT6_IUSE[gui]//+/} + printf '%s? ( network ) ' ${QT6_IUSE[network]//+/} + printf '%s? ( sql ) ' ${QT6_IUSE[sql]//+/} + printf '%s? ( gui widgets ) ' ${QT6_IUSE[widgets]//+/} + ) + accessibility? ( dbus ) + eglfs? ( opengl ) + gles2-only? ( opengl ) + gui? ( || ( X eglfs wayland ) ) + libinput? ( udev ) + sql? ( || ( ${QT6_IUSE[sql]//+/} ) ) + test? ( icu sql? ( sqlite ) ) + wayland? ( opengl ) +" + +# groups: +# - global (configure.cmake) +# - qtcore (src/corelib/configure.cmake) +# - qtgui (src/gui/configure.cmake) +# - qtnetwork (src/network/configure.cmake) +# - qtprintsupport (src/printsupport/configure.cmake) [gui+widgets] +# - qtsql (src/plugins/sqldrivers/configure.cmake) +# nolink: renderdoc, systemd +COMMON_DEPEND=" + virtual/zlib:= + ssl? ( dev-libs/openssl:= ) + udev? ( virtual/libudev:= ) + zstd? ( app-arch/zstd:= ) + + app-crypt/libb2 + dev-libs/double-conversion:= + dev-libs/glib:2 + dev-libs/libpcre2:=[pcre16,unicode(+)] + icu? ( dev-libs/icu:= ) + io-uring? ( sys-libs/liburing:= ) + journald? ( sys-apps/systemd ) + + dbus? ( sys-apps/dbus ) + gui? ( + dev-libs/md4c + media-libs/fontconfig + >=media-libs/freetype-2.13.1:2 + media-libs/harfbuzz:= + media-libs/libjpeg-turbo:= + media-libs/libpng:= + x11-libs/libdrm + x11-libs/libxkbcommon[X?] + X? ( + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libxcb:= + x11-libs/xcb-util-cursor + x11-libs/xcb-util-image + x11-libs/xcb-util-keysyms + x11-libs/xcb-util-renderutil + x11-libs/xcb-util-wm + ) + accessibility? ( app-accessibility/at-spi2-core:2 ) + eglfs? ( media-libs/mesa[gbm(+)] ) + evdev? ( sys-libs/mtdev ) + libinput? ( dev-libs/libinput:= ) + opengl? ( + gles2-only? ( media-libs/libglvnd ) + !gles2-only? ( media-libs/libglvnd[X?] ) + ) + renderdoc? ( media-gfx/renderdoc ) + tslib? ( x11-libs/tslib ) + wayland? ( dev-libs/wayland ) + widgets? ( + cups? ( net-print/cups ) + gtk? ( + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.24.41-r1:3[X?,wayland?] + x11-libs/pango + ) + ) + ) + network? ( + brotli? ( app-arch/brotli:= ) + gssapi? ( virtual/krb5 ) + libproxy? ( net-libs/libproxy ) + ) + sql? ( + mysql? ( dev-db/mysql-connector-c:= ) + oci8? ( dev-db/oracle-instantclient:=[sdk] ) + odbc? ( dev-db/unixODBC ) + postgres? ( dev-db/postgresql:* ) + sqlite? ( dev-db/sqlite:3 ) + ) +" +# wrt blockers: users do not always depclean regularly and outdated +# dev-qt packages sometime cause runtime issues (update this when new +# Qt libraries/plugins are added, and keep old for 2y+ if removed) +RDEPEND=" + ${COMMON_DEPEND} + !=6.6.2 had related fixes, needs retesting + # this test has often caused trouble depending on arch, endianness, + # musl, and others with some image/pixel formats and similar and, + # while there is likely real bugs, it's above what I'm willing to + # handle for now + tst_qimage + # partially broken on llvm-musl, needs looking into but skip to have + # a baseline for regressions (rest of dev-qt still passes with musl) + $(usev elibc_musl ' + tst_qicoimageformat + tst_qimagereader + ') + # fails due to hppa's NaN handling, needs looking into (bug #914371) + $(usev hppa ' + tst_qcborvalue + tst_qnumeric + ') + # note: for linux, upstream only really runs+maintains tests for amd64 + # https://doc.qt.io/qt-6/supported-platforms.html + ) + + qt6-build_src_test +} + +src_install() { + qt6-build_src_install + + if use test; then + local delete_bins=( # need a better way to handle this + apphelper clientserver copier crashingServer desktopsettingsaware_helper + echo fileWriterProcess modal_helper nospace 'one space' + paster qcommandlineparser_test_helper qfileopeneventexternal + socketprocess syslocaleapp tst_qhashseed_helper 'two space s' + write-read-write + ) + local delete=( # sigh + "${D}${QT6_BINDIR}"/test* + "${D}${QT6_LIBDIR}/objects-${CMAKE_BUILD_TYPE}"/*test* + "${delete_bins[@]/#/${D}${QT6_BINDIR}/}" + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtbase/qtbase-6.12.9999.ebuild b/dev-qt/qtbase/qtbase-6.12.9999.ebuild new file mode 100644 index 0000000..670b3ab --- /dev/null +++ b/dev-qt/qtbase/qtbase-6.12.9999.ebuild @@ -0,0 +1,442 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_HAS_STATIC_LIBS=1 +inherit flag-o-matic qt6-build toolchain-funcs + +DESCRIPTION="Cross-platform application development framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +declare -gA QT6_IUSE=( + [global]="+ssl +udev zstd" + [core]="icu io-uring journald syslog" + [modules]="+concurrent +dbus +gui +network +sql +xml" + + [gui]=" + +X accessibility eglfs evdev gles2-only +libinput + opengl renderdoc tslib vulkan wayland +widgets + " + [network]="brotli gssapi libproxy sctp" + [sql]="mysql oci8 odbc postgres +sqlite" + [widgets]="cups gtk" + + [optfeature]="nls" #810802 +) +IUSE="${QT6_IUSE[*]}" +REQUIRED_USE=" + ?? ( journald syslog ) + $( + printf '%s? ( gui ) ' ${QT6_IUSE[gui]//+/} + printf '%s? ( network ) ' ${QT6_IUSE[network]//+/} + printf '%s? ( sql ) ' ${QT6_IUSE[sql]//+/} + printf '%s? ( gui widgets ) ' ${QT6_IUSE[widgets]//+/} + ) + accessibility? ( dbus ) + eglfs? ( opengl ) + gles2-only? ( opengl ) + gui? ( || ( X eglfs wayland ) ) + libinput? ( udev ) + sql? ( || ( ${QT6_IUSE[sql]//+/} ) ) + test? ( icu sql? ( sqlite ) ) + wayland? ( opengl ) +" + +# groups: +# - global (configure.cmake) +# - qtcore (src/corelib/configure.cmake) +# - qtgui (src/gui/configure.cmake) +# - qtnetwork (src/network/configure.cmake) +# - qtprintsupport (src/printsupport/configure.cmake) [gui+widgets] +# - qtsql (src/plugins/sqldrivers/configure.cmake) +# nolink: renderdoc, systemd +COMMON_DEPEND=" + virtual/zlib:= + ssl? ( dev-libs/openssl:= ) + udev? ( virtual/libudev:= ) + zstd? ( app-arch/zstd:= ) + + app-crypt/libb2 + dev-libs/double-conversion:= + dev-libs/glib:2 + dev-libs/libpcre2:=[pcre16,unicode(+)] + icu? ( dev-libs/icu:= ) + io-uring? ( sys-libs/liburing:= ) + journald? ( sys-apps/systemd ) + + dbus? ( sys-apps/dbus ) + gui? ( + dev-libs/md4c + media-libs/fontconfig + >=media-libs/freetype-2.13.1:2 + media-libs/harfbuzz:= + media-libs/libjpeg-turbo:= + media-libs/libpng:= + x11-libs/libdrm + x11-libs/libxkbcommon[X?] + X? ( + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libxcb:= + x11-libs/xcb-util-cursor + x11-libs/xcb-util-image + x11-libs/xcb-util-keysyms + x11-libs/xcb-util-renderutil + x11-libs/xcb-util-wm + ) + accessibility? ( app-accessibility/at-spi2-core:2 ) + eglfs? ( media-libs/mesa[gbm(+)] ) + evdev? ( sys-libs/mtdev ) + libinput? ( dev-libs/libinput:= ) + opengl? ( + gles2-only? ( media-libs/libglvnd ) + !gles2-only? ( media-libs/libglvnd[X?] ) + ) + renderdoc? ( media-gfx/renderdoc ) + tslib? ( x11-libs/tslib ) + wayland? ( dev-libs/wayland ) + widgets? ( + cups? ( net-print/cups ) + gtk? ( + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.24.41-r1:3[X?,wayland?] + x11-libs/pango + ) + ) + ) + network? ( + brotli? ( app-arch/brotli:= ) + gssapi? ( virtual/krb5 ) + libproxy? ( net-libs/libproxy ) + ) + sql? ( + mysql? ( dev-db/mysql-connector-c:= ) + oci8? ( dev-db/oracle-instantclient:=[sdk] ) + odbc? ( dev-db/unixODBC ) + postgres? ( dev-db/postgresql:* ) + sqlite? ( dev-db/sqlite:3 ) + ) +" +# wrt blockers: users do not always depclean regularly and outdated +# dev-qt packages sometime cause runtime issues (update this when new +# Qt libraries/plugins are added, and keep old for 2y+ if removed) +RDEPEND=" + ${COMMON_DEPEND} + !=6.6.2 had related fixes, needs retesting + # this test has often caused trouble depending on arch, endianness, + # musl, and others with some image/pixel formats and similar and, + # while there is likely real bugs, it's above what I'm willing to + # handle for now + tst_qimage + # partially broken on llvm-musl, needs looking into but skip to have + # a baseline for regressions (rest of dev-qt still passes with musl) + $(usev elibc_musl ' + tst_qicoimageformat + tst_qimagereader + ') + # fails due to hppa's NaN handling, needs looking into (bug #914371) + $(usev hppa ' + tst_qcborvalue + tst_qnumeric + ') + # note: for linux, upstream only really runs+maintains tests for amd64 + # https://doc.qt.io/qt-6/supported-platforms.html + ) + + qt6-build_src_test +} + +src_install() { + qt6-build_src_install + + if use test; then + local delete_bins=( # need a better way to handle this + apphelper clientserver copier crashingServer desktopsettingsaware_helper + echo fileWriterProcess modal_helper nospace 'one space' + paster qcommandlineparser_test_helper qfileopeneventexternal + socketprocess syslocaleapp tst_qhashseed_helper 'two space s' + write-read-write + ) + local delete=( # sigh + "${D}${QT6_BINDIR}"/test* + "${D}${QT6_LIBDIR}/objects-${CMAKE_BUILD_TYPE}"/*test* + "${delete_bins[@]/#/${D}${QT6_BINDIR}/}" + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtbase/qtbase-6.9999.ebuild b/dev-qt/qtbase/qtbase-6.9999.ebuild new file mode 100644 index 0000000..670b3ab --- /dev/null +++ b/dev-qt/qtbase/qtbase-6.9999.ebuild @@ -0,0 +1,442 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_HAS_STATIC_LIBS=1 +inherit flag-o-matic qt6-build toolchain-funcs + +DESCRIPTION="Cross-platform application development framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +declare -gA QT6_IUSE=( + [global]="+ssl +udev zstd" + [core]="icu io-uring journald syslog" + [modules]="+concurrent +dbus +gui +network +sql +xml" + + [gui]=" + +X accessibility eglfs evdev gles2-only +libinput + opengl renderdoc tslib vulkan wayland +widgets + " + [network]="brotli gssapi libproxy sctp" + [sql]="mysql oci8 odbc postgres +sqlite" + [widgets]="cups gtk" + + [optfeature]="nls" #810802 +) +IUSE="${QT6_IUSE[*]}" +REQUIRED_USE=" + ?? ( journald syslog ) + $( + printf '%s? ( gui ) ' ${QT6_IUSE[gui]//+/} + printf '%s? ( network ) ' ${QT6_IUSE[network]//+/} + printf '%s? ( sql ) ' ${QT6_IUSE[sql]//+/} + printf '%s? ( gui widgets ) ' ${QT6_IUSE[widgets]//+/} + ) + accessibility? ( dbus ) + eglfs? ( opengl ) + gles2-only? ( opengl ) + gui? ( || ( X eglfs wayland ) ) + libinput? ( udev ) + sql? ( || ( ${QT6_IUSE[sql]//+/} ) ) + test? ( icu sql? ( sqlite ) ) + wayland? ( opengl ) +" + +# groups: +# - global (configure.cmake) +# - qtcore (src/corelib/configure.cmake) +# - qtgui (src/gui/configure.cmake) +# - qtnetwork (src/network/configure.cmake) +# - qtprintsupport (src/printsupport/configure.cmake) [gui+widgets] +# - qtsql (src/plugins/sqldrivers/configure.cmake) +# nolink: renderdoc, systemd +COMMON_DEPEND=" + virtual/zlib:= + ssl? ( dev-libs/openssl:= ) + udev? ( virtual/libudev:= ) + zstd? ( app-arch/zstd:= ) + + app-crypt/libb2 + dev-libs/double-conversion:= + dev-libs/glib:2 + dev-libs/libpcre2:=[pcre16,unicode(+)] + icu? ( dev-libs/icu:= ) + io-uring? ( sys-libs/liburing:= ) + journald? ( sys-apps/systemd ) + + dbus? ( sys-apps/dbus ) + gui? ( + dev-libs/md4c + media-libs/fontconfig + >=media-libs/freetype-2.13.1:2 + media-libs/harfbuzz:= + media-libs/libjpeg-turbo:= + media-libs/libpng:= + x11-libs/libdrm + x11-libs/libxkbcommon[X?] + X? ( + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libxcb:= + x11-libs/xcb-util-cursor + x11-libs/xcb-util-image + x11-libs/xcb-util-keysyms + x11-libs/xcb-util-renderutil + x11-libs/xcb-util-wm + ) + accessibility? ( app-accessibility/at-spi2-core:2 ) + eglfs? ( media-libs/mesa[gbm(+)] ) + evdev? ( sys-libs/mtdev ) + libinput? ( dev-libs/libinput:= ) + opengl? ( + gles2-only? ( media-libs/libglvnd ) + !gles2-only? ( media-libs/libglvnd[X?] ) + ) + renderdoc? ( media-gfx/renderdoc ) + tslib? ( x11-libs/tslib ) + wayland? ( dev-libs/wayland ) + widgets? ( + cups? ( net-print/cups ) + gtk? ( + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.24.41-r1:3[X?,wayland?] + x11-libs/pango + ) + ) + ) + network? ( + brotli? ( app-arch/brotli:= ) + gssapi? ( virtual/krb5 ) + libproxy? ( net-libs/libproxy ) + ) + sql? ( + mysql? ( dev-db/mysql-connector-c:= ) + oci8? ( dev-db/oracle-instantclient:=[sdk] ) + odbc? ( dev-db/unixODBC ) + postgres? ( dev-db/postgresql:* ) + sqlite? ( dev-db/sqlite:3 ) + ) +" +# wrt blockers: users do not always depclean regularly and outdated +# dev-qt packages sometime cause runtime issues (update this when new +# Qt libraries/plugins are added, and keep old for 2y+ if removed) +RDEPEND=" + ${COMMON_DEPEND} + !=6.6.2 had related fixes, needs retesting + # this test has often caused trouble depending on arch, endianness, + # musl, and others with some image/pixel formats and similar and, + # while there is likely real bugs, it's above what I'm willing to + # handle for now + tst_qimage + # partially broken on llvm-musl, needs looking into but skip to have + # a baseline for regressions (rest of dev-qt still passes with musl) + $(usev elibc_musl ' + tst_qicoimageformat + tst_qimagereader + ') + # fails due to hppa's NaN handling, needs looking into (bug #914371) + $(usev hppa ' + tst_qcborvalue + tst_qnumeric + ') + # note: for linux, upstream only really runs+maintains tests for amd64 + # https://doc.qt.io/qt-6/supported-platforms.html + ) + + qt6-build_src_test +} + +src_install() { + qt6-build_src_install + + if use test; then + local delete_bins=( # need a better way to handle this + apphelper clientserver copier crashingServer desktopsettingsaware_helper + echo fileWriterProcess modal_helper nospace 'one space' + paster qcommandlineparser_test_helper qfileopeneventexternal + socketprocess syslocaleapp tst_qhashseed_helper 'two space s' + write-read-write + ) + local delete=( # sigh + "${D}${QT6_BINDIR}"/test* + "${D}${QT6_LIBDIR}/objects-${CMAKE_BUILD_TYPE}"/*test* + "${delete_bins[@]/#/${D}${QT6_BINDIR}/}" + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtcharts/Manifest b/dev-qt/qtcharts/Manifest new file mode 100644 index 0000000..b1006f8 --- /dev/null +++ b/dev-qt/qtcharts/Manifest @@ -0,0 +1,2 @@ +DIST qtcharts-everywhere-src-6.10.3.tar.xz 4651520 BLAKE2B ec10f7ac13b9466e43b877201eaf33bc9041282f6846889c581fc05933997d0a631519a1d36e2d7a676bcf89a048e9bf4cc51227f293addd97da38d84a5d435e SHA512 3a98336e854d5efc8d1b24effd2dc5a4dbab38ece2792dcd2e5fa2cfa7f01a4e5919226e7d70a4015af5d89234c1a1db3990f7b0965c89dba84c60e4d7156469 +DIST qtcharts-everywhere-src-6.11.1.tar.xz 4651704 BLAKE2B d96016fb216e742616dfed1d42e3c8c6ae1d225676fb2c0e669926085fa3a24ecbe67ed8a67f7716cde7de5d6365db98d2b4cc38f05a4c5c3cff22db632888e6 SHA512 e5fcd9a2362077e1ce3f960f33f2bc55ebca6efb1901b3e9495b2d8a3e09ee67f74c179738446b942c39b020ff454ddb1a556c27f19bc1aa2e6134ec3d0276be diff --git a/dev-qt/qtcharts/metadata.xml b/dev-qt/qtcharts/metadata.xml new file mode 100644 index 0000000..5704976 --- /dev/null +++ b/dev-qt/qtcharts/metadata.xml @@ -0,0 +1,21 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Build QML/QtQuick bindings and imports + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtcharts + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtcharts/qtcharts-6.10.3.ebuild b/dev-qt/qtcharts/qtcharts-6.10.3.ebuild new file mode 100644 index 0000000..8a2b08e --- /dev/null +++ b/dev-qt/qtcharts/qtcharts-6.10.3.ebuild @@ -0,0 +1,28 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Chart component library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="gles2-only qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gles2-only=,gui,opengl,widgets] + qml? ( ~dev-qt/qtdeclarative-${PV}:6[opengl] ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtcharts/qtcharts-6.11.1.ebuild b/dev-qt/qtcharts/qtcharts-6.11.1.ebuild new file mode 100644 index 0000000..8a2b08e --- /dev/null +++ b/dev-qt/qtcharts/qtcharts-6.11.1.ebuild @@ -0,0 +1,28 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Chart component library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="gles2-only qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gles2-only=,gui,opengl,widgets] + qml? ( ~dev-qt/qtdeclarative-${PV}:6[opengl] ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtcharts/qtcharts-6.11.9999.ebuild b/dev-qt/qtcharts/qtcharts-6.11.9999.ebuild new file mode 100644 index 0000000..74fbf13 --- /dev/null +++ b/dev-qt/qtcharts/qtcharts-6.11.9999.ebuild @@ -0,0 +1,28 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Chart component library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="gles2-only qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gles2-only=,gui,opengl,widgets] + qml? ( ~dev-qt/qtdeclarative-${PV}:6[opengl] ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtcharts/qtcharts-6.12.9999.ebuild b/dev-qt/qtcharts/qtcharts-6.12.9999.ebuild new file mode 100644 index 0000000..6c11cea --- /dev/null +++ b/dev-qt/qtcharts/qtcharts-6.12.9999.ebuild @@ -0,0 +1,28 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Chart component library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="gles2-only qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gles2-only=,gui,opengl,widgets] + qml? ( ~dev-qt/qtdeclarative-${PV}:6[opengl] ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtcharts/qtcharts-6.9999.ebuild b/dev-qt/qtcharts/qtcharts-6.9999.ebuild new file mode 100644 index 0000000..264ac86 --- /dev/null +++ b/dev-qt/qtcharts/qtcharts-6.9999.ebuild @@ -0,0 +1,28 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Chart component library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="gles2-only qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gles2-only=,gui,opengl,widgets] + qml? ( ~dev-qt/qtdeclarative-${PV}:6[opengl] ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtconcurrent/Manifest b/dev-qt/qtconcurrent/Manifest new file mode 100644 index 0000000..36e646e --- /dev/null +++ b/dev-qt/qtconcurrent/Manifest @@ -0,0 +1,3 @@ +DIST qtbase-5.15-gentoo-patchset-6.tar.xz 8288 BLAKE2B ad9695a528345dd3b8e9ce72b7bdfe8f744f16685a567bbc7862ba6c28e5a426260cb0b73e2573cb3a6f16f1785786898ffb44c90f5d75354b97e5756c7573db SHA512 97bc4d5375e1750a5578439ff320ee2e5e929df1dafe56b4e86f2de8ad26c91dc4002e45ad75d9f936347d49b9f54c0c42f8fc2cb7dfd4f54bf08a210b3bc720 +DIST qtbase-5.15.18-gentoo-kde-1.tar.xz 450532 BLAKE2B 172732fe6a2f7dd4718b224d8a8ba7b182ded24f74ee38545d20a17364757153b399cae82b40f425e72b2587ec432f024868078edfe95280242211a040ddd9f6 SHA512 e0257171cf723cb6208a06f28fc95fa07d1239ea9dd3daa79d362146aa53e008398c9e1d95443b84d6d71b835a3f010b957e748f3ec23b77a588d6b372fd0c47 +DIST qtbase-everywhere-opensource-src-5.15.18.tar.xz 51492796 BLAKE2B a02f13f2ae8d3994fe5e3fa5b3751cb2981c3203cc4f3859dd4398d6a62101772885acb0c7b1f830ba8e9fbdd64ecfdb2a6074bfedd1bd372b4fc9ceb747467d SHA512 d39c831e6f3ddcd6a50f103ff60a0700b451f137782249508b7447a80066e3e9259c9b5038e6077ccf8df06b6afefec232c3c4dd331d85765089c92571708206 diff --git a/dev-qt/qtconcurrent/metadata.xml b/dev-qt/qtconcurrent/metadata.xml new file mode 100644 index 0000000..3c434f4 --- /dev/null +++ b/dev-qt/qtconcurrent/metadata.xml @@ -0,0 +1,17 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtconcurrent/qtconcurrent-5.15.18.ebuild b/dev-qt/qtconcurrent/qtconcurrent-5.15.18.ebuild new file mode 100644 index 0000000..b69c0bf --- /dev/null +++ b/dev-qt/qtconcurrent/qtconcurrent-5.15.18.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=1 + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +QT5_MODULE="qtbase" +inherit qt5-build + +DESCRIPTION="Multi-threading concurrence support library for the Qt5 framework" + +IUSE="" + +DEPEND="=dev-qt/qtcore-${QT5_PV}*:5=" +RDEPEND="${DEPEND}" + +QT5_TARGET_SUBDIRS=( + src/concurrent +) diff --git a/dev-qt/qtconnectivity/Manifest b/dev-qt/qtconnectivity/Manifest new file mode 100644 index 0000000..c720d0f --- /dev/null +++ b/dev-qt/qtconnectivity/Manifest @@ -0,0 +1,2 @@ +DIST qtconnectivity-everywhere-src-6.10.3.tar.xz 1058084 BLAKE2B adc32d447b8b2d6c37e24db1e0a4f588d742ef570d6916f32bc04cb980334d21b0f92e19204be3df41439a714302b4f8a5942fac18fba9099e58006fd81ff79a SHA512 d9aabaf72a3e3af845129f45eeb9df855ac525f038d3240aaac66fe6ad37b83931cc1206ba3b92bf7192ef855e0c3d088335dffe7ee785c0e4680d53c38c2e31 +DIST qtconnectivity-everywhere-src-6.11.1.tar.xz 1059432 BLAKE2B 4d2754326b6c0d5d62b77c80cbc849f2a693ffaf531e432c21aea66258361f0f2dee0a1b359bc8ec67738082515db06fe20953d0c3ab09ff6e8a33606de10778 SHA512 841f2eb4286dc75a0a61556d0f61e2df8967523d8e05f5d7a050b9452efafa13387e83af2f0eaaf28365c255e918f8eb5cca3b660e8a0a26932646a95440f61f diff --git a/dev-qt/qtconnectivity/metadata.xml b/dev-qt/qtconnectivity/metadata.xml new file mode 100644 index 0000000..60708ff --- /dev/null +++ b/dev-qt/qtconnectivity/metadata.xml @@ -0,0 +1,22 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Use net-wireless/neard to access NFC devices + Enable support for the Near Field Communication protocol + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtconnectivity + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtconnectivity/qtconnectivity-6.10.3.ebuild b/dev-qt/qtconnectivity/qtconnectivity-6.10.3.ebuild new file mode 100644 index 0000000..abeeaad --- /dev/null +++ b/dev-qt/qtconnectivity/qtconnectivity-6.10.3.ebuild @@ -0,0 +1,85 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Bluetooth and NFC support library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="+bluetooth neard nfc smartcard" +REQUIRED_USE=" + || ( bluetooth nfc ) + nfc? ( ?? ( neard smartcard ) ) +" + +DEPEND=" + ~dev-qt/qtbase-${PV}:6 + bluetooth? ( + ~dev-qt/qtbase-${PV}:6[dbus,network] + net-wireless/bluez:= + ) + nfc? ( + neard? ( ~dev-qt/qtbase-${PV}:6[dbus] ) + smartcard? ( sys-apps/pcsc-lite ) + ) +" +RDEPEND=" + ${DEPEND} + nfc? ( + neard? ( net-wireless/neard ) + ) +" + +CMAKE_SKIP_TESTS=( + # most hardware tests are auto-skipped, but some still misbehave + # if bluez/hardware is available (generally tests here may not be + # very relevant without hardware, lists may need to be extended) + tst_qbluetoothdevicediscoveryagent #936485 + tst_qbluetoothlocaldevice + tst_qbluetoothserver + tst_qbluetoothservicediscoveryagent + tst_qbluetoothserviceinfo + tst_qlowenergycontroller +) + +src_prepare() { + qt6-build_src_prepare + + use bluetooth || + sed -i '/add_subdirectory(bluetooth)/d' src/CMakeLists.txt || die + use nfc || + sed -i '/add_subdirectory(nfc)/d' src/CMakeLists.txt || die +} + +src_configure() { + local mycmakeargs=( + $(usev nfc " + $(qt_feature neard) + $(qt_feature smartcard pcsclite) + ") + ) + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + # broken (unnecessary) symlink due to add_app() being used over add_tool() + use !bluetooth || rm -- "${ED}"/usr/bin/sdpscanner6 || die + + if use test; then + local delete=( # sigh + "${D}${QT6_BINDIR}"/bluetoothtestdevice + "${D}${QT6_BINDIR}"/bttestui + "${D}${QT6_BINDIR}"/qlecontroller-server + ) + # using -f given not tracking which tests may be skipped or not + rm -f -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtconnectivity/qtconnectivity-6.11.1.ebuild b/dev-qt/qtconnectivity/qtconnectivity-6.11.1.ebuild new file mode 100644 index 0000000..716e846 --- /dev/null +++ b/dev-qt/qtconnectivity/qtconnectivity-6.11.1.ebuild @@ -0,0 +1,87 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Bluetooth and NFC support library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="+bluetooth neard nfc smartcard" +REQUIRED_USE=" + || ( bluetooth nfc ) + nfc? ( ?? ( neard smartcard ) ) +" + +DEPEND=" + ~dev-qt/qtbase-${PV}:6 + bluetooth? ( + ~dev-qt/qtbase-${PV}:6[dbus,network] + net-wireless/bluez:= + ) + nfc? ( + neard? ( ~dev-qt/qtbase-${PV}:6[dbus] ) + smartcard? ( sys-apps/pcsc-lite ) + ) +" +RDEPEND=" + ${DEPEND} + nfc? ( + neard? ( net-wireless/neard ) + ) +" + +CMAKE_SKIP_TESTS=( + # most hardware tests are auto-skipped, but some still misbehave + # if bluez/hardware is available (generally tests here may not be + # very relevant without hardware, lists may need to be extended) + tst_qbluetoothdevicediscoveryagent #936485 + tst_qbluetoothlocaldevice + tst_qbluetoothserver + tst_qbluetoothservicediscoveryagent + tst_qbluetoothserviceinfo + tst_qlowenergycharacteristic #976294 + tst_qlowenergycontroller + tst_qlowenergydescriptor #976294 +) + +src_prepare() { + qt6-build_src_prepare + + use bluetooth || + cmake_comment_add_subdirectory -f src/CMakeLists.txt bluetooth + use nfc || + cmake_comment_add_subdirectory -f src/CMakeLists.txt nfc +} + +src_configure() { + local mycmakeargs=( + $(usev nfc " + $(qt_feature neard) + $(qt_feature smartcard pcsclite) + ") + ) + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + # broken (unnecessary) symlink due to add_app() being used over add_tool() + use !bluetooth || rm -- "${ED}"/usr/bin/sdpscanner6 || die + + if use test; then + local delete=( # sigh + "${D}${QT6_BINDIR}"/bluetoothtestdevice + "${D}${QT6_BINDIR}"/bttestui + "${D}${QT6_BINDIR}"/qlecontroller-server + ) + # using -f given not tracking which tests may be skipped or not + rm -f -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtconnectivity/qtconnectivity-6.11.9999.ebuild b/dev-qt/qtconnectivity/qtconnectivity-6.11.9999.ebuild new file mode 100644 index 0000000..79709c8 --- /dev/null +++ b/dev-qt/qtconnectivity/qtconnectivity-6.11.9999.ebuild @@ -0,0 +1,87 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Bluetooth and NFC support library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="+bluetooth neard nfc smartcard" +REQUIRED_USE=" + || ( bluetooth nfc ) + nfc? ( ?? ( neard smartcard ) ) +" + +DEPEND=" + ~dev-qt/qtbase-${PV}:6 + bluetooth? ( + ~dev-qt/qtbase-${PV}:6[dbus,network] + net-wireless/bluez:= + ) + nfc? ( + neard? ( ~dev-qt/qtbase-${PV}:6[dbus] ) + smartcard? ( sys-apps/pcsc-lite ) + ) +" +RDEPEND=" + ${DEPEND} + nfc? ( + neard? ( net-wireless/neard ) + ) +" + +CMAKE_SKIP_TESTS=( + # most hardware tests are auto-skipped, but some still misbehave + # if bluez/hardware is available (generally tests here may not be + # very relevant without hardware, lists may need to be extended) + tst_qbluetoothdevicediscoveryagent #936485 + tst_qbluetoothlocaldevice + tst_qbluetoothserver + tst_qbluetoothservicediscoveryagent + tst_qbluetoothserviceinfo + tst_qlowenergycharacteristic #976294 + tst_qlowenergycontroller + tst_qlowenergydescriptor #976294 +) + +src_prepare() { + qt6-build_src_prepare + + use bluetooth || + cmake_comment_add_subdirectory -f src/CMakeLists.txt bluetooth + use nfc || + cmake_comment_add_subdirectory -f src/CMakeLists.txt nfc +} + +src_configure() { + local mycmakeargs=( + $(usev nfc " + $(qt_feature neard) + $(qt_feature smartcard pcsclite) + ") + ) + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + # broken (unnecessary) symlink due to add_app() being used over add_tool() + use !bluetooth || rm -- "${ED}"/usr/bin/sdpscanner6 || die + + if use test; then + local delete=( # sigh + "${D}${QT6_BINDIR}"/bluetoothtestdevice + "${D}${QT6_BINDIR}"/bttestui + "${D}${QT6_BINDIR}"/qlecontroller-server + ) + # using -f given not tracking which tests may be skipped or not + rm -f -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtconnectivity/qtconnectivity-6.12.9999.ebuild b/dev-qt/qtconnectivity/qtconnectivity-6.12.9999.ebuild new file mode 100644 index 0000000..79709c8 --- /dev/null +++ b/dev-qt/qtconnectivity/qtconnectivity-6.12.9999.ebuild @@ -0,0 +1,87 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Bluetooth and NFC support library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="+bluetooth neard nfc smartcard" +REQUIRED_USE=" + || ( bluetooth nfc ) + nfc? ( ?? ( neard smartcard ) ) +" + +DEPEND=" + ~dev-qt/qtbase-${PV}:6 + bluetooth? ( + ~dev-qt/qtbase-${PV}:6[dbus,network] + net-wireless/bluez:= + ) + nfc? ( + neard? ( ~dev-qt/qtbase-${PV}:6[dbus] ) + smartcard? ( sys-apps/pcsc-lite ) + ) +" +RDEPEND=" + ${DEPEND} + nfc? ( + neard? ( net-wireless/neard ) + ) +" + +CMAKE_SKIP_TESTS=( + # most hardware tests are auto-skipped, but some still misbehave + # if bluez/hardware is available (generally tests here may not be + # very relevant without hardware, lists may need to be extended) + tst_qbluetoothdevicediscoveryagent #936485 + tst_qbluetoothlocaldevice + tst_qbluetoothserver + tst_qbluetoothservicediscoveryagent + tst_qbluetoothserviceinfo + tst_qlowenergycharacteristic #976294 + tst_qlowenergycontroller + tst_qlowenergydescriptor #976294 +) + +src_prepare() { + qt6-build_src_prepare + + use bluetooth || + cmake_comment_add_subdirectory -f src/CMakeLists.txt bluetooth + use nfc || + cmake_comment_add_subdirectory -f src/CMakeLists.txt nfc +} + +src_configure() { + local mycmakeargs=( + $(usev nfc " + $(qt_feature neard) + $(qt_feature smartcard pcsclite) + ") + ) + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + # broken (unnecessary) symlink due to add_app() being used over add_tool() + use !bluetooth || rm -- "${ED}"/usr/bin/sdpscanner6 || die + + if use test; then + local delete=( # sigh + "${D}${QT6_BINDIR}"/bluetoothtestdevice + "${D}${QT6_BINDIR}"/bttestui + "${D}${QT6_BINDIR}"/qlecontroller-server + ) + # using -f given not tracking which tests may be skipped or not + rm -f -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtconnectivity/qtconnectivity-6.9999.ebuild b/dev-qt/qtconnectivity/qtconnectivity-6.9999.ebuild new file mode 100644 index 0000000..79709c8 --- /dev/null +++ b/dev-qt/qtconnectivity/qtconnectivity-6.9999.ebuild @@ -0,0 +1,87 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Bluetooth and NFC support library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="+bluetooth neard nfc smartcard" +REQUIRED_USE=" + || ( bluetooth nfc ) + nfc? ( ?? ( neard smartcard ) ) +" + +DEPEND=" + ~dev-qt/qtbase-${PV}:6 + bluetooth? ( + ~dev-qt/qtbase-${PV}:6[dbus,network] + net-wireless/bluez:= + ) + nfc? ( + neard? ( ~dev-qt/qtbase-${PV}:6[dbus] ) + smartcard? ( sys-apps/pcsc-lite ) + ) +" +RDEPEND=" + ${DEPEND} + nfc? ( + neard? ( net-wireless/neard ) + ) +" + +CMAKE_SKIP_TESTS=( + # most hardware tests are auto-skipped, but some still misbehave + # if bluez/hardware is available (generally tests here may not be + # very relevant without hardware, lists may need to be extended) + tst_qbluetoothdevicediscoveryagent #936485 + tst_qbluetoothlocaldevice + tst_qbluetoothserver + tst_qbluetoothservicediscoveryagent + tst_qbluetoothserviceinfo + tst_qlowenergycharacteristic #976294 + tst_qlowenergycontroller + tst_qlowenergydescriptor #976294 +) + +src_prepare() { + qt6-build_src_prepare + + use bluetooth || + cmake_comment_add_subdirectory -f src/CMakeLists.txt bluetooth + use nfc || + cmake_comment_add_subdirectory -f src/CMakeLists.txt nfc +} + +src_configure() { + local mycmakeargs=( + $(usev nfc " + $(qt_feature neard) + $(qt_feature smartcard pcsclite) + ") + ) + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + # broken (unnecessary) symlink due to add_app() being used over add_tool() + use !bluetooth || rm -- "${ED}"/usr/bin/sdpscanner6 || die + + if use test; then + local delete=( # sigh + "${D}${QT6_BINDIR}"/bluetoothtestdevice + "${D}${QT6_BINDIR}"/bttestui + "${D}${QT6_BINDIR}"/qlecontroller-server + ) + # using -f given not tracking which tests may be skipped or not + rm -f -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtcore/Manifest b/dev-qt/qtcore/Manifest new file mode 100644 index 0000000..36e646e --- /dev/null +++ b/dev-qt/qtcore/Manifest @@ -0,0 +1,3 @@ +DIST qtbase-5.15-gentoo-patchset-6.tar.xz 8288 BLAKE2B ad9695a528345dd3b8e9ce72b7bdfe8f744f16685a567bbc7862ba6c28e5a426260cb0b73e2573cb3a6f16f1785786898ffb44c90f5d75354b97e5756c7573db SHA512 97bc4d5375e1750a5578439ff320ee2e5e929df1dafe56b4e86f2de8ad26c91dc4002e45ad75d9f936347d49b9f54c0c42f8fc2cb7dfd4f54bf08a210b3bc720 +DIST qtbase-5.15.18-gentoo-kde-1.tar.xz 450532 BLAKE2B 172732fe6a2f7dd4718b224d8a8ba7b182ded24f74ee38545d20a17364757153b399cae82b40f425e72b2587ec432f024868078edfe95280242211a040ddd9f6 SHA512 e0257171cf723cb6208a06f28fc95fa07d1239ea9dd3daa79d362146aa53e008398c9e1d95443b84d6d71b835a3f010b957e748f3ec23b77a588d6b372fd0c47 +DIST qtbase-everywhere-opensource-src-5.15.18.tar.xz 51492796 BLAKE2B a02f13f2ae8d3994fe5e3fa5b3751cb2981c3203cc4f3859dd4398d6a62101772885acb0c7b1f830ba8e9fbdd64ecfdb2a6074bfedd1bd372b4fc9ceb747467d SHA512 d39c831e6f3ddcd6a50f103ff60a0700b451f137782249508b7447a80066e3e9259c9b5038e6077ccf8df06b6afefec232c3c4dd331d85765089c92571708206 diff --git a/dev-qt/qtcore/metadata.xml b/dev-qt/qtcore/metadata.xml new file mode 100644 index 0000000..baa3c87 --- /dev/null +++ b/dev-qt/qtcore/metadata.xml @@ -0,0 +1,20 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Disable syscalls not available on Linux kernels older than 4.11 + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtcore/qtcore-5.15.18.ebuild b/dev-qt/qtcore/qtcore-5.15.18.ebuild new file mode 100644 index 0000000..bd5f1b1 --- /dev/null +++ b/dev-qt/qtcore/qtcore-5.15.18.ebuild @@ -0,0 +1,165 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Looking for Qt 6? It is packaged differently to Qt 5 with different +# package names: https://wiki.gentoo.org/wiki/Project:Qt/Qt6_migration_notes + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=1 + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +QT5_MODULE="qtbase" +inherit linux-info flag-o-matic toolchain-funcs qt5-build + +DESCRIPTION="Cross-platform application development framework" +SLOT=5/${QT5_PV} + +IUSE="icu old-kernel" + +DEPEND=" + dev-libs/double-conversion:= + dev-libs/glib:2 + dev-libs/libpcre2[pcre16,unicode] + virtual/zlib:= + icu? ( dev-libs/icu:= ) + !icu? ( virtual/libiconv ) +" +RDEPEND="${DEPEND} + != -O2, so we need + # to unset F_S first, then explicitly set 2, to negate any default + # and anything set by the user if they're choosing 3 (or if they've + # modified GCC to set 3). + # + # Refs: + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105078 + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105709 + # https://bugreports.qt.io/browse/QTBUG-103782 + # bug #847145 + if tc-enables-fortify-source ; then + # We can't unconditionally do this b/c we fortify needs + # some level of optimisation. + filter-flags -D_FORTIFY_SOURCE=3 + # (Qt doesn't seem to respect CPPFLAGS?) + append-flags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 + fi + + qt5-build_src_prepare + + # workaround for a79a370c (...Annotate-QMutex-...patch) adding a header + qt5_syncqt_version +} + +src_configure() { + local myconf=( + $(qt_use icu) + $(qt_use !icu iconv) + ) + use old-kernel && myconf+=( + -no-feature-renameat2 # needs Linux 3.16, bug 669994 + -no-feature-getentropy # needs Linux 3.17, bug 669994 + -no-feature-statx # needs Linux 4.11, bug 672856 + ) + qt5-build_src_configure +} + +src_install() { + qt5-build_src_install + qt5_symlink_binary_to_path qmake 5 + + local flags=( + DBUS FREETYPE IMAGEFORMAT_JPEG IMAGEFORMAT_PNG + OPENGL OPENSSL SSL WIDGETS + ) + + for flag in ${flags[@]}; do + cat >> "${D}"/${QT5_HEADERDIR}/QtCore/qconfig.h <<- _EOF_ || die + + #if defined(QT_NO_${flag}) && defined(QT_${flag}) + # undef QT_NO_${flag} + #elif !defined(QT_NO_${flag}) && !defined(QT_${flag}) + # define QT_NO_${flag} + #endif + _EOF_ + done +} diff --git a/dev-qt/qtdbus/Manifest b/dev-qt/qtdbus/Manifest new file mode 100644 index 0000000..36e646e --- /dev/null +++ b/dev-qt/qtdbus/Manifest @@ -0,0 +1,3 @@ +DIST qtbase-5.15-gentoo-patchset-6.tar.xz 8288 BLAKE2B ad9695a528345dd3b8e9ce72b7bdfe8f744f16685a567bbc7862ba6c28e5a426260cb0b73e2573cb3a6f16f1785786898ffb44c90f5d75354b97e5756c7573db SHA512 97bc4d5375e1750a5578439ff320ee2e5e929df1dafe56b4e86f2de8ad26c91dc4002e45ad75d9f936347d49b9f54c0c42f8fc2cb7dfd4f54bf08a210b3bc720 +DIST qtbase-5.15.18-gentoo-kde-1.tar.xz 450532 BLAKE2B 172732fe6a2f7dd4718b224d8a8ba7b182ded24f74ee38545d20a17364757153b399cae82b40f425e72b2587ec432f024868078edfe95280242211a040ddd9f6 SHA512 e0257171cf723cb6208a06f28fc95fa07d1239ea9dd3daa79d362146aa53e008398c9e1d95443b84d6d71b835a3f010b957e748f3ec23b77a588d6b372fd0c47 +DIST qtbase-everywhere-opensource-src-5.15.18.tar.xz 51492796 BLAKE2B a02f13f2ae8d3994fe5e3fa5b3751cb2981c3203cc4f3859dd4398d6a62101772885acb0c7b1f830ba8e9fbdd64ecfdb2a6074bfedd1bd372b4fc9ceb747467d SHA512 d39c831e6f3ddcd6a50f103ff60a0700b451f137782249508b7447a80066e3e9259c9b5038e6077ccf8df06b6afefec232c3c4dd331d85765089c92571708206 diff --git a/dev-qt/qtdbus/metadata.xml b/dev-qt/qtdbus/metadata.xml new file mode 100644 index 0000000..3c434f4 --- /dev/null +++ b/dev-qt/qtdbus/metadata.xml @@ -0,0 +1,17 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtdbus/qtdbus-5.15.18.ebuild b/dev-qt/qtdbus/qtdbus-5.15.18.ebuild new file mode 100644 index 0000000..190512c --- /dev/null +++ b/dev-qt/qtdbus/qtdbus-5.15.18.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=1 + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +QT5_MODULE="qtbase" +inherit qt5-build + +DESCRIPTION="Qt5 module for inter-process communication over the D-Bus protocol" + +IUSE="" + +DEPEND=" + =dev-qt/qtcore-${QT5_PV}*:5= + sys-apps/dbus +" +RDEPEND="${DEPEND}" + +QT5_TARGET_SUBDIRS=( + src/dbus + src/tools/qdbusxml2cpp + src/tools/qdbuscpp2xml +) + +QT5_GENTOO_CONFIG=( + :dbus + :dbus-linked: +) + +QT5_GENTOO_PRIVATE_CONFIG=( + :dbus + :dbus-linked +) + +src_configure() { + local myconf=( + -dbus-linked + ) + qt5-build_src_configure +} diff --git a/dev-qt/qtdeclarative/Manifest b/dev-qt/qtdeclarative/Manifest new file mode 100644 index 0000000..f4eb538 --- /dev/null +++ b/dev-qt/qtdeclarative/Manifest @@ -0,0 +1,4 @@ +DIST qtdeclarative-5.15.18-gentoo-kde-1.tar.xz 19304 BLAKE2B ec246d080eeeeeedb3d358c322faf8392cd106ffb6a0cda2ccbe1fd3776e7fdd2d76c8d8cd56e954b8fa11b466a6b6592e6134a8ba771b1433ba74c9fa0e00cd SHA512 f7636a405a0602b476bc4034382b275c14e3e7d166314042c7ea6bfb79f30aba7c79b540c4ec2352bb2e7fbed51b5bab52ddbf6458a579c9ba4fa2d6aad30a55 +DIST qtdeclarative-everywhere-opensource-src-5.15.18.tar.xz 21588352 BLAKE2B 9daf4a86e39db46d12350cc2e17cba1d23c8777a5c3193a76bd66c68ff252c94d616717a4b13cebe25707a6acd42084a1a02d372862d0b0f7418373b267be94b SHA512 73c45c47b5074b6bc1127abb1b3cf1cd751deeb80c2f9c86a675c7323fecf20bd83363fad95803bc72cf494ae4679c1f38a02387363f266c093c707e700c9ea2 +DIST qtdeclarative-everywhere-src-6.10.3.tar.xz 38084496 BLAKE2B acefeb2f998001cd811d4ca62799cb44ed57e743a1198f58fe4d84f920b438496e45bf2cd71d08da83cf566bde09c4b2c284fb655bbcc607fd1c29d4c1c9a809 SHA512 187a525b73595e7c4d89c98be657df4f480114957649813aa9ecd3fba23f56f20c8804f2ab507d83a5fb6120a2c6c36751fe5c80f43f9feb6c3479a733fb6684 +DIST qtdeclarative-everywhere-src-6.11.1.tar.xz 38744644 BLAKE2B ea428a3930276dbf4db912f905aa885971de13f4b35034b6819c93af938d1d36d6b0cc13c3e54c1cd7bb8c375e4744bdd98af1ea9105ced5ad982e6aa550357a SHA512 91d657a33b3bf8fc79f1116561f125b3905b590e94504dcb3e4feead71f209b35b42a9da783d4568f756b22fd7a0e9802e1a9039553d400fe33417562776a1d6 diff --git a/dev-qt/qtdeclarative/files/qtdeclarative-5.14.2-QQuickItemView-fix-maxXY-extent.patch b/dev-qt/qtdeclarative/files/qtdeclarative-5.14.2-QQuickItemView-fix-maxXY-extent.patch new file mode 100644 index 0000000..c9ccb21 --- /dev/null +++ b/dev-qt/qtdeclarative/files/qtdeclarative-5.14.2-QQuickItemView-fix-maxXY-extent.patch @@ -0,0 +1,42 @@ +From cc5387ad22ca503d167fd66e2429107d45b937af Mon Sep 17 00:00:00 2001 +From: David Redondo +Date: Wed, 13 May 2020 11:04:23 +0200 +Subject: [PATCH] QQuickItemView: Fix max(X/Y)Extent() + +QQuickFlickable maxXExtent() and maxYExtent() return the amount of space +that is not shown when inside a ScrollView. QQuickItemView however just +returned width() if vertical and height() if horizontal. In these cases +just defer to the QQuickFlickable base implementation like minXExtent() +and minYExtent() already do. + +Fixes: QTBUG-83890 +Pick-to: 5.15 +Change-Id: I7f4060c2f46ae07611bedceca0d322c5f7f6affb +--- + src/quick/items/qquickitemview.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp +index 7fb392233e4..ab130ac6857 100644 +--- a/src/quick/items/qquickitemview.cpp ++++ b/src/quick/items/qquickitemview.cpp +@@ -1393,7 +1393,7 @@ qreal QQuickItemView::maxYExtent() const + { + Q_D(const QQuickItemView); + if (d->layoutOrientation() == Qt::Horizontal) +- return height(); ++ return QQuickFlickable::maxYExtent(); + + if (d->vData.maxExtentDirty) { + d->maxExtent = d->maxExtentForAxis(d->vData, false); +@@ -1421,7 +1421,7 @@ qreal QQuickItemView::maxXExtent() const + { + Q_D(const QQuickItemView); + if (d->layoutOrientation() == Qt::Vertical) +- return width(); ++ return QQuickFlickable::maxXExtent(); + + if (d->hData.maxExtentDirty) { + d->maxExtent = d->maxExtentForAxis(d->hData, true); +-- +2.16.3 diff --git a/dev-qt/qtdeclarative/files/qtdeclarative-5.15.18-CVE-2025-12385.patch b/dev-qt/qtdeclarative/files/qtdeclarative-5.15.18-CVE-2025-12385.patch new file mode 100644 index 0000000..5d9393b --- /dev/null +++ b/dev-qt/qtdeclarative/files/qtdeclarative-5.15.18-CVE-2025-12385.patch @@ -0,0 +1,91 @@ +From f78bc0b2c6884fd730bf34a931870d67936cf01d Mon Sep 17 00:00:00 2001 +From: Albert Astals Cid +Date: Sun, 7 Dec 2025 11:44:35 +0100 +Subject: [PATCH] Increase robustness of tag in Text component + +For Text.StyledText, there was no protection against tags +with very large widths or heights. This could cause an application +to spend a very long time processing a layout and sometimes crash +if the size was too large. + +We reuse the internal coord limit in QPainter as our maximum size +here, similar to what we do in Qt Svg for instance. + +For Text.RichText, there were no issues in release builds, but in +debug builds, you could trigger an overflow assert when rounding +the number if it exceeded INT_MAX. For this, we simply cap the +width and height at INT_MAX. + +Fixes: QTBUG-141515 +Pick-to: 5.15 +Change-Id: I4bcba16158f5f495a0de38963316effc4c46aae1 +Reviewed-by: Eirik Aavitsland +(cherry picked from commit 4aaf9bf21f7cc69d73066785e254b664fcc82025) +Reviewed-by: Qt Cherry-pick Bot +(cherry picked from commit 907c7ceb7b27586039262567273efd5ec79e6202) +(cherry picked from commit c4b74f27058b302a101befc2c1967f8c00b41be7) + +This is actually a manual patch based on +https://download.qt.io/official_releases/qt/6.5/CVE-2025-12385-qtdeclarative-6.5-0002.diff +--- + src/quick/items/qquicktextdocument.cpp | 4 ++-- + src/quick/util/qquickstyledtext.cpp | 19 +++++++++++++++++-- + 2 files changed, 19 insertions(+), 4 deletions(-) + +diff --git a/src/quick/items/qquicktextdocument.cpp b/src/quick/items/qquicktextdocument.cpp +index 021bbca0f6..67ed63d0de 100644 +--- a/src/quick/items/qquicktextdocument.cpp ++++ b/src/quick/items/qquicktextdocument.cpp +@@ -138,9 +138,9 @@ QSizeF QQuickTextDocumentWithImageResources::intrinsicSize( + if (format.isImageFormat()) { + QTextImageFormat imageFormat = format.toImageFormat(); + +- const int width = qRound(imageFormat.width()); ++ int width = qRound(qBound(qreal(INT_MIN), imageFormat.width(), qreal(INT_MAX))); + const bool hasWidth = imageFormat.hasProperty(QTextFormat::ImageWidth) && width > 0; +- const int height = qRound(imageFormat.height()); ++ const int height = qRound(qBound(qreal(INT_MIN), imageFormat.height(), qreal(INT_MAX))); + const bool hasHeight = imageFormat.hasProperty(QTextFormat::ImageHeight) && height > 0; + + QSizeF size(width, height); +diff --git a/src/quick/util/qquickstyledtext.cpp b/src/quick/util/qquickstyledtext.cpp +index a25af90414..120a2593d3 100644 +--- a/src/quick/util/qquickstyledtext.cpp ++++ b/src/quick/util/qquickstyledtext.cpp +@@ -45,6 +45,11 @@ + #include + #include "qquickstyledtext_p.h" + #include ++#include ++ ++#ifndef QQUICKSTYLEDPARSER_COORD_LIMIT ++# define QQUICKSTYLEDPARSER_COORD_LIMIT QT_RASTER_COORD_LIMIT ++#endif + + Q_LOGGING_CATEGORY(lcStyledText, "qt.quick.styledtext") + +@@ -694,9 +699,19 @@ void QQuickStyledTextPrivate::parseImageAttributes(const QChar *&ch, const QStri + if (attr.first == QLatin1String("src")) { + image->url = QUrl(attr.second.toString()); + } else if (attr.first == QLatin1String("width")) { +- image->size.setWidth(attr.second.toString().toInt()); ++ bool ok; ++ int v = attr.second.toString().toInt(&ok); ++ if (ok && v <= QQUICKSTYLEDPARSER_COORD_LIMIT) ++ image->size.setWidth(v); ++ else ++ qCWarning(lcStyledText) << "Invalid width provided for "; + } else if (attr.first == QLatin1String("height")) { +- image->size.setHeight(attr.second.toString().toInt()); ++ bool ok; ++ int v = attr.second.toString().toInt(&ok); ++ if (ok && v <= QQUICKSTYLEDPARSER_COORD_LIMIT) ++ image->size.setHeight(v); ++ else ++ qCWarning(lcStyledText) << "Invalid height provided for "; + } else if (attr.first == QLatin1String("align")) { + if (attr.second.toString() == QLatin1String("top")) { + image->align = QQuickStyledTextImgTag::Top; +-- +2.52.0 + diff --git a/dev-qt/qtdeclarative/files/qtdeclarative-6.10.3-QTBUG-144701.patch b/dev-qt/qtdeclarative/files/qtdeclarative-6.10.3-QTBUG-144701.patch new file mode 100644 index 0000000..c3ce88d --- /dev/null +++ b/dev-qt/qtdeclarative/files/qtdeclarative-6.10.3-QTBUG-144701.patch @@ -0,0 +1,22 @@ +https://bugs.gentoo.org/973374 +https://codereview.qt-project.org/c/qt%2Fqtdeclarative/+/733089 +--- a/src/qml/qml/qqmltypecompiler.cpp ++++ b/src/qml/qml/qqmltypecompiler.cpp +@@ -919,12 +919,11 @@ + // Apply the ordering in the IR + obj->setFirstAlias(ordered[0]); +- if (ordered[0] == defaultPropertyAlias) +- obj->indexOfDefaultPropertyOrAlias = 0; +- for (qsizetype i = 0, end = ordered.size() - 1; i < end; ++i) { ++ for (qsizetype i = 0, end = ordered.size() - 1; i < end; ++i) + ordered[i]->next = ordered[i + 1]; +- if (ordered[i] == defaultPropertyAlias) +- obj->indexOfDefaultPropertyOrAlias = i; +- } + ordered.last()->next = nullptr; ++ if (defaultPropertyAlias) { ++ auto it = std::find(ordered.constBegin(), ordered.constEnd(), defaultPropertyAlias); ++ obj->indexOfDefaultPropertyOrAlias = std::distance(ordered.constBegin(), it); ++ } + + return true; diff --git a/dev-qt/qtdeclarative/files/qtdeclarative-6.10.3-unity-build.patch b/dev-qt/qtdeclarative/files/qtdeclarative-6.10.3-unity-build.patch new file mode 100644 index 0000000..35eac52 --- /dev/null +++ b/dev-qt/qtdeclarative/files/qtdeclarative-6.10.3-unity-build.patch @@ -0,0 +1,17 @@ +https://codereview.qt-project.org/c/qt/qtdeclarative/+/723105 +--- a/src/qmlcompiler/qqmlsa.cpp ++++ b/src/qmlcompiler/qqmlsa.cpp +@@ -1379,5 +1379,5 @@ + QQmlJSScopesById::MostLikelyCallback result; + PassManagerPrivate::visitor(*d->m_manager)->addressableScopes().possibleScopes( +- id.toString(), QQmlJSScope::scope(context), Default, result); ++ id.toString(), QQmlJSScope::scope(context), QQmlJSScopesByIdOption::Default, result); + return QQmlJSScope::createQQmlSAElement(result.result); + } +@@ -1391,5 +1391,5 @@ + QQmlJSScopesById::MostLikelyCallback result; + PassManagerPrivate::visitor(*d->m_manager)->addressableScopes().possibleIds( +- QQmlJSScope::scope(element), QQmlJSScope::scope(context), Default, result); ++ QQmlJSScope::scope(element), QQmlJSScope::scope(context), QQmlJSScopesByIdOption::Default, result); + return result.result; + } diff --git a/dev-qt/qtdeclarative/files/qtdeclarative-6.11.1-QTBUG-146869.patch b/dev-qt/qtdeclarative/files/qtdeclarative-6.11.1-QTBUG-146869.patch new file mode 100644 index 0000000..695d66c --- /dev/null +++ b/dev-qt/qtdeclarative/files/qtdeclarative-6.11.1-QTBUG-146869.patch @@ -0,0 +1,73 @@ +https://mail.kde.org/pipermail/distributions/2026-May/001692.html +https://bugs.kde.org/show_bug.cgi?id=520252 +https://qt-project.atlassian.net/browse/QTBUG-146869 +--- a/src/qmlmodels/qqmltableinstancemodel.cpp ++++ b/src/qmlmodels/qqmltableinstancemodel.cpp +@@ -166,24 +166,19 @@ + Q_ASSERT(m_delegate); + +- QQmlDelegateModelItem *modelItem = resolveModelItem(index, QModelIndex()); +- if (!modelItem) +- return nullptr; ++ QModelIndex modelIndex; ++ if (const QAbstractItemModel *aim = abstractItemModel()) { ++ // A valid QModelIndex is needed for resolveModelItem() to match ++ // items in the release cache rather than just delegate type alone. ++ const int row = m_adaptorModel.rowAt(index); ++ const int column = m_adaptorModel.columnAt(index); ++ modelIndex = aim->index(row, column); ++ } ++ ++ if (QQmlDelegateModelItem *modelItem = resolveModelItem(index, modelIndex)) { ++ // Return the incubated object, or start an async incubation task and return nullptr for now ++ return incubateModelItemIfNeeded(modelItem, incubationMode); ++ } + +- // Return the incubated object, or start an async incubation task and return nullptr for now +- return incubateModelItemIfNeeded(modelItem, incubationMode); +-} +- +-QObject *QQmlTableInstanceModel::object(const QModelIndex &modelIndex, QQmlIncubator::IncubationMode incubationMode) +-{ +- Q_ASSERT(m_delegate); +- Q_ASSERT(m_adaptorModel.adaptsAim()); +- +- const int flatIndex = m_adaptorModel.indexAt(modelIndex.row(), modelIndex.column()); +- QQmlDelegateModelItem *modelItem = resolveModelItem(flatIndex, modelIndex); +- if (!modelItem) +- return nullptr; +- +- // Return the incubated object, or start an async incubation task and return nullptr for now +- return incubateModelItemIfNeeded(modelItem, incubationMode); ++ return nullptr; + } + +--- a/src/qmlmodels/qqmltableinstancemodel_p.h ++++ b/src/qmlmodels/qqmltableinstancemodel_p.h +@@ -87,5 +87,4 @@ + + QObject *object(int index, QQmlIncubator::IncubationMode incubationMode = QQmlIncubator::AsynchronousIfNested) override; +- QObject *object(const QModelIndex &index, QQmlIncubator::IncubationMode incubationMode = QQmlIncubator::AsynchronousIfNested); + QObject *incubateModelItemIfNeeded(QQmlDelegateModelItem *modelItem, QQmlIncubator::IncubationMode incubationMode); + void restoreFromReleasedItemsCache(QQmlDelegateModelItem *item, int newFlatIndex); +--- a/src/quick/items/qquicktableview.cpp ++++ b/src/quick/items/qquicktableview.cpp +@@ -2827,17 +2827,9 @@ + + bool ownItem = false; +- QObject* object = nullptr; +- const QAbstractItemModel *aim = model->abstractItemModel(); + const int modelRow = isTransposed ? logicalColumnIndex(cell.y()) : logicalRowIndex(cell.y()); + const int modelColumn = isTransposed ? logicalRowIndex(cell.x()) : logicalColumnIndex(cell.x()); + const int modelIndex = modelIndexAtCell(QPoint(modelColumn, modelRow)); + +- if (tableModel && aim) { +- // Prefer loading via QModelIndex so that QQmlTableInstanceModel can also +- // match recently released items by model index, not just by delegate type. +- object = tableModel->object(aim->index(modelRow, modelColumn), incubationMode); +- } else { +- object = model->object(modelIndex, incubationMode); +- } ++ QObject *object = model->object(modelIndex, incubationMode); + + if (!object) { diff --git a/dev-qt/qtdeclarative/metadata.xml b/dev-qt/qtdeclarative/metadata.xml new file mode 100644 index 0000000..345fbd2 --- /dev/null +++ b/dev-qt/qtdeclarative/metadata.xml @@ -0,0 +1,26 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Build the LocalStorage import for QtQuick (requires QtSql) + Enable QtNetwork support + Enable OpenGL support + Build the qmlls tool using dev-qt/qtlanguageserver + Enable QtSQL support + Enable QtWidgets support + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtdeclarative + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtdeclarative/qtdeclarative-5.15.18-r1.ebuild b/dev-qt/qtdeclarative/qtdeclarative-5.15.18-r1.ebuild new file mode 100644 index 0000000..a7e398b --- /dev/null +++ b/dev-qt/qtdeclarative/qtdeclarative-5.15.18-r1.ebuild @@ -0,0 +1,69 @@ +# Copyright 2009-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=1 + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +PYTHON_COMPAT=( python3_{11..14} ) +inherit flag-o-matic python-any-r1 qt5-build + +DESCRIPTION="The QML and Quick modules for the Qt5 framework" + +IUSE="cpu_flags_x86_sse2 gles2-only +jit localstorage vulkan +widgets" +REQUIRED_USE="jit? ( x86? ( cpu_flags_x86_sse2 ) )" + +# qtgui[gles2-only=] is needed because of bug 504322 +DEPEND=" + =dev-qt/qtcore-${QT5_PV}* + =dev-qt/qtgui-${QT5_PV}*:5=[gles2-only=,vulkan=] + =dev-qt/qtnetwork-${QT5_PV}* + =dev-qt/qttest-${QT5_PV}* + media-libs/libglvnd + localstorage? ( =dev-qt/qtsql-${QT5_PV}* ) + widgets? ( =dev-qt/qtwidgets-${QT5_PV}*[gles2-only=] ) +" +RDEPEND="${DEPEND}" +BDEPEND="${PYTHON_DEPS}" + +PATCHES=( + "${FILESDIR}/${PN}-5.14.2-QQuickItemView-fix-maxXY-extent.patch" # QTBUG-83890 + "${FILESDIR}/${P}-CVE-2025-12385.patch" # bug 966269, QTBUG-141515 +) + +src_prepare() { + qt_use_disable_mod localstorage sql \ + src/imports/imports.pro + + qt_use_disable_mod widgets widgets \ + src/src.pro \ + src/qmltest/qmltest.pro \ + tests/auto/auto.pro \ + tools/tools.pro \ + tools/qmlscene/qmlscene.pro \ + tools/qml/qml.pro + + qt5-build_src_prepare +} + +src_configure() { + replace-flags "-Os" "-O2" # bug 840861 + + local myqmakeargs=( + -- + -qml-debug + $(qt_use jit feature-qml-jit) + ) + qt5-build_src_configure +} + +src_install() { + qt5-build_src_install + qt5_symlink_binary_to_path qml 5 + qt5_symlink_binary_to_path qmleasing 5 + qt5_symlink_binary_to_path qmlpreview 5 + qt5_symlink_binary_to_path qmlscene 5 +} diff --git a/dev-qt/qtdeclarative/qtdeclarative-6.10.3-r1.ebuild b/dev-qt/qtdeclarative/qtdeclarative-6.10.3-r1.ebuild new file mode 100644 index 0000000..b34188a --- /dev/null +++ b/dev-qt/qtdeclarative/qtdeclarative-6.10.3-r1.ebuild @@ -0,0 +1,65 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +QT6_HAS_STATIC_LIBS=1 +# behaves very badly when qtdeclarative is not already installed, also +# other more minor issues (installs junk, sandbox/offscreen issues) +QT6_RESTRICT_TESTS=1 +inherit python-any-r1 qt6-build + +DESCRIPTION="Qt Declarative (Quick 2)" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="accessibility +jit +network opengl qmlls +sql +ssl svg vulkan +widgets" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[accessibility=,gui,network=,opengl=,sql?,ssl?,vulkan=,widgets=] + qmlls? ( ~dev-qt/qtlanguageserver-${PV}:6 ) + svg? ( ~dev-qt/qtsvg-${PV}:6 ) +" +DEPEND=" + ${RDEPEND} + vulkan? ( dev-util/vulkan-headers ) +" +BDEPEND=" + ${PYTHON_DEPS} + ~dev-qt/qtshadertools-${PV}:6 +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.10.3-unity-build.patch + "${FILESDIR}"/${PN}-6.10.3-QTBUG-144701.patch +) + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qmlls Qt6LanguageServerPrivate) + $(cmake_use_find_package sql Qt6Sql) + $(cmake_use_find_package svg Qt6Svg) + $(qt_feature jit qml_jit) + $(qt_feature network qml_network) + $(qt_feature ssl qml_ssl) + ) + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + if [[ ! -e ${D}${QT6_LIBDIR}/libQt6QuickControls2.so.6 ]]; then #940675 + eerror "${CATEGORY}/${PF} seems to have been improperly built and" + eerror "install was aborted to protect the system. Possibly(?) due" + eerror "to a rare portage ordering bug. If using portage, try:" + eerror " emerge -1 qtshadertools:6 qtdeclarative:6" + eerror "If that did not resolve the issue, please provide build.log" + eerror "on https://bugs.gentoo.org/940675" + die "aborting due to incomplete/broken build (see above)" + fi +} diff --git a/dev-qt/qtdeclarative/qtdeclarative-6.11.1-r1.ebuild b/dev-qt/qtdeclarative/qtdeclarative-6.11.1-r1.ebuild new file mode 100644 index 0000000..7c82745 --- /dev/null +++ b/dev-qt/qtdeclarative/qtdeclarative-6.11.1-r1.ebuild @@ -0,0 +1,64 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..14} ) +QT6_HAS_STATIC_LIBS=1 +# behaves very badly when qtdeclarative is not already installed, also +# other more minor issues (installs junk, sandbox/offscreen issues) +QT6_RESTRICT_TESTS=1 +inherit python-any-r1 qt6-build + +DESCRIPTION="Qt Declarative (Quick 2)" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="accessibility +jit +network opengl qmlls +sql +ssl svg vulkan +widgets" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[accessibility=,gui,network=,opengl=,sql?,ssl?,vulkan=,widgets=] + qmlls? ( ~dev-qt/qtlanguageserver-${PV}:6 ) + svg? ( ~dev-qt/qtsvg-${PV}:6 ) +" +DEPEND=" + ${RDEPEND} + vulkan? ( dev-util/vulkan-headers ) +" +BDEPEND=" + ${PYTHON_DEPS} + ~dev-qt/qtshadertools-${PV}:6 +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.11.1-QTBUG-146869.patch +) + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qmlls Qt6LanguageServerPrivate) + $(cmake_use_find_package sql Qt6Sql) + $(cmake_use_find_package svg Qt6Svg) + $(qt_feature jit qml_jit) + $(qt_feature network qml_network) + $(qt_feature ssl qml_ssl) + ) + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + if [[ ! -e ${D}${QT6_LIBDIR}/libQt6QuickControls2.so.6 ]]; then #940675 + eerror "${CATEGORY}/${PF} seems to have been improperly built and" + eerror "install was aborted to protect the system. Possibly(?) due" + eerror "to a rare portage ordering bug. If using portage, try:" + eerror " emerge -1 qtshadertools:6 qtdeclarative:6" + eerror "If that did not resolve the issue, please provide build.log" + eerror "on https://bugs.gentoo.org/940675" + die "aborting due to incomplete/broken build (see above)" + fi +} diff --git a/dev-qt/qtdeclarative/qtdeclarative-6.11.9999.ebuild b/dev-qt/qtdeclarative/qtdeclarative-6.11.9999.ebuild new file mode 100644 index 0000000..eb34cbc --- /dev/null +++ b/dev-qt/qtdeclarative/qtdeclarative-6.11.9999.ebuild @@ -0,0 +1,60 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +QT6_HAS_STATIC_LIBS=1 +# behaves very badly when qtdeclarative is not already installed, also +# other more minor issues (installs junk, sandbox/offscreen issues) +QT6_RESTRICT_TESTS=1 +inherit python-any-r1 qt6-build + +DESCRIPTION="Qt Declarative (Quick 2)" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="accessibility +jit +network opengl qmlls +sql +ssl svg vulkan +widgets" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[accessibility=,gui,network=,opengl=,sql?,ssl?,vulkan=,widgets=] + qmlls? ( ~dev-qt/qtlanguageserver-${PV}:6 ) + svg? ( ~dev-qt/qtsvg-${PV}:6 ) +" +DEPEND=" + ${RDEPEND} + vulkan? ( dev-util/vulkan-headers ) +" +BDEPEND=" + ${PYTHON_DEPS} + ~dev-qt/qtshadertools-${PV}:6 +" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qmlls Qt6LanguageServerPrivate) + $(cmake_use_find_package sql Qt6Sql) + $(cmake_use_find_package svg Qt6Svg) + $(qt_feature jit qml_jit) + $(qt_feature network qml_network) + $(qt_feature ssl qml_ssl) + ) + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + if [[ ! -e ${D}${QT6_LIBDIR}/libQt6QuickControls2.so.6 ]]; then #940675 + eerror "${CATEGORY}/${PF} seems to have been improperly built and" + eerror "install was aborted to protect the system. Possibly(?) due" + eerror "to a rare portage ordering bug. If using portage, try:" + eerror " emerge -1 qtshadertools:6 qtdeclarative:6" + eerror "If that did not resolve the issue, please provide build.log" + eerror "on https://bugs.gentoo.org/940675" + die "aborting due to incomplete/broken build (see above)" + fi +} diff --git a/dev-qt/qtdeclarative/qtdeclarative-6.12.9999.ebuild b/dev-qt/qtdeclarative/qtdeclarative-6.12.9999.ebuild new file mode 100644 index 0000000..40fff60 --- /dev/null +++ b/dev-qt/qtdeclarative/qtdeclarative-6.12.9999.ebuild @@ -0,0 +1,60 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +QT6_HAS_STATIC_LIBS=1 +# behaves very badly when qtdeclarative is not already installed, also +# other more minor issues (installs junk, sandbox/offscreen issues) +QT6_RESTRICT_TESTS=1 +inherit python-any-r1 qt6-build + +DESCRIPTION="Qt Declarative (Quick 2)" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="accessibility +jit +network opengl qmlls +sql +ssl svg vulkan +widgets" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[accessibility=,gui,network=,opengl=,sql?,ssl?,vulkan=,widgets=] + qmlls? ( ~dev-qt/qtlanguageserver-${PV}:6 ) + svg? ( ~dev-qt/qtsvg-${PV}:6 ) +" +DEPEND=" + ${RDEPEND} + vulkan? ( dev-util/vulkan-headers ) +" +BDEPEND=" + ${PYTHON_DEPS} + ~dev-qt/qtshadertools-${PV}:6 +" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qmlls Qt6LanguageServerPrivate) + $(cmake_use_find_package sql Qt6Sql) + $(cmake_use_find_package svg Qt6Svg) + $(qt_feature jit qml_jit) + $(qt_feature network qml_network) + $(qt_feature ssl qml_ssl) + ) + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + if [[ ! -e ${D}${QT6_LIBDIR}/libQt6QuickControls2.so.6 ]]; then #940675 + eerror "${CATEGORY}/${PF} seems to have been improperly built and" + eerror "install was aborted to protect the system. Possibly(?) due" + eerror "to a rare portage ordering bug. If using portage, try:" + eerror " emerge -1 qtshadertools:6 qtdeclarative:6" + eerror "If that did not resolve the issue, please provide build.log" + eerror "on https://bugs.gentoo.org/940675" + die "aborting due to incomplete/broken build (see above)" + fi +} diff --git a/dev-qt/qtdeclarative/qtdeclarative-6.9999.ebuild b/dev-qt/qtdeclarative/qtdeclarative-6.9999.ebuild new file mode 100644 index 0000000..eb34cbc --- /dev/null +++ b/dev-qt/qtdeclarative/qtdeclarative-6.9999.ebuild @@ -0,0 +1,60 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +QT6_HAS_STATIC_LIBS=1 +# behaves very badly when qtdeclarative is not already installed, also +# other more minor issues (installs junk, sandbox/offscreen issues) +QT6_RESTRICT_TESTS=1 +inherit python-any-r1 qt6-build + +DESCRIPTION="Qt Declarative (Quick 2)" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="accessibility +jit +network opengl qmlls +sql +ssl svg vulkan +widgets" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[accessibility=,gui,network=,opengl=,sql?,ssl?,vulkan=,widgets=] + qmlls? ( ~dev-qt/qtlanguageserver-${PV}:6 ) + svg? ( ~dev-qt/qtsvg-${PV}:6 ) +" +DEPEND=" + ${RDEPEND} + vulkan? ( dev-util/vulkan-headers ) +" +BDEPEND=" + ${PYTHON_DEPS} + ~dev-qt/qtshadertools-${PV}:6 +" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qmlls Qt6LanguageServerPrivate) + $(cmake_use_find_package sql Qt6Sql) + $(cmake_use_find_package svg Qt6Svg) + $(qt_feature jit qml_jit) + $(qt_feature network qml_network) + $(qt_feature ssl qml_ssl) + ) + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + if [[ ! -e ${D}${QT6_LIBDIR}/libQt6QuickControls2.so.6 ]]; then #940675 + eerror "${CATEGORY}/${PF} seems to have been improperly built and" + eerror "install was aborted to protect the system. Possibly(?) due" + eerror "to a rare portage ordering bug. If using portage, try:" + eerror " emerge -1 qtshadertools:6 qtdeclarative:6" + eerror "If that did not resolve the issue, please provide build.log" + eerror "on https://bugs.gentoo.org/940675" + die "aborting due to incomplete/broken build (see above)" + fi +} diff --git a/dev-qt/qtgraphicaleffects/Manifest b/dev-qt/qtgraphicaleffects/Manifest new file mode 100644 index 0000000..9d04e1d --- /dev/null +++ b/dev-qt/qtgraphicaleffects/Manifest @@ -0,0 +1 @@ +DIST qtgraphicaleffects-everywhere-opensource-src-5.15.18.tar.xz 14021560 BLAKE2B 20c197be8ef578bc06bbf229daa0f62061f379728a064acf18d447e51df5f4e51d06d9a61f00ac7c39a582c906a1874576f8f3787595f7fe0cfb90a190e2d12e SHA512 6fff9181d8d0a4f55987e2b219d35adf4db28429206e4ec0572a03664c155aea046a08a1d820fbc5d27f9f3ec4c60768823959c5839766ab2768f64c440273da diff --git a/dev-qt/qtgraphicaleffects/metadata.xml b/dev-qt/qtgraphicaleffects/metadata.xml new file mode 100644 index 0000000..3c434f4 --- /dev/null +++ b/dev-qt/qtgraphicaleffects/metadata.xml @@ -0,0 +1,17 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtgraphicaleffects/qtgraphicaleffects-5.15.18.ebuild b/dev-qt/qtgraphicaleffects/qtgraphicaleffects-5.15.18.ebuild new file mode 100644 index 0000000..46119e1 --- /dev/null +++ b/dev-qt/qtgraphicaleffects/qtgraphicaleffects-5.15.18.ebuild @@ -0,0 +1,22 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VIRTUALX_REQUIRED="test" +inherit qt5-build + +DESCRIPTION="Set of QML types for adding visual effects to user interfaces" + +if [[ ${QT5_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="" + +RDEPEND=" + =dev-qt/qtcore-${QT5_PV}* + =dev-qt/qtdeclarative-${QT5_PV}* + =dev-qt/qtgui-${QT5_PV}* +" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtgraphs/Manifest b/dev-qt/qtgraphs/Manifest new file mode 100644 index 0000000..7de8866 --- /dev/null +++ b/dev-qt/qtgraphs/Manifest @@ -0,0 +1,2 @@ +DIST qtgraphs-everywhere-src-6.10.3.tar.xz 5285932 BLAKE2B 9de23a828d4d5dddf540ecec681ef7e50551adaeed256cfaf8f87d4622fd6bc918063269755608f3649eb7dcd2f7605c64b3c160c7a5ce242def21f6471955c7 SHA512 340026e2a1ea40e21a51ad3f6a5da10028afe8c945656eb4227f0e90ed50beb4ce39d747127a9f93a696c08c320d5917c383e3147551e0bd27209b44c05d93b9 +DIST qtgraphs-everywhere-src-6.11.1.tar.xz 9285696 BLAKE2B a1051a426811963188db900c0c409259d036b5ef6d66923ce690c7ec990fa99185b4389764e431bd4d4679ccab737b64e362da7e25ff89706c3d16c5128f241b SHA512 e9fef9b7f65c51ee3076e269fc5b8ed139ecf01295dd7e8d763e380ded1935f6224d3e7957a2ca705877aac83647a49c74573dd69ab067b49535454148fa313b diff --git a/dev-qt/qtgraphs/files/qtgraphs-6.11.0-no-quick3d.patch b/dev-qt/qtgraphs/files/qtgraphs-6.11.0-no-quick3d.patch new file mode 100644 index 0000000..dfe490e --- /dev/null +++ b/dev-qt/qtgraphs/files/qtgraphs-6.11.0-no-quick3d.patch @@ -0,0 +1,7 @@ +https://bugs.gentoo.org/972717 +https://qt-project.atlassian.net/browse/QTBUG-145607 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -20 +20 @@ +-find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS Core Quick Gui Widgets QuickTest QuickWidgets Test Quick3D QuickShapesPrivate PrintSupport) ++find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS Core Quick Gui Widgets QuickTest QuickWidgets Test ShaderTools Quick3D QuickShapesPrivate PrintSupport) diff --git a/dev-qt/qtgraphs/metadata.xml b/dev-qt/qtgraphs/metadata.xml new file mode 100644 index 0000000..c17780f --- /dev/null +++ b/dev-qt/qtgraphs/metadata.xml @@ -0,0 +1,21 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtgraphs + + + Enable support for 3D graphs using dev-qt/qtquick3d + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtgraphs/qtgraphs-6.10.3.ebuild b/dev-qt/qtgraphs/qtgraphs-6.10.3.ebuild new file mode 100644 index 0000000..92483bd --- /dev/null +++ b/dev-qt/qtgraphs/qtgraphs-6.10.3.ebuild @@ -0,0 +1,37 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Graphs component library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64" +fi + +IUSE="quick3d" + +# note: widgets is only used with quick3d and is technically optional, +# but the top level CMakeLists.txt requires through assertTargets() +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui,widgets] + ~dev-qt/qtdeclarative-${PV}:6 + quick3d? ( ~dev-qt/qtquick3d-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # hangs+timeout with offscreen rendering + tst_qgqmltest +) + +src_configure() { + local mycmakeargs=( + # simpler than keeping track of and disabling every graphs-3d* features + $(cmake_use_find_package quick3d Qt6Quick3D) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtgraphs/qtgraphs-6.11.1.ebuild b/dev-qt/qtgraphs/qtgraphs-6.11.1.ebuild new file mode 100644 index 0000000..03c5d98 --- /dev/null +++ b/dev-qt/qtgraphs/qtgraphs-6.11.1.ebuild @@ -0,0 +1,41 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Graphs component library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64" +fi + +IUSE="quick3d" + +# note: widgets is only used with quick3d and is technically optional, +# but the top level CMakeLists.txt requires through assertTargets() +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui,widgets] + ~dev-qt/qtdeclarative-${PV}:6 + quick3d? ( ~dev-qt/qtquick3d-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # hangs+timeout with offscreen rendering + tst_qgqmltest +) + +PATCHES=( + "${FILESDIR}"/${PN}-6.11.0-no-quick3d.patch +) + +src_configure() { + local mycmakeargs=( + # simpler than keeping track of and disabling every graphs-3d* features + $(cmake_use_find_package quick3d Qt6Quick3D) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtgraphs/qtgraphs-6.11.9999.ebuild b/dev-qt/qtgraphs/qtgraphs-6.11.9999.ebuild new file mode 100644 index 0000000..94b9ea9 --- /dev/null +++ b/dev-qt/qtgraphs/qtgraphs-6.11.9999.ebuild @@ -0,0 +1,41 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Graphs component library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64" +fi + +IUSE="quick3d" + +# note: widgets is only used with quick3d and is technically optional, +# but the top level CMakeLists.txt requires through assertTargets() +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui,widgets] + ~dev-qt/qtdeclarative-${PV}:6 + quick3d? ( ~dev-qt/qtquick3d-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # hangs+timeout with offscreen rendering + tst_qgqmltest +) + +PATCHES=( + "${FILESDIR}"/${PN}-6.11.0-no-quick3d.patch +) + +src_configure() { + local mycmakeargs=( + # simpler than keeping track of and disabling every graphs-3d* features + $(cmake_use_find_package quick3d Qt6Quick3D) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtgraphs/qtgraphs-6.12.9999.ebuild b/dev-qt/qtgraphs/qtgraphs-6.12.9999.ebuild new file mode 100644 index 0000000..0e4bee6 --- /dev/null +++ b/dev-qt/qtgraphs/qtgraphs-6.12.9999.ebuild @@ -0,0 +1,39 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Graphs component library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64" +fi + +IUSE="quick3d" + +# note: widgets is only used with quick3d and is technically optional, +# but the top level CMakeLists.txt requires through assertTargets() +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui,widgets] + ~dev-qt/qtdeclarative-${PV}:6 + quick3d? ( ~dev-qt/qtquick3d-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # hangs+timeout with offscreen rendering + tst_qgqmltest +) + +src_configure() { + local mycmakeargs=( + # simpler than keeping track of and disabling every graphs-3d* features + $(cmake_use_find_package quick3d Qt6Quick3D) + # not packaged yet, and Qt disables it by default for now + -DQT_FEATURE_graphs_2d_high_performance_backend=OFF + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtgraphs/qtgraphs-6.9999.ebuild b/dev-qt/qtgraphs/qtgraphs-6.9999.ebuild new file mode 100644 index 0000000..0e4bee6 --- /dev/null +++ b/dev-qt/qtgraphs/qtgraphs-6.9999.ebuild @@ -0,0 +1,39 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Graphs component library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64" +fi + +IUSE="quick3d" + +# note: widgets is only used with quick3d and is technically optional, +# but the top level CMakeLists.txt requires through assertTargets() +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui,widgets] + ~dev-qt/qtdeclarative-${PV}:6 + quick3d? ( ~dev-qt/qtquick3d-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # hangs+timeout with offscreen rendering + tst_qgqmltest +) + +src_configure() { + local mycmakeargs=( + # simpler than keeping track of and disabling every graphs-3d* features + $(cmake_use_find_package quick3d Qt6Quick3D) + # not packaged yet, and Qt disables it by default for now + -DQT_FEATURE_graphs_2d_high_performance_backend=OFF + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtgui/Manifest b/dev-qt/qtgui/Manifest new file mode 100644 index 0000000..36e646e --- /dev/null +++ b/dev-qt/qtgui/Manifest @@ -0,0 +1,3 @@ +DIST qtbase-5.15-gentoo-patchset-6.tar.xz 8288 BLAKE2B ad9695a528345dd3b8e9ce72b7bdfe8f744f16685a567bbc7862ba6c28e5a426260cb0b73e2573cb3a6f16f1785786898ffb44c90f5d75354b97e5756c7573db SHA512 97bc4d5375e1750a5578439ff320ee2e5e929df1dafe56b4e86f2de8ad26c91dc4002e45ad75d9f936347d49b9f54c0c42f8fc2cb7dfd4f54bf08a210b3bc720 +DIST qtbase-5.15.18-gentoo-kde-1.tar.xz 450532 BLAKE2B 172732fe6a2f7dd4718b224d8a8ba7b182ded24f74ee38545d20a17364757153b399cae82b40f425e72b2587ec432f024868078edfe95280242211a040ddd9f6 SHA512 e0257171cf723cb6208a06f28fc95fa07d1239ea9dd3daa79d362146aa53e008398c9e1d95443b84d6d71b835a3f010b957e748f3ec23b77a588d6b372fd0c47 +DIST qtbase-everywhere-opensource-src-5.15.18.tar.xz 51492796 BLAKE2B a02f13f2ae8d3994fe5e3fa5b3751cb2981c3203cc4f3859dd4398d6a62101772885acb0c7b1f830ba8e9fbdd64ecfdb2a6074bfedd1bd372b4fc9ceb747467d SHA512 d39c831e6f3ddcd6a50f103ff60a0700b451f137782249508b7447a80066e3e9259c9b5038e6077ccf8df06b6afefec232c3c4dd331d85765089c92571708206 diff --git a/dev-qt/qtgui/metadata.xml b/dev-qt/qtgui/metadata.xml new file mode 100644 index 0000000..fbc9562 --- /dev/null +++ b/dev-qt/qtgui/metadata.xml @@ -0,0 +1,28 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Build the EGL Full Screen/Single Surface platform plugin + Enable support for input devices via evdev + Build the IBus input method plugin + Enable support for input devices via dev-libs/libinput + Enable Linux framebuffer support for embedded devices + Enable support for touchscreen devices via x11-libs/tslib + Build plugin to receive touch events over the TUIO protocol + Provide dev-qt/qtwayland to ensure Qt applications can be run as Wayland clients + Build the XCB platform plugin and enable X11 integration + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtgui/qtgui-5.15.18-r1.ebuild b/dev-qt/qtgui/qtgui-5.15.18-r1.ebuild new file mode 100644 index 0000000..b1e90e3 --- /dev/null +++ b/dev-qt/qtgui/qtgui-5.15.18-r1.ebuild @@ -0,0 +1,184 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Looking for Qt 6? It is packaged differently to Qt 5 with different +# package names: https://wiki.gentoo.org/wiki/Project:Qt/Qt6_migration_notes + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=1 + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +QT5_MODULE="qtbase" +inherit qt5-build + +DESCRIPTION="The GUI module and platform plugins for the Qt5 framework" + +SLOT=5/${QT5_PV} # bug 707658 +IUSE="accessibility dbus egl eglfs evdev gles2-only ibus jpeg +libinput + linuxfb +png tslib tuio +udev vnc vulkan wayland +X" +REQUIRED_USE=" + || ( eglfs linuxfb vnc wayland X ) + accessibility? ( dbus X ) + eglfs? ( egl ) + ibus? ( dbus ) + libinput? ( udev ) + X? ( gles2-only? ( egl ) ) +" + +RDEPEND=" + dev-libs/glib:2 + dev-libs/md4c + =dev-qt/qtcore-${QT5_PV}*:5= + dev-util/gtk-update-icon-cache + media-libs/fontconfig + media-libs/freetype:2 + media-libs/harfbuzz:= + virtual/zlib:= + accessibility? ( app-accessibility/at-spi2-core:2 ) + dbus? ( =dev-qt/qtdbus-${QT5_PV}* ) + eglfs? ( + media-libs/mesa[gbm(+)] + x11-libs/libdrm + ) + evdev? ( sys-libs/mtdev ) + jpeg? ( media-libs/libjpeg-turbo:= ) + gles2-only? ( media-libs/libglvnd ) + !gles2-only? ( media-libs/libglvnd[X] ) + libinput? ( + dev-libs/libinput:= + x11-libs/libxkbcommon + ) + png? ( media-libs/libpng:= ) + tslib? ( >=x11-libs/tslib-1.21 ) + tuio? ( =dev-qt/qtnetwork-${QT5_PV}* ) + udev? ( virtual/libudev:= ) + vnc? ( =dev-qt/qtnetwork-${QT5_PV}* ) + vulkan? ( dev-util/vulkan-headers ) + X? ( + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libxcb:= + x11-libs/libxkbcommon[X] + x11-libs/xcb-util-image + x11-libs/xcb-util-keysyms + x11-libs/xcb-util-renderutil + x11-libs/xcb-util-wm + ) +" +DEPEND="${RDEPEND} + evdev? ( sys-kernel/linux-headers ) + linuxfb? ( sys-kernel/linux-headers ) + udev? ( sys-kernel/linux-headers ) + X? ( x11-base/xorg-proto ) +" +PDEPEND=" + ibus? ( app-i18n/ibus ) + wayland? ( =dev-qt/qtwayland-${QT5_PV}* ) +" + +QT5_TARGET_SUBDIRS=( + src/tools/qvkgen + src/gui + src/openglextensions + src/platformheaders + src/platformsupport + src/plugins/generic + src/plugins/imageformats + src/plugins/platforms + src/plugins/platforminputcontexts +) + +QT5_GENTOO_CONFIG=( + accessibility:accessibility-atspi-bridge + egl:egl: + eglfs:eglfs: + eglfs:eglfs_egldevice: + eglfs:eglfs_gbm: + evdev:evdev: + evdev:mtdev: + :fontconfig: + :system-freetype:FREETYPE + !:no-freetype: + gles2-only::OPENGL_ES + gles2-only:opengles2:OPENGL_ES_2 + !:no-gui: + :system-harfbuzz: + !:no-harfbuzz: + jpeg:system-jpeg:IMAGEFORMAT_JPEG + !jpeg:no-jpeg: + libinput + libinput:xkbcommon: + :opengl + png:png: + png:system-png:IMAGEFORMAT_PNG + !png:no-png: + tslib:tslib: + udev:libudev: + vulkan:vulkan: + X:xcb: + X:xcb-glx: + X:xcb-plugin: + X:xcb-render: + X:xcb-sm: + X:xcb-xlib: + X:xcb-xinput: +) + +QT5_GENTOO_PRIVATE_CONFIG=( + :gui +) + +src_prepare() { + # don't add -O3 to CXXFLAGS, bug 549140 + sed -i -e '/CONFIG\s*+=/s/optimize_full//' src/gui/gui.pro || die + + # egl_x11 is activated when both egl and X are enabled + use egl && QT5_GENTOO_CONFIG+=(X:egl_x11:) || QT5_GENTOO_CONFIG+=(egl:egl_x11:) + + qt_use_disable_config dbus dbus \ + src/platformsupport/themes/genericunix/genericunix.pri + + qt_use_disable_config tuio tuiotouch src/plugins/generic/generic.pro + + qt_use_disable_mod ibus dbus \ + src/plugins/platforminputcontexts/platforminputcontexts.pro + + use vnc || sed -i -e '/SUBDIRS += vnc/d' \ + src/plugins/platforms/platforms.pro || die + + qt5-build_src_prepare +} + +src_configure() { + local myconf=( + $(qt_use accessibility feature-accessibility-atspi-bridge) + $(usev dbus -dbus-linked) + $(qt_use egl) + $(qt_use eglfs) + $(usev eglfs '-gbm -kms') + $(qt_use evdev) + $(qt_use evdev mtdev) + -fontconfig + -system-freetype + -gui + -system-harfbuzz + $(qt_use jpeg libjpeg system) + $(qt_use libinput) + $(qt_use linuxfb) + -opengl $(usex gles2-only es2 desktop) + $(qt_use png libpng system) + $(qt_use tslib) + $(qt_use udev libudev) + $(qt_use vulkan) + $(qt_use X xcb) + $(usev X '-xcb-xlib') + ) + if use libinput || use X; then + myconf+=( -xkbcommon ) + fi + qt5-build_src_configure +} diff --git a/dev-qt/qthttpserver/Manifest b/dev-qt/qthttpserver/Manifest new file mode 100644 index 0000000..3b8f01f --- /dev/null +++ b/dev-qt/qthttpserver/Manifest @@ -0,0 +1,2 @@ +DIST qthttpserver-everywhere-src-6.10.3.tar.xz 178752 BLAKE2B 4f1fe760b0b38bf3b48cc92f4ac478983d7d850dd7dd4392a1510a0dd2d7cd009d74574c03f5a06235ee088d8304854ff001d51b95cc9575ab76141b89607032 SHA512 3f79281cef45ad650d81ffae2100da5a136e62ba2bbf47156461591554a0078685ac7a4493ecd5e3a341a2765bfee345d745df11b662a29d6dcba377aff4b420 +DIST qthttpserver-everywhere-src-6.11.1.tar.xz 185072 BLAKE2B 1a8a6150754b4060c07b5da265f42b2f982ca58c24660cdb98f9b2ebcd1b1a98e05e9d567e475263a5284b8b322b41f3b9d5263412d3da35f51e1a8080954d0d SHA512 e80fc75df50b4f79ad17b1bda49ecda9ed5020cdc327ec20946e45b4c61eec3070903b53d5faadc5c6b9b72e3deab53b0d0e9b6cbc8853d7255f4929ce5acbcf diff --git a/dev-qt/qthttpserver/metadata.xml b/dev-qt/qthttpserver/metadata.xml new file mode 100644 index 0000000..f7948be --- /dev/null +++ b/dev-qt/qthttpserver/metadata.xml @@ -0,0 +1,21 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Enable websockets support using dev-qt/qtwebsockets + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qthttpserver + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qthttpserver/qthttpserver-6.10.3.ebuild b/dev-qt/qthttpserver/qthttpserver-6.10.3.ebuild new file mode 100644 index 0000000..a97817d --- /dev/null +++ b/dev-qt/qthttpserver/qthttpserver-6.10.3.ebuild @@ -0,0 +1,31 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="HTTP server functionality for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm64 ~loong ppc64 x86" +fi + +IUSE="+ssl websockets" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network,ssl=] + websockets? ( ~dev-qt/qtwebsockets-${PV}:6 ) +" +DEPEND=" + ${RDEPEND} + test? ( ~dev-qt/qtbase-${PV}:6[concurrent] ) +" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package websockets Qt6WebSockets) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qthttpserver/qthttpserver-6.11.1.ebuild b/dev-qt/qthttpserver/qthttpserver-6.11.1.ebuild new file mode 100644 index 0000000..a97817d --- /dev/null +++ b/dev-qt/qthttpserver/qthttpserver-6.11.1.ebuild @@ -0,0 +1,31 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="HTTP server functionality for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm64 ~loong ppc64 x86" +fi + +IUSE="+ssl websockets" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network,ssl=] + websockets? ( ~dev-qt/qtwebsockets-${PV}:6 ) +" +DEPEND=" + ${RDEPEND} + test? ( ~dev-qt/qtbase-${PV}:6[concurrent] ) +" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package websockets Qt6WebSockets) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qthttpserver/qthttpserver-6.11.9999.ebuild b/dev-qt/qthttpserver/qthttpserver-6.11.9999.ebuild new file mode 100644 index 0000000..18a55cb --- /dev/null +++ b/dev-qt/qthttpserver/qthttpserver-6.11.9999.ebuild @@ -0,0 +1,31 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="HTTP server functionality for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~x86" +fi + +IUSE="+ssl websockets" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network,ssl=] + websockets? ( ~dev-qt/qtwebsockets-${PV}:6 ) +" +DEPEND=" + ${RDEPEND} + test? ( ~dev-qt/qtbase-${PV}:6[concurrent] ) +" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package websockets Qt6WebSockets) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qthttpserver/qthttpserver-6.12.9999.ebuild b/dev-qt/qthttpserver/qthttpserver-6.12.9999.ebuild new file mode 100644 index 0000000..65c4412 --- /dev/null +++ b/dev-qt/qthttpserver/qthttpserver-6.12.9999.ebuild @@ -0,0 +1,31 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="HTTP server functionality for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~x86" +fi + +IUSE="+ssl websockets" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network,ssl=] + websockets? ( ~dev-qt/qtwebsockets-${PV}:6 ) +" +DEPEND=" + ${RDEPEND} + test? ( ~dev-qt/qtbase-${PV}:6[concurrent] ) +" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package websockets Qt6WebSockets) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qthttpserver/qthttpserver-6.9999.ebuild b/dev-qt/qthttpserver/qthttpserver-6.9999.ebuild new file mode 100644 index 0000000..18a55cb --- /dev/null +++ b/dev-qt/qthttpserver/qthttpserver-6.9999.ebuild @@ -0,0 +1,31 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="HTTP server functionality for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~x86" +fi + +IUSE="+ssl websockets" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network,ssl=] + websockets? ( ~dev-qt/qtwebsockets-${PV}:6 ) +" +DEPEND=" + ${RDEPEND} + test? ( ~dev-qt/qtbase-${PV}:6[concurrent] ) +" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package websockets Qt6WebSockets) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtimageformats/Manifest b/dev-qt/qtimageformats/Manifest new file mode 100644 index 0000000..c4e8956 --- /dev/null +++ b/dev-qt/qtimageformats/Manifest @@ -0,0 +1,2 @@ +DIST qtimageformats-everywhere-src-6.10.3.tar.xz 2027960 BLAKE2B 91a1e08a1e6095f3e757dd836e3e41cc31dcef2f384688f89638b892aabb74b259675a9378bf0b7328b208df0d926f766a267b7661b5f2f079f18a523580fe05 SHA512 ea49e79339161799a5b90fe469bffe62aa7385e34498ad15b807a749d6db78cdee4389123563c143d5ea5eda1be8bb17b3bee66c2d5adb6b2c8ac6c3db81d957 +DIST qtimageformats-everywhere-src-6.11.1.tar.xz 2032792 BLAKE2B ea3f3aa4a3b66d9ce69ace1451ac4935b383cabf7d99fb1d53d2ff6c69d87408176d5f9457fb7c92c47456e053682148be06f6c3115f0b56d07be7a19a72ec8b SHA512 50b6bd67b87e0b4af99be2493538cfcf78a913aea9a25d30441e44e666f7212ce1b0bf96b298d7312a21d02bd4765b3a241692db59407f3f997aae6c05fe446a diff --git a/dev-qt/qtimageformats/metadata.xml b/dev-qt/qtimageformats/metadata.xml new file mode 100644 index 0000000..6b047e6 --- /dev/null +++ b/dev-qt/qtimageformats/metadata.xml @@ -0,0 +1,18 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtimageformats + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtimageformats/qtimageformats-6.10.3.ebuild b/dev-qt/qtimageformats/qtimageformats-6.10.3.ebuild new file mode 100644 index 0000000..c7824e6 --- /dev/null +++ b/dev-qt/qtimageformats/qtimageformats-6.10.3.ebuild @@ -0,0 +1,39 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Additional format plugins for the Qt image I/O system" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc64 ~riscv x86" +fi + +IUSE="mng" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] + media-libs/libwebp:= + media-libs/tiff:= + mng? ( media-libs/libmng:= ) +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # heif plugin is only for Mac, test is normally auto-skipped but may + # misbehave with kde-frameworks/kimageformats:6[heif] (bug #927971) + tst_qheif +) + +src_configure() { + local mycmakeargs=( + -DQT_FEATURE_jasper=OFF + $(qt_feature mng) + -DQT_FEATURE_tiff=ON + -DQT_FEATURE_webp=ON + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtimageformats/qtimageformats-6.11.1.ebuild b/dev-qt/qtimageformats/qtimageformats-6.11.1.ebuild new file mode 100644 index 0000000..c7824e6 --- /dev/null +++ b/dev-qt/qtimageformats/qtimageformats-6.11.1.ebuild @@ -0,0 +1,39 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Additional format plugins for the Qt image I/O system" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc64 ~riscv x86" +fi + +IUSE="mng" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] + media-libs/libwebp:= + media-libs/tiff:= + mng? ( media-libs/libmng:= ) +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # heif plugin is only for Mac, test is normally auto-skipped but may + # misbehave with kde-frameworks/kimageformats:6[heif] (bug #927971) + tst_qheif +) + +src_configure() { + local mycmakeargs=( + -DQT_FEATURE_jasper=OFF + $(qt_feature mng) + -DQT_FEATURE_tiff=ON + -DQT_FEATURE_webp=ON + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtimageformats/qtimageformats-6.11.9999.ebuild b/dev-qt/qtimageformats/qtimageformats-6.11.9999.ebuild new file mode 100644 index 0000000..fdbfd45 --- /dev/null +++ b/dev-qt/qtimageformats/qtimageformats-6.11.9999.ebuild @@ -0,0 +1,39 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Additional format plugins for the Qt image I/O system" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~x86" +fi + +IUSE="mng" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] + media-libs/libwebp:= + media-libs/tiff:= + mng? ( media-libs/libmng:= ) +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # heif plugin is only for Mac, test is normally auto-skipped but may + # misbehave with kde-frameworks/kimageformats:6[heif] (bug #927971) + tst_qheif +) + +src_configure() { + local mycmakeargs=( + -DQT_FEATURE_jasper=OFF + $(qt_feature mng) + -DQT_FEATURE_tiff=ON + -DQT_FEATURE_webp=ON + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtimageformats/qtimageformats-6.12.9999.ebuild b/dev-qt/qtimageformats/qtimageformats-6.12.9999.ebuild new file mode 100644 index 0000000..ba45fab --- /dev/null +++ b/dev-qt/qtimageformats/qtimageformats-6.12.9999.ebuild @@ -0,0 +1,39 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Additional format plugins for the Qt image I/O system" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~x86" +fi + +IUSE="mng" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] + media-libs/libwebp:= + media-libs/tiff:= + mng? ( media-libs/libmng:= ) +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # heif plugin is only for Mac, test is normally auto-skipped but may + # misbehave with kde-frameworks/kimageformats:6[heif] (bug #927971) + tst_qheif +) + +src_configure() { + local mycmakeargs=( + -DQT_FEATURE_jasper=OFF + $(qt_feature mng) + -DQT_FEATURE_tiff=ON + -DQT_FEATURE_webp=ON + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtimageformats/qtimageformats-6.9999.ebuild b/dev-qt/qtimageformats/qtimageformats-6.9999.ebuild new file mode 100644 index 0000000..cef280a --- /dev/null +++ b/dev-qt/qtimageformats/qtimageformats-6.9999.ebuild @@ -0,0 +1,39 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Additional format plugins for the Qt image I/O system" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~x86" +fi + +IUSE="mng" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] + media-libs/libwebp:= + media-libs/tiff:= + mng? ( media-libs/libmng:= ) +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # heif plugin is only for Mac, test is normally auto-skipped but may + # misbehave with kde-frameworks/kimageformats:6[heif] (bug #927971) + tst_qheif +) + +src_configure() { + local mycmakeargs=( + -DQT_FEATURE_jasper=OFF + $(qt_feature mng) + -DQT_FEATURE_tiff=ON + -DQT_FEATURE_webp=ON + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtlanguageserver/Manifest b/dev-qt/qtlanguageserver/Manifest new file mode 100644 index 0000000..4395366 --- /dev/null +++ b/dev-qt/qtlanguageserver/Manifest @@ -0,0 +1,2 @@ +DIST qtlanguageserver-everywhere-src-6.10.3.tar.xz 136240 BLAKE2B 73486a3b4ca7f83c9cc1e0b1a16932e0aa2ff60ba884aea8f3fac3a893e2add2e2d00fc8bd2e0f041b4b345c650c7c80fb18cdd4a7fb59f395d97290f69d2e91 SHA512 b058ff7ce487de7db32503fa6a108690a225048a41a92a9f2ce0187b2a234f3bcfa61e75ad699d286c694f74025df8894eb048e12237a1c51cceadcf081ebe50 +DIST qtlanguageserver-everywhere-src-6.11.1.tar.xz 137276 BLAKE2B 70eecf1ae866d3e248410000d7729d92d46d8931a4d534be85d2cba68b409bba2cc1efa08c0dfb91ac15ca1c0fbd757527d48fe1f7fa9d1532f47686d92214c2 SHA512 600da7641dea82621ddf24ea69b718d213e083f481300544b70aa41a7d89101d00b2b38bf963df19c0a4756614b2d93814bfe86c3320744e16593630beb33660 diff --git a/dev-qt/qtlanguageserver/metadata.xml b/dev-qt/qtlanguageserver/metadata.xml new file mode 100644 index 0000000..32b422b --- /dev/null +++ b/dev-qt/qtlanguageserver/metadata.xml @@ -0,0 +1,18 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtlanguageserver + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtlanguageserver/qtlanguageserver-6.10.3.ebuild b/dev-qt/qtlanguageserver/qtlanguageserver-6.10.3.ebuild new file mode 100644 index 0000000..58044fe --- /dev/null +++ b/dev-qt/qtlanguageserver/qtlanguageserver-6.10.3.ebuild @@ -0,0 +1,16 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_HAS_STATIC_LIBS=1 +inherit qt6-build + +DESCRIPTION="Implementation of the Language Server Protocol for Qt" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm64" +fi + +RDEPEND="~dev-qt/qtbase-${PV}:6" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtlanguageserver/qtlanguageserver-6.11.1.ebuild b/dev-qt/qtlanguageserver/qtlanguageserver-6.11.1.ebuild new file mode 100644 index 0000000..58044fe --- /dev/null +++ b/dev-qt/qtlanguageserver/qtlanguageserver-6.11.1.ebuild @@ -0,0 +1,16 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_HAS_STATIC_LIBS=1 +inherit qt6-build + +DESCRIPTION="Implementation of the Language Server Protocol for Qt" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm64" +fi + +RDEPEND="~dev-qt/qtbase-${PV}:6" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtlanguageserver/qtlanguageserver-6.11.9999.ebuild b/dev-qt/qtlanguageserver/qtlanguageserver-6.11.9999.ebuild new file mode 100644 index 0000000..93df919 --- /dev/null +++ b/dev-qt/qtlanguageserver/qtlanguageserver-6.11.9999.ebuild @@ -0,0 +1,16 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_HAS_STATIC_LIBS=1 +inherit qt6-build + +DESCRIPTION="Implementation of the Language Server Protocol for Qt" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm64" +fi + +RDEPEND="~dev-qt/qtbase-${PV}:6" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtlanguageserver/qtlanguageserver-6.12.9999.ebuild b/dev-qt/qtlanguageserver/qtlanguageserver-6.12.9999.ebuild new file mode 100644 index 0000000..4093345 --- /dev/null +++ b/dev-qt/qtlanguageserver/qtlanguageserver-6.12.9999.ebuild @@ -0,0 +1,16 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_HAS_STATIC_LIBS=1 +inherit qt6-build + +DESCRIPTION="Implementation of the Language Server Protocol for Qt" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm64" +fi + +RDEPEND="~dev-qt/qtbase-${PV}:6" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtlanguageserver/qtlanguageserver-6.9999.ebuild b/dev-qt/qtlanguageserver/qtlanguageserver-6.9999.ebuild new file mode 100644 index 0000000..93df919 --- /dev/null +++ b/dev-qt/qtlanguageserver/qtlanguageserver-6.9999.ebuild @@ -0,0 +1,16 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_HAS_STATIC_LIBS=1 +inherit qt6-build + +DESCRIPTION="Implementation of the Language Server Protocol for Qt" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm64" +fi + +RDEPEND="~dev-qt/qtbase-${PV}:6" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtlocation/Manifest b/dev-qt/qtlocation/Manifest new file mode 100644 index 0000000..434a428 --- /dev/null +++ b/dev-qt/qtlocation/Manifest @@ -0,0 +1,2 @@ +DIST qtlocation-everywhere-src-6.10.3.tar.xz 3151672 BLAKE2B 3d0eef6c7b2772e0aad90eb801f46add4d66d5bd91321c7fee505a88fe9bd95c552cd8d7ee29d5044b4e18bd48f5830534af05e6a730425169b0a1e3290c7fc0 SHA512 dc5dd1e7e44048873b1a857dc80027b525199a63198f8725586a03f3ea87b4bab410d2ea6c8e46ccc27047b0000049119cfa6a1dba7f05589ae0ac7e9e5fcc93 +DIST qtlocation-everywhere-src-6.11.1.tar.xz 3151756 BLAKE2B 6ec6337831f356bdbb9871d0cc9dfbba434af3c0c3592e20e0fad2018f9909b13bb9f5c49ccdbd8a8b780f2f45ce919afbba4fec2b6e0008a6c7fc69eb74fb2f SHA512 3b08b74531acf0a8d35070a0716d6b452d9fea2b9eeecec5f80a5d4a79ead83d4f63c1b1d959ba53725f4ae03ac451d5c8c4fbdd49527054f1afb9fd6ab3bbba diff --git a/dev-qt/qtlocation/metadata.xml b/dev-qt/qtlocation/metadata.xml new file mode 100644 index 0000000..04ae77f --- /dev/null +++ b/dev-qt/qtlocation/metadata.xml @@ -0,0 +1,18 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtlocation + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtlocation/qtlocation-6.10.3.ebuild b/dev-qt/qtlocation/qtlocation-6.10.3.ebuild new file mode 100644 index 0000000..c207e2b --- /dev/null +++ b/dev-qt/qtlocation/qtlocation-6.10.3.ebuild @@ -0,0 +1,44 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Location (places, maps, navigation) library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network] + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtpositioning-${PV}:6[qml] +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # ignores QML_IMPORT_PATH (unlike other tests) and looks in + # the missing builddir/qml, skip rather than work around + tst_declarative_ui +) + +src_install() { + qt6-build_src_install + + if use test; then + local delete=( # sigh + "${D}${QT6_LIBDIR}"/cmake/Qt6Location/*TestGeoServicePlugin*.cmake + "${D}${QT6_LIBDIR}"/cmake/Qt6Location/*UnsupportedPlacesGeoServicePlugin*.cmake + "${D}${QT6_LIBDIR}"/cmake/Qt6Qml/QmlPlugins/*declarative_location_test*.cmake + "${D}${QT6_PLUGINDIR}"/geoservices/libqtgeoservices_geocodingplugin.so + "${D}${QT6_PLUGINDIR}"/geoservices/libqtgeoservices_placesplugin_unsupported.so + "${D}${QT6_PLUGINDIR}"/geoservices/libqtgeoservices_qmltestplugin.so + "${D}${QT6_PLUGINDIR}"/geoservices/libqtgeoservices_routingplugin.so + "${D}${QT6_QMLDIR}"/QtLocation/Test + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtlocation/qtlocation-6.11.1.ebuild b/dev-qt/qtlocation/qtlocation-6.11.1.ebuild new file mode 100644 index 0000000..c207e2b --- /dev/null +++ b/dev-qt/qtlocation/qtlocation-6.11.1.ebuild @@ -0,0 +1,44 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Location (places, maps, navigation) library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network] + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtpositioning-${PV}:6[qml] +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # ignores QML_IMPORT_PATH (unlike other tests) and looks in + # the missing builddir/qml, skip rather than work around + tst_declarative_ui +) + +src_install() { + qt6-build_src_install + + if use test; then + local delete=( # sigh + "${D}${QT6_LIBDIR}"/cmake/Qt6Location/*TestGeoServicePlugin*.cmake + "${D}${QT6_LIBDIR}"/cmake/Qt6Location/*UnsupportedPlacesGeoServicePlugin*.cmake + "${D}${QT6_LIBDIR}"/cmake/Qt6Qml/QmlPlugins/*declarative_location_test*.cmake + "${D}${QT6_PLUGINDIR}"/geoservices/libqtgeoservices_geocodingplugin.so + "${D}${QT6_PLUGINDIR}"/geoservices/libqtgeoservices_placesplugin_unsupported.so + "${D}${QT6_PLUGINDIR}"/geoservices/libqtgeoservices_qmltestplugin.so + "${D}${QT6_PLUGINDIR}"/geoservices/libqtgeoservices_routingplugin.so + "${D}${QT6_QMLDIR}"/QtLocation/Test + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtlocation/qtlocation-6.11.9999.ebuild b/dev-qt/qtlocation/qtlocation-6.11.9999.ebuild new file mode 100644 index 0000000..4685eef --- /dev/null +++ b/dev-qt/qtlocation/qtlocation-6.11.9999.ebuild @@ -0,0 +1,44 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Location (places, maps, navigation) library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network] + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtpositioning-${PV}:6[qml] +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # ignores QML_IMPORT_PATH (unlike other tests) and looks in + # the missing builddir/qml, skip rather than work around + tst_declarative_ui +) + +src_install() { + qt6-build_src_install + + if use test; then + local delete=( # sigh + "${D}${QT6_LIBDIR}"/cmake/Qt6Location/*TestGeoServicePlugin*.cmake + "${D}${QT6_LIBDIR}"/cmake/Qt6Location/*UnsupportedPlacesGeoServicePlugin*.cmake + "${D}${QT6_LIBDIR}"/cmake/Qt6Qml/QmlPlugins/*declarative_location_test*.cmake + "${D}${QT6_PLUGINDIR}"/geoservices/libqtgeoservices_geocodingplugin.so + "${D}${QT6_PLUGINDIR}"/geoservices/libqtgeoservices_placesplugin_unsupported.so + "${D}${QT6_PLUGINDIR}"/geoservices/libqtgeoservices_qmltestplugin.so + "${D}${QT6_PLUGINDIR}"/geoservices/libqtgeoservices_routingplugin.so + "${D}${QT6_QMLDIR}"/QtLocation/Test + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtlocation/qtlocation-6.12.9999.ebuild b/dev-qt/qtlocation/qtlocation-6.12.9999.ebuild new file mode 100644 index 0000000..f45e5eb --- /dev/null +++ b/dev-qt/qtlocation/qtlocation-6.12.9999.ebuild @@ -0,0 +1,44 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Location (places, maps, navigation) library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network] + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtpositioning-${PV}:6[qml] +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # ignores QML_IMPORT_PATH (unlike other tests) and looks in + # the missing builddir/qml, skip rather than work around + tst_declarative_ui +) + +src_install() { + qt6-build_src_install + + if use test; then + local delete=( # sigh + "${D}${QT6_LIBDIR}"/cmake/Qt6Location/*TestGeoServicePlugin*.cmake + "${D}${QT6_LIBDIR}"/cmake/Qt6Location/*UnsupportedPlacesGeoServicePlugin*.cmake + "${D}${QT6_LIBDIR}"/cmake/Qt6Qml/QmlPlugins/*declarative_location_test*.cmake + "${D}${QT6_PLUGINDIR}"/geoservices/libqtgeoservices_geocodingplugin.so + "${D}${QT6_PLUGINDIR}"/geoservices/libqtgeoservices_placesplugin_unsupported.so + "${D}${QT6_PLUGINDIR}"/geoservices/libqtgeoservices_qmltestplugin.so + "${D}${QT6_PLUGINDIR}"/geoservices/libqtgeoservices_routingplugin.so + "${D}${QT6_QMLDIR}"/QtLocation/Test + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtlocation/qtlocation-6.9999.ebuild b/dev-qt/qtlocation/qtlocation-6.9999.ebuild new file mode 100644 index 0000000..4685eef --- /dev/null +++ b/dev-qt/qtlocation/qtlocation-6.9999.ebuild @@ -0,0 +1,44 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Location (places, maps, navigation) library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network] + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtpositioning-${PV}:6[qml] +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # ignores QML_IMPORT_PATH (unlike other tests) and looks in + # the missing builddir/qml, skip rather than work around + tst_declarative_ui +) + +src_install() { + qt6-build_src_install + + if use test; then + local delete=( # sigh + "${D}${QT6_LIBDIR}"/cmake/Qt6Location/*TestGeoServicePlugin*.cmake + "${D}${QT6_LIBDIR}"/cmake/Qt6Location/*UnsupportedPlacesGeoServicePlugin*.cmake + "${D}${QT6_LIBDIR}"/cmake/Qt6Qml/QmlPlugins/*declarative_location_test*.cmake + "${D}${QT6_PLUGINDIR}"/geoservices/libqtgeoservices_geocodingplugin.so + "${D}${QT6_PLUGINDIR}"/geoservices/libqtgeoservices_placesplugin_unsupported.so + "${D}${QT6_PLUGINDIR}"/geoservices/libqtgeoservices_qmltestplugin.so + "${D}${QT6_PLUGINDIR}"/geoservices/libqtgeoservices_routingplugin.so + "${D}${QT6_QMLDIR}"/QtLocation/Test + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtmultimedia/Manifest b/dev-qt/qtmultimedia/Manifest new file mode 100644 index 0000000..7ec7a8c --- /dev/null +++ b/dev-qt/qtmultimedia/Manifest @@ -0,0 +1,4 @@ +DIST qtmultimedia-5.15.18-gentoo-kde-1.tar.xz 1492 BLAKE2B 34ca71385153f3acf3d59797a7071838e6e8f9b0d119cf095e8d12724c485c55c4fc905cdaec4774a1279745af55dee1236ace0e702ed3e61395a21ff40cf6a7 SHA512 86acbce6620ec8242db9b76ba41692afca5a081f994038335a1419788a986e39a93116459ceeeb6835a4076d67b8fe777da54d62efd376623a937e4504431c86 +DIST qtmultimedia-everywhere-opensource-src-5.15.18.tar.xz 3810252 BLAKE2B 4c69ae7d07b9d0edfadbaf5e51585c267466aba3e64a4841f768534bf87360144d987eddfa036baaab40066420aaf82bd081054bc4204244ec0b2ab6d2cb0724 SHA512 edebe73911c82ef5671602f895dd1cddcc39b8afb29267be54921848713344d531e49f4cbcfb9a57b095c4e736a9100c245290391102ddccdb08997057a12bd8 +DIST qtmultimedia-everywhere-src-6.10.3.tar.xz 9914688 BLAKE2B 4f22de40c2547ee5541ccb23ebb9a0c84e8d58bc67c917569805a5a3452ffefbb0a107c4a1f65883d2725b406aba2cab6e68c5e633cdc976e1eb22e3b1791b6d SHA512 91f494e1784d1cbdfc683d18c0c1b086845ba5ff093777114996b88c14a59210358fa52527bcf79dc7166e83ce95c15b6d2a1793fdc1d3e7016ae8b066eaa9a8 +DIST qtmultimedia-everywhere-src-6.11.1.tar.xz 10243896 BLAKE2B 66e7a638a644a990e1c932bad40711f193ab8bae808a07ac1e8d58c18caaf89493519aedbec6fd42d3c9a2db701f06ad408edc601ccdbdf6e6cd26246c077ee5 SHA512 accd9534b96df8ff464c219bf579c3da43e30b33efb35fc7e311c9e133cb57252f433422ca917f83b738e67cf925b19e0847ffcfaa92fe0e3d21b603dd580cd5 diff --git a/dev-qt/qtmultimedia/metadata.xml b/dev-qt/qtmultimedia/metadata.xml new file mode 100644 index 0000000..761f982 --- /dev/null +++ b/dev-qt/qtmultimedia/metadata.xml @@ -0,0 +1,25 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Enable screen capture support with Qt's EGL Full Screen/Single Surface platform plugin + Enable media-libs/gstreamer support + Enable media-video/pipewire support + Build QML/QtQuick bindings and imports + Build the QtMultimediaWidgets module + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtmultimedia + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtmultimedia/qtmultimedia-5.15.18.ebuild b/dev-qt/qtmultimedia/qtmultimedia-5.15.18.ebuild new file mode 100644 index 0000000..129fbbd --- /dev/null +++ b/dev-qt/qtmultimedia/qtmultimedia-5.15.18.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=1 + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +inherit qt5-build + +DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt5 framework" + +IUSE="alsa gles2-only gstreamer openal pulseaudio qml widgets" + +RDEPEND=" + =dev-qt/qtcore-${QT5_PV}* + =dev-qt/qtgui-${QT5_PV}*[gles2-only=] + =dev-qt/qtnetwork-${QT5_PV}* + alsa? ( media-libs/alsa-lib ) + gstreamer? ( + dev-libs/glib:2 + media-libs/gstreamer:1.0 + media-libs/gst-plugins-bad:1.0 + media-libs/gst-plugins-base:1.0 + ) + pulseaudio? ( media-libs/libpulse[glib] ) + qml? ( + =dev-qt/qtdeclarative-${QT5_PV}* + gles2-only? ( =dev-qt/qtgui-${QT5_PV}*[egl] ) + openal? ( media-libs/openal ) + ) + widgets? ( + =dev-qt/qtwidgets-${QT5_PV}*[gles2-only=] + media-libs/libglvnd + ) +" +DEPEND="${RDEPEND} + gstreamer? ( x11-base/xorg-proto ) +" + +src_prepare() { + sed -i -e '/CONFIG\s*+=/ s/optimize_full//' \ + src/multimedia/multimedia.pro || die + + qt_use_disable_config openal openal \ + src/imports/imports.pro + + qt_use_disable_mod qml quick \ + src/src.pro \ + src/plugins/plugins.pro + + qt_use_disable_mod widgets widgets \ + src/src.pro \ + src/gsttools/gsttools.pro \ + src/plugins/gstreamer/common.pri + + qt5-build_src_prepare +} + +src_configure() { + local myqmakeargs=( + -- + $(qt_use alsa) + $(qt_use gstreamer) + $(qt_use pulseaudio) + ) + qt5-build_src_configure +} diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.10.3.ebuild b/dev-qt/qtmultimedia/qtmultimedia-6.10.3.ebuild new file mode 100644 index 0000000..ab5ef43 --- /dev/null +++ b/dev-qt/qtmultimedia/qtmultimedia-6.10.3.ebuild @@ -0,0 +1,153 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_HAS_STATIC_LIBS=1 +inherit flag-o-matic qt6-build + +DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc64 ~riscv x86" +fi + +IUSE=" + +X alsa +dbus eglfs +ffmpeg gstreamer opengl pipewire pulseaudio + qml +v4l vaapi vulkan wayland +" +REQUIRED_USE=" + || ( ffmpeg gstreamer ) + eglfs? ( ffmpeg opengl qml ) + vaapi? ( ffmpeg opengl ) +" + +# dlopen/dbus: pipewire +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[concurrent,gui,network,opengl=,vulkan=,widgets] + alsa? ( + !pulseaudio? ( media-libs/alsa-lib ) + ) + ffmpeg? ( + ~dev-qt/qtbase-${PV}:6[X=,concurrent,eglfs=] + media-video/ffmpeg:=[vaapi?] + X? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXrandr + ) + ) + gstreamer? ( + dev-libs/glib:2 + media-libs/gst-plugins-bad:1.0 + media-libs/gst-plugins-base:1.0 + media-libs/gstreamer:1.0 + opengl? ( + ~dev-qt/qtbase-${PV}:6[X?,wayland?] + media-libs/gst-plugins-base:1.0[X?,egl,opengl,wayland?] + ) + ) + opengl? ( media-libs/libglvnd ) + pipewire? ( + ~dev-qt/qtbase-${PV}:6[dbus?] + media-video/pipewire:= + ) + pulseaudio? ( media-libs/libpulse ) + qml? ( + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtquick3d-${PV}:6 + ) +" +DEPEND=" + ${RDEPEND} + X? ( x11-base/xorg-proto ) + v4l? ( sys-kernel/linux-headers ) + vulkan? ( dev-util/vulkan-headers ) +" +BDEPEND="~dev-qt/qtshadertools-${PV}:6" + +CMAKE_SKIP_TESTS=( + # unimportant and expects all backends to be available (bug #928420) + tst_backends + # tries to use real alsa or pulseaudio and fails in sandbox + tst_qaudiosink + tst_qaudiosource + tst_qmediacapture_gstreamer + tst_qmediacapturesession + tst_qmediaframeinputsbackend + tst_qmediaplayer_gstreamer + tst_qmediaplayerbackend + tst_qsoundeffect + # may try to use v4l2 or hardware acceleration depending on availability + tst_qcamerabackend #972689 + tst_qmediarecorderbackend + tst_qscreencapture_integration + tst_qscreencapturebackend + tst_qvideoframebackend + # seems flaky depending on what codecs system libraries support or not + tst_qmediaformatbackend + # fails with offscreen rendering + tst_qvideoframecolormanagement + tst_qwindowcapturebackend +) + +src_prepare() { + qt6-build_src_prepare + + # test expects GStreamer to report an exact bitrate value, but + # this varies depending on version and Qt updates it only now + # and then (disabling permanently with a sed to avoid rebases) + sed -e '/bool validateBitRates = GST_CHECK_VERSION/s/= .*/= false;/' \ + -i tests/auto/unit/plugins/multimedia/gstreamer/gstreamer_backend/tst_gstreamer_backend.cpp || die +} + +src_configure() { + # normally passed by the build system, but needed for 32-on-64 chroots + use x86 && append-cppflags -DDISABLE_SIMD -DPFFFT_SIMD_DISABLE + + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + $(qt_feature ffmpeg) + $(qt_feature gstreamer) + $(usev gstreamer " + $(qt_feature opengl gstreamer_gl) + $(usev opengl " + $(qt_feature X gstreamer_gl_x11) + $(qt_feature wayland gstreamer_gl_wayland) + ") + ") + $(qt_feature pipewire) + $(usev pipewire $(qt_feature dbus pipewire_screencapture)) + $(qt_feature pulseaudio) + $(qt_feature v4l linux_v4l) + $(qt_feature vaapi) + ) + + # ALSA backend is experimental off-by-default and can take priority + # causing problems (bug #935146), disable if USE=pulseaudio is set + # (also do not want unnecessary usage of ALSA plugins -> pulse) + if use alsa && use pulseaudio; then + # einfo should be enough given pure-ALSA users tend to disable pulse + einfo "Warning: USE=alsa is ignored when USE=pulseaudio is set" + mycmakeargs+=( -DQT_FEATURE_alsa=OFF ) + else + mycmakeargs+=( $(qt_feature alsa) ) + fi + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + if use test; then + local delete=( # sigh + "${D}${QT6_LIBDIR}"/cmake/Qt6Multimedia/Qt6MockMultimediaPlugin*.cmake + "${D}${QT6_MKSPECSDIR}"/modules/qt_plugin_mockmultimediaplugin.pri + "${D}${QT6_PLUGINDIR}"/multimedia/libmockmultimediaplugin.* + "${D}${QT6_PLUGINDIR}"/multimedia/objects-* + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.11.1.ebuild b/dev-qt/qtmultimedia/qtmultimedia-6.11.1.ebuild new file mode 100644 index 0000000..065d4c6 --- /dev/null +++ b/dev-qt/qtmultimedia/qtmultimedia-6.11.1.ebuild @@ -0,0 +1,154 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_HAS_STATIC_LIBS=1 +inherit flag-o-matic qt6-build + +DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc64 ~riscv x86" +fi + +IUSE=" + +X alsa +dbus eglfs +ffmpeg gstreamer opengl pipewire pulseaudio + qml +v4l vaapi vulkan wayland +" +REQUIRED_USE=" + || ( ffmpeg gstreamer ) + eglfs? ( ffmpeg opengl qml ) + vaapi? ( ffmpeg opengl ) +" + +# dlopen/dbus: pipewire +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[concurrent,gui,network,opengl=,vulkan=,widgets] + alsa? ( + !pulseaudio? ( media-libs/alsa-lib ) + ) + ffmpeg? ( + ~dev-qt/qtbase-${PV}:6[X=,concurrent,eglfs=] + media-video/ffmpeg:=[vaapi?] + X? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXrandr + ) + ) + gstreamer? ( + dev-libs/glib:2 + media-libs/gst-plugins-bad:1.0 + media-libs/gst-plugins-base:1.0 + media-libs/gstreamer:1.0 + opengl? ( + ~dev-qt/qtbase-${PV}:6[X?,wayland?] + media-libs/gst-plugins-base:1.0[X?,egl,opengl,wayland?] + ) + ) + opengl? ( media-libs/libglvnd ) + pipewire? ( + ~dev-qt/qtbase-${PV}:6[dbus?] + media-video/pipewire:= + ) + pulseaudio? ( media-libs/libpulse ) + qml? ( + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtquick3d-${PV}:6 + ) + vaapi? ( media-libs/libva:= ) +" +DEPEND=" + ${RDEPEND} + X? ( x11-base/xorg-proto ) + v4l? ( sys-kernel/linux-headers ) + vulkan? ( dev-util/vulkan-headers ) +" +BDEPEND="~dev-qt/qtshadertools-${PV}:6" + +CMAKE_SKIP_TESTS=( + # unimportant and expects all backends to be available (bug #928420) + tst_backends + # tries to use real alsa or pulseaudio and fails in sandbox + tst_qaudiosink + tst_qaudiosource + tst_qmediacapture_gstreamer + tst_qmediacapturesession + tst_qmediaframeinputsbackend + tst_qmediaplayer_gstreamer + tst_qmediaplayerbackend + tst_qsoundeffect + # may try to use v4l2 or hardware acceleration depending on availability + tst_qcamerabackend #972689 + tst_qmediarecorderbackend + tst_qscreencapture_integration + tst_qscreencapturebackend + tst_qvideoframebackend + # seems flaky depending on what codecs system libraries support or not + tst_qmediaformatbackend + # fails with offscreen rendering + tst_qvideoframecolormanagement + tst_qwindowcapturebackend +) + +src_prepare() { + qt6-build_src_prepare + + # test expects GStreamer to report an exact bitrate value, but + # this varies depending on version and Qt updates it only now + # and then (disabling permanently with a sed to avoid rebases) + sed -e '/bool validateBitRates = GST_CHECK_VERSION/s/= .*/= false;/' \ + -i tests/auto/unit/plugins/multimedia/gstreamer/gstreamer_backend/tst_gstreamer_backend.cpp || die +} + +src_configure() { + # normally passed by the build system, but needed for 32-on-64 chroots + use x86 && append-cppflags -DDISABLE_SIMD -DPFFFT_SIMD_DISABLE + + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + $(qt_feature ffmpeg) + $(qt_feature gstreamer) + $(usev gstreamer " + $(qt_feature opengl gstreamer_gl) + $(usev opengl " + $(qt_feature X gstreamer_gl_x11) + $(qt_feature wayland gstreamer_gl_wayland) + ") + ") + $(qt_feature pipewire) + $(usev pipewire $(qt_feature dbus pipewire_screencapture)) + $(qt_feature pulseaudio) + $(qt_feature v4l linux_v4l) + $(qt_feature vaapi) + ) + + # ALSA backend is experimental off-by-default and can take priority + # causing problems (bug #935146), disable if USE=pulseaudio is set + # (also do not want unnecessary usage of ALSA plugins -> pulse) + if use alsa && use pulseaudio; then + # einfo should be enough given pure-ALSA users tend to disable pulse + einfo "Warning: USE=alsa is ignored when USE=pulseaudio is set" + mycmakeargs+=( -DQT_FEATURE_alsa=OFF ) + else + mycmakeargs+=( $(qt_feature alsa) ) + fi + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + if use test; then + local delete=( # sigh + "${D}${QT6_LIBDIR}"/cmake/Qt6Multimedia/Qt6MockMultimediaPlugin*.cmake + "${D}${QT6_MKSPECSDIR}"/modules/qt_plugin_mockmultimediaplugin.pri + "${D}${QT6_PLUGINDIR}"/multimedia/libmockmultimediaplugin.* + "${D}${QT6_PLUGINDIR}"/multimedia/objects-* + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.11.9999.ebuild b/dev-qt/qtmultimedia/qtmultimedia-6.11.9999.ebuild new file mode 100644 index 0000000..336794d --- /dev/null +++ b/dev-qt/qtmultimedia/qtmultimedia-6.11.9999.ebuild @@ -0,0 +1,154 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_HAS_STATIC_LIBS=1 +inherit flag-o-matic qt6-build + +DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~x86" +fi + +IUSE=" + +X alsa +dbus eglfs +ffmpeg gstreamer opengl pipewire pulseaudio + qml +v4l vaapi vulkan wayland +" +REQUIRED_USE=" + || ( ffmpeg gstreamer ) + eglfs? ( ffmpeg opengl qml ) + vaapi? ( ffmpeg opengl ) +" + +# dlopen/dbus: pipewire +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[concurrent,gui,network,opengl=,vulkan=,widgets] + alsa? ( + !pulseaudio? ( media-libs/alsa-lib ) + ) + ffmpeg? ( + ~dev-qt/qtbase-${PV}:6[X=,concurrent,eglfs=] + media-video/ffmpeg:=[vaapi?] + X? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXrandr + ) + ) + gstreamer? ( + dev-libs/glib:2 + media-libs/gst-plugins-bad:1.0 + media-libs/gst-plugins-base:1.0 + media-libs/gstreamer:1.0 + opengl? ( + ~dev-qt/qtbase-${PV}:6[X?,wayland?] + media-libs/gst-plugins-base:1.0[X?,egl,opengl,wayland?] + ) + ) + opengl? ( media-libs/libglvnd ) + pipewire? ( + ~dev-qt/qtbase-${PV}:6[dbus?] + media-video/pipewire:= + ) + pulseaudio? ( media-libs/libpulse ) + qml? ( + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtquick3d-${PV}:6 + ) + vaapi? ( media-libs/libva:= ) +" +DEPEND=" + ${RDEPEND} + X? ( x11-base/xorg-proto ) + v4l? ( sys-kernel/linux-headers ) + vulkan? ( dev-util/vulkan-headers ) +" +BDEPEND="~dev-qt/qtshadertools-${PV}:6" + +CMAKE_SKIP_TESTS=( + # unimportant and expects all backends to be available (bug #928420) + tst_backends + # tries to use real alsa or pulseaudio and fails in sandbox + tst_qaudiosink + tst_qaudiosource + tst_qmediacapture_gstreamer + tst_qmediacapturesession + tst_qmediaframeinputsbackend + tst_qmediaplayer_gstreamer + tst_qmediaplayerbackend + tst_qsoundeffect + # may try to use v4l2 or hardware acceleration depending on availability + tst_qcamerabackend #972689 + tst_qmediarecorderbackend + tst_qscreencapture_integration + tst_qscreencapturebackend + tst_qvideoframebackend + # seems flaky depending on what codecs system libraries support or not + tst_qmediaformatbackend + # fails with offscreen rendering + tst_qvideoframecolormanagement + tst_qwindowcapturebackend +) + +src_prepare() { + qt6-build_src_prepare + + # test expects GStreamer to report an exact bitrate value, but + # this varies depending on version and Qt updates it only now + # and then (disabling permanently with a sed to avoid rebases) + sed -e '/bool validateBitRates = GST_CHECK_VERSION/s/= .*/= false;/' \ + -i tests/auto/unit/plugins/multimedia/gstreamer/gstreamer_backend/tst_gstreamer_backend.cpp || die +} + +src_configure() { + # normally passed by the build system, but needed for 32-on-64 chroots + use x86 && append-cppflags -DDISABLE_SIMD -DPFFFT_SIMD_DISABLE + + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + $(qt_feature ffmpeg) + $(qt_feature gstreamer) + $(usev gstreamer " + $(qt_feature opengl gstreamer_gl) + $(usev opengl " + $(qt_feature X gstreamer_gl_x11) + $(qt_feature wayland gstreamer_gl_wayland) + ") + ") + $(qt_feature pipewire) + $(usev pipewire $(qt_feature dbus pipewire_screencapture)) + $(qt_feature pulseaudio) + $(qt_feature v4l linux_v4l) + $(qt_feature vaapi) + ) + + # ALSA backend is experimental off-by-default and can take priority + # causing problems (bug #935146), disable if USE=pulseaudio is set + # (also do not want unnecessary usage of ALSA plugins -> pulse) + if use alsa && use pulseaudio; then + # einfo should be enough given pure-ALSA users tend to disable pulse + einfo "Warning: USE=alsa is ignored when USE=pulseaudio is set" + mycmakeargs+=( -DQT_FEATURE_alsa=OFF ) + else + mycmakeargs+=( $(qt_feature alsa) ) + fi + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + if use test; then + local delete=( # sigh + "${D}${QT6_LIBDIR}"/cmake/Qt6Multimedia/Qt6MockMultimediaPlugin*.cmake + "${D}${QT6_MKSPECSDIR}"/modules/qt_plugin_mockmultimediaplugin.pri + "${D}${QT6_PLUGINDIR}"/multimedia/libmockmultimediaplugin.* + "${D}${QT6_PLUGINDIR}"/multimedia/objects-* + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.12.9999.ebuild b/dev-qt/qtmultimedia/qtmultimedia-6.12.9999.ebuild new file mode 100644 index 0000000..336794d --- /dev/null +++ b/dev-qt/qtmultimedia/qtmultimedia-6.12.9999.ebuild @@ -0,0 +1,154 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_HAS_STATIC_LIBS=1 +inherit flag-o-matic qt6-build + +DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~x86" +fi + +IUSE=" + +X alsa +dbus eglfs +ffmpeg gstreamer opengl pipewire pulseaudio + qml +v4l vaapi vulkan wayland +" +REQUIRED_USE=" + || ( ffmpeg gstreamer ) + eglfs? ( ffmpeg opengl qml ) + vaapi? ( ffmpeg opengl ) +" + +# dlopen/dbus: pipewire +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[concurrent,gui,network,opengl=,vulkan=,widgets] + alsa? ( + !pulseaudio? ( media-libs/alsa-lib ) + ) + ffmpeg? ( + ~dev-qt/qtbase-${PV}:6[X=,concurrent,eglfs=] + media-video/ffmpeg:=[vaapi?] + X? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXrandr + ) + ) + gstreamer? ( + dev-libs/glib:2 + media-libs/gst-plugins-bad:1.0 + media-libs/gst-plugins-base:1.0 + media-libs/gstreamer:1.0 + opengl? ( + ~dev-qt/qtbase-${PV}:6[X?,wayland?] + media-libs/gst-plugins-base:1.0[X?,egl,opengl,wayland?] + ) + ) + opengl? ( media-libs/libglvnd ) + pipewire? ( + ~dev-qt/qtbase-${PV}:6[dbus?] + media-video/pipewire:= + ) + pulseaudio? ( media-libs/libpulse ) + qml? ( + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtquick3d-${PV}:6 + ) + vaapi? ( media-libs/libva:= ) +" +DEPEND=" + ${RDEPEND} + X? ( x11-base/xorg-proto ) + v4l? ( sys-kernel/linux-headers ) + vulkan? ( dev-util/vulkan-headers ) +" +BDEPEND="~dev-qt/qtshadertools-${PV}:6" + +CMAKE_SKIP_TESTS=( + # unimportant and expects all backends to be available (bug #928420) + tst_backends + # tries to use real alsa or pulseaudio and fails in sandbox + tst_qaudiosink + tst_qaudiosource + tst_qmediacapture_gstreamer + tst_qmediacapturesession + tst_qmediaframeinputsbackend + tst_qmediaplayer_gstreamer + tst_qmediaplayerbackend + tst_qsoundeffect + # may try to use v4l2 or hardware acceleration depending on availability + tst_qcamerabackend #972689 + tst_qmediarecorderbackend + tst_qscreencapture_integration + tst_qscreencapturebackend + tst_qvideoframebackend + # seems flaky depending on what codecs system libraries support or not + tst_qmediaformatbackend + # fails with offscreen rendering + tst_qvideoframecolormanagement + tst_qwindowcapturebackend +) + +src_prepare() { + qt6-build_src_prepare + + # test expects GStreamer to report an exact bitrate value, but + # this varies depending on version and Qt updates it only now + # and then (disabling permanently with a sed to avoid rebases) + sed -e '/bool validateBitRates = GST_CHECK_VERSION/s/= .*/= false;/' \ + -i tests/auto/unit/plugins/multimedia/gstreamer/gstreamer_backend/tst_gstreamer_backend.cpp || die +} + +src_configure() { + # normally passed by the build system, but needed for 32-on-64 chroots + use x86 && append-cppflags -DDISABLE_SIMD -DPFFFT_SIMD_DISABLE + + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + $(qt_feature ffmpeg) + $(qt_feature gstreamer) + $(usev gstreamer " + $(qt_feature opengl gstreamer_gl) + $(usev opengl " + $(qt_feature X gstreamer_gl_x11) + $(qt_feature wayland gstreamer_gl_wayland) + ") + ") + $(qt_feature pipewire) + $(usev pipewire $(qt_feature dbus pipewire_screencapture)) + $(qt_feature pulseaudio) + $(qt_feature v4l linux_v4l) + $(qt_feature vaapi) + ) + + # ALSA backend is experimental off-by-default and can take priority + # causing problems (bug #935146), disable if USE=pulseaudio is set + # (also do not want unnecessary usage of ALSA plugins -> pulse) + if use alsa && use pulseaudio; then + # einfo should be enough given pure-ALSA users tend to disable pulse + einfo "Warning: USE=alsa is ignored when USE=pulseaudio is set" + mycmakeargs+=( -DQT_FEATURE_alsa=OFF ) + else + mycmakeargs+=( $(qt_feature alsa) ) + fi + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + if use test; then + local delete=( # sigh + "${D}${QT6_LIBDIR}"/cmake/Qt6Multimedia/Qt6MockMultimediaPlugin*.cmake + "${D}${QT6_MKSPECSDIR}"/modules/qt_plugin_mockmultimediaplugin.pri + "${D}${QT6_PLUGINDIR}"/multimedia/libmockmultimediaplugin.* + "${D}${QT6_PLUGINDIR}"/multimedia/objects-* + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild b/dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild new file mode 100644 index 0000000..336794d --- /dev/null +++ b/dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild @@ -0,0 +1,154 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_HAS_STATIC_LIBS=1 +inherit flag-o-matic qt6-build + +DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~x86" +fi + +IUSE=" + +X alsa +dbus eglfs +ffmpeg gstreamer opengl pipewire pulseaudio + qml +v4l vaapi vulkan wayland +" +REQUIRED_USE=" + || ( ffmpeg gstreamer ) + eglfs? ( ffmpeg opengl qml ) + vaapi? ( ffmpeg opengl ) +" + +# dlopen/dbus: pipewire +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[concurrent,gui,network,opengl=,vulkan=,widgets] + alsa? ( + !pulseaudio? ( media-libs/alsa-lib ) + ) + ffmpeg? ( + ~dev-qt/qtbase-${PV}:6[X=,concurrent,eglfs=] + media-video/ffmpeg:=[vaapi?] + X? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXrandr + ) + ) + gstreamer? ( + dev-libs/glib:2 + media-libs/gst-plugins-bad:1.0 + media-libs/gst-plugins-base:1.0 + media-libs/gstreamer:1.0 + opengl? ( + ~dev-qt/qtbase-${PV}:6[X?,wayland?] + media-libs/gst-plugins-base:1.0[X?,egl,opengl,wayland?] + ) + ) + opengl? ( media-libs/libglvnd ) + pipewire? ( + ~dev-qt/qtbase-${PV}:6[dbus?] + media-video/pipewire:= + ) + pulseaudio? ( media-libs/libpulse ) + qml? ( + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtquick3d-${PV}:6 + ) + vaapi? ( media-libs/libva:= ) +" +DEPEND=" + ${RDEPEND} + X? ( x11-base/xorg-proto ) + v4l? ( sys-kernel/linux-headers ) + vulkan? ( dev-util/vulkan-headers ) +" +BDEPEND="~dev-qt/qtshadertools-${PV}:6" + +CMAKE_SKIP_TESTS=( + # unimportant and expects all backends to be available (bug #928420) + tst_backends + # tries to use real alsa or pulseaudio and fails in sandbox + tst_qaudiosink + tst_qaudiosource + tst_qmediacapture_gstreamer + tst_qmediacapturesession + tst_qmediaframeinputsbackend + tst_qmediaplayer_gstreamer + tst_qmediaplayerbackend + tst_qsoundeffect + # may try to use v4l2 or hardware acceleration depending on availability + tst_qcamerabackend #972689 + tst_qmediarecorderbackend + tst_qscreencapture_integration + tst_qscreencapturebackend + tst_qvideoframebackend + # seems flaky depending on what codecs system libraries support or not + tst_qmediaformatbackend + # fails with offscreen rendering + tst_qvideoframecolormanagement + tst_qwindowcapturebackend +) + +src_prepare() { + qt6-build_src_prepare + + # test expects GStreamer to report an exact bitrate value, but + # this varies depending on version and Qt updates it only now + # and then (disabling permanently with a sed to avoid rebases) + sed -e '/bool validateBitRates = GST_CHECK_VERSION/s/= .*/= false;/' \ + -i tests/auto/unit/plugins/multimedia/gstreamer/gstreamer_backend/tst_gstreamer_backend.cpp || die +} + +src_configure() { + # normally passed by the build system, but needed for 32-on-64 chroots + use x86 && append-cppflags -DDISABLE_SIMD -DPFFFT_SIMD_DISABLE + + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + $(qt_feature ffmpeg) + $(qt_feature gstreamer) + $(usev gstreamer " + $(qt_feature opengl gstreamer_gl) + $(usev opengl " + $(qt_feature X gstreamer_gl_x11) + $(qt_feature wayland gstreamer_gl_wayland) + ") + ") + $(qt_feature pipewire) + $(usev pipewire $(qt_feature dbus pipewire_screencapture)) + $(qt_feature pulseaudio) + $(qt_feature v4l linux_v4l) + $(qt_feature vaapi) + ) + + # ALSA backend is experimental off-by-default and can take priority + # causing problems (bug #935146), disable if USE=pulseaudio is set + # (also do not want unnecessary usage of ALSA plugins -> pulse) + if use alsa && use pulseaudio; then + # einfo should be enough given pure-ALSA users tend to disable pulse + einfo "Warning: USE=alsa is ignored when USE=pulseaudio is set" + mycmakeargs+=( -DQT_FEATURE_alsa=OFF ) + else + mycmakeargs+=( $(qt_feature alsa) ) + fi + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + if use test; then + local delete=( # sigh + "${D}${QT6_LIBDIR}"/cmake/Qt6Multimedia/Qt6MockMultimediaPlugin*.cmake + "${D}${QT6_MKSPECSDIR}"/modules/qt_plugin_mockmultimediaplugin.pri + "${D}${QT6_PLUGINDIR}"/multimedia/libmockmultimediaplugin.* + "${D}${QT6_PLUGINDIR}"/multimedia/objects-* + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtnetwork/Manifest b/dev-qt/qtnetwork/Manifest new file mode 100644 index 0000000..36e646e --- /dev/null +++ b/dev-qt/qtnetwork/Manifest @@ -0,0 +1,3 @@ +DIST qtbase-5.15-gentoo-patchset-6.tar.xz 8288 BLAKE2B ad9695a528345dd3b8e9ce72b7bdfe8f744f16685a567bbc7862ba6c28e5a426260cb0b73e2573cb3a6f16f1785786898ffb44c90f5d75354b97e5756c7573db SHA512 97bc4d5375e1750a5578439ff320ee2e5e929df1dafe56b4e86f2de8ad26c91dc4002e45ad75d9f936347d49b9f54c0c42f8fc2cb7dfd4f54bf08a210b3bc720 +DIST qtbase-5.15.18-gentoo-kde-1.tar.xz 450532 BLAKE2B 172732fe6a2f7dd4718b224d8a8ba7b182ded24f74ee38545d20a17364757153b399cae82b40f425e72b2587ec432f024868078edfe95280242211a040ddd9f6 SHA512 e0257171cf723cb6208a06f28fc95fa07d1239ea9dd3daa79d362146aa53e008398c9e1d95443b84d6d71b835a3f010b957e748f3ec23b77a588d6b372fd0c47 +DIST qtbase-everywhere-opensource-src-5.15.18.tar.xz 51492796 BLAKE2B a02f13f2ae8d3994fe5e3fa5b3751cb2981c3203cc4f3859dd4398d6a62101772885acb0c7b1f830ba8e9fbdd64ecfdb2a6074bfedd1bd372b4fc9ceb747467d SHA512 d39c831e6f3ddcd6a50f103ff60a0700b451f137782249508b7447a80066e3e9259c9b5038e6077ccf8df06b6afefec232c3c4dd331d85765089c92571708206 diff --git a/dev-qt/qtnetwork/metadata.xml b/dev-qt/qtnetwork/metadata.xml new file mode 100644 index 0000000..4593458 --- /dev/null +++ b/dev-qt/qtnetwork/metadata.xml @@ -0,0 +1,22 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Enable support for GSSAPI (virtual/krb5) + Use net-libs/libproxy for automatic + HTTP/SOCKS proxy configuration + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtnetwork/qtnetwork-5.15.18.ebuild b/dev-qt/qtnetwork/qtnetwork-5.15.18.ebuild new file mode 100644 index 0000000..20540ef --- /dev/null +++ b/dev-qt/qtnetwork/qtnetwork-5.15.18.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=1 + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +QT5_MODULE="qtbase" +inherit qt5-build + +DESCRIPTION="Network abstraction library for the Qt5 framework" + +IUSE="gssapi libproxy sctp +ssl" + +DEPEND=" + =dev-qt/qtcore-${QT5_PV}*:5= + virtual/zlib:= + gssapi? ( virtual/krb5 ) + libproxy? ( net-libs/libproxy ) + sctp? ( kernel_linux? ( net-misc/lksctp-tools ) ) + ssl? ( >=dev-libs/openssl-1.1.1:0= ) +" +RDEPEND="${DEPEND}" + +QT5_TARGET_SUBDIRS=( + src/network + src/plugins/bearer/generic +) + +QT5_GENTOO_CONFIG=( + libproxy:libproxy: + ssl::SSL + ssl::OPENSSL + ssl:openssl-linked:LINKED_OPENSSL +) + +QT5_GENTOO_PRIVATE_CONFIG=( + :network +) + +src_configure() { + local myconf=( + $(qt_use gssapi feature-gssapi) + $(qt_use libproxy) + $(qt_use sctp) + $(usev ssl -openssl-linked) + ) + qt5-build_src_configure +} + +src_install() { + qt5-build_src_install + + # workaround for bug 652650 + if use ssl; then + sed -e "/^#define QT_LINKED_OPENSSL/s/$/ true/" \ + -i "${D}${QT5_HEADERDIR}"/Gentoo/${PN}-qconfig.h || die + fi +} diff --git a/dev-qt/qtnetworkauth/Manifest b/dev-qt/qtnetworkauth/Manifest new file mode 100644 index 0000000..301ac67 --- /dev/null +++ b/dev-qt/qtnetworkauth/Manifest @@ -0,0 +1,2 @@ +DIST qtnetworkauth-everywhere-src-6.10.3.tar.xz 434956 BLAKE2B ec0720ab563ca2de6a47099c39107c53417daf9c9b20426e1c81f873d0620d096cc6cfcc695c4f5ed80bbf9036a5524dbe11572dcd17f5811fc77c42bae212ee SHA512 7afbab5406708ebc62f5829b83692b250b47e089d9a48385bd4d602fd366626139892cc7ccfa11217c5598c3193af8449a9fd3dcaf9539096f6a2da8443f038c +DIST qtnetworkauth-everywhere-src-6.11.1.tar.xz 435572 BLAKE2B 983f5c1b5daf99e821c7bf440a8a4da53e603f12b69390d5faeeb76b8bb84ffa19639bd06a7868498ac01c870da7b4c5e90a977d142815215f86f19a9765454e SHA512 70bb3f603a5468e0e6d7530bb1020c29a7615095ccd7952aab8fe8c65bcff0a885e6a7ae1e3292fafc88ab310a7893647cd0271c7dd016f69886cd974dc3a722 diff --git a/dev-qt/qtnetworkauth/metadata.xml b/dev-qt/qtnetworkauth/metadata.xml new file mode 100644 index 0000000..b6d05ae --- /dev/null +++ b/dev-qt/qtnetworkauth/metadata.xml @@ -0,0 +1,18 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtnetworkauth + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtnetworkauth/qtnetworkauth-6.10.3.ebuild b/dev-qt/qtnetworkauth/qtnetworkauth-6.10.3.ebuild new file mode 100644 index 0000000..f488598 --- /dev/null +++ b/dev-qt/qtnetworkauth/qtnetworkauth-6.10.3.ebuild @@ -0,0 +1,15 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Network authorization library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86" +fi + +RDEPEND="~dev-qt/qtbase-${PV}:6[gui,network]" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtnetworkauth/qtnetworkauth-6.11.1.ebuild b/dev-qt/qtnetworkauth/qtnetworkauth-6.11.1.ebuild new file mode 100644 index 0000000..f488598 --- /dev/null +++ b/dev-qt/qtnetworkauth/qtnetworkauth-6.11.1.ebuild @@ -0,0 +1,15 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Network authorization library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86" +fi + +RDEPEND="~dev-qt/qtbase-${PV}:6[gui,network]" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtnetworkauth/qtnetworkauth-6.11.9999.ebuild b/dev-qt/qtnetworkauth/qtnetworkauth-6.11.9999.ebuild new file mode 100644 index 0000000..63beca1 --- /dev/null +++ b/dev-qt/qtnetworkauth/qtnetworkauth-6.11.9999.ebuild @@ -0,0 +1,15 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Network authorization library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" +fi + +RDEPEND="~dev-qt/qtbase-${PV}:6[gui,network]" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtnetworkauth/qtnetworkauth-6.12.9999.ebuild b/dev-qt/qtnetworkauth/qtnetworkauth-6.12.9999.ebuild new file mode 100644 index 0000000..da29b54 --- /dev/null +++ b/dev-qt/qtnetworkauth/qtnetworkauth-6.12.9999.ebuild @@ -0,0 +1,15 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Network authorization library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" +fi + +RDEPEND="~dev-qt/qtbase-${PV}:6[gui,network]" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtnetworkauth/qtnetworkauth-6.9999.ebuild b/dev-qt/qtnetworkauth/qtnetworkauth-6.9999.ebuild new file mode 100644 index 0000000..63beca1 --- /dev/null +++ b/dev-qt/qtnetworkauth/qtnetworkauth-6.9999.ebuild @@ -0,0 +1,15 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Network authorization library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" +fi + +RDEPEND="~dev-qt/qtbase-${PV}:6[gui,network]" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtopengl/Manifest b/dev-qt/qtopengl/Manifest new file mode 100644 index 0000000..36e646e --- /dev/null +++ b/dev-qt/qtopengl/Manifest @@ -0,0 +1,3 @@ +DIST qtbase-5.15-gentoo-patchset-6.tar.xz 8288 BLAKE2B ad9695a528345dd3b8e9ce72b7bdfe8f744f16685a567bbc7862ba6c28e5a426260cb0b73e2573cb3a6f16f1785786898ffb44c90f5d75354b97e5756c7573db SHA512 97bc4d5375e1750a5578439ff320ee2e5e929df1dafe56b4e86f2de8ad26c91dc4002e45ad75d9f936347d49b9f54c0c42f8fc2cb7dfd4f54bf08a210b3bc720 +DIST qtbase-5.15.18-gentoo-kde-1.tar.xz 450532 BLAKE2B 172732fe6a2f7dd4718b224d8a8ba7b182ded24f74ee38545d20a17364757153b399cae82b40f425e72b2587ec432f024868078edfe95280242211a040ddd9f6 SHA512 e0257171cf723cb6208a06f28fc95fa07d1239ea9dd3daa79d362146aa53e008398c9e1d95443b84d6d71b835a3f010b957e748f3ec23b77a588d6b372fd0c47 +DIST qtbase-everywhere-opensource-src-5.15.18.tar.xz 51492796 BLAKE2B a02f13f2ae8d3994fe5e3fa5b3751cb2981c3203cc4f3859dd4398d6a62101772885acb0c7b1f830ba8e9fbdd64ecfdb2a6074bfedd1bd372b4fc9ceb747467d SHA512 d39c831e6f3ddcd6a50f103ff60a0700b451f137782249508b7447a80066e3e9259c9b5038e6077ccf8df06b6afefec232c3c4dd331d85765089c92571708206 diff --git a/dev-qt/qtopengl/metadata.xml b/dev-qt/qtopengl/metadata.xml new file mode 100644 index 0000000..3c434f4 --- /dev/null +++ b/dev-qt/qtopengl/metadata.xml @@ -0,0 +1,17 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtopengl/qtopengl-5.15.18.ebuild b/dev-qt/qtopengl/qtopengl-5.15.18.ebuild new file mode 100644 index 0000000..0d52a90 --- /dev/null +++ b/dev-qt/qtopengl/qtopengl-5.15.18.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=1 + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +QT5_MODULE="qtbase" +VIRTUALX_REQUIRED="test" +inherit qt5-build + +DESCRIPTION="OpenGL support library for the Qt5 framework (deprecated)" + +IUSE="gles2-only" + +DEPEND=" + =dev-qt/qtcore-${QT5_PV}*:5= + =dev-qt/qtgui-${QT5_PV}*[gles2-only=] + =dev-qt/qtwidgets-${QT5_PV}*[gles2-only=] +" +RDEPEND="${DEPEND}" + +QT5_TARGET_SUBDIRS=( + src/opengl +) + +src_configure() { + local myconf=( + -opengl $(usex gles2-only es2 desktop) + ) + qt5-build_src_configure +} diff --git a/dev-qt/qtpbfimageplugin/Manifest b/dev-qt/qtpbfimageplugin/Manifest new file mode 100644 index 0000000..96bb556 --- /dev/null +++ b/dev-qt/qtpbfimageplugin/Manifest @@ -0,0 +1 @@ +DIST qtpbfimageplugin-5.2.tar.gz 618857 BLAKE2B 9b21a8e4d0ea418f25a99d325ecff5fc5ccdc8f51701516ea8bccef8420e4bce9f3361ef424dde719a5f11ef73e5aba1a0ff8412518c9a2676dd3f44b7d57f1b SHA512 347bf69fbe47ae04f05def727c00aa0404287b2a8a341ce346537204fa043369ecaa2be3c55349821937c308a7e2bb8c8a261efcce8784cba552877aad8576b8 diff --git a/dev-qt/qtpbfimageplugin/metadata.xml b/dev-qt/qtpbfimageplugin/metadata.xml new file mode 100644 index 0000000..622a96a --- /dev/null +++ b/dev-qt/qtpbfimageplugin/metadata.xml @@ -0,0 +1,15 @@ + + + + + grozin@gentoo.org + Andrey Grozin + + + sci@gentoo.org + Gentoo Science Project + + + tumic0/QtPBFImagePlugin + + diff --git a/dev-qt/qtpbfimageplugin/qtpbfimageplugin-5.2.ebuild b/dev-qt/qtpbfimageplugin/qtpbfimageplugin-5.2.ebuild new file mode 100644 index 0000000..af5d907 --- /dev/null +++ b/dev-qt/qtpbfimageplugin/qtpbfimageplugin-5.2.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PN="QtPBFImagePlugin" +inherit qmake-utils + +DESCRIPTION="Qt image plugin for displaying Mapbox vector tiles" +HOMEPAGE="https://github.com/tumic0/QtPBFImagePlugin/" +SRC_URI="https://github.com/tumic0/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}"/${MY_PN}-${PV} + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64" + +RDEPEND=" + dev-qt/qtbase:6[gui,opengl] + virtual/zlib:= +" + +src_configure() { + eqmake6 pbfplugin.pro +} + +src_install() { + emake INSTALL_ROOT="${D}" install +} diff --git a/dev-qt/qtpositioning/Manifest b/dev-qt/qtpositioning/Manifest new file mode 100644 index 0000000..373ce0b --- /dev/null +++ b/dev-qt/qtpositioning/Manifest @@ -0,0 +1,2 @@ +DIST qtpositioning-everywhere-src-6.10.3.tar.xz 650180 BLAKE2B c2b545ca91725a600320400ada81bc6f956be448243fa273c37eed45749c7a2835d179f4400f728a484e8d111f8258beba5fc0d01a46c5b53a17e54e658528cc SHA512 52d6ebca4e2921776402895fed6c8cc81c50d274215c783bf499cdd37935c29b6027e203d717cffcc30c5be3d79081285112509b4dbe81355d8d02acb4a35c25 +DIST qtpositioning-everywhere-src-6.11.1.tar.xz 653096 BLAKE2B 4d333b537321d9e5f58c41df5784263eb2639c7e149a0fad8129379c8eecec80abc7daad0c3d541fa734edbab794f11c9e3baab3d7ca099f07ed41105e3d6f20 SHA512 b39c05c13c6440e9d3dd85577ac8e56751f1db598c3ef5f8cdd71d379291abb8d80dd900e5bcde83310d071c398e4dc7de7741d4523d3675806b69bce0a5129a diff --git a/dev-qt/qtpositioning/metadata.xml b/dev-qt/qtpositioning/metadata.xml new file mode 100644 index 0000000..92d390e --- /dev/null +++ b/dev-qt/qtpositioning/metadata.xml @@ -0,0 +1,23 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Use enhanced location information from app-misc/geoclue + Build plugin for parsing NMEA (National Marine Electronics Association) sentences + Build QML bindings + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtpositioning + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtpositioning/qtpositioning-6.10.3.ebuild b/dev-qt/qtpositioning/qtpositioning-6.10.3.ebuild new file mode 100644 index 0000000..6503a7f --- /dev/null +++ b/dev-qt/qtpositioning/qtpositioning-6.10.3.ebuild @@ -0,0 +1,68 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Physical position determination library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="geoclue nmea +qml" + +DEPEND=" + ~dev-qt/qtbase-${PV}:6 + geoclue? ( ~dev-qt/qtbase-${PV}:6[dbus] ) + nmea? ( + ~dev-qt/qtbase-${PV}:6[network] + ~dev-qt/qtserialport-${PV}:6 + ) + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +RDEPEND=" + ${DEPEND} + geoclue? ( app-misc/geoclue:2.0 ) +" + +CMAKE_SKIP_TESTS=( + # threads test (rarely) fails randomly + tst_qgeoareamonitor +) + +src_prepare() { + qt6-build_src_prepare + + # unfortunately cmake_use_find_package would break things with qtbase + use geoclue || + sed -e 's/TARGET Qt::DBus/FALSE/' \ + -i src/plugins/position/CMakeLists.txt || die + use nmea || + sed -e 's/TARGET Qt::Network/FALSE/' \ + -i src/plugins/position/CMakeLists.txt || die +} + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + ) + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + if use test; then + local delete=( # sigh + "${D}${QT6_LIBDIR}"/cmake/Qt6Positioning/*DummyPlugin*.cmake + "${D}${QT6_LIBDIR}"/cmake/Qt6Positioning/*TestPlugin*.cmake + "${D}${QT6_PLUGINDIR}"/position/libqtposition_satellitesourcetest.so + "${D}${QT6_PLUGINDIR}"/position/libqtposition_testplugin{,2}.so + ) + # using -f given not tracking which tests may be skipped or not + rm -f -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtpositioning/qtpositioning-6.11.1.ebuild b/dev-qt/qtpositioning/qtpositioning-6.11.1.ebuild new file mode 100644 index 0000000..6503a7f --- /dev/null +++ b/dev-qt/qtpositioning/qtpositioning-6.11.1.ebuild @@ -0,0 +1,68 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Physical position determination library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="geoclue nmea +qml" + +DEPEND=" + ~dev-qt/qtbase-${PV}:6 + geoclue? ( ~dev-qt/qtbase-${PV}:6[dbus] ) + nmea? ( + ~dev-qt/qtbase-${PV}:6[network] + ~dev-qt/qtserialport-${PV}:6 + ) + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +RDEPEND=" + ${DEPEND} + geoclue? ( app-misc/geoclue:2.0 ) +" + +CMAKE_SKIP_TESTS=( + # threads test (rarely) fails randomly + tst_qgeoareamonitor +) + +src_prepare() { + qt6-build_src_prepare + + # unfortunately cmake_use_find_package would break things with qtbase + use geoclue || + sed -e 's/TARGET Qt::DBus/FALSE/' \ + -i src/plugins/position/CMakeLists.txt || die + use nmea || + sed -e 's/TARGET Qt::Network/FALSE/' \ + -i src/plugins/position/CMakeLists.txt || die +} + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + ) + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + if use test; then + local delete=( # sigh + "${D}${QT6_LIBDIR}"/cmake/Qt6Positioning/*DummyPlugin*.cmake + "${D}${QT6_LIBDIR}"/cmake/Qt6Positioning/*TestPlugin*.cmake + "${D}${QT6_PLUGINDIR}"/position/libqtposition_satellitesourcetest.so + "${D}${QT6_PLUGINDIR}"/position/libqtposition_testplugin{,2}.so + ) + # using -f given not tracking which tests may be skipped or not + rm -f -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtpositioning/qtpositioning-6.11.9999.ebuild b/dev-qt/qtpositioning/qtpositioning-6.11.9999.ebuild new file mode 100644 index 0000000..dbfd920 --- /dev/null +++ b/dev-qt/qtpositioning/qtpositioning-6.11.9999.ebuild @@ -0,0 +1,68 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Physical position determination library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="geoclue nmea +qml" + +DEPEND=" + ~dev-qt/qtbase-${PV}:6 + geoclue? ( ~dev-qt/qtbase-${PV}:6[dbus] ) + nmea? ( + ~dev-qt/qtbase-${PV}:6[network] + ~dev-qt/qtserialport-${PV}:6 + ) + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +RDEPEND=" + ${DEPEND} + geoclue? ( app-misc/geoclue:2.0 ) +" + +CMAKE_SKIP_TESTS=( + # threads test (rarely) fails randomly + tst_qgeoareamonitor +) + +src_prepare() { + qt6-build_src_prepare + + # unfortunately cmake_use_find_package would break things with qtbase + use geoclue || + sed -e 's/TARGET Qt::DBus/FALSE/' \ + -i src/plugins/position/CMakeLists.txt || die + use nmea || + sed -e 's/TARGET Qt::Network/FALSE/' \ + -i src/plugins/position/CMakeLists.txt || die +} + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + ) + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + if use test; then + local delete=( # sigh + "${D}${QT6_LIBDIR}"/cmake/Qt6Positioning/*DummyPlugin*.cmake + "${D}${QT6_LIBDIR}"/cmake/Qt6Positioning/*TestPlugin*.cmake + "${D}${QT6_PLUGINDIR}"/position/libqtposition_satellitesourcetest.so + "${D}${QT6_PLUGINDIR}"/position/libqtposition_testplugin{,2}.so + ) + # using -f given not tracking which tests may be skipped or not + rm -f -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtpositioning/qtpositioning-6.12.9999.ebuild b/dev-qt/qtpositioning/qtpositioning-6.12.9999.ebuild new file mode 100644 index 0000000..71a62d7 --- /dev/null +++ b/dev-qt/qtpositioning/qtpositioning-6.12.9999.ebuild @@ -0,0 +1,68 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Physical position determination library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="geoclue nmea +qml" + +DEPEND=" + ~dev-qt/qtbase-${PV}:6 + geoclue? ( ~dev-qt/qtbase-${PV}:6[dbus] ) + nmea? ( + ~dev-qt/qtbase-${PV}:6[network] + ~dev-qt/qtserialport-${PV}:6 + ) + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +RDEPEND=" + ${DEPEND} + geoclue? ( app-misc/geoclue:2.0 ) +" + +CMAKE_SKIP_TESTS=( + # threads test (rarely) fails randomly + tst_qgeoareamonitor +) + +src_prepare() { + qt6-build_src_prepare + + # unfortunately cmake_use_find_package would break things with qtbase + use geoclue || + sed -e 's/TARGET Qt::DBus/FALSE/' \ + -i src/plugins/position/CMakeLists.txt || die + use nmea || + sed -e 's/TARGET Qt::Network/FALSE/' \ + -i src/plugins/position/CMakeLists.txt || die +} + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + ) + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + if use test; then + local delete=( # sigh + "${D}${QT6_LIBDIR}"/cmake/Qt6Positioning/*DummyPlugin*.cmake + "${D}${QT6_LIBDIR}"/cmake/Qt6Positioning/*TestPlugin*.cmake + "${D}${QT6_PLUGINDIR}"/position/libqtposition_satellitesourcetest.so + "${D}${QT6_PLUGINDIR}"/position/libqtposition_testplugin{,2}.so + ) + # using -f given not tracking which tests may be skipped or not + rm -f -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtpositioning/qtpositioning-6.9999.ebuild b/dev-qt/qtpositioning/qtpositioning-6.9999.ebuild new file mode 100644 index 0000000..c872768 --- /dev/null +++ b/dev-qt/qtpositioning/qtpositioning-6.9999.ebuild @@ -0,0 +1,68 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Physical position determination library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="geoclue nmea +qml" + +DEPEND=" + ~dev-qt/qtbase-${PV}:6 + geoclue? ( ~dev-qt/qtbase-${PV}:6[dbus] ) + nmea? ( + ~dev-qt/qtbase-${PV}:6[network] + ~dev-qt/qtserialport-${PV}:6 + ) + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +RDEPEND=" + ${DEPEND} + geoclue? ( app-misc/geoclue:2.0 ) +" + +CMAKE_SKIP_TESTS=( + # threads test (rarely) fails randomly + tst_qgeoareamonitor +) + +src_prepare() { + qt6-build_src_prepare + + # unfortunately cmake_use_find_package would break things with qtbase + use geoclue || + sed -e 's/TARGET Qt::DBus/FALSE/' \ + -i src/plugins/position/CMakeLists.txt || die + use nmea || + sed -e 's/TARGET Qt::Network/FALSE/' \ + -i src/plugins/position/CMakeLists.txt || die +} + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + ) + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + if use test; then + local delete=( # sigh + "${D}${QT6_LIBDIR}"/cmake/Qt6Positioning/*DummyPlugin*.cmake + "${D}${QT6_LIBDIR}"/cmake/Qt6Positioning/*TestPlugin*.cmake + "${D}${QT6_PLUGINDIR}"/position/libqtposition_satellitesourcetest.so + "${D}${QT6_PLUGINDIR}"/position/libqtposition_testplugin{,2}.so + ) + # using -f given not tracking which tests may be skipped or not + rm -f -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtprintsupport/Manifest b/dev-qt/qtprintsupport/Manifest new file mode 100644 index 0000000..36e646e --- /dev/null +++ b/dev-qt/qtprintsupport/Manifest @@ -0,0 +1,3 @@ +DIST qtbase-5.15-gentoo-patchset-6.tar.xz 8288 BLAKE2B ad9695a528345dd3b8e9ce72b7bdfe8f744f16685a567bbc7862ba6c28e5a426260cb0b73e2573cb3a6f16f1785786898ffb44c90f5d75354b97e5756c7573db SHA512 97bc4d5375e1750a5578439ff320ee2e5e929df1dafe56b4e86f2de8ad26c91dc4002e45ad75d9f936347d49b9f54c0c42f8fc2cb7dfd4f54bf08a210b3bc720 +DIST qtbase-5.15.18-gentoo-kde-1.tar.xz 450532 BLAKE2B 172732fe6a2f7dd4718b224d8a8ba7b182ded24f74ee38545d20a17364757153b399cae82b40f425e72b2587ec432f024868078edfe95280242211a040ddd9f6 SHA512 e0257171cf723cb6208a06f28fc95fa07d1239ea9dd3daa79d362146aa53e008398c9e1d95443b84d6d71b835a3f010b957e748f3ec23b77a588d6b372fd0c47 +DIST qtbase-everywhere-opensource-src-5.15.18.tar.xz 51492796 BLAKE2B a02f13f2ae8d3994fe5e3fa5b3751cb2981c3203cc4f3859dd4398d6a62101772885acb0c7b1f830ba8e9fbdd64ecfdb2a6074bfedd1bd372b4fc9ceb747467d SHA512 d39c831e6f3ddcd6a50f103ff60a0700b451f137782249508b7447a80066e3e9259c9b5038e6077ccf8df06b6afefec232c3c4dd331d85765089c92571708206 diff --git a/dev-qt/qtprintsupport/metadata.xml b/dev-qt/qtprintsupport/metadata.xml new file mode 100644 index 0000000..3c434f4 --- /dev/null +++ b/dev-qt/qtprintsupport/metadata.xml @@ -0,0 +1,17 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtprintsupport/qtprintsupport-5.15.18.ebuild b/dev-qt/qtprintsupport/qtprintsupport-5.15.18.ebuild new file mode 100644 index 0000000..4c3cd22 --- /dev/null +++ b/dev-qt/qtprintsupport/qtprintsupport-5.15.18.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=1 + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +QT5_MODULE="qtbase" +VIRTUALX_REQUIRED="test" +inherit qt5-build + +DESCRIPTION="Printing support library for the Qt5 framework" + +IUSE="cups gles2-only" + +RDEPEND=" + =dev-qt/qtcore-${QT5_PV}*:5= + =dev-qt/qtgui-${QT5_PV}*[gles2-only=] + =dev-qt/qtwidgets-${QT5_PV}*[gles2-only=] + cups? ( net-print/cups ) +" +DEPEND="${RDEPEND} + test? ( =dev-qt/qtnetwork-${QT5_PV}* ) +" + +QT5_TARGET_SUBDIRS=( + src/printsupport + src/plugins/printsupport +) + +QT5_GENTOO_CONFIG=( + cups +) + +src_configure() { + local myconf=( + $(qt_use cups) + -opengl $(usex gles2-only es2 desktop) + ) + qt5-build_src_configure +} diff --git a/dev-qt/qtquick3d/Manifest b/dev-qt/qtquick3d/Manifest new file mode 100644 index 0000000..494dfcc --- /dev/null +++ b/dev-qt/qtquick3d/Manifest @@ -0,0 +1,2 @@ +DIST qtquick3d-everywhere-src-6.10.3.tar.xz 74013568 BLAKE2B 7ca0e0784794e59deb434a27850fc9d7966e023024f9a3f6082b9ed1fc9ce2a23aed5fc72e11c583a7c4211992c894c1eab4d918b2fc86ed945c65ede2bf01ec SHA512 186a2db9430f6dc59b9a25492f924710ac84e1f0a0e1accd5927abdb525c5799e24a3c90d41042868cada1fc653fd533256ad93cac373536b0f0cf16f8876942 +DIST qtquick3d-everywhere-src-6.11.1.tar.xz 69622816 BLAKE2B bde4e3133af9fdd440b944087c7c767c587dbd3a0f3a8f653e7a6dea9b5fbfe3b1e0e941aa75c61bb2ddf424174e31b0d42649518301c17b3480d6a9c61e022b SHA512 cb86f0c44b57f4ea0a28f6869444b09e56a4a6c82cd25ee56972ae554717c6324218b2b51b091504f5bdc9807e90f138e4b73f8ad75fb1c65e197cf2e81c430e diff --git a/dev-qt/qtquick3d/files/qtquick3d-6.6.2-gcc14.patch b/dev-qt/qtquick3d/files/qtquick3d-6.6.2-gcc14.patch new file mode 100644 index 0000000..f636264 --- /dev/null +++ b/dev-qt/qtquick3d/files/qtquick3d-6.6.2-gcc14.patch @@ -0,0 +1,23 @@ +Qt undefs __AVX__ and others[1] to prevent bundled embree from using +AVX/SSE4.2 code paths and result in linking errors, but this appears +insufficient with gcc14[2]. + +Until Qt improves this, for simplicity pass -mno-* to bundled embree +as a workaround which lets the compiler disable these instead and +that includes other features which depend on these. + +(note that embree is only used on amd64 and aarch64) + +Ideal would be to unbundle this and let system embree use the full +feature set, but there is no machinery to easily allow it. + +[1] https://github.com/qt/qtquick3d/commit/7980cfd0 +[2] https://bugs.gentoo.org/917407 +--- a/src/3rdparty/embree/CMakeLists.txt ++++ b/src/3rdparty/embree/CMakeLists.txt +@@ -64,2 +64,5 @@ + # Use SSE2 only, ignore AVX/SSE4.2 for now ++if (TEST_architecture_arch STREQUAL x86_64) ++ qt_internal_extend_target(BundledEmbree COMPILE_OPTIONS -mno-avx -mno-sse4.2) ++endif() + qt_internal_extend_target(BundledEmbree DEFINES diff --git a/dev-qt/qtquick3d/files/qtquick3d-6.6.2-x32abi.patch b/dev-qt/qtquick3d/files/qtquick3d-6.6.2-x32abi.patch new file mode 100644 index 0000000..981f2f8 --- /dev/null +++ b/dev-qt/qtquick3d/files/qtquick3d-6.6.2-x32abi.patch @@ -0,0 +1,12 @@ +https://bugs.gentoo.org/926094 +https://bugreports.qt.io/browse/QTBUG-122955 + +https://bugs.gentoo.org/926093 +https://github.com/embree/embree/issues/477 +--- a/src/3rdparty/embree/common/sys/platform.h ++++ b/src/3rdparty/embree/common/sys/platform.h +@@ -34,3 +34,3 @@ + /* detect 64 bit platform */ +-#if defined(__X86_64__) || defined(__aarch64__) ++#if (defined(__X86_64__) || defined(__aarch64__)) && ! defined(__ILP32__) + #define __64BIT__ diff --git a/dev-qt/qtquick3d/files/qtquick3d-6.9.2-assimp6.patch b/dev-qt/qtquick3d/files/qtquick3d-6.9.2-assimp6.patch new file mode 100644 index 0000000..9ef0475 --- /dev/null +++ b/dev-qt/qtquick3d/files/qtquick3d-6.9.2-assimp6.patch @@ -0,0 +1,15 @@ +Seems that the '5' enforces the major version and it refuses to find +system's assimp-6.0.2 (which is perfectly usable given Qt 6.9.2 bundles +that version without it). + +We don't package older ones, so drop the check as a quick workaround. + +https://bugreports.qt.io/browse/QTBUG-137996 +--- a/src/plugins/assetimporters/configure.cmake ++++ b/src/plugins/assetimporters/configure.cmake +@@ -16 +16 @@ +-qt_find_package(WrapQuick3DAssimp 5.1.6 PROVIDED_TARGETS WrapQuick3DAssimp::WrapQuick3DAssimp MODULE_NAME assetimporters QMAKE_LIB quick3d_assimp) ++qt_find_package(WrapQuick3DAssimp PROVIDED_TARGETS WrapQuick3DAssimp::WrapQuick3DAssimp MODULE_NAME assetimporters QMAKE_LIB quick3d_assimp) +@@ -38 +38 @@ +- PACKAGES PACKAGE WrapQuick3DAssimp 5.1.6) ++ PACKAGES PACKAGE WrapQuick3DAssimp) diff --git a/dev-qt/qtquick3d/metadata.xml b/dev-qt/qtquick3d/metadata.xml new file mode 100644 index 0000000..3cfa8d6 --- /dev/null +++ b/dev-qt/qtquick3d/metadata.xml @@ -0,0 +1,18 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtquick3d + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtquick3d/qtquick3d-6.10.3.ebuild b/dev-qt/qtquick3d/qtquick3d-6.10.3.ebuild new file mode 100644 index 0000000..8fa865b --- /dev/null +++ b/dev-qt/qtquick3d/qtquick3d-6.10.3.ebuild @@ -0,0 +1,57 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_HAS_STATIC_LIBS=1 +inherit qt6-build + +DESCRIPTION="Qt module and API for defining 3D content in Qt QuickTools" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" +elif [[ ${QT6_BUILD_TYPE} == live ]]; then + EGIT_SUBMODULES=() # skip qtquick3d-assimp +fi + +IUSE="opengl vulkan" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[concurrent,gui,opengl=,vulkan=,widgets] + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtquicktimeline-${PV}:6 + ~dev-qt/qtshadertools-${PV}:6 + media-libs/assimp:= + virtual/zlib:= +" +DEPEND=" + ${RDEPEND} + test? ( ~dev-qt/qtbase-${PV}:6[network] ) + vulkan? ( dev-util/vulkan-headers ) +" +BDEPEND=" + ~dev-qt/qtshadertools-${PV}:6 +" + +CMAKE_SKIP_TESTS=( + # needs off-by-default assimp[collada] that is masked on some profiles, + # not worth the extra trouble + tst_qquick3dassetimport +) + +PATCHES=( + "${FILESDIR}"/${PN}-6.6.2-gcc14.patch + "${FILESDIR}"/${PN}-6.6.2-x32abi.patch + "${FILESDIR}"/${PN}-6.9.2-assimp6.patch +) + +src_configure() { + local mycmakeargs=( + # TODO: if someone wants it, openxr should likely have its own + # USE and be packaged rather than use the bundled copy (if use + # bundled, note need to setup python-any-r1) + -DQT_FEATURE_quick3dxr_openxr=OFF + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtquick3d/qtquick3d-6.11.1.ebuild b/dev-qt/qtquick3d/qtquick3d-6.11.1.ebuild new file mode 100644 index 0000000..3d977dc --- /dev/null +++ b/dev-qt/qtquick3d/qtquick3d-6.11.1.ebuild @@ -0,0 +1,56 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_HAS_STATIC_LIBS=1 +inherit qt6-build + +DESCRIPTION="Qt module and API for defining 3D content in Qt QuickTools" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" +elif [[ ${QT6_BUILD_TYPE} == live ]]; then + EGIT_SUBMODULES=() # skip qtquick3d-assimp +fi + +IUSE="opengl vulkan" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[concurrent,gui,opengl=,vulkan=,widgets] + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtquicktimeline-${PV}:6 + ~dev-qt/qtshadertools-${PV}:6 + media-libs/assimp:= + virtual/zlib:= +" +DEPEND=" + ${RDEPEND} + test? ( ~dev-qt/qtbase-${PV}:6[network] ) + vulkan? ( dev-util/vulkan-headers ) +" +BDEPEND=" + ~dev-qt/qtshadertools-${PV}:6 +" + +CMAKE_SKIP_TESTS=( + # needs off-by-default assimp[collada] that is masked on some profiles, + # not worth the extra trouble + tst_qquick3dassetimport +) + +PATCHES=( + "${FILESDIR}"/${PN}-6.6.2-gcc14.patch + "${FILESDIR}"/${PN}-6.6.2-x32abi.patch +) + +src_configure() { + local mycmakeargs=( + # TODO: if someone wants it, openxr should likely have its own + # USE and be packaged rather than use the bundled copy (if use + # bundled, note need to setup python-any-r1) + -DQT_FEATURE_quick3dxr_openxr=OFF + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtquick3d/qtquick3d-6.11.9999.ebuild b/dev-qt/qtquick3d/qtquick3d-6.11.9999.ebuild new file mode 100644 index 0000000..807e67c --- /dev/null +++ b/dev-qt/qtquick3d/qtquick3d-6.11.9999.ebuild @@ -0,0 +1,56 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_HAS_STATIC_LIBS=1 +inherit qt6-build + +DESCRIPTION="Qt module and API for defining 3D content in Qt QuickTools" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +elif [[ ${QT6_BUILD_TYPE} == live ]]; then + EGIT_SUBMODULES=() # skip qtquick3d-assimp +fi + +IUSE="opengl vulkan" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[concurrent,gui,opengl=,vulkan=,widgets] + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtquicktimeline-${PV}:6 + ~dev-qt/qtshadertools-${PV}:6 + media-libs/assimp:= + virtual/zlib:= +" +DEPEND=" + ${RDEPEND} + test? ( ~dev-qt/qtbase-${PV}:6[network] ) + vulkan? ( dev-util/vulkan-headers ) +" +BDEPEND=" + ~dev-qt/qtshadertools-${PV}:6 +" + +CMAKE_SKIP_TESTS=( + # needs off-by-default assimp[collada] that is masked on some profiles, + # not worth the extra trouble + tst_qquick3dassetimport +) + +PATCHES=( + "${FILESDIR}"/${PN}-6.6.2-gcc14.patch + "${FILESDIR}"/${PN}-6.6.2-x32abi.patch +) + +src_configure() { + local mycmakeargs=( + # TODO: if someone wants it, openxr should likely have its own + # USE and be packaged rather than use the bundled copy (if use + # bundled, note need to setup python-any-r1) + -DQT_FEATURE_quick3dxr_openxr=OFF + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtquick3d/qtquick3d-6.12.9999.ebuild b/dev-qt/qtquick3d/qtquick3d-6.12.9999.ebuild new file mode 100644 index 0000000..807e67c --- /dev/null +++ b/dev-qt/qtquick3d/qtquick3d-6.12.9999.ebuild @@ -0,0 +1,56 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_HAS_STATIC_LIBS=1 +inherit qt6-build + +DESCRIPTION="Qt module and API for defining 3D content in Qt QuickTools" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +elif [[ ${QT6_BUILD_TYPE} == live ]]; then + EGIT_SUBMODULES=() # skip qtquick3d-assimp +fi + +IUSE="opengl vulkan" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[concurrent,gui,opengl=,vulkan=,widgets] + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtquicktimeline-${PV}:6 + ~dev-qt/qtshadertools-${PV}:6 + media-libs/assimp:= + virtual/zlib:= +" +DEPEND=" + ${RDEPEND} + test? ( ~dev-qt/qtbase-${PV}:6[network] ) + vulkan? ( dev-util/vulkan-headers ) +" +BDEPEND=" + ~dev-qt/qtshadertools-${PV}:6 +" + +CMAKE_SKIP_TESTS=( + # needs off-by-default assimp[collada] that is masked on some profiles, + # not worth the extra trouble + tst_qquick3dassetimport +) + +PATCHES=( + "${FILESDIR}"/${PN}-6.6.2-gcc14.patch + "${FILESDIR}"/${PN}-6.6.2-x32abi.patch +) + +src_configure() { + local mycmakeargs=( + # TODO: if someone wants it, openxr should likely have its own + # USE and be packaged rather than use the bundled copy (if use + # bundled, note need to setup python-any-r1) + -DQT_FEATURE_quick3dxr_openxr=OFF + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtquick3d/qtquick3d-6.9999.ebuild b/dev-qt/qtquick3d/qtquick3d-6.9999.ebuild new file mode 100644 index 0000000..807e67c --- /dev/null +++ b/dev-qt/qtquick3d/qtquick3d-6.9999.ebuild @@ -0,0 +1,56 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_HAS_STATIC_LIBS=1 +inherit qt6-build + +DESCRIPTION="Qt module and API for defining 3D content in Qt QuickTools" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +elif [[ ${QT6_BUILD_TYPE} == live ]]; then + EGIT_SUBMODULES=() # skip qtquick3d-assimp +fi + +IUSE="opengl vulkan" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[concurrent,gui,opengl=,vulkan=,widgets] + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtquicktimeline-${PV}:6 + ~dev-qt/qtshadertools-${PV}:6 + media-libs/assimp:= + virtual/zlib:= +" +DEPEND=" + ${RDEPEND} + test? ( ~dev-qt/qtbase-${PV}:6[network] ) + vulkan? ( dev-util/vulkan-headers ) +" +BDEPEND=" + ~dev-qt/qtshadertools-${PV}:6 +" + +CMAKE_SKIP_TESTS=( + # needs off-by-default assimp[collada] that is masked on some profiles, + # not worth the extra trouble + tst_qquick3dassetimport +) + +PATCHES=( + "${FILESDIR}"/${PN}-6.6.2-gcc14.patch + "${FILESDIR}"/${PN}-6.6.2-x32abi.patch +) + +src_configure() { + local mycmakeargs=( + # TODO: if someone wants it, openxr should likely have its own + # USE and be packaged rather than use the bundled copy (if use + # bundled, note need to setup python-any-r1) + -DQT_FEATURE_quick3dxr_openxr=OFF + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtquickcontrols/Manifest b/dev-qt/qtquickcontrols/Manifest new file mode 100644 index 0000000..eb6e71b --- /dev/null +++ b/dev-qt/qtquickcontrols/Manifest @@ -0,0 +1 @@ +DIST qtquickcontrols-everywhere-opensource-src-5.15.18.tar.xz 5960964 BLAKE2B d380286f20257bacdf86a6aa97b8e935d9b5477bb25f54ddc97bbdf1adf208ab0ade48463dd9905b98eb2c99a05ef81b55fa452d75287235f58adef14cc16e80 SHA512 9bd2bcd119d162f8ef30b2e1f459776a66b504f5043809cc0846b7c4898ca464eb44f65d1c76d3857a12eef7126ec8a84f8ac3566b5c3200b65572a3ff9296f7 diff --git a/dev-qt/qtquickcontrols/metadata.xml b/dev-qt/qtquickcontrols/metadata.xml new file mode 100644 index 0000000..20e0464 --- /dev/null +++ b/dev-qt/qtquickcontrols/metadata.xml @@ -0,0 +1,20 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Enable QtWidgets support + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtquickcontrols/qtquickcontrols-5.15.18.ebuild b/dev-qt/qtquickcontrols/qtquickcontrols-5.15.18.ebuild new file mode 100644 index 0000000..30f0ec4 --- /dev/null +++ b/dev-qt/qtquickcontrols/qtquickcontrols-5.15.18.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt5-build + +DESCRIPTION="Set of Qt Quick controls to create complete user interfaces (deprecated)" + +if [[ ${QT5_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="+widgets" + +DEPEND=" + =dev-qt/qtcore-${QT5_PV}* + =dev-qt/qtdeclarative-${QT5_PV}* + =dev-qt/qtgui-${QT5_PV}* + widgets? ( =dev-qt/qtwidgets-${QT5_PV}* ) +" +RDEPEND="${DEPEND}" + +src_prepare() { + qt_use_disable_mod widgets widgets \ + src/src.pro \ + src/controls/Private/private.pri \ + tests/auto/activeFocusOnTab/activeFocusOnTab.pro \ + tests/auto/controls/controls.pro \ + tests/auto/testplugin/testplugin.pro + + qt5-build_src_prepare +} diff --git a/dev-qt/qtquickcontrols2/Manifest b/dev-qt/qtquickcontrols2/Manifest new file mode 100644 index 0000000..4e3cb3c --- /dev/null +++ b/dev-qt/qtquickcontrols2/Manifest @@ -0,0 +1,2 @@ +DIST qtquickcontrols2-5.15.18-gentoo-kde-1.tar.xz 6284 BLAKE2B 8a9aec66bb75cd45b4cc96162b6cd55a98f357938903d1544b72c9de120389f4c01314cc7c0e04cfcac5908c798695f9f50942ccf682e09d62dfff5c65a5ed86 SHA512 044d06524317aad9b234136a758cd0db0af514ba022a3cd7777544136579a7fcc52fe156cf1e9e11c5fdab7a980d78f088eb82f7a83ec3d660c760df7a580182 +DIST qtquickcontrols2-everywhere-opensource-src-5.15.18.tar.xz 8272372 BLAKE2B 414255b06745b2ec8f7aaaf18ba0971e31f28d8f8756c744b64a5e2faa03f3b62c22c3f06b794f11e940275204166ec1d3d269c73ef5bd8df6a0649485ba88a6 SHA512 29d0904c949b4970eae576d20f94b5c92f1fcb71056bb085b6ea8421c894aa265ae9a5cdbd6e21ac849f14385833ed2961a18dcc2c66ea6ed8a28feb51bd7375 diff --git a/dev-qt/qtquickcontrols2/metadata.xml b/dev-qt/qtquickcontrols2/metadata.xml new file mode 100644 index 0000000..20e0464 --- /dev/null +++ b/dev-qt/qtquickcontrols2/metadata.xml @@ -0,0 +1,20 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Enable QtWidgets support + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtquickcontrols2/qtquickcontrols2-5.15.18.ebuild b/dev-qt/qtquickcontrols2/qtquickcontrols2-5.15.18.ebuild new file mode 100644 index 0000000..f5240fd --- /dev/null +++ b/dev-qt/qtquickcontrols2/qtquickcontrols2-5.15.18.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=1 + KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv x86" +fi + +inherit qt5-build + +DESCRIPTION="Set of next generation Qt Quick controls for the Qt5 framework" + +IUSE="widgets" + +DEPEND=" + =dev-qt/qtcore-${QT5_PV}* + =dev-qt/qtdeclarative-${QT5_PV}* + =dev-qt/qtgui-${QT5_PV}* + widgets? ( =dev-qt/qtwidgets-${QT5_PV}* ) +" +RDEPEND="${DEPEND} + =dev-qt/qtgraphicaleffects-${QT5_PV}* +" + +src_prepare() { + qt_use_disable_mod widgets widgets \ + src/imports/platform/platform.pro + + qt5-build_src_prepare +} diff --git a/dev-qt/qtquicktimeline/Manifest b/dev-qt/qtquicktimeline/Manifest new file mode 100644 index 0000000..a5e113c --- /dev/null +++ b/dev-qt/qtquicktimeline/Manifest @@ -0,0 +1,2 @@ +DIST qtquicktimeline-everywhere-src-6.10.3.tar.xz 97244 BLAKE2B d1d6951f5c60ec4f92add07472652daffa1a0daf60f759b85c7026b9a9700af0acd7ddeaa043b9cc007ef751cd1ee74b61ef0fa726b7bcfdd7e2f8b3ea4ec720 SHA512 1b9962cc0a2cb13b909f1eae7fddf9eedd5e7a7f035f0d7236027c9a5ebd1ecbbf0fcd6f58e01abd147da2876225ff868ac110662759dae4c8bba66154435e80 +DIST qtquicktimeline-everywhere-src-6.11.1.tar.xz 97268 BLAKE2B 944a34d3900f10e891d8eeddc727d08829e144bef082b005c62b6374e20f85b82a6baea8fc476999a786920d8c144a0956783d0b890e3f6df51c848990bf8a08 SHA512 b7fde5f38c32883996f94bf21217ecb336e2f7d9b1e1ac3c55be8bc046fe94d626f1539c05982a67c944ddc21f1409669818cff643384cb0a73120c0924d1d57 diff --git a/dev-qt/qtquicktimeline/metadata.xml b/dev-qt/qtquicktimeline/metadata.xml new file mode 100644 index 0000000..83a0bc2 --- /dev/null +++ b/dev-qt/qtquicktimeline/metadata.xml @@ -0,0 +1,13 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/qt-5/qtquicktimeline-index.html + qt/qtquicktimeline + + diff --git a/dev-qt/qtquicktimeline/qtquicktimeline-6.10.3.ebuild b/dev-qt/qtquicktimeline/qtquicktimeline-6.10.3.ebuild new file mode 100644 index 0000000..f033f72 --- /dev/null +++ b/dev-qt/qtquicktimeline/qtquicktimeline-6.10.3.ebuild @@ -0,0 +1,18 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Qt module for keyframe-based timeline construction" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6 + ~dev-qt/qtdeclarative-${PV}:6 +" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtquicktimeline/qtquicktimeline-6.11.1.ebuild b/dev-qt/qtquicktimeline/qtquicktimeline-6.11.1.ebuild new file mode 100644 index 0000000..f033f72 --- /dev/null +++ b/dev-qt/qtquicktimeline/qtquicktimeline-6.11.1.ebuild @@ -0,0 +1,18 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Qt module for keyframe-based timeline construction" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6 + ~dev-qt/qtdeclarative-${PV}:6 +" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtquicktimeline/qtquicktimeline-6.11.9999.ebuild b/dev-qt/qtquicktimeline/qtquicktimeline-6.11.9999.ebuild new file mode 100644 index 0000000..f06af84 --- /dev/null +++ b/dev-qt/qtquicktimeline/qtquicktimeline-6.11.9999.ebuild @@ -0,0 +1,18 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Qt module for keyframe-based timeline construction" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6 + ~dev-qt/qtdeclarative-${PV}:6 +" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtquicktimeline/qtquicktimeline-6.12.9999.ebuild b/dev-qt/qtquicktimeline/qtquicktimeline-6.12.9999.ebuild new file mode 100644 index 0000000..b8b579b --- /dev/null +++ b/dev-qt/qtquicktimeline/qtquicktimeline-6.12.9999.ebuild @@ -0,0 +1,18 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Qt module for keyframe-based timeline construction" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6 + ~dev-qt/qtdeclarative-${PV}:6 +" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtquicktimeline/qtquicktimeline-6.9999.ebuild b/dev-qt/qtquicktimeline/qtquicktimeline-6.9999.ebuild new file mode 100644 index 0000000..393a5c2 --- /dev/null +++ b/dev-qt/qtquicktimeline/qtquicktimeline-6.9999.ebuild @@ -0,0 +1,18 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Qt module for keyframe-based timeline construction" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6 + ~dev-qt/qtdeclarative-${PV}:6 +" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtremoteobjects/Manifest b/dev-qt/qtremoteobjects/Manifest new file mode 100644 index 0000000..70713e5 --- /dev/null +++ b/dev-qt/qtremoteobjects/Manifest @@ -0,0 +1,2 @@ +DIST qtremoteobjects-everywhere-src-6.10.3.tar.xz 528940 BLAKE2B 902c853fdb28e2eca554fd103388fee4fb84ebe50605d8082b9525fd95980a9f5993d79a6e611f35c4573c936d36009d863b5d269a085ebfc9d0fcf9bc104dd1 SHA512 cb9a94eb3fcfd31535afcf3648f54ac9a408a57028605e5a7e8563b2842baebad4abd5ef4be5ecca9d1f16c0f1c04b50b4fa81ebf820cb2178439ad1a69b4531 +DIST qtremoteobjects-everywhere-src-6.11.1.tar.xz 529300 BLAKE2B ce7949dc8a30b93bf4af64a76da617272e4bcec76deb9769137121211adc880b093c19c43ce44524f7a341dba288d6d5333c1c386423173256db4a4f293cc18e SHA512 fb701012065aa1be4bdbb61bb6907fab012e679b4dd3ba028a984d462c2671aff52031759e9b6cb359a9eb67314be8260db5f352113c07a1a92eae723a8d8e40 diff --git a/dev-qt/qtremoteobjects/metadata.xml b/dev-qt/qtremoteobjects/metadata.xml new file mode 100644 index 0000000..0340f4b --- /dev/null +++ b/dev-qt/qtremoteobjects/metadata.xml @@ -0,0 +1,21 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Build QML/QtQuick bindings and imports + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtremoteobjects + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtremoteobjects/qtremoteobjects-6.10.3.ebuild b/dev-qt/qtremoteobjects/qtremoteobjects-6.10.3.ebuild new file mode 100644 index 0000000..56fcd80 --- /dev/null +++ b/dev-qt/qtremoteobjects/qtremoteobjects-6.10.3.ebuild @@ -0,0 +1,54 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Inter-Process Communication (IPC) library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 ~loong" +fi + +IUSE="qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network] + qml? ( + ~dev-qt/qtbase-${PV}:6[gui] + ~dev-qt/qtdeclarative-${PV}:6 + ) +" +DEPEND=" + ${RDEPEND} + test? ( ~dev-qt/qtbase-${PV}:6[gui] ) +" + +src_configure() { + # same issue as bug #913692 when tests are enabled + has_version "=dev-qt/qtdeclarative-$(ver_cut 1-3)*:6" && + local mycmakeargs=( $(cmake_use_find_package qml Qt6Qml) ) + + qt6-build_src_configure +} + +src_test() { + local CMAKE_SKIP_TESTS=( + # rarely fails randomly even with -j1, not looked further into + tst_modelview + ) + + # tests re-use 127.0.0.1:65213 and randomly fail if ran at same time + qt6-build_src_test -j1 +} + +src_install() { + qt6-build_src_install + + if use test; then + # installs 30+ test binaries like "qt6/bin/state" and, given + # otherwise empty, "can" delete the directory rather than list + rm -r -- "${D}${QT6_BINDIR}" || die + fi +} diff --git a/dev-qt/qtremoteobjects/qtremoteobjects-6.11.1.ebuild b/dev-qt/qtremoteobjects/qtremoteobjects-6.11.1.ebuild new file mode 100644 index 0000000..56fcd80 --- /dev/null +++ b/dev-qt/qtremoteobjects/qtremoteobjects-6.11.1.ebuild @@ -0,0 +1,54 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Inter-Process Communication (IPC) library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 ~loong" +fi + +IUSE="qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network] + qml? ( + ~dev-qt/qtbase-${PV}:6[gui] + ~dev-qt/qtdeclarative-${PV}:6 + ) +" +DEPEND=" + ${RDEPEND} + test? ( ~dev-qt/qtbase-${PV}:6[gui] ) +" + +src_configure() { + # same issue as bug #913692 when tests are enabled + has_version "=dev-qt/qtdeclarative-$(ver_cut 1-3)*:6" && + local mycmakeargs=( $(cmake_use_find_package qml Qt6Qml) ) + + qt6-build_src_configure +} + +src_test() { + local CMAKE_SKIP_TESTS=( + # rarely fails randomly even with -j1, not looked further into + tst_modelview + ) + + # tests re-use 127.0.0.1:65213 and randomly fail if ran at same time + qt6-build_src_test -j1 +} + +src_install() { + qt6-build_src_install + + if use test; then + # installs 30+ test binaries like "qt6/bin/state" and, given + # otherwise empty, "can" delete the directory rather than list + rm -r -- "${D}${QT6_BINDIR}" || die + fi +} diff --git a/dev-qt/qtremoteobjects/qtremoteobjects-6.11.9999.ebuild b/dev-qt/qtremoteobjects/qtremoteobjects-6.11.9999.ebuild new file mode 100644 index 0000000..5a992a3 --- /dev/null +++ b/dev-qt/qtremoteobjects/qtremoteobjects-6.11.9999.ebuild @@ -0,0 +1,54 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Inter-Process Communication (IPC) library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~loong" +fi + +IUSE="qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network] + qml? ( + ~dev-qt/qtbase-${PV}:6[gui] + ~dev-qt/qtdeclarative-${PV}:6 + ) +" +DEPEND=" + ${RDEPEND} + test? ( ~dev-qt/qtbase-${PV}:6[gui] ) +" + +src_configure() { + # same issue as bug #913692 when tests are enabled + has_version "=dev-qt/qtdeclarative-$(ver_cut 1-3)*:6" && + local mycmakeargs=( $(cmake_use_find_package qml Qt6Qml) ) + + qt6-build_src_configure +} + +src_test() { + local CMAKE_SKIP_TESTS=( + # rarely fails randomly even with -j1, not looked further into + tst_modelview + ) + + # tests re-use 127.0.0.1:65213 and randomly fail if ran at same time + qt6-build_src_test -j1 +} + +src_install() { + qt6-build_src_install + + if use test; then + # installs 30+ test binaries like "qt6/bin/state" and, given + # otherwise empty, "can" delete the directory rather than list + rm -r -- "${D}${QT6_BINDIR}" || die + fi +} diff --git a/dev-qt/qtremoteobjects/qtremoteobjects-6.12.9999.ebuild b/dev-qt/qtremoteobjects/qtremoteobjects-6.12.9999.ebuild new file mode 100644 index 0000000..5b4b8fa --- /dev/null +++ b/dev-qt/qtremoteobjects/qtremoteobjects-6.12.9999.ebuild @@ -0,0 +1,54 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Inter-Process Communication (IPC) library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~loong" +fi + +IUSE="qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network] + qml? ( + ~dev-qt/qtbase-${PV}:6[gui] + ~dev-qt/qtdeclarative-${PV}:6 + ) +" +DEPEND=" + ${RDEPEND} + test? ( ~dev-qt/qtbase-${PV}:6[gui] ) +" + +src_configure() { + # same issue as bug #913692 when tests are enabled + has_version "=dev-qt/qtdeclarative-$(ver_cut 1-3)*:6" && + local mycmakeargs=( $(cmake_use_find_package qml Qt6Qml) ) + + qt6-build_src_configure +} + +src_test() { + local CMAKE_SKIP_TESTS=( + # rarely fails randomly even with -j1, not looked further into + tst_modelview + ) + + # tests re-use 127.0.0.1:65213 and randomly fail if ran at same time + qt6-build_src_test -j1 +} + +src_install() { + qt6-build_src_install + + if use test; then + # installs 30+ test binaries like "qt6/bin/state" and, given + # otherwise empty, "can" delete the directory rather than list + rm -r -- "${D}${QT6_BINDIR}" || die + fi +} diff --git a/dev-qt/qtremoteobjects/qtremoteobjects-6.9999.ebuild b/dev-qt/qtremoteobjects/qtremoteobjects-6.9999.ebuild new file mode 100644 index 0000000..5a992a3 --- /dev/null +++ b/dev-qt/qtremoteobjects/qtremoteobjects-6.9999.ebuild @@ -0,0 +1,54 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Inter-Process Communication (IPC) library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~loong" +fi + +IUSE="qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network] + qml? ( + ~dev-qt/qtbase-${PV}:6[gui] + ~dev-qt/qtdeclarative-${PV}:6 + ) +" +DEPEND=" + ${RDEPEND} + test? ( ~dev-qt/qtbase-${PV}:6[gui] ) +" + +src_configure() { + # same issue as bug #913692 when tests are enabled + has_version "=dev-qt/qtdeclarative-$(ver_cut 1-3)*:6" && + local mycmakeargs=( $(cmake_use_find_package qml Qt6Qml) ) + + qt6-build_src_configure +} + +src_test() { + local CMAKE_SKIP_TESTS=( + # rarely fails randomly even with -j1, not looked further into + tst_modelview + ) + + # tests re-use 127.0.0.1:65213 and randomly fail if ran at same time + qt6-build_src_test -j1 +} + +src_install() { + qt6-build_src_install + + if use test; then + # installs 30+ test binaries like "qt6/bin/state" and, given + # otherwise empty, "can" delete the directory rather than list + rm -r -- "${D}${QT6_BINDIR}" || die + fi +} diff --git a/dev-qt/qtscxml/Manifest b/dev-qt/qtscxml/Manifest new file mode 100644 index 0000000..d8ff99a --- /dev/null +++ b/dev-qt/qtscxml/Manifest @@ -0,0 +1,2 @@ +DIST qtscxml-everywhere-src-6.10.3.tar.xz 546572 BLAKE2B f13f1a3c6b67037a96a162ee94ff0556e08af488513690f09f33e7290bfe6a70e5a7e71616537fd5250e0c8d9e954878f6cd4b9647e416c3a0e652dc636d1d8d SHA512 217ef29289de716e09c00b5710d79cf632d8cebbe608439b0a742ed7213380fceea09c055a478eb2e8fc7bb4891fbf21ad7b8431a1fdc522139508272addd8fd +DIST qtscxml-everywhere-src-6.11.1.tar.xz 550144 BLAKE2B acd246fd4312737be50c6f1a3814f56b6f59bae74f93109c90d9477f9abe91dbdd5d62d1dcd0d232aeb3988f79869cb2dd22429274639044e176a6fba577b7f9 SHA512 be532577a6bd928c0072c0a1fa74f3f4edef32f20b9b728b43ad0dc6a0ecffb7127af621af9328af211439637df0dc7617a60ebd98e812711eac4f81b4645998 diff --git a/dev-qt/qtscxml/metadata.xml b/dev-qt/qtscxml/metadata.xml new file mode 100644 index 0000000..4c0b838 --- /dev/null +++ b/dev-qt/qtscxml/metadata.xml @@ -0,0 +1,21 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Build QML/QtQuick bindings and imports + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtscxml + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtscxml/qtscxml-6.10.3.ebuild b/dev-qt/qtscxml/qtscxml-6.10.3.ebuild new file mode 100644 index 0000000..3a96555 --- /dev/null +++ b/dev-qt/qtscxml/qtscxml-6.10.3.ebuild @@ -0,0 +1,34 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="State Chart XML (SCXML) support library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # may fail with pid-sandbox, or at least musl/hardened+gcc (exact + # conditions unknown but passes without pid, considering this flaky) + tst_qstatemachine +) + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtscxml/qtscxml-6.11.1.ebuild b/dev-qt/qtscxml/qtscxml-6.11.1.ebuild new file mode 100644 index 0000000..3a96555 --- /dev/null +++ b/dev-qt/qtscxml/qtscxml-6.11.1.ebuild @@ -0,0 +1,34 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="State Chart XML (SCXML) support library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # may fail with pid-sandbox, or at least musl/hardened+gcc (exact + # conditions unknown but passes without pid, considering this flaky) + tst_qstatemachine +) + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtscxml/qtscxml-6.11.9999.ebuild b/dev-qt/qtscxml/qtscxml-6.11.9999.ebuild new file mode 100644 index 0000000..4966368 --- /dev/null +++ b/dev-qt/qtscxml/qtscxml-6.11.9999.ebuild @@ -0,0 +1,34 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="State Chart XML (SCXML) support library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # may fail with pid-sandbox, or at least musl/hardened+gcc (exact + # conditions unknown but passes without pid, considering this flaky) + tst_qstatemachine +) + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtscxml/qtscxml-6.12.9999.ebuild b/dev-qt/qtscxml/qtscxml-6.12.9999.ebuild new file mode 100644 index 0000000..1fddc36 --- /dev/null +++ b/dev-qt/qtscxml/qtscxml-6.12.9999.ebuild @@ -0,0 +1,34 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="State Chart XML (SCXML) support library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # may fail with pid-sandbox, or at least musl/hardened+gcc (exact + # conditions unknown but passes without pid, considering this flaky) + tst_qstatemachine +) + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtscxml/qtscxml-6.9999.ebuild b/dev-qt/qtscxml/qtscxml-6.9999.ebuild new file mode 100644 index 0000000..4966368 --- /dev/null +++ b/dev-qt/qtscxml/qtscxml-6.9999.ebuild @@ -0,0 +1,34 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="State Chart XML (SCXML) support library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # may fail with pid-sandbox, or at least musl/hardened+gcc (exact + # conditions unknown but passes without pid, considering this flaky) + tst_qstatemachine +) + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtsensors/Manifest b/dev-qt/qtsensors/Manifest new file mode 100644 index 0000000..8db70fd --- /dev/null +++ b/dev-qt/qtsensors/Manifest @@ -0,0 +1,2 @@ +DIST qtsensors-everywhere-src-6.10.3.tar.xz 1485504 BLAKE2B 42d21b5a1b11848017ffd7adef57deaa7329e679a95e479c3d9f2562cba48897f81efc2c55960cf59733edfb2bca28897fe7ba54b1dc32c92032bfda03f253be SHA512 16dfc746873ff6be699656310c51029e895e9fc0e23d8a9c81731b55b14e028a8f2edc87469fc5bffe8940a29ab7158f78341d6f3dcd02027ed42dec9f42e025 +DIST qtsensors-everywhere-src-6.11.1.tar.xz 1485472 BLAKE2B 4f6dac3264a18356a74d7e875840444d586614a29469c9e32d49a52477d9be320b0ff94d2e0bff8229d6469b45cf86801241743a780306c95f69ccc8b7eb4bbf SHA512 f6d9157cc807e0007a5f174cd9082f0f4759a7a34684d768fed74bbdc14ae5773bef359c03536427d4e16dfce9289bca9aec3e936b229ae8e680f41e815990ed diff --git a/dev-qt/qtsensors/metadata.xml b/dev-qt/qtsensors/metadata.xml new file mode 100644 index 0000000..aa56563 --- /dev/null +++ b/dev-qt/qtsensors/metadata.xml @@ -0,0 +1,21 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Build QML bindings + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtsensors + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtsensors/qtsensors-6.10.3.ebuild b/dev-qt/qtsensors/qtsensors-6.10.3.ebuild new file mode 100644 index 0000000..b440098 --- /dev/null +++ b/dev-qt/qtsensors/qtsensors-6.10.3.ebuild @@ -0,0 +1,28 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Hardware sensor access library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[dbus] + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtsensors/qtsensors-6.11.1.ebuild b/dev-qt/qtsensors/qtsensors-6.11.1.ebuild new file mode 100644 index 0000000..b440098 --- /dev/null +++ b/dev-qt/qtsensors/qtsensors-6.11.1.ebuild @@ -0,0 +1,28 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Hardware sensor access library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[dbus] + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtsensors/qtsensors-6.11.9999.ebuild b/dev-qt/qtsensors/qtsensors-6.11.9999.ebuild new file mode 100644 index 0000000..1afbff7 --- /dev/null +++ b/dev-qt/qtsensors/qtsensors-6.11.9999.ebuild @@ -0,0 +1,28 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Hardware sensor access library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[dbus] + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtsensors/qtsensors-6.12.9999.ebuild b/dev-qt/qtsensors/qtsensors-6.12.9999.ebuild new file mode 100644 index 0000000..d9ed04c --- /dev/null +++ b/dev-qt/qtsensors/qtsensors-6.12.9999.ebuild @@ -0,0 +1,28 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Hardware sensor access library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[dbus] + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtsensors/qtsensors-6.9999.ebuild b/dev-qt/qtsensors/qtsensors-6.9999.ebuild new file mode 100644 index 0000000..5a576fc --- /dev/null +++ b/dev-qt/qtsensors/qtsensors-6.9999.ebuild @@ -0,0 +1,28 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Hardware sensor access library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[dbus] + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtserialbus/Manifest b/dev-qt/qtserialbus/Manifest new file mode 100644 index 0000000..13956df --- /dev/null +++ b/dev-qt/qtserialbus/Manifest @@ -0,0 +1,2 @@ +DIST qtserialbus-everywhere-src-6.10.3.tar.xz 535580 BLAKE2B f0c8931eb7825a085e32e1e8d23405ce1bf21b8543ab52151ea5e43d9b9ecfd58a5ef81d07717323d977ca73f1b7d40e4a0a9f86878ac089dd85136746d68b3a SHA512 7ef42948e9eb5731e53c810d1f0e2857e7f9e4bf349c7a55a3a61c02efadd36a83b149eb35467274b0627a5192d09f1d64dda60b3106349fd4c88d8d58b76085 +DIST qtserialbus-everywhere-src-6.11.1.tar.xz 535680 BLAKE2B 7541abba622784308a19b0a2b877d24f459021f4ef403f54d084935aa0b03ea00c9865cf8e5e59fc1050734bcad6a1af7dd9ab4c244da89695282b7f55dcbaae SHA512 bb655d719ad753fe06bfe89f1cc02a5b5fa64edf560b9529817b09a9a701b9952806bc18e98f58ebabe78d8207336db250baf613df3e15f8f380d1ebef320ee3 diff --git a/dev-qt/qtserialbus/metadata.xml b/dev-qt/qtserialbus/metadata.xml new file mode 100644 index 0000000..3c434f4 --- /dev/null +++ b/dev-qt/qtserialbus/metadata.xml @@ -0,0 +1,17 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtserialbus/qtserialbus-6.10.3.ebuild b/dev-qt/qtserialbus/qtserialbus-6.10.3.ebuild new file mode 100644 index 0000000..eac3b2d --- /dev/null +++ b/dev-qt/qtserialbus/qtserialbus-6.10.3.ebuild @@ -0,0 +1,38 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Qt module to access CAN, ModBus, and other industrial serial buses and protocols" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network] + ~dev-qt/qtserialport-${PV}:6 +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # rarely fails randomly (perhaps related to -j) + tst_qcandbcfileparser +) + +src_install() { + qt6-build_src_install + + if use test; then + local delete=( # sigh + "${D}${QT6_LIBDIR}"/cmake/Qt6SerialBus/*TestCanBusPlugin*.cmake + "${D}${QT6_MKSPECSDIR}"/modules/qt_plugin_qttestcanbus.pri + "${D}${QT6_PLUGINDIR}"/canbus/libqttestcanbus.* + "${D}${QT6_PLUGINDIR}"/canbus/objects-*/ + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtserialbus/qtserialbus-6.11.1.ebuild b/dev-qt/qtserialbus/qtserialbus-6.11.1.ebuild new file mode 100644 index 0000000..eac3b2d --- /dev/null +++ b/dev-qt/qtserialbus/qtserialbus-6.11.1.ebuild @@ -0,0 +1,38 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Qt module to access CAN, ModBus, and other industrial serial buses and protocols" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network] + ~dev-qt/qtserialport-${PV}:6 +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # rarely fails randomly (perhaps related to -j) + tst_qcandbcfileparser +) + +src_install() { + qt6-build_src_install + + if use test; then + local delete=( # sigh + "${D}${QT6_LIBDIR}"/cmake/Qt6SerialBus/*TestCanBusPlugin*.cmake + "${D}${QT6_MKSPECSDIR}"/modules/qt_plugin_qttestcanbus.pri + "${D}${QT6_PLUGINDIR}"/canbus/libqttestcanbus.* + "${D}${QT6_PLUGINDIR}"/canbus/objects-*/ + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtserialbus/qtserialbus-6.11.9999.ebuild b/dev-qt/qtserialbus/qtserialbus-6.11.9999.ebuild new file mode 100644 index 0000000..efd2ebf --- /dev/null +++ b/dev-qt/qtserialbus/qtserialbus-6.11.9999.ebuild @@ -0,0 +1,38 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Qt module to access CAN, ModBus, and other industrial serial buses and protocols" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network] + ~dev-qt/qtserialport-${PV}:6 +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # rarely fails randomly (perhaps related to -j) + tst_qcandbcfileparser +) + +src_install() { + qt6-build_src_install + + if use test; then + local delete=( # sigh + "${D}${QT6_LIBDIR}"/cmake/Qt6SerialBus/*TestCanBusPlugin*.cmake + "${D}${QT6_MKSPECSDIR}"/modules/qt_plugin_qttestcanbus.pri + "${D}${QT6_PLUGINDIR}"/canbus/libqttestcanbus.* + "${D}${QT6_PLUGINDIR}"/canbus/objects-*/ + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtserialbus/qtserialbus-6.12.9999.ebuild b/dev-qt/qtserialbus/qtserialbus-6.12.9999.ebuild new file mode 100644 index 0000000..116247f --- /dev/null +++ b/dev-qt/qtserialbus/qtserialbus-6.12.9999.ebuild @@ -0,0 +1,38 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Qt module to access CAN, ModBus, and other industrial serial buses and protocols" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network] + ~dev-qt/qtserialport-${PV}:6 +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # rarely fails randomly (perhaps related to -j) + tst_qcandbcfileparser +) + +src_install() { + qt6-build_src_install + + if use test; then + local delete=( # sigh + "${D}${QT6_LIBDIR}"/cmake/Qt6SerialBus/*TestCanBusPlugin*.cmake + "${D}${QT6_MKSPECSDIR}"/modules/qt_plugin_qttestcanbus.pri + "${D}${QT6_PLUGINDIR}"/canbus/libqttestcanbus.* + "${D}${QT6_PLUGINDIR}"/canbus/objects-*/ + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtserialbus/qtserialbus-6.9999.ebuild b/dev-qt/qtserialbus/qtserialbus-6.9999.ebuild new file mode 100644 index 0000000..7f316fa --- /dev/null +++ b/dev-qt/qtserialbus/qtserialbus-6.9999.ebuild @@ -0,0 +1,38 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Qt module to access CAN, ModBus, and other industrial serial buses and protocols" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network] + ~dev-qt/qtserialport-${PV}:6 +" +DEPEND="${RDEPEND}" + +CMAKE_SKIP_TESTS=( + # rarely fails randomly (perhaps related to -j) + tst_qcandbcfileparser +) + +src_install() { + qt6-build_src_install + + if use test; then + local delete=( # sigh + "${D}${QT6_LIBDIR}"/cmake/Qt6SerialBus/*TestCanBusPlugin*.cmake + "${D}${QT6_MKSPECSDIR}"/modules/qt_plugin_qttestcanbus.pri + "${D}${QT6_PLUGINDIR}"/canbus/libqttestcanbus.* + "${D}${QT6_PLUGINDIR}"/canbus/objects-*/ + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} diff --git a/dev-qt/qtserialport/Manifest b/dev-qt/qtserialport/Manifest new file mode 100644 index 0000000..8028c26 --- /dev/null +++ b/dev-qt/qtserialport/Manifest @@ -0,0 +1,2 @@ +DIST qtserialport-everywhere-src-6.10.3.tar.xz 263932 BLAKE2B a87223f4336f335d7c43ff5b1474c665d4bfed2de7c2631e2e88496f2d6bc90a8f78e91d529486faf41b85a334ec7b537c9907c7848688735e7882e532d902bc SHA512 1df581da375ae8ccaa441e1bfd963594836aaf42623339caf9d04ead12bf32e219ba9cc42545668c2d13df90f006217d11f41c1dcd37e02e42cdeb902e546872 +DIST qtserialport-everywhere-src-6.11.1.tar.xz 264092 BLAKE2B 41fb774700e757ce376f07e3069a265201acac3b62e28f5877b18648bbf8870937bfcf55ce918c25149475c4af88ff888c1630c7ddd6a9926bfd47cb5d1c7fce SHA512 6fcac1e82932a94b4a43c22268ea64f6d277507e08bbba89c803c8e7c16408d621e5c8ee11aaa829a4aaeae7ec1006a32b04980e7571098b3a8155a38d02d17a diff --git a/dev-qt/qtserialport/metadata.xml b/dev-qt/qtserialport/metadata.xml new file mode 100644 index 0000000..e2d6ac5 --- /dev/null +++ b/dev-qt/qtserialport/metadata.xml @@ -0,0 +1,18 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtserialport + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtserialport/qtserialport-6.10.3.ebuild b/dev-qt/qtserialport/qtserialport-6.10.3.ebuild new file mode 100644 index 0000000..2fdf78a --- /dev/null +++ b/dev-qt/qtserialport/qtserialport-6.10.3.ebuild @@ -0,0 +1,18 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Serial port abstraction library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6 + virtual/libudev:= +" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtserialport/qtserialport-6.11.1.ebuild b/dev-qt/qtserialport/qtserialport-6.11.1.ebuild new file mode 100644 index 0000000..2fdf78a --- /dev/null +++ b/dev-qt/qtserialport/qtserialport-6.11.1.ebuild @@ -0,0 +1,18 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Serial port abstraction library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6 + virtual/libudev:= +" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtserialport/qtserialport-6.11.9999.ebuild b/dev-qt/qtserialport/qtserialport-6.11.9999.ebuild new file mode 100644 index 0000000..eb690fa --- /dev/null +++ b/dev-qt/qtserialport/qtserialport-6.11.9999.ebuild @@ -0,0 +1,18 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Serial port abstraction library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6 + virtual/libudev:= +" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtserialport/qtserialport-6.12.9999.ebuild b/dev-qt/qtserialport/qtserialport-6.12.9999.ebuild new file mode 100644 index 0000000..cfac096 --- /dev/null +++ b/dev-qt/qtserialport/qtserialport-6.12.9999.ebuild @@ -0,0 +1,18 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Serial port abstraction library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6 + virtual/libudev:= +" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtserialport/qtserialport-6.9999.ebuild b/dev-qt/qtserialport/qtserialport-6.9999.ebuild new file mode 100644 index 0000000..95b360f --- /dev/null +++ b/dev-qt/qtserialport/qtserialport-6.9999.ebuild @@ -0,0 +1,18 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Serial port abstraction library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6 + virtual/libudev:= +" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtshadertools/Manifest b/dev-qt/qtshadertools/Manifest new file mode 100644 index 0000000..1cbf362 --- /dev/null +++ b/dev-qt/qtshadertools/Manifest @@ -0,0 +1,2 @@ +DIST qtshadertools-everywhere-src-6.10.3.tar.xz 1152352 BLAKE2B a9114a6e43cf041c6d4474f3712fedb6130bf1b0253d7895c7878a245a64dc773e08d5b23010def56a164a0e520a305b0d33b1260038a5277b32826a94e8a75c SHA512 8d37be9d68bbdcec354f24b69cc1f2dc8dff766d66758fe5d7736d2c0d787bbd9369f3fe6c1477fede1dcc78f5b316f12c143cdd595559122139bd2661c70491 +DIST qtshadertools-everywhere-src-6.11.1.tar.xz 1216568 BLAKE2B c41991234c489cc8c0285a2cc1c1e1ac0782478d4c8fcdd29fb9ece92b5fbc6f889f381bad0505b473979e0af33ce68f4afa4d80b993e172b400fdf551ff8952 SHA512 5f6b824224b26421cf6f06e58e7162cbcf92628fc4f917b46f3f289ea480bd763d8b550e6d60381cdd10f027802c799bbc31ed649e364c1b99e59f41747c0359 diff --git a/dev-qt/qtshadertools/metadata.xml b/dev-qt/qtshadertools/metadata.xml new file mode 100644 index 0000000..f2a40d4 --- /dev/null +++ b/dev-qt/qtshadertools/metadata.xml @@ -0,0 +1,18 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtshadertools + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtshadertools/qtshadertools-6.10.3.ebuild b/dev-qt/qtshadertools/qtshadertools-6.10.3.ebuild new file mode 100644 index 0000000..9a9010b --- /dev/null +++ b/dev-qt/qtshadertools/qtshadertools-6.10.3.ebuild @@ -0,0 +1,17 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Qt APIs and Tools for Graphics Pipelines" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] +" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtshadertools/qtshadertools-6.11.1.ebuild b/dev-qt/qtshadertools/qtshadertools-6.11.1.ebuild new file mode 100644 index 0000000..80bf257 --- /dev/null +++ b/dev-qt/qtshadertools/qtshadertools-6.11.1.ebuild @@ -0,0 +1,24 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic qt6-build + +DESCRIPTION="Qt APIs and Tools for Graphics Pipelines" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] +" +DEPEND="${RDEPEND}" + +src_configure() { + # -Werror=odr violations between mismatching spirv.hpp (bug #972694) + filter-lto + + qt6-build_src_configure +} diff --git a/dev-qt/qtshadertools/qtshadertools-6.11.9999.ebuild b/dev-qt/qtshadertools/qtshadertools-6.11.9999.ebuild new file mode 100644 index 0000000..2245952 --- /dev/null +++ b/dev-qt/qtshadertools/qtshadertools-6.11.9999.ebuild @@ -0,0 +1,24 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic qt6-build + +DESCRIPTION="Qt APIs and Tools for Graphics Pipelines" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] +" +DEPEND="${RDEPEND}" + +src_configure() { + # -Werror=odr violations between mismatching spirv.hpp (bug #972694) + filter-lto + + qt6-build_src_configure +} diff --git a/dev-qt/qtshadertools/qtshadertools-6.12.9999.ebuild b/dev-qt/qtshadertools/qtshadertools-6.12.9999.ebuild new file mode 100644 index 0000000..2245952 --- /dev/null +++ b/dev-qt/qtshadertools/qtshadertools-6.12.9999.ebuild @@ -0,0 +1,24 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic qt6-build + +DESCRIPTION="Qt APIs and Tools for Graphics Pipelines" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] +" +DEPEND="${RDEPEND}" + +src_configure() { + # -Werror=odr violations between mismatching spirv.hpp (bug #972694) + filter-lto + + qt6-build_src_configure +} diff --git a/dev-qt/qtshadertools/qtshadertools-6.9999.ebuild b/dev-qt/qtshadertools/qtshadertools-6.9999.ebuild new file mode 100644 index 0000000..2245952 --- /dev/null +++ b/dev-qt/qtshadertools/qtshadertools-6.9999.ebuild @@ -0,0 +1,24 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic qt6-build + +DESCRIPTION="Qt APIs and Tools for Graphics Pipelines" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] +" +DEPEND="${RDEPEND}" + +src_configure() { + # -Werror=odr violations between mismatching spirv.hpp (bug #972694) + filter-lto + + qt6-build_src_configure +} diff --git a/dev-qt/qtspeech/Manifest b/dev-qt/qtspeech/Manifest new file mode 100644 index 0000000..6a3a458 --- /dev/null +++ b/dev-qt/qtspeech/Manifest @@ -0,0 +1,2 @@ +DIST qtspeech-everywhere-src-6.10.3.tar.xz 248140 BLAKE2B 9664a4f5834eaf809ef5fef9e137deed4e38e649b09555856e3bfbfb5423ed3e49afd0816ca4c95c26ce9d040ec4707f10a38235b9592803f0850716f01b8709 SHA512 12e35e9d94a499661f1a1512ead82d607fd0867ceb515d5e24fa8154075f93edeaa265a7d15d38168c7ccfa0b2d3e426826e7ed415da1e0951631cb78f15dd6c +DIST qtspeech-everywhere-src-6.11.1.tar.xz 249232 BLAKE2B 2bd808c2ba83a7ebebdbd5fec210a131b3b34b9589a77cd7f89794e3ee86b042f8ba0ff11a7d2000e00433a50be49d53dda4949ef37aae2df780ebb13852909c SHA512 99958a370cbbd65d1c6b83904902550dcd0219be846b23e0cf3c23f2450bb2486768885107e4e18aca02bff06fd810332fda98240ad03fa8aa9d1e674d7d506a diff --git a/dev-qt/qtspeech/metadata.xml b/dev-qt/qtspeech/metadata.xml new file mode 100644 index 0000000..8551690 --- /dev/null +++ b/dev-qt/qtspeech/metadata.xml @@ -0,0 +1,23 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtspeech + + + Enable text-to-speech synthesizer plugin using app-accessibility/flite engine + Build QML/QtQuick bindings and imports + Enable text-to-speech synthesizer plugin using app-accessibility/speech-dispatcher engine + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtspeech/qtspeech-6.10.3-r1.ebuild b/dev-qt/qtspeech/qtspeech-6.10.3-r1.ebuild new file mode 100644 index 0000000..673d132 --- /dev/null +++ b/dev-qt/qtspeech/qtspeech-6.10.3-r1.ebuild @@ -0,0 +1,38 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# tests are kind of flaky, sometimes hang, and also fail with clang +# (not that it's unusable with clang) -- may be worth revisiting +# eventually given qtspeech is still somewhat new (added in 6.4.0) +QT6_RESTRICT_TESTS=1 + +inherit qt6-build + +DESCRIPTION="Text-to-speech library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" +fi + +IUSE="flite qml +speechd" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6 + ~dev-qt/qtmultimedia-${PV}:6 + flite? ( app-accessibility/flite ) + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) + speechd? ( app-accessibility/speech-dispatcher ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + $(qt_feature flite) + $(qt_feature speechd) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtspeech/qtspeech-6.11.1-r1.ebuild b/dev-qt/qtspeech/qtspeech-6.11.1-r1.ebuild new file mode 100644 index 0000000..5e04906 --- /dev/null +++ b/dev-qt/qtspeech/qtspeech-6.11.1-r1.ebuild @@ -0,0 +1,41 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# tests are kind of flaky, sometimes hang, and also fail with clang +# (not that it's unusable with clang) -- may be worth revisiting +# eventually given qtspeech is still somewhat new (added in 6.4.0) +QT6_RESTRICT_TESTS=1 + +inherit qt6-build + +DESCRIPTION="Text-to-speech library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" +fi + +IUSE="flite qml +speechd" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6 + ~dev-qt/qtmultimedia-${PV}:6 + flite? ( + app-accessibility/flite + ~dev-qt/qtbase-${PV}:6[concurrent] + ) + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) + speechd? ( app-accessibility/speech-dispatcher ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + $(qt_feature flite) + $(qt_feature speechd) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtspeech/qtspeech-6.11.9999.ebuild b/dev-qt/qtspeech/qtspeech-6.11.9999.ebuild new file mode 100644 index 0000000..3c7c6a3 --- /dev/null +++ b/dev-qt/qtspeech/qtspeech-6.11.9999.ebuild @@ -0,0 +1,41 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# tests are kind of flaky, sometimes hang, and also fail with clang +# (not that it's unusable with clang) -- may be worth revisiting +# eventually given qtspeech is still somewhat new (added in 6.4.0) +QT6_RESTRICT_TESTS=1 + +inherit qt6-build + +DESCRIPTION="Text-to-speech library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +fi + +IUSE="flite qml +speechd" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6 + ~dev-qt/qtmultimedia-${PV}:6 + flite? ( + app-accessibility/flite + ~dev-qt/qtbase-${PV}:6[concurrent] + ) + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) + speechd? ( app-accessibility/speech-dispatcher ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + $(qt_feature flite) + $(qt_feature speechd) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtspeech/qtspeech-6.12.9999.ebuild b/dev-qt/qtspeech/qtspeech-6.12.9999.ebuild new file mode 100644 index 0000000..3c7c6a3 --- /dev/null +++ b/dev-qt/qtspeech/qtspeech-6.12.9999.ebuild @@ -0,0 +1,41 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# tests are kind of flaky, sometimes hang, and also fail with clang +# (not that it's unusable with clang) -- may be worth revisiting +# eventually given qtspeech is still somewhat new (added in 6.4.0) +QT6_RESTRICT_TESTS=1 + +inherit qt6-build + +DESCRIPTION="Text-to-speech library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +fi + +IUSE="flite qml +speechd" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6 + ~dev-qt/qtmultimedia-${PV}:6 + flite? ( + app-accessibility/flite + ~dev-qt/qtbase-${PV}:6[concurrent] + ) + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) + speechd? ( app-accessibility/speech-dispatcher ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + $(qt_feature flite) + $(qt_feature speechd) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtspeech/qtspeech-6.9999.ebuild b/dev-qt/qtspeech/qtspeech-6.9999.ebuild new file mode 100644 index 0000000..3c7c6a3 --- /dev/null +++ b/dev-qt/qtspeech/qtspeech-6.9999.ebuild @@ -0,0 +1,41 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# tests are kind of flaky, sometimes hang, and also fail with clang +# (not that it's unusable with clang) -- may be worth revisiting +# eventually given qtspeech is still somewhat new (added in 6.4.0) +QT6_RESTRICT_TESTS=1 + +inherit qt6-build + +DESCRIPTION="Text-to-speech library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +fi + +IUSE="flite qml +speechd" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6 + ~dev-qt/qtmultimedia-${PV}:6 + flite? ( + app-accessibility/flite + ~dev-qt/qtbase-${PV}:6[concurrent] + ) + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) + speechd? ( app-accessibility/speech-dispatcher ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Qml) + $(qt_feature flite) + $(qt_feature speechd) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtsql/Manifest b/dev-qt/qtsql/Manifest new file mode 100644 index 0000000..36e646e --- /dev/null +++ b/dev-qt/qtsql/Manifest @@ -0,0 +1,3 @@ +DIST qtbase-5.15-gentoo-patchset-6.tar.xz 8288 BLAKE2B ad9695a528345dd3b8e9ce72b7bdfe8f744f16685a567bbc7862ba6c28e5a426260cb0b73e2573cb3a6f16f1785786898ffb44c90f5d75354b97e5756c7573db SHA512 97bc4d5375e1750a5578439ff320ee2e5e929df1dafe56b4e86f2de8ad26c91dc4002e45ad75d9f936347d49b9f54c0c42f8fc2cb7dfd4f54bf08a210b3bc720 +DIST qtbase-5.15.18-gentoo-kde-1.tar.xz 450532 BLAKE2B 172732fe6a2f7dd4718b224d8a8ba7b182ded24f74ee38545d20a17364757153b399cae82b40f425e72b2587ec432f024868078edfe95280242211a040ddd9f6 SHA512 e0257171cf723cb6208a06f28fc95fa07d1239ea9dd3daa79d362146aa53e008398c9e1d95443b84d6d71b835a3f010b957e748f3ec23b77a588d6b372fd0c47 +DIST qtbase-everywhere-opensource-src-5.15.18.tar.xz 51492796 BLAKE2B a02f13f2ae8d3994fe5e3fa5b3751cb2981c3203cc4f3859dd4398d6a62101772885acb0c7b1f830ba8e9fbdd64ecfdb2a6074bfedd1bd372b4fc9ceb747467d SHA512 d39c831e6f3ddcd6a50f103ff60a0700b451f137782249508b7447a80066e3e9259c9b5038e6077ccf8df06b6afefec232c3c4dd331d85765089c92571708206 diff --git a/dev-qt/qtsql/metadata.xml b/dev-qt/qtsql/metadata.xml new file mode 100644 index 0000000..3c434f4 --- /dev/null +++ b/dev-qt/qtsql/metadata.xml @@ -0,0 +1,17 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtsql/qtsql-5.15.18.ebuild b/dev-qt/qtsql/qtsql-5.15.18.ebuild new file mode 100644 index 0000000..841a406 --- /dev/null +++ b/dev-qt/qtsql/qtsql-5.15.18.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Looking for Qt 6? It is packaged differently to Qt 5 with different +# package names: https://wiki.gentoo.org/wiki/Project:Qt/Qt6_migration_notes + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=1 + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +QT5_MODULE="qtbase" +inherit qt5-build + +DESCRIPTION="SQL abstraction library for the Qt5 framework" + +SLOT=5/${QT5_PV} # bug 639140 +IUSE="freetds mysql oci8 odbc postgres +sqlite" +REQUIRED_USE=" + || ( freetds mysql oci8 odbc postgres sqlite ) +" + +DEPEND=" + =dev-qt/qtcore-${QT5_PV}*:5= + freetds? ( dev-db/freetds ) + mysql? ( dev-db/mysql-connector-c:= ) + oci8? ( dev-db/oracle-instantclient:=[sdk] ) + odbc? ( dev-db/unixODBC ) + postgres? ( dev-db/postgresql:* ) + sqlite? ( dev-db/sqlite:3 ) +" +RDEPEND="${DEPEND}" + +QT5_TARGET_SUBDIRS=( + src/sql + src/plugins/sqldrivers +) + +QT5_GENTOO_PRIVATE_CONFIG=( + :sql +) + +src_configure() { + local myconf=( + $(qt_use freetds sql-tds plugin) + $(qt_use mysql sql-mysql plugin) + $(qt_use oci8 sql-oci plugin) + $(qt_use odbc sql-odbc plugin) + $(qt_use postgres sql-psql plugin) + $(qt_use sqlite sql-sqlite plugin) + $(usev sqlite -system-sqlite) + ) + + use oci8 && myconf+=("-I${ORACLE_HOME}/include" "-L${ORACLE_HOME}/$(get_libdir)") + + qt5-build_src_configure +} diff --git a/dev-qt/qtsvg/Manifest b/dev-qt/qtsvg/Manifest new file mode 100644 index 0000000..cd92a9a --- /dev/null +++ b/dev-qt/qtsvg/Manifest @@ -0,0 +1,4 @@ +DIST qtsvg-5.15.18-gentoo-kde-1.tar.xz 2872 BLAKE2B 2acf2cda848d8334803b05184ad1fb8d2cd254788d08ba6ea2d181e162ddd6ed8ac6fafc7776f553600aedefd6c3e7f3dc73e3458f74b6c95c1c0ab68edc5b14 SHA512 f64e4e6524faeb38a9ef62220b79a76483b6c62537ca5452b015a83a3e2e2eb81e86ce24449b7696d3ffb532da56c76e2ff4315d30a703764714c6aae71a7456 +DIST qtsvg-everywhere-opensource-src-5.15.18.tar.xz 1867656 BLAKE2B 409336262a3fd8f2f3c7032306453e88c359cced9ca2cb9ebf488e3fe36d0bdffd18ef6336800f72eef7b28b620791f9d7d350eb44a4a9b9e4d1e9e28ef860cd SHA512 2c599bdd0b82eeb969233bac7cb5d53896d3d873ee37b72fead0c3ef38feaef84c8e0a42425ce3ae185ca0f4d8f4590ec95829fc815bda65dd546d1697de8493 +DIST qtsvg-everywhere-src-6.10.3.tar.xz 2614032 BLAKE2B 08b903d04911ad280d7984a684945b1271e90d0d23f714a8acb42346f6d109db9159def1c86e053b4c49d18bfe7bfb1a39aed6584ddc2ee07bda39f5038bb9f3 SHA512 d75efa88382bd50704e185980014960d9baa3086ffd9530c6eb92ef277e15c804d93f9a20341849c0b64f9a013c31f3f690143ff3e024af8acfd3067a150ce78 +DIST qtsvg-everywhere-src-6.11.1.tar.xz 2336944 BLAKE2B a6ec11928ee38719f77926693b5eb949ecdafc3a94da9693dcb9f0ad1207ec03abf66da2056757da9d01d211d94c28a8df96f75a0dced91e867f3e4b0a0d2f48 SHA512 6cbadc333d3616a361360043da9a6809d03ee131cfb0661c9d01901c4bcf1d074c19f04b959616a1d35b712f2f50c66b5c40ea7bf204e680d054d538aabcf3e7 diff --git a/dev-qt/qtsvg/files/qtsvg-6.10.3-CVE-2026-6210.patch b/dev-qt/qtsvg/files/qtsvg-6.10.3-CVE-2026-6210.patch new file mode 100644 index 0000000..cf10466 --- /dev/null +++ b/dev-qt/qtsvg/files/qtsvg-6.10.3-CVE-2026-6210.patch @@ -0,0 +1,43 @@ +https://bugs.gentoo.org/974278 +https://codereview.qt-project.org/c/qt/qtsvg/+/732200 +--- a/src/svg/qsvgstructure.cpp ++++ b/src/svg/qsvgstructure.cpp +@@ -415,7 +415,8 @@ + const auto markers = markersForNode(node); + for (auto &i : markers) { +- QSvgMarker *markNode = static_cast(node->document()->namedNode(i.markerId)); +- if (!markNode) ++ QSvgNode *referencedNode = node->document()->namedNode(i.markerId); ++ if (!referencedNode || referencedNode->type() != QSvgNode::Marker) + continue; ++ QSvgMarker *markNode = static_cast(referencedNode); + + p->save(); +@@ -722,6 +723,7 @@ + // Chrome seems to return the mask of the mask if a mask is set on the mask + if (this->hasMask()) { +- QSvgMask *maskNode = static_cast(document()->namedNode(this->maskId())); +- if (maskNode) { ++ QSvgNode *referencedNode = document()->namedNode(this->maskId()); ++ if (referencedNode && referencedNode->type() == QSvgNode::Mask) { ++ QSvgMask *maskNode = static_cast(referencedNode); + QRectF boundsRect; + return maskNode->createMask(p, states, localRect, &boundsRect); +--- a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp ++++ b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp +@@ -1868,4 +1868,15 @@ + QTest::newRow("excessive moveto in path") // id=406541912 + << R"()"_ba; ++ // Bad-cast to QSvgMarker from QSvgLine -> Heap-buffer-overflow ++ QTest::newRow("line-as-marker") // id=496327371 ++ << R"-()-"_ba; ++ QTest::newRow("line-as-mask") // modeled after 496327371 to test similar problem, needs UBSAN ++ << R"-( ++ ++ ++ ++ ++ ++ )-"_ba; + } + diff --git a/dev-qt/qtsvg/metadata.xml b/dev-qt/qtsvg/metadata.xml new file mode 100644 index 0000000..44d09e8 --- /dev/null +++ b/dev-qt/qtsvg/metadata.xml @@ -0,0 +1,18 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtsvg + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtsvg/qtsvg-5.15.18.ebuild b/dev-qt/qtsvg/qtsvg-5.15.18.ebuild new file mode 100644 index 0000000..a8df473 --- /dev/null +++ b/dev-qt/qtsvg/qtsvg-5.15.18.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=1 + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +inherit qt5-build + +DESCRIPTION="SVG rendering library for the Qt5 framework" + +IUSE="" + +RDEPEND=" + =dev-qt/qtcore-${QT5_PV}* + =dev-qt/qtgui-${QT5_PV}* + =dev-qt/qtwidgets-${QT5_PV}* + virtual/zlib:= +" +DEPEND="${RDEPEND} + test? ( =dev-qt/qtxml-${QT5_PV}* ) +" diff --git a/dev-qt/qtsvg/qtsvg-6.10.3-r1.ebuild b/dev-qt/qtsvg/qtsvg-6.10.3-r1.ebuild new file mode 100644 index 0000000..b9a1af5 --- /dev/null +++ b/dev-qt/qtsvg/qtsvg-6.10.3-r1.ebuild @@ -0,0 +1,30 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build toolchain-funcs + +DESCRIPTION="SVG rendering library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui,widgets] + virtual/zlib:= +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-6.10.3-CVE-2026-6210.patch +) + +src_test() { + # tst_QSvgRenderer::testFeColorMatrix (new in 6.7, likely low impact) + # is known failing on BE, could use more looking into (bug #935356) + [[ $(tc-endian) == big ]] && local CMAKE_SKIP_TESTS=( tst_qsvgrenderer ) + + qt6-build_src_test +} diff --git a/dev-qt/qtsvg/qtsvg-6.11.1.ebuild b/dev-qt/qtsvg/qtsvg-6.11.1.ebuild new file mode 100644 index 0000000..5cd8580 --- /dev/null +++ b/dev-qt/qtsvg/qtsvg-6.11.1.ebuild @@ -0,0 +1,26 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build toolchain-funcs + +DESCRIPTION="SVG rendering library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui,widgets] + virtual/zlib:= +" +DEPEND="${RDEPEND}" + +src_test() { + # tst_QSvgRenderer::testFeColorMatrix (new in 6.7, likely low impact) + # is known failing on BE, could use more looking into (bug #935356) + [[ $(tc-endian) == big ]] && local CMAKE_SKIP_TESTS=( tst_qsvgrenderer ) + + qt6-build_src_test +} diff --git a/dev-qt/qtsvg/qtsvg-6.11.9999.ebuild b/dev-qt/qtsvg/qtsvg-6.11.9999.ebuild new file mode 100644 index 0000000..0f13d1a --- /dev/null +++ b/dev-qt/qtsvg/qtsvg-6.11.9999.ebuild @@ -0,0 +1,26 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build toolchain-funcs + +DESCRIPTION="SVG rendering library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui,widgets] + virtual/zlib:= +" +DEPEND="${RDEPEND}" + +src_test() { + # tst_QSvgRenderer::testFeColorMatrix (new in 6.7, likely low impact) + # is known failing on BE, could use more looking into (bug #935356) + [[ $(tc-endian) == big ]] && local CMAKE_SKIP_TESTS=( tst_qsvgrenderer ) + + qt6-build_src_test +} diff --git a/dev-qt/qtsvg/qtsvg-6.12.9999.ebuild b/dev-qt/qtsvg/qtsvg-6.12.9999.ebuild new file mode 100644 index 0000000..929ff37 --- /dev/null +++ b/dev-qt/qtsvg/qtsvg-6.12.9999.ebuild @@ -0,0 +1,26 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build toolchain-funcs + +DESCRIPTION="SVG rendering library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui,widgets] + virtual/zlib:= +" +DEPEND="${RDEPEND}" + +src_test() { + # tst_QSvgRenderer::testFeColorMatrix (new in 6.7, likely low impact) + # is known failing on BE, could use more looking into (bug #935356) + [[ $(tc-endian) == big ]] && local CMAKE_SKIP_TESTS=( tst_qsvgrenderer ) + + qt6-build_src_test +} diff --git a/dev-qt/qtsvg/qtsvg-6.9999.ebuild b/dev-qt/qtsvg/qtsvg-6.9999.ebuild new file mode 100644 index 0000000..0f13d1a --- /dev/null +++ b/dev-qt/qtsvg/qtsvg-6.9999.ebuild @@ -0,0 +1,26 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build toolchain-funcs + +DESCRIPTION="SVG rendering library for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui,widgets] + virtual/zlib:= +" +DEPEND="${RDEPEND}" + +src_test() { + # tst_QSvgRenderer::testFeColorMatrix (new in 6.7, likely low impact) + # is known failing on BE, could use more looking into (bug #935356) + [[ $(tc-endian) == big ]] && local CMAKE_SKIP_TESTS=( tst_qsvgrenderer ) + + qt6-build_src_test +} diff --git a/dev-qt/qttest/Manifest b/dev-qt/qttest/Manifest new file mode 100644 index 0000000..36e646e --- /dev/null +++ b/dev-qt/qttest/Manifest @@ -0,0 +1,3 @@ +DIST qtbase-5.15-gentoo-patchset-6.tar.xz 8288 BLAKE2B ad9695a528345dd3b8e9ce72b7bdfe8f744f16685a567bbc7862ba6c28e5a426260cb0b73e2573cb3a6f16f1785786898ffb44c90f5d75354b97e5756c7573db SHA512 97bc4d5375e1750a5578439ff320ee2e5e929df1dafe56b4e86f2de8ad26c91dc4002e45ad75d9f936347d49b9f54c0c42f8fc2cb7dfd4f54bf08a210b3bc720 +DIST qtbase-5.15.18-gentoo-kde-1.tar.xz 450532 BLAKE2B 172732fe6a2f7dd4718b224d8a8ba7b182ded24f74ee38545d20a17364757153b399cae82b40f425e72b2587ec432f024868078edfe95280242211a040ddd9f6 SHA512 e0257171cf723cb6208a06f28fc95fa07d1239ea9dd3daa79d362146aa53e008398c9e1d95443b84d6d71b835a3f010b957e748f3ec23b77a588d6b372fd0c47 +DIST qtbase-everywhere-opensource-src-5.15.18.tar.xz 51492796 BLAKE2B a02f13f2ae8d3994fe5e3fa5b3751cb2981c3203cc4f3859dd4398d6a62101772885acb0c7b1f830ba8e9fbdd64ecfdb2a6074bfedd1bd372b4fc9ceb747467d SHA512 d39c831e6f3ddcd6a50f103ff60a0700b451f137782249508b7447a80066e3e9259c9b5038e6077ccf8df06b6afefec232c3c4dd331d85765089c92571708206 diff --git a/dev-qt/qttest/metadata.xml b/dev-qt/qttest/metadata.xml new file mode 100644 index 0000000..3c434f4 --- /dev/null +++ b/dev-qt/qttest/metadata.xml @@ -0,0 +1,17 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qttest/qttest-5.15.18.ebuild b/dev-qt/qttest/qttest-5.15.18.ebuild new file mode 100644 index 0000000..d7d9866 --- /dev/null +++ b/dev-qt/qttest/qttest-5.15.18.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=1 + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +QT5_MODULE="qtbase" +VIRTUALX_REQUIRED="test" +inherit qt5-build + +DESCRIPTION="Unit testing library for the Qt5 framework" + +IUSE="" + +RDEPEND="=dev-qt/qtcore-${QT5_PV}*:5=" +DEPEND="${RDEPEND} + test? ( + =dev-qt/qtgui-${QT5_PV}* + =dev-qt/qtxml-${QT5_PV}* + ) +" + +QT5_TARGET_SUBDIRS=( + src/testlib +) + +QT5_GENTOO_PRIVATE_CONFIG=( + :testlib +) diff --git a/dev-qt/qttools/Manifest b/dev-qt/qttools/Manifest new file mode 100644 index 0000000..2d436f2 --- /dev/null +++ b/dev-qt/qttools/Manifest @@ -0,0 +1,2 @@ +DIST qttools-everywhere-src-6.10.3.tar.xz 10078596 BLAKE2B 9a7e72605419f29e483aa3341717deda3e3847dfa4881658d7a25e1263bf326f8d0933e6c914ebb98f46808fb1b6e46b55579ea1a699c3641073d64d080009d8 SHA512 d308b7232e77a83ab47eaaa440dfc448c3f441c1bdf01b317f3e54e9467631d03344af012b7ec7bd11c5e786e06d1612ed80721fa1ae10e4e9f50aefdcc97428 +DIST qttools-everywhere-src-6.11.1.tar.xz 10225832 BLAKE2B 29acbe64c62dd2a0cf1f1833a532e338c564fa8b1c73a131476869cb9caf988a6d5de1abba837661bf916d29068383f1fe724282de9eacf40a93bac133553872 SHA512 826d21ed3e45feebe8c083b9fc9fc8e2a64aaec972d58388c94eabeaa3c2d8e4c86f1620a7caa6a1784f2f84641aec3df4b20006fe369eeaeb1968b838497b56 diff --git a/dev-qt/qttools/metadata.xml b/dev-qt/qttools/metadata.xml new file mode 100644 index 0000000..b8ff907 --- /dev/null +++ b/dev-qt/qttools/metadata.xml @@ -0,0 +1,34 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Build Qt Assistant and the QtHelp module + Build Qt Designer + Build Qt Distance Field Generator + Build tool to generate keymaps for use on Embedded Linux + Build Qt Linguist tools (GUI requires USE=widgets and USE=qml) + Build Qt Pixeltool + Build the Qt D-Bus Interface (D-Bus Viewer requires USE=widgets) + Build Qt Documentation Generator + Build QML/QtQuick bindings and imports + Build the QtHelp plugin for the QML language server + Build Qt Source Code Attribution Scanner + Build Qt Diag + Build Qt Plugin Info + Enable QtWidgets support + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qttools + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qttools/qttools-6.10.3.ebuild b/dev-qt/qttools/qttools-6.10.3.ebuild new file mode 100644 index 0000000..5753297 --- /dev/null +++ b/dev-qt/qttools/qttools-6.10.3.ebuild @@ -0,0 +1,118 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# match QDOC_SUPPORTED_CLANG_VERSIONS in src/qdoc/cmake/QDocConfiguration.cmake +LLVM_COMPAT=( {17..21} ) +LLVM_OPTIONAL=1 + +# behaves very badly when qttools is not already installed, also +# other issues to handle (clang tests flaky depending on version, +# and 3rdparty/ tries to FetchContent gtest) +QT6_RESTRICT_TESTS=1 + +inherit llvm-r2 optfeature qt6-build xdg + +DESCRIPTION="Qt Tools Collection" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +IUSE=" + +assistant designer distancefieldgenerator gles2-only +linguist + opengl pixeltool +qdbus qdoc qml qmlls qtattributionsscanner qtdiag + qtplugininfo vulkan +widgets zstd +" +# note that some tools do not *require* widgets but will skip a sub-tool +# if not enabled (e.g. linguist gives lrelease but not the GUI linguist6) +REQUIRED_USE=" + assistant? ( widgets ) + designer? ( qml widgets ) + distancefieldgenerator? ( qml widgets ) + pixeltool? ( widgets ) + qdoc? ( qml ${LLVM_REQUIRED_USE} ) + qmlls? ( assistant qml ) +" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[widgets?] + assistant? ( + ~dev-qt/qtbase-${PV}:6[concurrent,network,sql,sqlite] + !dev-qt/assistant:5 + ) + designer? ( + ~dev-qt/qtbase-${PV}:6[network,xml,zstd=] + zstd? ( app-arch/zstd:= ) + ! + + + + qt@gentoo.org + Gentoo Qt Project + + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qttranslations + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qttranslations/qttranslations-5.15.18.ebuild b/dev-qt/qttranslations/qttranslations-5.15.18.ebuild new file mode 100644 index 0000000..f8d732d --- /dev/null +++ b/dev-qt/qttranslations/qttranslations-5.15.18.ebuild @@ -0,0 +1,17 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999* ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +inherit qt5-build + +DESCRIPTION="Translation files for the Qt5 framework" + +IUSE="" + +DEPEND="=dev-qt/qtcore-${QT5_PV}*" +BDEPEND="=dev-qt/linguist-tools-${QT5_PV}*" diff --git a/dev-qt/qttranslations/qttranslations-6.10.3.ebuild b/dev-qt/qttranslations/qttranslations-6.10.3.ebuild new file mode 100644 index 0000000..0b1fee9 --- /dev/null +++ b/dev-qt/qttranslations/qttranslations-6.10.3.ebuild @@ -0,0 +1,16 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_RESTRICT_TESTS=1 # no tests +inherit qt6-build + +DESCRIPTION="Translation files for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +DEPEND="~dev-qt/qtbase-${PV}:6" +BDEPEND="~dev-qt/qttools-${PV}:6[linguist]" diff --git a/dev-qt/qttranslations/qttranslations-6.11.1.ebuild b/dev-qt/qttranslations/qttranslations-6.11.1.ebuild new file mode 100644 index 0000000..0b1fee9 --- /dev/null +++ b/dev-qt/qttranslations/qttranslations-6.11.1.ebuild @@ -0,0 +1,16 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_RESTRICT_TESTS=1 # no tests +inherit qt6-build + +DESCRIPTION="Translation files for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +DEPEND="~dev-qt/qtbase-${PV}:6" +BDEPEND="~dev-qt/qttools-${PV}:6[linguist]" diff --git a/dev-qt/qttranslations/qttranslations-6.11.9999.ebuild b/dev-qt/qttranslations/qttranslations-6.11.9999.ebuild new file mode 100644 index 0000000..b9f9a6e --- /dev/null +++ b/dev-qt/qttranslations/qttranslations-6.11.9999.ebuild @@ -0,0 +1,16 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_RESTRICT_TESTS=1 # no tests +inherit qt6-build + +DESCRIPTION="Translation files for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +DEPEND="~dev-qt/qtbase-${PV}:6" +BDEPEND="~dev-qt/qttools-${PV}:6[linguist]" diff --git a/dev-qt/qttranslations/qttranslations-6.12.9999.ebuild b/dev-qt/qttranslations/qttranslations-6.12.9999.ebuild new file mode 100644 index 0000000..b18b2c9 --- /dev/null +++ b/dev-qt/qttranslations/qttranslations-6.12.9999.ebuild @@ -0,0 +1,16 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_RESTRICT_TESTS=1 # no tests +inherit qt6-build + +DESCRIPTION="Translation files for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +DEPEND="~dev-qt/qtbase-${PV}:6" +BDEPEND="~dev-qt/qttools-${PV}:6[linguist]" diff --git a/dev-qt/qttranslations/qttranslations-6.9999.ebuild b/dev-qt/qttranslations/qttranslations-6.9999.ebuild new file mode 100644 index 0000000..e2a22c0 --- /dev/null +++ b/dev-qt/qttranslations/qttranslations-6.9999.ebuild @@ -0,0 +1,16 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +QT6_RESTRICT_TESTS=1 # no tests +inherit qt6-build + +DESCRIPTION="Translation files for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +DEPEND="~dev-qt/qtbase-${PV}:6" +BDEPEND="~dev-qt/qttools-${PV}:6[linguist]" diff --git a/dev-qt/qtvirtualkeyboard/Manifest b/dev-qt/qtvirtualkeyboard/Manifest new file mode 100644 index 0000000..a8695f2 --- /dev/null +++ b/dev-qt/qtvirtualkeyboard/Manifest @@ -0,0 +1,2 @@ +DIST qtvirtualkeyboard-everywhere-src-6.10.3.tar.xz 3270636 BLAKE2B 45b8bc16e7bf340be70974ba4bd20220596779b66eaaa17e9abc713fda6e5f779850efce8c70d9b859bf13c4e5c154d0aabf00a86d28a4a2ef555c80ac383465 SHA512 8fecca824e814c43da8dccbeab8eb22c064fc01daea7adc68bc830856685aed77996cd50afa31ed1db67956b9b1b9a4d39285f382b4d96ce4972f28b9d6f79c5 +DIST qtvirtualkeyboard-everywhere-src-6.11.1.tar.xz 3293452 BLAKE2B 9c8b3d57d24f939fe7a6000fc875152d15b9673c5a8a701f170bbaa61301e1e06d8edb9d0bc9807dcb79734e7429f728bb9a22cccae5543d2b538ad2de1dd32e SHA512 c508d799a0335a8fb42837d0b52981c7bae22dc4bf7f53e989b156c31368dc9455d6a8d54b4e155fed8ce4d40606d0e4bcebdada41639e1545751a48a43e4653 diff --git a/dev-qt/qtvirtualkeyboard/metadata.xml b/dev-qt/qtvirtualkeyboard/metadata.xml new file mode 100644 index 0000000..14c43a7 --- /dev/null +++ b/dev-qt/qtvirtualkeyboard/metadata.xml @@ -0,0 +1,18 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtvirtualkeyboard + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-6.10.3.ebuild b/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-6.10.3.ebuild new file mode 100644 index 0000000..eec9b37 --- /dev/null +++ b/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-6.10.3.ebuild @@ -0,0 +1,53 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Customizable input framework and virtual keyboard for Qt" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" +fi + +IUSE="+sound +spell" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtsvg-${PV}:6 + sound? ( ~dev-qt/qtmultimedia-${PV}:6[qml] ) + spell? ( app-text/hunspell:= ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package sound Qt6Multimedia) + $(qt_feature spell hunspell) + -DINPUT_vkb_handwriting=no # neither cerence nor myscript are packaged + ) + + qt6-build_src_configure +} + +src_test() { + local CMAKE_SKIP_TESTS=( + # rarely randomly(?) fails even with -j1 + tst_layoutfilesystem + ) + + if use spell && has_version app-dicts/myspell-en; then + # 99% pass but minor sub-tests fail with myspell-en, needs looking into + ewarn "Warning: notable tests were skipped due to ${_} being installed" + CMAKE_SKIP_TESTS+=( + tst_inputpanel + tst_inputpanelcontrols2 + ) + else + einfo "tst_inputpanel can take >5mins, not known to actually hang" + fi + + qt6-build_src_test +} diff --git a/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-6.11.1.ebuild b/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-6.11.1.ebuild new file mode 100644 index 0000000..bcc2d40 --- /dev/null +++ b/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-6.11.1.ebuild @@ -0,0 +1,53 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Customizable input framework and virtual keyboard for Qt" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" +fi + +IUSE="+sound +spell" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtsvg-${PV}:6 + sound? ( ~dev-qt/qtmultimedia-${PV}:6[qml] ) + spell? ( app-text/hunspell:= ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(qt_feature sound vkb_sound_effects) + $(qt_feature spell hunspell) + -DINPUT_vkb_handwriting=no # neither cerence nor myscript are packaged + ) + + qt6-build_src_configure +} + +src_test() { + local CMAKE_SKIP_TESTS=( + # rarely randomly(?) fails even with -j1 + tst_layoutfilesystem + ) + + if use spell && has_version app-dicts/myspell-en; then + # 99% pass but minor sub-tests fail with myspell-en, needs looking into + ewarn "Warning: notable tests were skipped due to ${_} being installed" + CMAKE_SKIP_TESTS+=( + tst_inputpanel + tst_inputpanelcontrols2 + ) + else + einfo "tst_inputpanel can take >5mins, not known to actually hang" + fi + + qt6-build_src_test +} diff --git a/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-6.11.9999.ebuild b/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-6.11.9999.ebuild new file mode 100644 index 0000000..ef5f05c --- /dev/null +++ b/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-6.11.9999.ebuild @@ -0,0 +1,53 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Customizable input framework and virtual keyboard for Qt" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +fi + +IUSE="+sound +spell" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtsvg-${PV}:6 + sound? ( ~dev-qt/qtmultimedia-${PV}:6[qml] ) + spell? ( app-text/hunspell:= ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(qt_feature sound vkb_sound_effects) + $(qt_feature spell hunspell) + -DINPUT_vkb_handwriting=no # neither cerence nor myscript are packaged + ) + + qt6-build_src_configure +} + +src_test() { + local CMAKE_SKIP_TESTS=( + # rarely randomly(?) fails even with -j1 + tst_layoutfilesystem + ) + + if use spell && has_version app-dicts/myspell-en; then + # 99% pass but minor sub-tests fail with myspell-en, needs looking into + ewarn "Warning: notable tests were skipped due to ${_} being installed" + CMAKE_SKIP_TESTS+=( + tst_inputpanel + tst_inputpanelcontrols2 + ) + else + einfo "tst_inputpanel can take >5mins, not known to actually hang" + fi + + qt6-build_src_test +} diff --git a/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-6.12.9999.ebuild b/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-6.12.9999.ebuild new file mode 100644 index 0000000..a194239 --- /dev/null +++ b/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-6.12.9999.ebuild @@ -0,0 +1,53 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Customizable input framework and virtual keyboard for Qt" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +fi + +IUSE="+sound +spell" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtsvg-${PV}:6 + sound? ( ~dev-qt/qtmultimedia-${PV}:6[qml] ) + spell? ( app-text/hunspell:= ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(qt_feature sound vkb_sound_effects) + $(qt_feature spell hunspell) + -DINPUT_vkb_handwriting=no # neither cerence nor myscript are packaged + ) + + qt6-build_src_configure +} + +src_test() { + local CMAKE_SKIP_TESTS=( + # rarely randomly(?) fails even with -j1 + tst_layoutfilesystem + ) + + if use spell && has_version app-dicts/myspell-en; then + # 99% pass but minor sub-tests fail with myspell-en, needs looking into + ewarn "Warning: notable tests were skipped due to ${_} being installed" + CMAKE_SKIP_TESTS+=( + tst_inputpanel + tst_inputpanelcontrols2 + ) + else + einfo "tst_inputpanel can take >5mins, not known to actually hang" + fi + + qt6-build_src_test +} diff --git a/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-6.9999.ebuild b/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-6.9999.ebuild new file mode 100644 index 0000000..ef5f05c --- /dev/null +++ b/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-6.9999.ebuild @@ -0,0 +1,53 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Customizable input framework and virtual keyboard for Qt" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +fi + +IUSE="+sound +spell" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtsvg-${PV}:6 + sound? ( ~dev-qt/qtmultimedia-${PV}:6[qml] ) + spell? ( app-text/hunspell:= ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(qt_feature sound vkb_sound_effects) + $(qt_feature spell hunspell) + -DINPUT_vkb_handwriting=no # neither cerence nor myscript are packaged + ) + + qt6-build_src_configure +} + +src_test() { + local CMAKE_SKIP_TESTS=( + # rarely randomly(?) fails even with -j1 + tst_layoutfilesystem + ) + + if use spell && has_version app-dicts/myspell-en; then + # 99% pass but minor sub-tests fail with myspell-en, needs looking into + ewarn "Warning: notable tests were skipped due to ${_} being installed" + CMAKE_SKIP_TESTS+=( + tst_inputpanel + tst_inputpanelcontrols2 + ) + else + einfo "tst_inputpanel can take >5mins, not known to actually hang" + fi + + qt6-build_src_test +} diff --git a/dev-qt/qtwayland/Manifest b/dev-qt/qtwayland/Manifest new file mode 100644 index 0000000..7a7b24b --- /dev/null +++ b/dev-qt/qtwayland/Manifest @@ -0,0 +1,4 @@ +DIST qtwayland-5.15.18-gentoo-kde-1.tar.xz 45732 BLAKE2B e9498684aad8205487a8beb6c6408851009b9eeb7ed8e5ae809f26bbb4e1ce5970bdabd0fc79562747b7af6acf5f77e0faea854a646e0039889c3ae7001afb8f SHA512 65851f53e2a534cb6aab8d547543a1864243a7dd07f8766cf68ba0bbfd2fca6e011f6b9a68beabf0f2b806eacd48adacf876f8ba571c7747dcfce6a5687bee7b +DIST qtwayland-everywhere-opensource-src-5.15.18.tar.xz 547760 BLAKE2B e41148764c0926109a35ef62bdfd59b031c42ed245783400a139da872ee6a83f9e4480e357ebd7561c3eeacb4cac612e94d0817f4bbe5a66131fab3a5a3596d7 SHA512 9e0d07a4a91eb6dd1bde6b211bae2b64f2035a28176c277adb86ab5d3a281c7740930dc304db94990c1d2277ef54d17b934f99326413719626fb161b612c033f +DIST qtwayland-everywhere-src-6.10.3.tar.xz 901620 BLAKE2B b90e9f2c50d54d08b2bf234f4c93dccbe5d5413715c91ebc09cf725e1e95e927bfa7d9b18f095e2d9646b2701261954dde29e916ce86ab8721ddbe2bfa90ca71 SHA512 e8fd87143b8a0def113d02ae43931ed8c8b5f1917926481398bf0b617a0c70ef79ba20bf8359881f902b318b7412765a8a479c50d55a7267723cb9c76bd8d4b1 +DIST qtwayland-everywhere-src-6.11.1.tar.xz 903616 BLAKE2B 50452f6c9cb21c8b60687898b74651e67a87da0063c968a4cbb9eae2d0c45697fada478d93d35d74870dc925c9457d0b9b3ed23389ab7a9e013e7872041855fb SHA512 97c9aa8a75d68d3ba5f28e86dd2af7fc3fd2a32a190ffc4c5b5145a98e7657627dbb2b63893f241d009baa72de7beaebfcf91282e731b7985c240d204c5aab9b diff --git a/dev-qt/qtwayland/metadata.xml b/dev-qt/qtwayland/metadata.xml new file mode 100644 index 0000000..5176085 --- /dev/null +++ b/dev-qt/qtwayland/metadata.xml @@ -0,0 +1,24 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Enable support for the wayland compositor / server APIs + Build the GNOME-like decoration plugin (loaded by default with GNOME) + Build QML/QtQuick bindings and imports + Enable support for Vulkan-based server buffer integration + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtwayland + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtwayland/qtwayland-5.15.18.ebuild b/dev-qt/qtwayland/qtwayland-5.15.18.ebuild new file mode 100644 index 0000000..11b0b72 --- /dev/null +++ b/dev-qt/qtwayland/qtwayland-5.15.18.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Looking for Qt 6? It is packaged differently to Qt 5 with different +# package names: https://wiki.gentoo.org/wiki/Project:Qt/Qt6_migration_notes + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=1 + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +inherit qt5-build + +DESCRIPTION="Wayland platform plugin for Qt" + +SLOT=5/${QT5_PV} # bug 815646 +IUSE="compositor vulkan" + +RDEPEND=" + dev-libs/wayland + =dev-qt/qtcore-${QT5_PV}*:5= + =dev-qt/qtgui-${QT5_PV}*:5=[egl,libinput,vulkan=] + media-libs/libglvnd + x11-libs/libxkbcommon + compositor? ( =dev-qt/qtdeclarative-${QT5_PV}*:5= ) +" +DEPEND="${RDEPEND} + vulkan? ( dev-util/vulkan-headers ) +" +BDEPEND="dev-util/wayland-scanner" + +src_configure() { + local myqmakeargs=( + -- + -no-feature-xcomposite-egl + -no-feature-xcomposite-glx + $(qt_use compositor feature-wayland-server) + $(qt_use compositor feature-wayland-dmabuf-server-buffer) + $(qt_use compositor feature-wayland-drm-egl-server-buffer) + $(qt_use compositor feature-wayland-shm-emulation-server-buffer) + ) + + use compositor && myqmakeargs+=( + $(qt_use vulkan feature-wayland-vulkan-server-buffer) + ) + + qt5-build_src_configure +} + +src_install() { + qt5-build_src_install + rm "${D}${QT5_BINDIR}"/qtwaylandscanner || die +} diff --git a/dev-qt/qtwayland/qtwayland-6.10.3.ebuild b/dev-qt/qtwayland/qtwayland-6.10.3.ebuild new file mode 100644 index 0000000..f5a2080 --- /dev/null +++ b/dev-qt/qtwayland/qtwayland-6.10.3.ebuild @@ -0,0 +1,39 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Toolbox for making Qt based Wayland compositors" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="gnome qml" + +RDEPEND=" + dev-libs/wayland + ~dev-qt/qtbase-${PV}:6[gui,opengl,wayland] + media-libs/libglvnd + x11-libs/libxkbcommon + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) + gnome? ( + ~dev-qt/qtbase-${PV}:6[dbus] + ~dev-qt/qtsvg-${PV}:6 + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-util/wayland-scanner +" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Quick) + $(qt_feature gnome wayland_decoration_adwaita) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtwayland/qtwayland-6.11.1.ebuild b/dev-qt/qtwayland/qtwayland-6.11.1.ebuild new file mode 100644 index 0000000..f5a2080 --- /dev/null +++ b/dev-qt/qtwayland/qtwayland-6.11.1.ebuild @@ -0,0 +1,39 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Toolbox for making Qt based Wayland compositors" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="gnome qml" + +RDEPEND=" + dev-libs/wayland + ~dev-qt/qtbase-${PV}:6[gui,opengl,wayland] + media-libs/libglvnd + x11-libs/libxkbcommon + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) + gnome? ( + ~dev-qt/qtbase-${PV}:6[dbus] + ~dev-qt/qtsvg-${PV}:6 + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-util/wayland-scanner +" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Quick) + $(qt_feature gnome wayland_decoration_adwaita) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtwayland/qtwayland-6.11.9999.ebuild b/dev-qt/qtwayland/qtwayland-6.11.9999.ebuild new file mode 100644 index 0000000..4bf0dce --- /dev/null +++ b/dev-qt/qtwayland/qtwayland-6.11.9999.ebuild @@ -0,0 +1,39 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Toolbox for making Qt based Wayland compositors" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="gnome qml" + +RDEPEND=" + dev-libs/wayland + ~dev-qt/qtbase-${PV}:6[gui,opengl,wayland] + media-libs/libglvnd + x11-libs/libxkbcommon + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) + gnome? ( + ~dev-qt/qtbase-${PV}:6[dbus] + ~dev-qt/qtsvg-${PV}:6 + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-util/wayland-scanner +" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Quick) + $(qt_feature gnome wayland_decoration_adwaita) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtwayland/qtwayland-6.12.9999.ebuild b/dev-qt/qtwayland/qtwayland-6.12.9999.ebuild new file mode 100644 index 0000000..38fc85e --- /dev/null +++ b/dev-qt/qtwayland/qtwayland-6.12.9999.ebuild @@ -0,0 +1,39 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Toolbox for making Qt based Wayland compositors" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="gnome qml" + +RDEPEND=" + dev-libs/wayland + ~dev-qt/qtbase-${PV}:6[gui,opengl,wayland] + media-libs/libglvnd + x11-libs/libxkbcommon + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) + gnome? ( + ~dev-qt/qtbase-${PV}:6[dbus] + ~dev-qt/qtsvg-${PV}:6 + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-util/wayland-scanner +" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Quick) + $(qt_feature gnome wayland_decoration_adwaita) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtwayland/qtwayland-6.9999.ebuild b/dev-qt/qtwayland/qtwayland-6.9999.ebuild new file mode 100644 index 0000000..4bf0dce --- /dev/null +++ b/dev-qt/qtwayland/qtwayland-6.9999.ebuild @@ -0,0 +1,39 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Toolbox for making Qt based Wayland compositors" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="gnome qml" + +RDEPEND=" + dev-libs/wayland + ~dev-qt/qtbase-${PV}:6[gui,opengl,wayland] + media-libs/libglvnd + x11-libs/libxkbcommon + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) + gnome? ( + ~dev-qt/qtbase-${PV}:6[dbus] + ~dev-qt/qtsvg-${PV}:6 + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-util/wayland-scanner +" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Quick) + $(qt_feature gnome wayland_decoration_adwaita) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtwebchannel/Manifest b/dev-qt/qtwebchannel/Manifest new file mode 100644 index 0000000..5f2f312 --- /dev/null +++ b/dev-qt/qtwebchannel/Manifest @@ -0,0 +1,2 @@ +DIST qtwebchannel-everywhere-src-6.10.3.tar.xz 194048 BLAKE2B deaea865f7c6d09b8305e2135fc02955d8a6b9400e6a407180e0a45cbf3b07460bf3dd6b4e61bd923a72603b1a24f458049feaf9842d13c0a7a5d1f11766cadc SHA512 a7fc823d2a19dc200a32f1d58e08d1554f5721b6e684a12f7aa34ebd63e0a51f6620ab89e1c6f965c1a64b353b450b7adb9796e7d8af8870f1c189cfb64b76f5 +DIST qtwebchannel-everywhere-src-6.11.1.tar.xz 193204 BLAKE2B f85812c2d2211eb889ee6178577b5542228c8376382e6647a34d0486919f134be10feb277fc1e1642132aa7a6f2600916f29e0e94d6b0b0eb3e176b70ade7d77 SHA512 c19696139a0d7e45d7f9b09d30230393f91f7a806d227ced3ae76c4c1aab8a9d3fd8dcbaf5313264235b9ddff540319f37deef7fe81bbde10b3a51339da53ac7 diff --git a/dev-qt/qtwebchannel/metadata.xml b/dev-qt/qtwebchannel/metadata.xml new file mode 100644 index 0000000..ccbc55d --- /dev/null +++ b/dev-qt/qtwebchannel/metadata.xml @@ -0,0 +1,21 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Build QML/QtQuick bindings and imports + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtwebchannel + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtwebchannel/qtwebchannel-6.10.3.ebuild b/dev-qt/qtwebchannel/qtwebchannel-6.10.3.ebuild new file mode 100644 index 0000000..c9dcee6 --- /dev/null +++ b/dev-qt/qtwebchannel/qtwebchannel-6.10.3.ebuild @@ -0,0 +1,27 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Qt WebChannel" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[concurrent] + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +src_configure() { + has_version "=dev-qt/qtdeclarative-$(ver_cut 1-3)*:6" && #913692 + local mycmakeargs=( $(cmake_use_find_package qml Qt6Qml) ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtwebchannel/qtwebchannel-6.11.1.ebuild b/dev-qt/qtwebchannel/qtwebchannel-6.11.1.ebuild new file mode 100644 index 0000000..c9dcee6 --- /dev/null +++ b/dev-qt/qtwebchannel/qtwebchannel-6.11.1.ebuild @@ -0,0 +1,27 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Qt WebChannel" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[concurrent] + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +src_configure() { + has_version "=dev-qt/qtdeclarative-$(ver_cut 1-3)*:6" && #913692 + local mycmakeargs=( $(cmake_use_find_package qml Qt6Qml) ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtwebchannel/qtwebchannel-6.11.9999.ebuild b/dev-qt/qtwebchannel/qtwebchannel-6.11.9999.ebuild new file mode 100644 index 0000000..0535c65 --- /dev/null +++ b/dev-qt/qtwebchannel/qtwebchannel-6.11.9999.ebuild @@ -0,0 +1,27 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Qt WebChannel" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[concurrent] + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +src_configure() { + has_version "=dev-qt/qtdeclarative-$(ver_cut 1-3)*:6" && #913692 + local mycmakeargs=( $(cmake_use_find_package qml Qt6Qml) ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtwebchannel/qtwebchannel-6.12.9999.ebuild b/dev-qt/qtwebchannel/qtwebchannel-6.12.9999.ebuild new file mode 100644 index 0000000..ce94563 --- /dev/null +++ b/dev-qt/qtwebchannel/qtwebchannel-6.12.9999.ebuild @@ -0,0 +1,27 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Qt WebChannel" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[concurrent] + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +src_configure() { + has_version "=dev-qt/qtdeclarative-$(ver_cut 1-3)*:6" && #913692 + local mycmakeargs=( $(cmake_use_find_package qml Qt6Qml) ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtwebchannel/qtwebchannel-6.9999.ebuild b/dev-qt/qtwebchannel/qtwebchannel-6.9999.ebuild new file mode 100644 index 0000000..e0cac52 --- /dev/null +++ b/dev-qt/qtwebchannel/qtwebchannel-6.9999.ebuild @@ -0,0 +1,27 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Qt WebChannel" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="qml" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[concurrent] + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +src_configure() { + has_version "=dev-qt/qtdeclarative-$(ver_cut 1-3)*:6" && #913692 + local mycmakeargs=( $(cmake_use_find_package qml Qt6Qml) ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest new file mode 100644 index 0000000..f42f88e --- /dev/null +++ b/dev-qt/qtwebengine/Manifest @@ -0,0 +1,4 @@ +DIST qtwebengine-6.10-patchset-8.tar.xz 8212 BLAKE2B 878e9b18ec72014d7c269a1e696841b74920a2a19fa3c4cf8a425770314e058e9501108692d75baa2a29f120e8ddbe438199e58b58b5af0a62d74574a6c6cd69 SHA512 c49f39c30982c6fcde813c873dc2bce6c1d182416e857390dbca5317e284a46bcdf9fbaea0758368866d8c4f9d2f295af078d65c348201856d229a449f792118 +DIST qtwebengine-6.11-patchset-3.tar.xz 8360 BLAKE2B 33fa60fc44b87727dae94b7c29ffacb100546ff740ad63c4f9b78fccdc417133864637f0476d142d2b231dcfbc099a809017d2006f3613e21f98f6adbb9d0dae SHA512 a8e5fbb1c458720e43533913a9c43b9b28dc7280772cb7db5ec2c5fab1c20313d8f75fc15a031ac33406e0b706447f3b020827938e8a19e312ba9c98f2f3790d +DIST qtwebengine-everywhere-src-6.10.3.tar.xz 881406300 BLAKE2B 33fa7a9c18a91d48e262272d79cfa174a182bdf395c6500e97a8692e1f84e2228622eee2197c6b61eb6fda21710e0780f6037ae9bb4f95f2043a3484d70ef76a SHA512 58ddcd96b1ebd9260ce4afe3c8eb0c27ccaee5f9ccbf1d151a8bf04d91c757f0b956ce4150311fe17e2599bceadff2e3cb481c667c3ff721e270a3b486efd4eb +DIST qtwebengine-everywhere-src-6.11.1.tar.xz 578914356 BLAKE2B 2ebaa0a5ee50962c9d8d51bb0cae2457050ebf28c99468ff797a8884836b34feefa583f92791208e8012b8f273c49ea5926e021b0e45fa733d33f8e0e2511500 SHA512 145c55b5288766a94d51f5c8f1a28537d2c9a9c368f55d9b9e7a67ba07a0d43335f65759e41f76528a7ddd78a86deca38fbe407876fc5a322a326dd7f6e56fc2 diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.10.2-clang-22.patch b/dev-qt/qtwebengine/files/qtwebengine-6.10.2-clang-22.patch new file mode 100644 index 0000000..bdbc9c8 --- /dev/null +++ b/dev-qt/qtwebengine/files/qtwebengine-6.10.2-clang-22.patch @@ -0,0 +1,23 @@ +Patch status: fixed in >=chromium-141.0.7365.0 + +https://bugs.gentoo.org/968956 +https://crbug.com/438445382 +https://crrev.com/820ca85d1e918a399abf471d97b37d99be892f1f +https://skia.googlesource.com/skcms.git/+/135488419331 +https://skia.googlesource.com/skcms.git/+/02ca44da98eb +https://skia.googlesource.com/skcms.git/+/238fd0489c04 +https://skia.googlesource.com/skcms.git/+/c602c137fb05 +--- a/src/3rdparty/chromium/third_party/skia/modules/skcms/src/Transform_inl.h ++++ b/src/3rdparty/chromium/third_party/skia/modules/skcms/src/Transform_inl.h +@@ -162,6 +162,11 @@ + return (F)_mm512_cvtph_ps((__m256i)half); + #elif defined(USING_AVX_F16C) ++#if defined(__clang__) && __clang_major__ >= 15 // for _Float16 support ++ typedef _Float16 __attribute__((vector_size(16))) F16; ++ return __builtin_convertvector((F16)half, F); ++#else + typedef int16_t __attribute__((vector_size(16))) I16; + return __builtin_ia32_vcvtph2ps256((I16)half); ++#endif // defined(__clang)) + #else + U32 wide = cast(half); diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.10.3-climits.patch b/dev-qt/qtwebengine/files/qtwebengine-6.10.3-climits.patch new file mode 100644 index 0000000..17438af --- /dev/null +++ b/dev-qt/qtwebengine/files/qtwebengine-6.10.3-climits.patch @@ -0,0 +1,11 @@ +Same issue as https://bugs.gentoo.org/971287 which only happens with +recent gcc-16 libstdc++ snapshots. +--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/widget/input/prediction/predictor_factory.cc ++++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/widget/input/prediction/predictor_factory.cc +@@ -3,4 +3,6 @@ + // found in the LICENSE file. + ++#include ++ + #include "third_party/blink/renderer/platform/widget/input/prediction/predictor_factory.h" + diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.11.0-gcc17.patch b/dev-qt/qtwebengine/files/qtwebengine-6.11.0-gcc17.patch new file mode 100644 index 0000000..416074e --- /dev/null +++ b/dev-qt/qtwebengine/files/qtwebengine-6.11.0-gcc17.patch @@ -0,0 +1,29 @@ +https://bugs.gentoo.org/973445 +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125064 +--- a/src/3rdparty/chromium/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h ++++ b/src/3rdparty/chromium/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h +@@ -352,5 +352,5 @@ + // struct PA_TRIVIAL_ABI S { ~S(); } + // ``` +-#if PA_HAS_CPP_ATTRIBUTE(clang::trivial_abi) ++#if PA_HAS_CPP_ATTRIBUTE(clang::trivial_abi) && defined(__clang__) + #define PA_TRIVIAL_ABI [[clang::trivial_abi]] + #else +--- a/src/3rdparty/chromium/base/compiler_specific.h ++++ b/src/3rdparty/chromium/base/compiler_specific.h +@@ -575,5 +575,5 @@ + // struct TRIVIAL_ABI S { ~S(); } + // ``` +-#if __has_cpp_attribute(clang::trivial_abi) ++#if __has_cpp_attribute(clang::trivial_abi) && defined(__clang__) + #define TRIVIAL_ABI [[clang::trivial_abi]] + #else +--- a/src/3rdparty/chromium/skia/config/SkUserConfig.h ++++ b/src/3rdparty/chromium/skia/config/SkUserConfig.h +@@ -104,5 +104,5 @@ + + #if defined(__has_attribute) +-#if __has_attribute(trivial_abi) ++#if __has_attribute(trivial_abi) && defined(__clang__) + #define SK_TRIVIAL_ABI [[clang::trivial_abi]] + #else diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.11.1-gcc17.patch b/dev-qt/qtwebengine/files/qtwebengine-6.11.1-gcc17.patch new file mode 100644 index 0000000..b65de93 --- /dev/null +++ b/dev-qt/qtwebengine/files/qtwebengine-6.11.1-gcc17.patch @@ -0,0 +1,9 @@ +https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/742007 +--- a/src/3rdparty/chromium/third_party/dawn/src/tint/utils/rtti/traits.h ++++ b/src/3rdparty/chromium/third_party/dawn/src/tint/utils/rtti/traits.h +@@ -30,4 +30,5 @@ + + #include ++#include + #include + #include diff --git a/dev-qt/qtwebengine/metadata.xml b/dev-qt/qtwebengine/metadata.xml new file mode 100644 index 0000000..907620b --- /dev/null +++ b/dev-qt/qtwebengine/metadata.xml @@ -0,0 +1,28 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Install the QWebEngineView plugin used to add widgets in dev-qt/qttools[designer] forms that display web pages. + Combine source files to speed up build process. + Build the QtPdf module based on chromium's PDFium library + Build QML/QtQuick bindings and imports + Use the system-wide dev-libs/icu instead of bundled. + Build tool for automated testing (ChromeDriver equivalent) + Enable QtWidgets support + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtwebengine + qt/qtwebengine-chromium + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtwebengine/qtwebengine-6.10.3.ebuild b/dev-qt/qtwebengine/qtwebengine-6.10.3.ebuild new file mode 100644 index 0000000..18fae7d --- /dev/null +++ b/dev-qt/qtwebengine/qtwebengine-6.10.3.ebuild @@ -0,0 +1,363 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +inherit check-reqs flag-o-matic multiprocessing optfeature +inherit prefix python-any-r1 qt6-build toolchain-funcs + +DESCRIPTION="Library for rendering dynamic web content in Qt6 C++ and QML applications" +SRC_URI+=" + https://distfiles.gentoo.org/pub/dev/ionen@gentoo.org/${PN}-6.10-patchset-8.tar.xz +" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm64" +fi + +IUSE=" + accessibility +alsa bindist custom-cflags designer geolocation + +jumbo-build kerberos opengl +pdfium pulseaudio qml screencast + +system-icu vaapi vulkan webdriver +widgets +" +REQUIRED_USE=" + designer? ( qml widgets ) + test? ( widgets ) +" + +# dlopen: krb5, libva, pciutils +RDEPEND=" + app-arch/snappy:= + dev-libs/expat + dev-libs/libxml2:=[icu] + dev-libs/libxslt + dev-libs/nspr + dev-libs/nss + ~dev-qt/qtbase-${PV}:6[accessibility=,gui,opengl=,ssl,vulkan?,widgets?] + ~dev-qt/qtdeclarative-${PV}:6[widgets?] + ~dev-qt/qtwebchannel-${PV}:6[qml?] + media-libs/fontconfig + media-libs/freetype + media-libs/harfbuzz:= + media-libs/lcms:2 + media-libs/libjpeg-turbo:= + media-libs/libpng:= + media-libs/libwebp:= + media-libs/mesa[gbm(+)] + media-libs/openjpeg:2= + media-libs/opus + media-libs/tiff:= + sys-apps/dbus + sys-apps/pciutils + virtual/libudev:= + virtual/minizip:= + virtual/zlib:= + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libXtst + x11-libs/libdrm + x11-libs/libxcb:= + x11-libs/libxkbcommon + x11-libs/libxkbfile + alsa? ( media-libs/alsa-lib ) + designer? ( ~dev-qt/qttools-${PV}:6[designer] ) + geolocation? ( ~dev-qt/qtpositioning-${PV}:6 ) + kerberos? ( virtual/krb5 ) + opengl? ( media-libs/libglvnd[X] ) + pulseaudio? ( media-libs/libpulse[glib] ) + screencast? ( + dev-libs/glib:2 + media-video/pipewire:= + ) + system-icu? ( dev-libs/icu:= ) + vaapi? ( media-libs/libva:=[X] ) +" +DEPEND=" + ${RDEPEND} + || ( + sys-devel/gcc:* + llvm-runtimes/libatomic-stub + ) + media-libs/libglvnd + x11-base/xorg-proto + x11-libs/libXcursor + x11-libs/libXi + x11-libs/libxshmfence + elibc_musl? ( sys-libs/queue-standalone ) + screencast? ( media-libs/libepoxy[egl(+)] ) + vaapi? ( + vulkan? ( dev-util/vulkan-headers ) + ) +" +BDEPEND=" + $(python_gen_any_dep 'dev-python/html5lib[${PYTHON_USEDEP}]') + dev-util/gperf + net-libs/nodejs[icu,ssl] + sys-devel/bison + sys-devel/flex +" + +PATCHES=( "${WORKDIR}"/patches/${PN} ) +[[ ${PV} == 6.9999 ]] || # too fragile for 6.9999, but keep for 6.x.9999 + PATCHES+=( "${WORKDIR}"/patches/chromium ) + +PATCHES+=( + # add extras as needed here, may merge in set if carries across versions + "${FILESDIR}"/${PN}-6.10.2-clang-22.patch + "${FILESDIR}"/${PN}-6.10.3-climits.patch +) + +python_check_deps() { + python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]" +} + +qtwebengine_check-reqs() { + [[ ${MERGE_TYPE} == binary ]] && return + + if is-flagq '-g?(gdb)?([1-9])'; then #307861 + ewarn + ewarn "Used CFLAGS/CXXFLAGS seem to enable debug info (-g or -ggdb), which" + ewarn "is non-trivial with ${PN}. May experience extended compilation" + ewarn "times, increased disk/memory usage, and potentially link failure." + ewarn + ewarn "If run into issues, please try disabling before reporting a bug." + fi + + local CHECKREQS_DISK_BUILD=11G + local CHECKREQS_DISK_USR=400M + + if ! has distcc ${FEATURES}; then #830661 + # assume ~2GB per job or 1.5GB if clang, possible with less + # depending on free memory and *FLAGS, but prefer being safe as + # users having OOM issues with qtwebengine been rather common + tc-is-clang && : 15 || : 20 + local CHECKREQS_MEMORY=$(($(makeopts_jobs)*_/10))G + fi + + check-reqs_${EBUILD_PHASE_FUNC} #570534 +} + +pkg_pretend() { + qtwebengine_check-reqs +} + +pkg_setup() { + qtwebengine_check-reqs + python-any-r1_pkg_setup +} + +src_prepare() { + qt6-build_src_prepare + + # for www-plugins/chrome-binary-plugins (widevine) search paths on prefix + hprefixify -w /Gentoo/ src/core/content_client_qt.cpp + + # store chromium versions, only used in postinst for a warning + local chromium + mapfile -t chromium < CHROMIUM_VERSION || die + [[ ${chromium[0]} =~ ^Based.*:[^0-9]+([0-9.]+$) ]] && + QT6_CHROMIUM_VER=${BASH_REMATCH[1]} || die + [[ ${chromium[1]} =~ ^Patched.+:[^0-9]+([0-9.]+$) ]] && + QT6_CHROMIUM_PATCHES_VER=${BASH_REMATCH[1]} || die +} + +src_configure() { + local mycmakeargs=( + $(qt_feature pdfium qtpdf_build) + $(use pdfium && qt_feature qml qtpdf_quick_build) + $(use pdfium && qt_feature widgets qtpdf_widgets_build) + $(usev pdfium -DQT_FEATURE_pdf_v8=ON) + + # TODO?: since 6.9.0, dependency checks have been adjusted to make it + # easier for webengine to be optional which could be useful if *only* + # need QtPdf (rare at the moment), would require all revdeps to depend + # on qtwebengine[webengine(+)] + -DQT_FEATURE_qtwebengine_build=ON + $(qt_feature qml qtwebengine_quick_build) + $(qt_feature webdriver webenginedriver) + $(qt_feature widgets qtwebengine_widgets_build) + + $(cmake_use_find_package designer Qt6Designer) + + $(qt_feature alsa webengine_system_alsa) + $(qt_feature !bindist webengine_proprietary_codecs) + $(qt_feature geolocation webengine_geolocation) + $(qt_feature jumbo-build webengine_jumbo_build) + $(qt_feature kerberos webengine_kerberos) + $(qt_feature pulseaudio webengine_system_pulseaudio) + $(qt_feature screencast webengine_webrtc_pipewire) + $(qt_feature system-icu webengine_system_icu) + $(qt_feature vaapi webengine_vaapi) + $(qt_feature vulkan webengine_vulkan) + -DQT_FEATURE_webengine_embedded_build=OFF + -DQT_FEATURE_webengine_extensions=ON + # TODO: it may be possible to make x11 optional since 6.8+ + -DQT_FEATURE_webengine_ozone_x11=ON + -DQT_FEATURE_webengine_pepper_plugins=ON + -DQT_FEATURE_webengine_printing_and_pdf=ON + -DQT_FEATURE_webengine_spellchecker=ON + -DQT_FEATURE_webengine_webchannel=ON + -DQT_FEATURE_webengine_webrtc=ON + + # needs a modified ffmpeg to be usable (bug #831487), and even then + # it is picky about codecs/version and system's can lead to unexpected + # issues (e.g. builds but some files don't play even with support) + -DQT_FEATURE_webengine_system_ffmpeg=OFF + + # currently seems unused with our configuration, doesn't link and grep + # seems(?) to imply no dlopen nor using bundled (TODO: check again) + -DQT_FEATURE_webengine_system_openh264=OFF + + # use bundled re2 to avoid complications, Qt has also disabled + # this by default in 6.7.3+ (bug #913923) + -DQT_FEATURE_webengine_system_re2=OFF + + # system_libvpx=ON is intentionally ignored with USE=vaapi which leads + # to using system's being less tested, prefer disabling for now until + # vaapi can use it as well + -DQT_FEATURE_webengine_system_libvpx=OFF + + # not necessary to pass these (default), but in case detection fails + # given qtbase's force_system_libs does not affect these right now + $(printf -- '-DQT_FEATURE_webengine_system_%s=ON ' \ + freetype gbm glib harfbuzz lcms2 libjpeg libopenjpeg2 \ + libpci libpng libtiff libudev libwebp libxml minizip \ + opus snappy zlib) + + # TODO: fixup gn cross, or package dev-qt/qtwebengine-gn with =ON + # (see also BUILD_ONLY_GN option added in 6.8+ for the latter) + -DINSTALL_GN=OFF + ) + + local mygnargs=( + # prefer no dlopen where possible + $(usev pulseaudio link_pulseaudio=true) + $(usev screencast rtc_link_pipewire=true) + # reduce default disk space usage + symbol_level=0 + ) + + if use !custom-cflags; then + # qtwebengine can be rather fragile with *FLAGS + filter-lto + strip-flags + + if is-flagq '-g?(gdb)?([2-9])'; then #914475 + replace-flags '-g?(gdb)?([2-9])' -g1 + ewarn "-g2+/-ggdb* *FLAGS replaced with -g1 (enable USE=custom-cflags to keep)" + fi + + # gcc-16 with -O3 is known to cause runtime issues (bug #968755) + tc-is-gcc && [[ $(gcc-major-version) -ge 16 ]] && + replace-flags '-O[3-9]' -O2 + + # Qt normally ignores users *FLAGS specifically for qtwebengine, and + # does not really support passing -march -- qt6-build.eclass has some + # checks to ensure working flags with amd64, but that does not exist + # for arm64 and can lead to problems (bug #920555,#920568,#970048) + use arm64 && filter-flags '-march=*' '-mcpu=*' + fi + + # chromium passes this by default, but qtwebengine does not and it may + # "possibly" get enabled by some paths and cause issues (bug #953111) + append-ldflags -Wl,-z,noexecstack + + export NINJAFLAGS=$(get_NINJAOPTS) + [[ ${NINJA_VERBOSE^^} == OFF ]] || NINJAFLAGS+=" -v" + + local -x EXTRA_GN="${mygnargs[*]} ${EXTRA_GN}" + einfo "Extra Gn args: ${EXTRA_GN}" + + qt6-build_src_configure +} + +src_compile() { + cmake_src_compile + + # exact cause unknown, but >=qtwebengine-6.9.2 started to act as if + # QtWebEngineProcess is marked USER_FACING despite not set anywhere + # and this creates a user_facing_tool_links.txt with a broken symlink + :> "${BUILD_DIR}"/user_facing_tool_links.txt || die +} + +src_test() { + if [[ ${EUID} == 0 ]]; then + # almost every tests fail, so skip entirely + ewarn "Skipping tests due to running as root (chromium refuses this configuration)." + return + fi + + local CMAKE_SKIP_TESTS=( + # fails with *-sandbox + tst_certificateerror + tst_loadsignals + tst_qquickwebengineview + tst_qwebengineglobalsettings + tst_qwebenginepermission + tst_qwebengineview + # fails with offscreen rendering, may be worth retrying if the issue + # persist given these are rather major tests (or consider virtx) + tst_qmltests + tst_qwebenginepage + # certs verfication seems flaky and gives expiration warnings + tst_qwebengineclientcertificatestore + # test is misperformed when qtbase is built USE=-test? + tst_touchinput + # currently requires webenginedriver to be already installed + tst_webenginedriver + ) + + # prevent using the system's qtwebengine + # (use glob to avoid unnecessary complications with arch dir) + local resources=( "${BUILD_DIR}/src/core/${CMAKE_BUILD_TYPE}/"* ) + [[ -d ${resources[0]} ]] || die "invalid resources path: ${resources[0]}" + local -x QTWEBENGINEPROCESS_PATH=${BUILD_DIR}${QT6_LIBEXECDIR#"${QT6_PREFIX}"}/QtWebEngineProcess + local -x QTWEBENGINE_LOCALES_PATH=${resources[0]}/qtwebengine_locales + local -x QTWEBENGINE_RESOURCES_PATH=${resources[0]} + + # random failures in several tests without -j1 + qt6-build_src_test -j1 +} + +src_install() { + qt6-build_src_install + + [[ -e ${D}${QT6_LIBDIR}/libQt6WebEngineCore.so ]] || #601472 + die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/" + + if use test; then + local delete=( # sigh + "${D}${QT6_ARCHDATADIR}"/metatypes/*testmockdelegates* + "${D}${QT6_ARCHDATADIR}"/modules/*TestMockDelegates* + "${D}${QT6_BINDIR}"/testbrowser + "${D}${QT6_LIBDIR}"/{,cmake,pkgconfig}/*TestMockDelegates* + "${D}${QT6_MKSPECSDIR}"/modules/*testmockdelegates* + "${D}${QT6_QMLDIR}"/QtWebEngine/TestMockDelegates + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} + +pkg_postinst() { + # plugin may also be found in $HOME if provided by chrome or firefox + use amd64 && + optfeature "Widevine DRM support (protected media playback)" \ + www-plugins/chrome-binary-plugins + + elog + elog "This version of Qt WebEngine is based on Chromium version ${QT6_CHROMIUM_VER}, with" + elog "additional security fixes up to ${QT6_CHROMIUM_PATCHES_VER}. Extensive as it is, the" + elog "list of backports is impossible to evaluate, but always bound to be behind" + elog "Chromium's release schedule." + elog + elog "In addition, various online services may deny service based on an outdated" + elog "user agent version (and/or other checks). Google is already known to do so." + elog + elog "tl;dr your web browsing experience will be compromised." +} diff --git a/dev-qt/qtwebengine/qtwebengine-6.11.1.ebuild b/dev-qt/qtwebengine/qtwebengine-6.11.1.ebuild new file mode 100644 index 0000000..631f2ca --- /dev/null +++ b/dev-qt/qtwebengine/qtwebengine-6.11.1.ebuild @@ -0,0 +1,369 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +inherit check-reqs flag-o-matic multiprocessing optfeature +inherit prefix python-any-r1 qt6-build toolchain-funcs + +DESCRIPTION="Library for rendering dynamic web content in Qt6 C++ and QML applications" +SRC_URI+=" + https://distfiles.gentoo.org/pub/dev/ionen@gentoo.org/${PN}-6.11-patchset-3.tar.xz +" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm64" +fi + +IUSE=" + accessibility +alsa bindist custom-cflags designer geolocation + +jumbo-build kerberos opengl +pdfium pulseaudio qml screencast + +system-icu vaapi vulkan webdriver +widgets +" +REQUIRED_USE=" + designer? ( qml widgets ) + test? ( widgets ) +" + +# dlopen: krb5, libva, pciutils +RDEPEND=" + app-arch/snappy:= + dev-libs/expat + dev-libs/libxml2:=[icu] + dev-libs/libxslt + dev-libs/nspr + dev-libs/nss + ~dev-qt/qtbase-${PV}:6[accessibility=,gui,opengl=,ssl,vulkan?,widgets?] + ~dev-qt/qtdeclarative-${PV}:6[widgets?] + ~dev-qt/qtwebchannel-${PV}:6[qml?] + media-libs/fontconfig + media-libs/freetype + media-libs/harfbuzz:= + media-libs/lcms:2 + media-libs/libjpeg-turbo:= + media-libs/libpng:= + media-libs/libwebp:= + media-libs/mesa[gbm(+)] + media-libs/openjpeg:2= + media-libs/opus + media-libs/tiff:= + sys-apps/dbus + sys-apps/pciutils + virtual/libudev:= + virtual/minizip:= + virtual/zlib:= + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libXtst + x11-libs/libdrm + x11-libs/libxcb:= + x11-libs/libxkbcommon + x11-libs/libxkbfile + alsa? ( media-libs/alsa-lib ) + !bindist? ( >=media-libs/openh264-2.4:= ) + designer? ( ~dev-qt/qttools-${PV}:6[designer] ) + geolocation? ( ~dev-qt/qtpositioning-${PV}:6 ) + kerberos? ( virtual/krb5 ) + opengl? ( media-libs/libglvnd[X] ) + pulseaudio? ( media-libs/libpulse[glib] ) + screencast? ( + dev-libs/glib:2 + media-video/pipewire:= + ) + system-icu? ( dev-libs/icu:= ) + vaapi? ( media-libs/libva:=[X] ) +" +DEPEND=" + ${RDEPEND} + || ( + sys-devel/gcc:* + llvm-runtimes/libatomic-stub + ) + media-libs/libglvnd + x11-base/xorg-proto + x11-libs/libXcursor + x11-libs/libXi + x11-libs/libxshmfence + elibc_musl? ( sys-libs/queue-standalone ) + screencast? ( media-libs/libepoxy[egl(+)] ) + vaapi? ( + vulkan? ( dev-util/vulkan-headers ) + ) +" +BDEPEND=" + $(python_gen_any_dep 'dev-python/html5lib[${PYTHON_USEDEP}]') + dev-util/gperf + net-libs/nodejs[icu,ssl] + sys-devel/bison + sys-devel/flex +" + +PATCHES=( "${WORKDIR}"/patches/${PN} ) +[[ ${PV} == 6.9999 ]] || # too fragile for 6.9999, but keep for 6.x.9999 + PATCHES+=( "${WORKDIR}"/patches/chromium ) + +PATCHES+=( + # add extras as needed here, may merge in set if carries across versions + "${FILESDIR}"/${PN}-6.10.3-climits.patch + "${FILESDIR}"/${PN}-6.11.0-gcc17.patch + "${FILESDIR}"/${PN}-6.11.1-gcc17.patch +) + +python_check_deps() { + python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]" +} + +qtwebengine_check-reqs() { + [[ ${MERGE_TYPE} == binary ]] && return + + if is-flagq '-g?(gdb)?([1-9])'; then #307861 + ewarn + ewarn "Used CFLAGS/CXXFLAGS seem to enable debug info (-g or -ggdb), which" + ewarn "is non-trivial with ${PN}. May experience extended compilation" + ewarn "times, increased disk/memory usage, and potentially link failure." + ewarn + ewarn "If run into issues, please try disabling before reporting a bug." + fi + + local CHECKREQS_DISK_BUILD=11G + local CHECKREQS_DISK_USR=400M + + if ! has distcc ${FEATURES}; then #830661 + # on average this does not use *that* much ram but then poor + # luck may lead to several 3.9+GB jobs happening at same time + # (less of an issue for users with 32+GB ram given they have + # room to handle a few spikes), try to find a balance but it + # won't be right for everyone (CHECKREQS_DONOTHING=1 to ignore) + tc-is-clang && : 17 || : 25 # clang:1.7GB/job, gcc:2.5GB/job + local CHECKREQS_MEMORY=$(($(makeopts_jobs)*_/10))G + fi + + check-reqs_${EBUILD_PHASE_FUNC} #570534 +} + +pkg_pretend() { + qtwebengine_check-reqs +} + +pkg_setup() { + qtwebengine_check-reqs + python-any-r1_pkg_setup +} + +src_prepare() { + qt6-build_src_prepare + + # for www-plugins/chrome-binary-plugins (widevine) search paths on prefix + hprefixify -w /Gentoo/ src/core/content_client_qt.cpp + + # store chromium versions, only used in postinst for a warning + local chromium + mapfile -t chromium < CHROMIUM_VERSION || die + [[ ${chromium[0]} =~ ^Based.*:[^0-9]+([0-9.]+$) ]] && + QT6_CHROMIUM_VER=${BASH_REMATCH[1]} || die + [[ ${chromium[1]} =~ ^Patched.+:[^0-9]+([0-9.]+$) ]] && + QT6_CHROMIUM_PATCHES_VER=${BASH_REMATCH[1]} || die +} + +src_configure() { + local mycmakeargs=( + $(qt_feature pdfium qtpdf_build) + $(use pdfium && qt_feature qml qtpdf_quick_build) + $(use pdfium && qt_feature widgets qtpdf_widgets_build) + $(usev pdfium -DQT_FEATURE_pdf_v8=ON) + + # TODO?: since 6.9.0, dependency checks have been adjusted to make it + # easier for webengine to be optional which could be useful if *only* + # need QtPdf (rare at the moment), would require all revdeps to depend + # on qtwebengine[webengine(+)] + -DQT_FEATURE_qtwebengine_build=ON + $(qt_feature qml qtwebengine_quick_build) + $(qt_feature webdriver webenginedriver) + $(qt_feature widgets qtwebengine_widgets_build) + + $(cmake_use_find_package designer Qt6Designer) + + $(qt_feature alsa webengine_system_alsa) + $(qt_feature !bindist webengine_proprietary_codecs) + $(qt_feature !bindist webengine_system_openh264) # no bundled either + $(qt_feature geolocation webengine_geolocation) + $(qt_feature jumbo-build webengine_jumbo_build) + $(qt_feature kerberos webengine_kerberos) + $(qt_feature pulseaudio webengine_system_pulseaudio) + $(qt_feature screencast webengine_webrtc_pipewire) + $(qt_feature system-icu webengine_system_icu) + $(qt_feature vaapi webengine_vaapi) + $(qt_feature vulkan webengine_vulkan) + -DQT_FEATURE_webengine_embedded_build=OFF + -DQT_FEATURE_webengine_extensions=ON + # TODO: it may be possible to make x11 optional since 6.8+ + -DQT_FEATURE_webengine_ozone_x11=ON + -DQT_FEATURE_webengine_pass_extra_flags=ON + -DQT_FEATURE_webengine_pepper_plugins=ON + -DQT_FEATURE_webengine_printing_and_pdf=ON + -DQT_FEATURE_webengine_spellchecker=ON + -DQT_FEATURE_webengine_webchannel=ON + -DQT_FEATURE_webengine_webrtc=ON + + # needs a modified ffmpeg to be usable (bug #831487), and even then + # it is picky about codecs/version and system's can lead to unexpected + # issues (e.g. builds but some files don't play even with support) + -DQT_FEATURE_webengine_system_ffmpeg=OFF + + # use bundled re2 to avoid complications, Qt has also disabled + # this by default in 6.7.3+ (bug #913923) + -DQT_FEATURE_webengine_system_re2=OFF + + # system_libvpx=ON is intentionally ignored with USE=vaapi which leads + # to using system's being less tested, prefer disabling for now until + # vaapi can use it as well + -DQT_FEATURE_webengine_system_libvpx=OFF + + # not necessary to pass these (default), but in case detection fails + # given qtbase's force_system_libs does not affect these right now + $(printf -- '-DQT_FEATURE_webengine_system_%s=ON ' \ + freetype gbm glib harfbuzz lcms2 libjpeg libopenjpeg2 \ + libpci libpng libtiff libudev libwebp libxml minizip \ + opus snappy zlib) + + # TODO: fixup gn cross, or package dev-qt/qtwebengine-gn with =ON + # (see also BUILD_ONLY_GN option added in 6.8+ for the latter) + -DINSTALL_GN=OFF + ) + + local mygnargs=( + # prefer no dlopen where possible + $(usev pulseaudio link_pulseaudio=true) + $(usev screencast rtc_link_pipewire=true) + # reduce default disk space usage + symbol_level=0 + ) + + if use !custom-cflags; then + # qtwebengine can be rather fragile with *FLAGS + filter-lto + strip-flags + + if is-flagq '-g?(gdb)?([2-9])'; then #914475 + replace-flags '-g?(gdb)?([2-9])' -g1 + ewarn "-g2+/-ggdb* *FLAGS replaced with -g1 (enable USE=custom-cflags to keep)" + fi + + # gcc-16 with -O3 is known to cause runtime issues (bug #968755) + tc-is-gcc && [[ $(gcc-major-version) -ge 16 ]] && + replace-flags '-O[3-9]' -O2 + + # Qt normally ignores users *FLAGS specifically for qtwebengine, and + # does not really support passing -march -- qt6-build.eclass has some + # checks to ensure working flags with amd64, but that does not exist + # for arm64 and can lead to problems (bug #920555,#920568,#970048) + use arm64 && filter-flags '-march=*' '-mcpu=*' + fi + + # chromium passes this by default, but qtwebengine does not and it may + # "possibly" get enabled by some paths and cause issues (bug #953111) + append-ldflags -Wl,-z,noexecstack + + export NINJAFLAGS=$(get_NINJAOPTS) + [[ ${NINJA_VERBOSE^^} == OFF ]] || NINJAFLAGS+=" -v" + + local -x EXTRA_GN="${mygnargs[*]} ${EXTRA_GN}" + einfo "Extra Gn args: ${EXTRA_GN}" + + qt6-build_src_configure +} + +src_test() { + if [[ ${EUID} == 0 ]]; then + # almost every tests fail, so skip entirely + ewarn "Skipping tests due to running as root (chromium refuses this configuration)." + return + fi + + local CMAKE_SKIP_TESTS=( + # fails with *-sandbox + tst_certificateerror + tst_inspectorserver + tst_loadsignals + tst_qquickwebengineview + tst_qwebengineglobalsettings + tst_qwebenginepermission + tst_qwebengineview + # fails with offscreen rendering, may be worth retrying if the issue + # persist given these are rather major tests (or consider virtx) + tst_qmltests + tst_qwebenginepage + # certs verfication seems flaky and gives expiration warnings + tst_qwebengineclientcertificatestore + # test is misperformed when qtbase is built USE=-test? + tst_touchinput + # currently requires webenginedriver to be already installed + tst_webenginedriver + ) + + # prevent using the system's qtwebengine + # (use glob to avoid unnecessary complications with arch dir) + local resources=( "${BUILD_DIR}/src/core/${CMAKE_BUILD_TYPE}/"* ) + [[ -d ${resources[0]} ]] || die "invalid resources path: ${resources[0]}" + local -x QTWEBENGINEPROCESS_PATH=${BUILD_DIR}${QT6_LIBEXECDIR#"${QT6_PREFIX}"}/QtWebEngineProcess + local -x QTWEBENGINE_LOCALES_PATH=${resources[0]}/qtwebengine_locales + local -x QTWEBENGINE_RESOURCES_PATH=${resources[0]} + + # random failures in several tests without -j1 + qt6-build_src_test -j1 +} + +src_install() { + qt6-build_src_install + + [[ -e ${D}${QT6_LIBDIR}/libQt6WebEngineCore.so ]] || #601472 + die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/" + + # exact cause unknown, but >=qtwebengine-6.9.2 started to act as if + # QtWebEngineProcess is marked USER_FACING despite not set anywhere + # and this creates a user_facing_tool_links.txt with a broken symlink + if [[ -L ${ED}/usr/bin/QtWebEngineProcess6 ]] && + [[ ! -e ${ED}/usr/bin/QtWebEngineProcess6 ]] + then + rm -- "${ED}"/usr/bin/QtWebEngineProcess6 || die + else + # eqawarn rather than die to avoid failing a long build over this + eqawarn "QA Notice: symlink workaround may be obsolete" + fi + + if use test; then + local delete=( # sigh + "${D}${QT6_ARCHDATADIR}"/metatypes/*testmockdelegates* + "${D}${QT6_ARCHDATADIR}"/modules/*TestMockDelegates* + "${D}${QT6_BINDIR}"/testbrowser + "${D}${QT6_LIBDIR}"/{,cmake,pkgconfig}/*TestMockDelegates* + "${D}${QT6_MKSPECSDIR}"/modules/*testmockdelegates* + "${D}${QT6_QMLDIR}"/QtWebEngine/TestMockDelegates + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} + +pkg_postinst() { + # plugin may also be found in $HOME if provided by chrome or firefox + use amd64 && + optfeature "Widevine DRM support (protected media playback)" \ + www-plugins/chrome-binary-plugins + + elog + elog "This version of Qt WebEngine is based on Chromium version ${QT6_CHROMIUM_VER}, with" + elog "additional security fixes up to ${QT6_CHROMIUM_PATCHES_VER}. Extensive as it is, the" + elog "list of backports is impossible to evaluate, but always bound to be behind" + elog "Chromium's release schedule." + elog + elog "In addition, various online services may deny service based on an outdated" + elog "user agent version (and/or other checks). Google is already known to do so." + elog + elog "tl;dr your web browsing experience will be compromised." +} diff --git a/dev-qt/qtwebengine/qtwebengine-6.11.9999.ebuild b/dev-qt/qtwebengine/qtwebengine-6.11.9999.ebuild new file mode 100644 index 0000000..0991127 --- /dev/null +++ b/dev-qt/qtwebengine/qtwebengine-6.11.9999.ebuild @@ -0,0 +1,368 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +inherit check-reqs flag-o-matic multiprocessing optfeature +inherit prefix python-any-r1 qt6-build toolchain-funcs + +DESCRIPTION="Library for rendering dynamic web content in Qt6 C++ and QML applications" +SRC_URI+=" + https://distfiles.gentoo.org/pub/dev/ionen@gentoo.org/${PN}-6.11-patchset-3.tar.xz +" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm64" +fi + +IUSE=" + accessibility +alsa bindist custom-cflags designer geolocation + +jumbo-build kerberos opengl +pdfium pulseaudio qml screencast + +system-icu vaapi vulkan webdriver +widgets +" +REQUIRED_USE=" + designer? ( qml widgets ) + test? ( widgets ) +" + +# dlopen: krb5, libva, pciutils +RDEPEND=" + app-arch/snappy:= + dev-libs/expat + dev-libs/libxml2:=[icu] + dev-libs/libxslt + dev-libs/nspr + dev-libs/nss + ~dev-qt/qtbase-${PV}:6[accessibility=,gui,opengl=,ssl,vulkan?,widgets?] + ~dev-qt/qtdeclarative-${PV}:6[widgets?] + ~dev-qt/qtwebchannel-${PV}:6[qml?] + media-libs/fontconfig + media-libs/freetype + media-libs/harfbuzz:= + media-libs/lcms:2 + media-libs/libjpeg-turbo:= + media-libs/libpng:= + media-libs/libwebp:= + media-libs/mesa[gbm(+)] + media-libs/openjpeg:2= + media-libs/opus + media-libs/tiff:= + sys-apps/dbus + sys-apps/pciutils + virtual/libudev:= + virtual/minizip:= + virtual/zlib:= + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libXtst + x11-libs/libdrm + x11-libs/libxcb:= + x11-libs/libxkbcommon + x11-libs/libxkbfile + alsa? ( media-libs/alsa-lib ) + !bindist? ( >=media-libs/openh264-2.4:= ) + designer? ( ~dev-qt/qttools-${PV}:6[designer] ) + geolocation? ( ~dev-qt/qtpositioning-${PV}:6 ) + kerberos? ( virtual/krb5 ) + opengl? ( media-libs/libglvnd[X] ) + pulseaudio? ( media-libs/libpulse[glib] ) + screencast? ( + dev-libs/glib:2 + media-video/pipewire:= + ) + system-icu? ( dev-libs/icu:= ) + vaapi? ( media-libs/libva:=[X] ) +" +DEPEND=" + ${RDEPEND} + || ( + sys-devel/gcc:* + llvm-runtimes/libatomic-stub + ) + media-libs/libglvnd + x11-base/xorg-proto + x11-libs/libXcursor + x11-libs/libXi + x11-libs/libxshmfence + elibc_musl? ( sys-libs/queue-standalone ) + screencast? ( media-libs/libepoxy[egl(+)] ) + vaapi? ( + vulkan? ( dev-util/vulkan-headers ) + ) +" +BDEPEND=" + $(python_gen_any_dep 'dev-python/html5lib[${PYTHON_USEDEP}]') + dev-util/gperf + net-libs/nodejs[icu,ssl] + sys-devel/bison + sys-devel/flex +" + +PATCHES=( "${WORKDIR}"/patches/${PN} ) +[[ ${PV} == 6.9999 ]] || # too fragile for 6.9999, but keep for 6.x.9999 + PATCHES+=( "${WORKDIR}"/patches/chromium ) + +PATCHES+=( + # add extras as needed here, may merge in set if carries across versions + "${FILESDIR}"/${PN}-6.10.3-climits.patch + "${FILESDIR}"/${PN}-6.11.0-gcc17.patch +) + +python_check_deps() { + python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]" +} + +qtwebengine_check-reqs() { + [[ ${MERGE_TYPE} == binary ]] && return + + if is-flagq '-g?(gdb)?([1-9])'; then #307861 + ewarn + ewarn "Used CFLAGS/CXXFLAGS seem to enable debug info (-g or -ggdb), which" + ewarn "is non-trivial with ${PN}. May experience extended compilation" + ewarn "times, increased disk/memory usage, and potentially link failure." + ewarn + ewarn "If run into issues, please try disabling before reporting a bug." + fi + + local CHECKREQS_DISK_BUILD=11G + local CHECKREQS_DISK_USR=400M + + if ! has distcc ${FEATURES}; then #830661 + # on average this does not use *that* much ram but then poor + # luck may lead to several 3.9+GB jobs happening at same time + # (less of an issue for users with 32+GB ram given they have + # room to handle a few spikes), try to find a balance but it + # won't be right for everyone (CHECKREQS_DONOTHING=1 to ignore) + tc-is-clang && : 17 || : 25 # clang:1.7GB/job, gcc:2.5GB/job + local CHECKREQS_MEMORY=$(($(makeopts_jobs)*_/10))G + fi + + check-reqs_${EBUILD_PHASE_FUNC} #570534 +} + +pkg_pretend() { + qtwebengine_check-reqs +} + +pkg_setup() { + qtwebengine_check-reqs + python-any-r1_pkg_setup +} + +src_prepare() { + qt6-build_src_prepare + + # for www-plugins/chrome-binary-plugins (widevine) search paths on prefix + hprefixify -w /Gentoo/ src/core/content_client_qt.cpp + + # store chromium versions, only used in postinst for a warning + local chromium + mapfile -t chromium < CHROMIUM_VERSION || die + [[ ${chromium[0]} =~ ^Based.*:[^0-9]+([0-9.]+$) ]] && + QT6_CHROMIUM_VER=${BASH_REMATCH[1]} || die + [[ ${chromium[1]} =~ ^Patched.+:[^0-9]+([0-9.]+$) ]] && + QT6_CHROMIUM_PATCHES_VER=${BASH_REMATCH[1]} || die +} + +src_configure() { + local mycmakeargs=( + $(qt_feature pdfium qtpdf_build) + $(use pdfium && qt_feature qml qtpdf_quick_build) + $(use pdfium && qt_feature widgets qtpdf_widgets_build) + $(usev pdfium -DQT_FEATURE_pdf_v8=ON) + + # TODO?: since 6.9.0, dependency checks have been adjusted to make it + # easier for webengine to be optional which could be useful if *only* + # need QtPdf (rare at the moment), would require all revdeps to depend + # on qtwebengine[webengine(+)] + -DQT_FEATURE_qtwebengine_build=ON + $(qt_feature qml qtwebengine_quick_build) + $(qt_feature webdriver webenginedriver) + $(qt_feature widgets qtwebengine_widgets_build) + + $(cmake_use_find_package designer Qt6Designer) + + $(qt_feature alsa webengine_system_alsa) + $(qt_feature !bindist webengine_proprietary_codecs) + $(qt_feature !bindist webengine_system_openh264) # no bundled either + $(qt_feature geolocation webengine_geolocation) + $(qt_feature jumbo-build webengine_jumbo_build) + $(qt_feature kerberos webengine_kerberos) + $(qt_feature pulseaudio webengine_system_pulseaudio) + $(qt_feature screencast webengine_webrtc_pipewire) + $(qt_feature system-icu webengine_system_icu) + $(qt_feature vaapi webengine_vaapi) + $(qt_feature vulkan webengine_vulkan) + -DQT_FEATURE_webengine_embedded_build=OFF + -DQT_FEATURE_webengine_extensions=ON + # TODO: it may be possible to make x11 optional since 6.8+ + -DQT_FEATURE_webengine_ozone_x11=ON + -DQT_FEATURE_webengine_pass_extra_flags=ON + -DQT_FEATURE_webengine_pepper_plugins=ON + -DQT_FEATURE_webengine_printing_and_pdf=ON + -DQT_FEATURE_webengine_spellchecker=ON + -DQT_FEATURE_webengine_webchannel=ON + -DQT_FEATURE_webengine_webrtc=ON + + # needs a modified ffmpeg to be usable (bug #831487), and even then + # it is picky about codecs/version and system's can lead to unexpected + # issues (e.g. builds but some files don't play even with support) + -DQT_FEATURE_webengine_system_ffmpeg=OFF + + # use bundled re2 to avoid complications, Qt has also disabled + # this by default in 6.7.3+ (bug #913923) + -DQT_FEATURE_webengine_system_re2=OFF + + # system_libvpx=ON is intentionally ignored with USE=vaapi which leads + # to using system's being less tested, prefer disabling for now until + # vaapi can use it as well + -DQT_FEATURE_webengine_system_libvpx=OFF + + # not necessary to pass these (default), but in case detection fails + # given qtbase's force_system_libs does not affect these right now + $(printf -- '-DQT_FEATURE_webengine_system_%s=ON ' \ + freetype gbm glib harfbuzz lcms2 libjpeg libopenjpeg2 \ + libpci libpng libtiff libudev libwebp libxml minizip \ + opus snappy zlib) + + # TODO: fixup gn cross, or package dev-qt/qtwebengine-gn with =ON + # (see also BUILD_ONLY_GN option added in 6.8+ for the latter) + -DINSTALL_GN=OFF + ) + + local mygnargs=( + # prefer no dlopen where possible + $(usev pulseaudio link_pulseaudio=true) + $(usev screencast rtc_link_pipewire=true) + # reduce default disk space usage + symbol_level=0 + ) + + if use !custom-cflags; then + # qtwebengine can be rather fragile with *FLAGS + filter-lto + strip-flags + + if is-flagq '-g?(gdb)?([2-9])'; then #914475 + replace-flags '-g?(gdb)?([2-9])' -g1 + ewarn "-g2+/-ggdb* *FLAGS replaced with -g1 (enable USE=custom-cflags to keep)" + fi + + # gcc-16 with -O3 is known to cause runtime issues (bug #968755) + tc-is-gcc && [[ $(gcc-major-version) -ge 16 ]] && + replace-flags '-O[3-9]' -O2 + + # Qt normally ignores users *FLAGS specifically for qtwebengine, and + # does not really support passing -march -- qt6-build.eclass has some + # checks to ensure working flags with amd64, but that does not exist + # for arm64 and can lead to problems (bug #920555,#920568,#970048) + use arm64 && filter-flags '-march=*' '-mcpu=*' + fi + + # chromium passes this by default, but qtwebengine does not and it may + # "possibly" get enabled by some paths and cause issues (bug #953111) + append-ldflags -Wl,-z,noexecstack + + export NINJAFLAGS=$(get_NINJAOPTS) + [[ ${NINJA_VERBOSE^^} == OFF ]] || NINJAFLAGS+=" -v" + + local -x EXTRA_GN="${mygnargs[*]} ${EXTRA_GN}" + einfo "Extra Gn args: ${EXTRA_GN}" + + qt6-build_src_configure +} + +src_test() { + if [[ ${EUID} == 0 ]]; then + # almost every tests fail, so skip entirely + ewarn "Skipping tests due to running as root (chromium refuses this configuration)." + return + fi + + local CMAKE_SKIP_TESTS=( + # fails with *-sandbox + tst_certificateerror + tst_inspectorserver + tst_loadsignals + tst_qquickwebengineview + tst_qwebengineglobalsettings + tst_qwebenginepermission + tst_qwebengineview + # fails with offscreen rendering, may be worth retrying if the issue + # persist given these are rather major tests (or consider virtx) + tst_qmltests + tst_qwebenginepage + # certs verfication seems flaky and gives expiration warnings + tst_qwebengineclientcertificatestore + # test is misperformed when qtbase is built USE=-test? + tst_touchinput + # currently requires webenginedriver to be already installed + tst_webenginedriver + ) + + # prevent using the system's qtwebengine + # (use glob to avoid unnecessary complications with arch dir) + local resources=( "${BUILD_DIR}/src/core/${CMAKE_BUILD_TYPE}/"* ) + [[ -d ${resources[0]} ]] || die "invalid resources path: ${resources[0]}" + local -x QTWEBENGINEPROCESS_PATH=${BUILD_DIR}${QT6_LIBEXECDIR#"${QT6_PREFIX}"}/QtWebEngineProcess + local -x QTWEBENGINE_LOCALES_PATH=${resources[0]}/qtwebengine_locales + local -x QTWEBENGINE_RESOURCES_PATH=${resources[0]} + + # random failures in several tests without -j1 + qt6-build_src_test -j1 +} + +src_install() { + qt6-build_src_install + + [[ -e ${D}${QT6_LIBDIR}/libQt6WebEngineCore.so ]] || #601472 + die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/" + + # exact cause unknown, but >=qtwebengine-6.9.2 started to act as if + # QtWebEngineProcess is marked USER_FACING despite not set anywhere + # and this creates a user_facing_tool_links.txt with a broken symlink + if [[ -L ${ED}/usr/bin/QtWebEngineProcess6 ]] && + [[ ! -e ${ED}/usr/bin/QtWebEngineProcess6 ]] + then + rm -- "${ED}"/usr/bin/QtWebEngineProcess6 || die + else + # eqawarn rather than die to avoid failing a long build over this + eqawarn "QA Notice: symlink workaround may be obsolete" + fi + + if use test; then + local delete=( # sigh + "${D}${QT6_ARCHDATADIR}"/metatypes/*testmockdelegates* + "${D}${QT6_ARCHDATADIR}"/modules/*TestMockDelegates* + "${D}${QT6_BINDIR}"/testbrowser + "${D}${QT6_LIBDIR}"/{,cmake,pkgconfig}/*TestMockDelegates* + "${D}${QT6_MKSPECSDIR}"/modules/*testmockdelegates* + "${D}${QT6_QMLDIR}"/QtWebEngine/TestMockDelegates + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} + +pkg_postinst() { + # plugin may also be found in $HOME if provided by chrome or firefox + use amd64 && + optfeature "Widevine DRM support (protected media playback)" \ + www-plugins/chrome-binary-plugins + + elog + elog "This version of Qt WebEngine is based on Chromium version ${QT6_CHROMIUM_VER}, with" + elog "additional security fixes up to ${QT6_CHROMIUM_PATCHES_VER}. Extensive as it is, the" + elog "list of backports is impossible to evaluate, but always bound to be behind" + elog "Chromium's release schedule." + elog + elog "In addition, various online services may deny service based on an outdated" + elog "user agent version (and/or other checks). Google is already known to do so." + elog + elog "tl;dr your web browsing experience will be compromised." +} diff --git a/dev-qt/qtwebengine/qtwebengine-6.12.9999.ebuild b/dev-qt/qtwebengine/qtwebengine-6.12.9999.ebuild new file mode 100644 index 0000000..0991127 --- /dev/null +++ b/dev-qt/qtwebengine/qtwebengine-6.12.9999.ebuild @@ -0,0 +1,368 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +inherit check-reqs flag-o-matic multiprocessing optfeature +inherit prefix python-any-r1 qt6-build toolchain-funcs + +DESCRIPTION="Library for rendering dynamic web content in Qt6 C++ and QML applications" +SRC_URI+=" + https://distfiles.gentoo.org/pub/dev/ionen@gentoo.org/${PN}-6.11-patchset-3.tar.xz +" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm64" +fi + +IUSE=" + accessibility +alsa bindist custom-cflags designer geolocation + +jumbo-build kerberos opengl +pdfium pulseaudio qml screencast + +system-icu vaapi vulkan webdriver +widgets +" +REQUIRED_USE=" + designer? ( qml widgets ) + test? ( widgets ) +" + +# dlopen: krb5, libva, pciutils +RDEPEND=" + app-arch/snappy:= + dev-libs/expat + dev-libs/libxml2:=[icu] + dev-libs/libxslt + dev-libs/nspr + dev-libs/nss + ~dev-qt/qtbase-${PV}:6[accessibility=,gui,opengl=,ssl,vulkan?,widgets?] + ~dev-qt/qtdeclarative-${PV}:6[widgets?] + ~dev-qt/qtwebchannel-${PV}:6[qml?] + media-libs/fontconfig + media-libs/freetype + media-libs/harfbuzz:= + media-libs/lcms:2 + media-libs/libjpeg-turbo:= + media-libs/libpng:= + media-libs/libwebp:= + media-libs/mesa[gbm(+)] + media-libs/openjpeg:2= + media-libs/opus + media-libs/tiff:= + sys-apps/dbus + sys-apps/pciutils + virtual/libudev:= + virtual/minizip:= + virtual/zlib:= + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libXtst + x11-libs/libdrm + x11-libs/libxcb:= + x11-libs/libxkbcommon + x11-libs/libxkbfile + alsa? ( media-libs/alsa-lib ) + !bindist? ( >=media-libs/openh264-2.4:= ) + designer? ( ~dev-qt/qttools-${PV}:6[designer] ) + geolocation? ( ~dev-qt/qtpositioning-${PV}:6 ) + kerberos? ( virtual/krb5 ) + opengl? ( media-libs/libglvnd[X] ) + pulseaudio? ( media-libs/libpulse[glib] ) + screencast? ( + dev-libs/glib:2 + media-video/pipewire:= + ) + system-icu? ( dev-libs/icu:= ) + vaapi? ( media-libs/libva:=[X] ) +" +DEPEND=" + ${RDEPEND} + || ( + sys-devel/gcc:* + llvm-runtimes/libatomic-stub + ) + media-libs/libglvnd + x11-base/xorg-proto + x11-libs/libXcursor + x11-libs/libXi + x11-libs/libxshmfence + elibc_musl? ( sys-libs/queue-standalone ) + screencast? ( media-libs/libepoxy[egl(+)] ) + vaapi? ( + vulkan? ( dev-util/vulkan-headers ) + ) +" +BDEPEND=" + $(python_gen_any_dep 'dev-python/html5lib[${PYTHON_USEDEP}]') + dev-util/gperf + net-libs/nodejs[icu,ssl] + sys-devel/bison + sys-devel/flex +" + +PATCHES=( "${WORKDIR}"/patches/${PN} ) +[[ ${PV} == 6.9999 ]] || # too fragile for 6.9999, but keep for 6.x.9999 + PATCHES+=( "${WORKDIR}"/patches/chromium ) + +PATCHES+=( + # add extras as needed here, may merge in set if carries across versions + "${FILESDIR}"/${PN}-6.10.3-climits.patch + "${FILESDIR}"/${PN}-6.11.0-gcc17.patch +) + +python_check_deps() { + python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]" +} + +qtwebengine_check-reqs() { + [[ ${MERGE_TYPE} == binary ]] && return + + if is-flagq '-g?(gdb)?([1-9])'; then #307861 + ewarn + ewarn "Used CFLAGS/CXXFLAGS seem to enable debug info (-g or -ggdb), which" + ewarn "is non-trivial with ${PN}. May experience extended compilation" + ewarn "times, increased disk/memory usage, and potentially link failure." + ewarn + ewarn "If run into issues, please try disabling before reporting a bug." + fi + + local CHECKREQS_DISK_BUILD=11G + local CHECKREQS_DISK_USR=400M + + if ! has distcc ${FEATURES}; then #830661 + # on average this does not use *that* much ram but then poor + # luck may lead to several 3.9+GB jobs happening at same time + # (less of an issue for users with 32+GB ram given they have + # room to handle a few spikes), try to find a balance but it + # won't be right for everyone (CHECKREQS_DONOTHING=1 to ignore) + tc-is-clang && : 17 || : 25 # clang:1.7GB/job, gcc:2.5GB/job + local CHECKREQS_MEMORY=$(($(makeopts_jobs)*_/10))G + fi + + check-reqs_${EBUILD_PHASE_FUNC} #570534 +} + +pkg_pretend() { + qtwebengine_check-reqs +} + +pkg_setup() { + qtwebengine_check-reqs + python-any-r1_pkg_setup +} + +src_prepare() { + qt6-build_src_prepare + + # for www-plugins/chrome-binary-plugins (widevine) search paths on prefix + hprefixify -w /Gentoo/ src/core/content_client_qt.cpp + + # store chromium versions, only used in postinst for a warning + local chromium + mapfile -t chromium < CHROMIUM_VERSION || die + [[ ${chromium[0]} =~ ^Based.*:[^0-9]+([0-9.]+$) ]] && + QT6_CHROMIUM_VER=${BASH_REMATCH[1]} || die + [[ ${chromium[1]} =~ ^Patched.+:[^0-9]+([0-9.]+$) ]] && + QT6_CHROMIUM_PATCHES_VER=${BASH_REMATCH[1]} || die +} + +src_configure() { + local mycmakeargs=( + $(qt_feature pdfium qtpdf_build) + $(use pdfium && qt_feature qml qtpdf_quick_build) + $(use pdfium && qt_feature widgets qtpdf_widgets_build) + $(usev pdfium -DQT_FEATURE_pdf_v8=ON) + + # TODO?: since 6.9.0, dependency checks have been adjusted to make it + # easier for webengine to be optional which could be useful if *only* + # need QtPdf (rare at the moment), would require all revdeps to depend + # on qtwebengine[webengine(+)] + -DQT_FEATURE_qtwebengine_build=ON + $(qt_feature qml qtwebengine_quick_build) + $(qt_feature webdriver webenginedriver) + $(qt_feature widgets qtwebengine_widgets_build) + + $(cmake_use_find_package designer Qt6Designer) + + $(qt_feature alsa webengine_system_alsa) + $(qt_feature !bindist webengine_proprietary_codecs) + $(qt_feature !bindist webengine_system_openh264) # no bundled either + $(qt_feature geolocation webengine_geolocation) + $(qt_feature jumbo-build webengine_jumbo_build) + $(qt_feature kerberos webengine_kerberos) + $(qt_feature pulseaudio webengine_system_pulseaudio) + $(qt_feature screencast webengine_webrtc_pipewire) + $(qt_feature system-icu webengine_system_icu) + $(qt_feature vaapi webengine_vaapi) + $(qt_feature vulkan webengine_vulkan) + -DQT_FEATURE_webengine_embedded_build=OFF + -DQT_FEATURE_webengine_extensions=ON + # TODO: it may be possible to make x11 optional since 6.8+ + -DQT_FEATURE_webengine_ozone_x11=ON + -DQT_FEATURE_webengine_pass_extra_flags=ON + -DQT_FEATURE_webengine_pepper_plugins=ON + -DQT_FEATURE_webengine_printing_and_pdf=ON + -DQT_FEATURE_webengine_spellchecker=ON + -DQT_FEATURE_webengine_webchannel=ON + -DQT_FEATURE_webengine_webrtc=ON + + # needs a modified ffmpeg to be usable (bug #831487), and even then + # it is picky about codecs/version and system's can lead to unexpected + # issues (e.g. builds but some files don't play even with support) + -DQT_FEATURE_webengine_system_ffmpeg=OFF + + # use bundled re2 to avoid complications, Qt has also disabled + # this by default in 6.7.3+ (bug #913923) + -DQT_FEATURE_webengine_system_re2=OFF + + # system_libvpx=ON is intentionally ignored with USE=vaapi which leads + # to using system's being less tested, prefer disabling for now until + # vaapi can use it as well + -DQT_FEATURE_webengine_system_libvpx=OFF + + # not necessary to pass these (default), but in case detection fails + # given qtbase's force_system_libs does not affect these right now + $(printf -- '-DQT_FEATURE_webengine_system_%s=ON ' \ + freetype gbm glib harfbuzz lcms2 libjpeg libopenjpeg2 \ + libpci libpng libtiff libudev libwebp libxml minizip \ + opus snappy zlib) + + # TODO: fixup gn cross, or package dev-qt/qtwebengine-gn with =ON + # (see also BUILD_ONLY_GN option added in 6.8+ for the latter) + -DINSTALL_GN=OFF + ) + + local mygnargs=( + # prefer no dlopen where possible + $(usev pulseaudio link_pulseaudio=true) + $(usev screencast rtc_link_pipewire=true) + # reduce default disk space usage + symbol_level=0 + ) + + if use !custom-cflags; then + # qtwebengine can be rather fragile with *FLAGS + filter-lto + strip-flags + + if is-flagq '-g?(gdb)?([2-9])'; then #914475 + replace-flags '-g?(gdb)?([2-9])' -g1 + ewarn "-g2+/-ggdb* *FLAGS replaced with -g1 (enable USE=custom-cflags to keep)" + fi + + # gcc-16 with -O3 is known to cause runtime issues (bug #968755) + tc-is-gcc && [[ $(gcc-major-version) -ge 16 ]] && + replace-flags '-O[3-9]' -O2 + + # Qt normally ignores users *FLAGS specifically for qtwebengine, and + # does not really support passing -march -- qt6-build.eclass has some + # checks to ensure working flags with amd64, but that does not exist + # for arm64 and can lead to problems (bug #920555,#920568,#970048) + use arm64 && filter-flags '-march=*' '-mcpu=*' + fi + + # chromium passes this by default, but qtwebengine does not and it may + # "possibly" get enabled by some paths and cause issues (bug #953111) + append-ldflags -Wl,-z,noexecstack + + export NINJAFLAGS=$(get_NINJAOPTS) + [[ ${NINJA_VERBOSE^^} == OFF ]] || NINJAFLAGS+=" -v" + + local -x EXTRA_GN="${mygnargs[*]} ${EXTRA_GN}" + einfo "Extra Gn args: ${EXTRA_GN}" + + qt6-build_src_configure +} + +src_test() { + if [[ ${EUID} == 0 ]]; then + # almost every tests fail, so skip entirely + ewarn "Skipping tests due to running as root (chromium refuses this configuration)." + return + fi + + local CMAKE_SKIP_TESTS=( + # fails with *-sandbox + tst_certificateerror + tst_inspectorserver + tst_loadsignals + tst_qquickwebengineview + tst_qwebengineglobalsettings + tst_qwebenginepermission + tst_qwebengineview + # fails with offscreen rendering, may be worth retrying if the issue + # persist given these are rather major tests (or consider virtx) + tst_qmltests + tst_qwebenginepage + # certs verfication seems flaky and gives expiration warnings + tst_qwebengineclientcertificatestore + # test is misperformed when qtbase is built USE=-test? + tst_touchinput + # currently requires webenginedriver to be already installed + tst_webenginedriver + ) + + # prevent using the system's qtwebengine + # (use glob to avoid unnecessary complications with arch dir) + local resources=( "${BUILD_DIR}/src/core/${CMAKE_BUILD_TYPE}/"* ) + [[ -d ${resources[0]} ]] || die "invalid resources path: ${resources[0]}" + local -x QTWEBENGINEPROCESS_PATH=${BUILD_DIR}${QT6_LIBEXECDIR#"${QT6_PREFIX}"}/QtWebEngineProcess + local -x QTWEBENGINE_LOCALES_PATH=${resources[0]}/qtwebengine_locales + local -x QTWEBENGINE_RESOURCES_PATH=${resources[0]} + + # random failures in several tests without -j1 + qt6-build_src_test -j1 +} + +src_install() { + qt6-build_src_install + + [[ -e ${D}${QT6_LIBDIR}/libQt6WebEngineCore.so ]] || #601472 + die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/" + + # exact cause unknown, but >=qtwebengine-6.9.2 started to act as if + # QtWebEngineProcess is marked USER_FACING despite not set anywhere + # and this creates a user_facing_tool_links.txt with a broken symlink + if [[ -L ${ED}/usr/bin/QtWebEngineProcess6 ]] && + [[ ! -e ${ED}/usr/bin/QtWebEngineProcess6 ]] + then + rm -- "${ED}"/usr/bin/QtWebEngineProcess6 || die + else + # eqawarn rather than die to avoid failing a long build over this + eqawarn "QA Notice: symlink workaround may be obsolete" + fi + + if use test; then + local delete=( # sigh + "${D}${QT6_ARCHDATADIR}"/metatypes/*testmockdelegates* + "${D}${QT6_ARCHDATADIR}"/modules/*TestMockDelegates* + "${D}${QT6_BINDIR}"/testbrowser + "${D}${QT6_LIBDIR}"/{,cmake,pkgconfig}/*TestMockDelegates* + "${D}${QT6_MKSPECSDIR}"/modules/*testmockdelegates* + "${D}${QT6_QMLDIR}"/QtWebEngine/TestMockDelegates + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} + +pkg_postinst() { + # plugin may also be found in $HOME if provided by chrome or firefox + use amd64 && + optfeature "Widevine DRM support (protected media playback)" \ + www-plugins/chrome-binary-plugins + + elog + elog "This version of Qt WebEngine is based on Chromium version ${QT6_CHROMIUM_VER}, with" + elog "additional security fixes up to ${QT6_CHROMIUM_PATCHES_VER}. Extensive as it is, the" + elog "list of backports is impossible to evaluate, but always bound to be behind" + elog "Chromium's release schedule." + elog + elog "In addition, various online services may deny service based on an outdated" + elog "user agent version (and/or other checks). Google is already known to do so." + elog + elog "tl;dr your web browsing experience will be compromised." +} diff --git a/dev-qt/qtwebengine/qtwebengine-6.9999.ebuild b/dev-qt/qtwebengine/qtwebengine-6.9999.ebuild new file mode 100644 index 0000000..0991127 --- /dev/null +++ b/dev-qt/qtwebengine/qtwebengine-6.9999.ebuild @@ -0,0 +1,368 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +inherit check-reqs flag-o-matic multiprocessing optfeature +inherit prefix python-any-r1 qt6-build toolchain-funcs + +DESCRIPTION="Library for rendering dynamic web content in Qt6 C++ and QML applications" +SRC_URI+=" + https://distfiles.gentoo.org/pub/dev/ionen@gentoo.org/${PN}-6.11-patchset-3.tar.xz +" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm64" +fi + +IUSE=" + accessibility +alsa bindist custom-cflags designer geolocation + +jumbo-build kerberos opengl +pdfium pulseaudio qml screencast + +system-icu vaapi vulkan webdriver +widgets +" +REQUIRED_USE=" + designer? ( qml widgets ) + test? ( widgets ) +" + +# dlopen: krb5, libva, pciutils +RDEPEND=" + app-arch/snappy:= + dev-libs/expat + dev-libs/libxml2:=[icu] + dev-libs/libxslt + dev-libs/nspr + dev-libs/nss + ~dev-qt/qtbase-${PV}:6[accessibility=,gui,opengl=,ssl,vulkan?,widgets?] + ~dev-qt/qtdeclarative-${PV}:6[widgets?] + ~dev-qt/qtwebchannel-${PV}:6[qml?] + media-libs/fontconfig + media-libs/freetype + media-libs/harfbuzz:= + media-libs/lcms:2 + media-libs/libjpeg-turbo:= + media-libs/libpng:= + media-libs/libwebp:= + media-libs/mesa[gbm(+)] + media-libs/openjpeg:2= + media-libs/opus + media-libs/tiff:= + sys-apps/dbus + sys-apps/pciutils + virtual/libudev:= + virtual/minizip:= + virtual/zlib:= + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libXtst + x11-libs/libdrm + x11-libs/libxcb:= + x11-libs/libxkbcommon + x11-libs/libxkbfile + alsa? ( media-libs/alsa-lib ) + !bindist? ( >=media-libs/openh264-2.4:= ) + designer? ( ~dev-qt/qttools-${PV}:6[designer] ) + geolocation? ( ~dev-qt/qtpositioning-${PV}:6 ) + kerberos? ( virtual/krb5 ) + opengl? ( media-libs/libglvnd[X] ) + pulseaudio? ( media-libs/libpulse[glib] ) + screencast? ( + dev-libs/glib:2 + media-video/pipewire:= + ) + system-icu? ( dev-libs/icu:= ) + vaapi? ( media-libs/libva:=[X] ) +" +DEPEND=" + ${RDEPEND} + || ( + sys-devel/gcc:* + llvm-runtimes/libatomic-stub + ) + media-libs/libglvnd + x11-base/xorg-proto + x11-libs/libXcursor + x11-libs/libXi + x11-libs/libxshmfence + elibc_musl? ( sys-libs/queue-standalone ) + screencast? ( media-libs/libepoxy[egl(+)] ) + vaapi? ( + vulkan? ( dev-util/vulkan-headers ) + ) +" +BDEPEND=" + $(python_gen_any_dep 'dev-python/html5lib[${PYTHON_USEDEP}]') + dev-util/gperf + net-libs/nodejs[icu,ssl] + sys-devel/bison + sys-devel/flex +" + +PATCHES=( "${WORKDIR}"/patches/${PN} ) +[[ ${PV} == 6.9999 ]] || # too fragile for 6.9999, but keep for 6.x.9999 + PATCHES+=( "${WORKDIR}"/patches/chromium ) + +PATCHES+=( + # add extras as needed here, may merge in set if carries across versions + "${FILESDIR}"/${PN}-6.10.3-climits.patch + "${FILESDIR}"/${PN}-6.11.0-gcc17.patch +) + +python_check_deps() { + python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]" +} + +qtwebengine_check-reqs() { + [[ ${MERGE_TYPE} == binary ]] && return + + if is-flagq '-g?(gdb)?([1-9])'; then #307861 + ewarn + ewarn "Used CFLAGS/CXXFLAGS seem to enable debug info (-g or -ggdb), which" + ewarn "is non-trivial with ${PN}. May experience extended compilation" + ewarn "times, increased disk/memory usage, and potentially link failure." + ewarn + ewarn "If run into issues, please try disabling before reporting a bug." + fi + + local CHECKREQS_DISK_BUILD=11G + local CHECKREQS_DISK_USR=400M + + if ! has distcc ${FEATURES}; then #830661 + # on average this does not use *that* much ram but then poor + # luck may lead to several 3.9+GB jobs happening at same time + # (less of an issue for users with 32+GB ram given they have + # room to handle a few spikes), try to find a balance but it + # won't be right for everyone (CHECKREQS_DONOTHING=1 to ignore) + tc-is-clang && : 17 || : 25 # clang:1.7GB/job, gcc:2.5GB/job + local CHECKREQS_MEMORY=$(($(makeopts_jobs)*_/10))G + fi + + check-reqs_${EBUILD_PHASE_FUNC} #570534 +} + +pkg_pretend() { + qtwebengine_check-reqs +} + +pkg_setup() { + qtwebengine_check-reqs + python-any-r1_pkg_setup +} + +src_prepare() { + qt6-build_src_prepare + + # for www-plugins/chrome-binary-plugins (widevine) search paths on prefix + hprefixify -w /Gentoo/ src/core/content_client_qt.cpp + + # store chromium versions, only used in postinst for a warning + local chromium + mapfile -t chromium < CHROMIUM_VERSION || die + [[ ${chromium[0]} =~ ^Based.*:[^0-9]+([0-9.]+$) ]] && + QT6_CHROMIUM_VER=${BASH_REMATCH[1]} || die + [[ ${chromium[1]} =~ ^Patched.+:[^0-9]+([0-9.]+$) ]] && + QT6_CHROMIUM_PATCHES_VER=${BASH_REMATCH[1]} || die +} + +src_configure() { + local mycmakeargs=( + $(qt_feature pdfium qtpdf_build) + $(use pdfium && qt_feature qml qtpdf_quick_build) + $(use pdfium && qt_feature widgets qtpdf_widgets_build) + $(usev pdfium -DQT_FEATURE_pdf_v8=ON) + + # TODO?: since 6.9.0, dependency checks have been adjusted to make it + # easier for webengine to be optional which could be useful if *only* + # need QtPdf (rare at the moment), would require all revdeps to depend + # on qtwebengine[webengine(+)] + -DQT_FEATURE_qtwebengine_build=ON + $(qt_feature qml qtwebengine_quick_build) + $(qt_feature webdriver webenginedriver) + $(qt_feature widgets qtwebengine_widgets_build) + + $(cmake_use_find_package designer Qt6Designer) + + $(qt_feature alsa webengine_system_alsa) + $(qt_feature !bindist webengine_proprietary_codecs) + $(qt_feature !bindist webengine_system_openh264) # no bundled either + $(qt_feature geolocation webengine_geolocation) + $(qt_feature jumbo-build webengine_jumbo_build) + $(qt_feature kerberos webengine_kerberos) + $(qt_feature pulseaudio webengine_system_pulseaudio) + $(qt_feature screencast webengine_webrtc_pipewire) + $(qt_feature system-icu webengine_system_icu) + $(qt_feature vaapi webengine_vaapi) + $(qt_feature vulkan webengine_vulkan) + -DQT_FEATURE_webengine_embedded_build=OFF + -DQT_FEATURE_webengine_extensions=ON + # TODO: it may be possible to make x11 optional since 6.8+ + -DQT_FEATURE_webengine_ozone_x11=ON + -DQT_FEATURE_webengine_pass_extra_flags=ON + -DQT_FEATURE_webengine_pepper_plugins=ON + -DQT_FEATURE_webengine_printing_and_pdf=ON + -DQT_FEATURE_webengine_spellchecker=ON + -DQT_FEATURE_webengine_webchannel=ON + -DQT_FEATURE_webengine_webrtc=ON + + # needs a modified ffmpeg to be usable (bug #831487), and even then + # it is picky about codecs/version and system's can lead to unexpected + # issues (e.g. builds but some files don't play even with support) + -DQT_FEATURE_webengine_system_ffmpeg=OFF + + # use bundled re2 to avoid complications, Qt has also disabled + # this by default in 6.7.3+ (bug #913923) + -DQT_FEATURE_webengine_system_re2=OFF + + # system_libvpx=ON is intentionally ignored with USE=vaapi which leads + # to using system's being less tested, prefer disabling for now until + # vaapi can use it as well + -DQT_FEATURE_webengine_system_libvpx=OFF + + # not necessary to pass these (default), but in case detection fails + # given qtbase's force_system_libs does not affect these right now + $(printf -- '-DQT_FEATURE_webengine_system_%s=ON ' \ + freetype gbm glib harfbuzz lcms2 libjpeg libopenjpeg2 \ + libpci libpng libtiff libudev libwebp libxml minizip \ + opus snappy zlib) + + # TODO: fixup gn cross, or package dev-qt/qtwebengine-gn with =ON + # (see also BUILD_ONLY_GN option added in 6.8+ for the latter) + -DINSTALL_GN=OFF + ) + + local mygnargs=( + # prefer no dlopen where possible + $(usev pulseaudio link_pulseaudio=true) + $(usev screencast rtc_link_pipewire=true) + # reduce default disk space usage + symbol_level=0 + ) + + if use !custom-cflags; then + # qtwebengine can be rather fragile with *FLAGS + filter-lto + strip-flags + + if is-flagq '-g?(gdb)?([2-9])'; then #914475 + replace-flags '-g?(gdb)?([2-9])' -g1 + ewarn "-g2+/-ggdb* *FLAGS replaced with -g1 (enable USE=custom-cflags to keep)" + fi + + # gcc-16 with -O3 is known to cause runtime issues (bug #968755) + tc-is-gcc && [[ $(gcc-major-version) -ge 16 ]] && + replace-flags '-O[3-9]' -O2 + + # Qt normally ignores users *FLAGS specifically for qtwebengine, and + # does not really support passing -march -- qt6-build.eclass has some + # checks to ensure working flags with amd64, but that does not exist + # for arm64 and can lead to problems (bug #920555,#920568,#970048) + use arm64 && filter-flags '-march=*' '-mcpu=*' + fi + + # chromium passes this by default, but qtwebengine does not and it may + # "possibly" get enabled by some paths and cause issues (bug #953111) + append-ldflags -Wl,-z,noexecstack + + export NINJAFLAGS=$(get_NINJAOPTS) + [[ ${NINJA_VERBOSE^^} == OFF ]] || NINJAFLAGS+=" -v" + + local -x EXTRA_GN="${mygnargs[*]} ${EXTRA_GN}" + einfo "Extra Gn args: ${EXTRA_GN}" + + qt6-build_src_configure +} + +src_test() { + if [[ ${EUID} == 0 ]]; then + # almost every tests fail, so skip entirely + ewarn "Skipping tests due to running as root (chromium refuses this configuration)." + return + fi + + local CMAKE_SKIP_TESTS=( + # fails with *-sandbox + tst_certificateerror + tst_inspectorserver + tst_loadsignals + tst_qquickwebengineview + tst_qwebengineglobalsettings + tst_qwebenginepermission + tst_qwebengineview + # fails with offscreen rendering, may be worth retrying if the issue + # persist given these are rather major tests (or consider virtx) + tst_qmltests + tst_qwebenginepage + # certs verfication seems flaky and gives expiration warnings + tst_qwebengineclientcertificatestore + # test is misperformed when qtbase is built USE=-test? + tst_touchinput + # currently requires webenginedriver to be already installed + tst_webenginedriver + ) + + # prevent using the system's qtwebengine + # (use glob to avoid unnecessary complications with arch dir) + local resources=( "${BUILD_DIR}/src/core/${CMAKE_BUILD_TYPE}/"* ) + [[ -d ${resources[0]} ]] || die "invalid resources path: ${resources[0]}" + local -x QTWEBENGINEPROCESS_PATH=${BUILD_DIR}${QT6_LIBEXECDIR#"${QT6_PREFIX}"}/QtWebEngineProcess + local -x QTWEBENGINE_LOCALES_PATH=${resources[0]}/qtwebengine_locales + local -x QTWEBENGINE_RESOURCES_PATH=${resources[0]} + + # random failures in several tests without -j1 + qt6-build_src_test -j1 +} + +src_install() { + qt6-build_src_install + + [[ -e ${D}${QT6_LIBDIR}/libQt6WebEngineCore.so ]] || #601472 + die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/" + + # exact cause unknown, but >=qtwebengine-6.9.2 started to act as if + # QtWebEngineProcess is marked USER_FACING despite not set anywhere + # and this creates a user_facing_tool_links.txt with a broken symlink + if [[ -L ${ED}/usr/bin/QtWebEngineProcess6 ]] && + [[ ! -e ${ED}/usr/bin/QtWebEngineProcess6 ]] + then + rm -- "${ED}"/usr/bin/QtWebEngineProcess6 || die + else + # eqawarn rather than die to avoid failing a long build over this + eqawarn "QA Notice: symlink workaround may be obsolete" + fi + + if use test; then + local delete=( # sigh + "${D}${QT6_ARCHDATADIR}"/metatypes/*testmockdelegates* + "${D}${QT6_ARCHDATADIR}"/modules/*TestMockDelegates* + "${D}${QT6_BINDIR}"/testbrowser + "${D}${QT6_LIBDIR}"/{,cmake,pkgconfig}/*TestMockDelegates* + "${D}${QT6_MKSPECSDIR}"/modules/*testmockdelegates* + "${D}${QT6_QMLDIR}"/QtWebEngine/TestMockDelegates + ) + # using -f given not tracking which tests may be skipped or not + rm -rf -- "${delete[@]}" || die + fi +} + +pkg_postinst() { + # plugin may also be found in $HOME if provided by chrome or firefox + use amd64 && + optfeature "Widevine DRM support (protected media playback)" \ + www-plugins/chrome-binary-plugins + + elog + elog "This version of Qt WebEngine is based on Chromium version ${QT6_CHROMIUM_VER}, with" + elog "additional security fixes up to ${QT6_CHROMIUM_PATCHES_VER}. Extensive as it is, the" + elog "list of backports is impossible to evaluate, but always bound to be behind" + elog "Chromium's release schedule." + elog + elog "In addition, various online services may deny service based on an outdated" + elog "user agent version (and/or other checks). Google is already known to do so." + elog + elog "tl;dr your web browsing experience will be compromised." +} diff --git a/dev-qt/qtwebsockets/Manifest b/dev-qt/qtwebsockets/Manifest new file mode 100644 index 0000000..5cc2565 --- /dev/null +++ b/dev-qt/qtwebsockets/Manifest @@ -0,0 +1,2 @@ +DIST qtwebsockets-everywhere-src-6.10.3.tar.xz 447640 BLAKE2B 46544efcdeb266914c8933cadb95b4fb5cf6380b45d9810f4f57ce1c85f329da73be0b67245739fef6c95fcd8a9f15a00b1f64c3a988d7286dc06aaca3f41e97 SHA512 6e335c47b5d283d40f2a75f8b36a34524a9c7c18906007471cf12b8e4ea9a35fc7693aec1dc2c9c87921495806699ccab958d5ce6170ae1409de92bb643aad09 +DIST qtwebsockets-everywhere-src-6.11.1.tar.xz 452228 BLAKE2B 0bd24edf8f20a70be52fcbd3cc4672c02d33445abe8153388e2023f8846411879819d3b29848caa1cb3dfd69161ab447442d0d2b9a3f988ccdfefaeb9efa013a SHA512 f6189482219e20b40bf7e4ac9d188d5184a25ca65c3978f51d3298bfd557ef49448b6bd3984f6cbf0d94897613cfc9ae16c63cec5149a432808fabaf56bd914a diff --git a/dev-qt/qtwebsockets/metadata.xml b/dev-qt/qtwebsockets/metadata.xml new file mode 100644 index 0000000..341fcb2 --- /dev/null +++ b/dev-qt/qtwebsockets/metadata.xml @@ -0,0 +1,21 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Build QML bindings + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtwebsockets + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtwebsockets/qtwebsockets-6.10.3.ebuild b/dev-qt/qtwebsockets/qtwebsockets-6.10.3.ebuild new file mode 100644 index 0000000..e241c72 --- /dev/null +++ b/dev-qt/qtwebsockets/qtwebsockets-6.10.3.ebuild @@ -0,0 +1,28 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Implementation of the WebSocket protocol for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="qml +ssl" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network,ssl=] + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Quick) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtwebsockets/qtwebsockets-6.11.1.ebuild b/dev-qt/qtwebsockets/qtwebsockets-6.11.1.ebuild new file mode 100644 index 0000000..e241c72 --- /dev/null +++ b/dev-qt/qtwebsockets/qtwebsockets-6.11.1.ebuild @@ -0,0 +1,28 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Implementation of the WebSocket protocol for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="qml +ssl" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network,ssl=] + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Quick) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtwebsockets/qtwebsockets-6.11.9999.ebuild b/dev-qt/qtwebsockets/qtwebsockets-6.11.9999.ebuild new file mode 100644 index 0000000..17a0961 --- /dev/null +++ b/dev-qt/qtwebsockets/qtwebsockets-6.11.9999.ebuild @@ -0,0 +1,28 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Implementation of the WebSocket protocol for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="qml +ssl" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network,ssl=] + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Quick) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtwebsockets/qtwebsockets-6.12.9999.ebuild b/dev-qt/qtwebsockets/qtwebsockets-6.12.9999.ebuild new file mode 100644 index 0000000..51296a7 --- /dev/null +++ b/dev-qt/qtwebsockets/qtwebsockets-6.12.9999.ebuild @@ -0,0 +1,28 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Implementation of the WebSocket protocol for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="qml +ssl" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network,ssl=] + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Quick) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtwebsockets/qtwebsockets-6.9999.ebuild b/dev-qt/qtwebsockets/qtwebsockets-6.9999.ebuild new file mode 100644 index 0000000..d7e808f --- /dev/null +++ b/dev-qt/qtwebsockets/qtwebsockets-6.9999.ebuild @@ -0,0 +1,28 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Implementation of the WebSocket protocol for the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +IUSE="qml +ssl" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[network,ssl=] + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) +" +DEPEND="${RDEPEND}" + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Quick) + ) + + qt6-build_src_configure +} diff --git a/dev-qt/qtwebview/Manifest b/dev-qt/qtwebview/Manifest new file mode 100644 index 0000000..f4fd21a --- /dev/null +++ b/dev-qt/qtwebview/Manifest @@ -0,0 +1,2 @@ +DIST qtwebview-everywhere-src-6.10.3.tar.xz 128688 BLAKE2B 88248e2ba3ad97eccf713c257647a4e5beade74a4e1750a1193165d5855c8d25f5d41951b38f42879c221234fe4bcc0c8f6d87c741ad120341f09c275b24055c SHA512 37234cd616689d999419b5e441df64f8f449d3de907488d5bc9baefca377c55f3b725059156a157a60d9d29d3be2b506de1e51da8515eb60a721d87f64b531f0 +DIST qtwebview-everywhere-src-6.11.1.tar.xz 128608 BLAKE2B 287dcad4c20c222ee31c744a432d0d17627ad060dc2b73f6523032f21c707cc170fef8f41c0caa6c59044cd582f337ade5419200eebe765c0a9e616b106ede5d SHA512 52d9c76172bdabae52678073a5cca1423b4267369f3793a6cd146474fae0482b0f4d9834fb4fa491c6b81e829776a15bed10e58425ca5426fc225586a316e4c6 diff --git a/dev-qt/qtwebview/metadata.xml b/dev-qt/qtwebview/metadata.xml new file mode 100644 index 0000000..0482c29 --- /dev/null +++ b/dev-qt/qtwebview/metadata.xml @@ -0,0 +1,18 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + qt/qtwebview + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtwebview/qtwebview-6.10.3.ebuild b/dev-qt/qtwebview/qtwebview-6.10.3.ebuild new file mode 100644 index 0000000..c1040bf --- /dev/null +++ b/dev-qt/qtwebview/qtwebview-6.10.3.ebuild @@ -0,0 +1,19 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Module for displaying web content in a QML application using the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm64" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtwebengine-${PV}:6[qml] +" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtwebview/qtwebview-6.11.1.ebuild b/dev-qt/qtwebview/qtwebview-6.11.1.ebuild new file mode 100644 index 0000000..c1040bf --- /dev/null +++ b/dev-qt/qtwebview/qtwebview-6.11.1.ebuild @@ -0,0 +1,19 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Module for displaying web content in a QML application using the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm64" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtwebengine-${PV}:6[qml] +" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtwebview/qtwebview-6.11.9999.ebuild b/dev-qt/qtwebview/qtwebview-6.11.9999.ebuild new file mode 100644 index 0000000..997d25e --- /dev/null +++ b/dev-qt/qtwebview/qtwebview-6.11.9999.ebuild @@ -0,0 +1,19 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Module for displaying web content in a QML application using the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm64" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtwebengine-${PV}:6[qml] +" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtwebview/qtwebview-6.12.9999.ebuild b/dev-qt/qtwebview/qtwebview-6.12.9999.ebuild new file mode 100644 index 0000000..4c09e71 --- /dev/null +++ b/dev-qt/qtwebview/qtwebview-6.12.9999.ebuild @@ -0,0 +1,19 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Module for displaying web content in a QML application using the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm64" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtwebengine-${PV}:6[qml] +" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtwebview/qtwebview-6.9999.ebuild b/dev-qt/qtwebview/qtwebview-6.9999.ebuild new file mode 100644 index 0000000..76539b7 --- /dev/null +++ b/dev-qt/qtwebview/qtwebview-6.9999.ebuild @@ -0,0 +1,19 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Module for displaying web content in a QML application using the Qt6 framework" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm64" +fi + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[gui] + ~dev-qt/qtdeclarative-${PV}:6 + ~dev-qt/qtwebengine-${PV}:6[qml] +" +DEPEND="${RDEPEND}" diff --git a/dev-qt/qtwidgets/Manifest b/dev-qt/qtwidgets/Manifest new file mode 100644 index 0000000..36e646e --- /dev/null +++ b/dev-qt/qtwidgets/Manifest @@ -0,0 +1,3 @@ +DIST qtbase-5.15-gentoo-patchset-6.tar.xz 8288 BLAKE2B ad9695a528345dd3b8e9ce72b7bdfe8f744f16685a567bbc7862ba6c28e5a426260cb0b73e2573cb3a6f16f1785786898ffb44c90f5d75354b97e5756c7573db SHA512 97bc4d5375e1750a5578439ff320ee2e5e929df1dafe56b4e86f2de8ad26c91dc4002e45ad75d9f936347d49b9f54c0c42f8fc2cb7dfd4f54bf08a210b3bc720 +DIST qtbase-5.15.18-gentoo-kde-1.tar.xz 450532 BLAKE2B 172732fe6a2f7dd4718b224d8a8ba7b182ded24f74ee38545d20a17364757153b399cae82b40f425e72b2587ec432f024868078edfe95280242211a040ddd9f6 SHA512 e0257171cf723cb6208a06f28fc95fa07d1239ea9dd3daa79d362146aa53e008398c9e1d95443b84d6d71b835a3f010b957e748f3ec23b77a588d6b372fd0c47 +DIST qtbase-everywhere-opensource-src-5.15.18.tar.xz 51492796 BLAKE2B a02f13f2ae8d3994fe5e3fa5b3751cb2981c3203cc4f3859dd4398d6a62101772885acb0c7b1f830ba8e9fbdd64ecfdb2a6074bfedd1bd372b4fc9ceb747467d SHA512 d39c831e6f3ddcd6a50f103ff60a0700b451f137782249508b7447a80066e3e9259c9b5038e6077ccf8df06b6afefec232c3c4dd331d85765089c92571708206 diff --git a/dev-qt/qtwidgets/metadata.xml b/dev-qt/qtwidgets/metadata.xml new file mode 100644 index 0000000..7aaadae --- /dev/null +++ b/dev-qt/qtwidgets/metadata.xml @@ -0,0 +1,20 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + Build the GTK platform theme plugin + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtwidgets/qtwidgets-5.15.18.ebuild b/dev-qt/qtwidgets/qtwidgets-5.15.18.ebuild new file mode 100644 index 0000000..1580665 --- /dev/null +++ b/dev-qt/qtwidgets/qtwidgets-5.15.18.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=1 + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +QT5_MODULE="qtbase" +inherit qt5-build + +DESCRIPTION="Set of components for creating classic desktop-style UIs for the Qt5 framework" + +# keep IUSE defaults in sync with qtgui +IUSE="dbus gles2-only gtk +png +X" +REQUIRED_USE="gtk? ( dbus )" + +DEPEND=" + =dev-qt/qtcore-${QT5_PV}*:5= + =dev-qt/qtgui-${QT5_PV}*:5=[gles2-only=,png=,X?] + dbus? ( =dev-qt/qtdbus-${QT5_PV}* ) + gtk? ( + dev-libs/glib:2 + =dev-qt/qtgui-${QT5_PV}*:5=[dbus] + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/pango + ) +" +RDEPEND="${DEPEND}" + +QT5_TARGET_SUBDIRS=( + src/tools/uic + src/widgets + src/plugins/platformthemes +) + +QT5_GENTOO_CONFIG=( + dbus:xdgdesktopportal: + gtk:gtk3: + ::widgets + !:no-widgets: +) + +QT5_GENTOO_PRIVATE_CONFIG=( + :widgets +) + +src_configure() { + local myconf=( + -opengl $(usex gles2-only es2 desktop) + $(usev dbus -dbus-linked) + $(qt_use gtk) + -gui + $(qt_use png libpng system) + -widgets + $(qt_use X xcb) + $(usev X '-xcb-xlib -xkbcommon') + ) + qt5-build_src_configure +} diff --git a/dev-qt/qtx11extras/Manifest b/dev-qt/qtx11extras/Manifest new file mode 100644 index 0000000..3278bae --- /dev/null +++ b/dev-qt/qtx11extras/Manifest @@ -0,0 +1 @@ +DIST qtx11extras-everywhere-opensource-src-5.15.18.tar.xz 123980 BLAKE2B 30b23aeea766d694c7b9097ba655ed2a3057543a58ab937925b0725af53676cf3490ec2c0eb1c69b353c1dcf34e8c7d5f2107e965617d1622b36f67120d0972b SHA512 7e12f87da4a2c8333adc09f0069cfdbb6b81e778b0e261b13a8631a90bc21deb831fc4d74229e977afa864919ef6dbe98fc37ef29eeffee52cacef21af4216f7 diff --git a/dev-qt/qtx11extras/metadata.xml b/dev-qt/qtx11extras/metadata.xml new file mode 100644 index 0000000..3c434f4 --- /dev/null +++ b/dev-qt/qtx11extras/metadata.xml @@ -0,0 +1,17 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtx11extras/qtx11extras-5.15.18.ebuild b/dev-qt/qtx11extras/qtx11extras-5.15.18.ebuild new file mode 100644 index 0000000..501daad --- /dev/null +++ b/dev-qt/qtx11extras/qtx11extras-5.15.18.ebuild @@ -0,0 +1,22 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt5-build + +DESCRIPTION="Linux/X11-specific support library for the Qt5 framework" + +if [[ ${QT5_BUILD_TYPE} == release ]]; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +IUSE="" + +RDEPEND=" + =dev-qt/qtcore-${QT5_PV}* + =dev-qt/qtgui-${QT5_PV}*[X] +" +DEPEND="${RDEPEND} + test? ( =dev-qt/qtwidgets-${QT5_PV}* ) +" diff --git a/dev-qt/qtxml/Manifest b/dev-qt/qtxml/Manifest new file mode 100644 index 0000000..36e646e --- /dev/null +++ b/dev-qt/qtxml/Manifest @@ -0,0 +1,3 @@ +DIST qtbase-5.15-gentoo-patchset-6.tar.xz 8288 BLAKE2B ad9695a528345dd3b8e9ce72b7bdfe8f744f16685a567bbc7862ba6c28e5a426260cb0b73e2573cb3a6f16f1785786898ffb44c90f5d75354b97e5756c7573db SHA512 97bc4d5375e1750a5578439ff320ee2e5e929df1dafe56b4e86f2de8ad26c91dc4002e45ad75d9f936347d49b9f54c0c42f8fc2cb7dfd4f54bf08a210b3bc720 +DIST qtbase-5.15.18-gentoo-kde-1.tar.xz 450532 BLAKE2B 172732fe6a2f7dd4718b224d8a8ba7b182ded24f74ee38545d20a17364757153b399cae82b40f425e72b2587ec432f024868078edfe95280242211a040ddd9f6 SHA512 e0257171cf723cb6208a06f28fc95fa07d1239ea9dd3daa79d362146aa53e008398c9e1d95443b84d6d71b835a3f010b957e748f3ec23b77a588d6b372fd0c47 +DIST qtbase-everywhere-opensource-src-5.15.18.tar.xz 51492796 BLAKE2B a02f13f2ae8d3994fe5e3fa5b3751cb2981c3203cc4f3859dd4398d6a62101772885acb0c7b1f830ba8e9fbdd64ecfdb2a6074bfedd1bd372b4fc9ceb747467d SHA512 d39c831e6f3ddcd6a50f103ff60a0700b451f137782249508b7447a80066e3e9259c9b5038e6077ccf8df06b6afefec232c3c4dd331d85765089c92571708206 diff --git a/dev-qt/qtxml/metadata.xml b/dev-qt/qtxml/metadata.xml new file mode 100644 index 0000000..3c434f4 --- /dev/null +++ b/dev-qt/qtxml/metadata.xml @@ -0,0 +1,17 @@ + + + + + qt@gentoo.org + Gentoo Qt Project + + + https://qt-project.atlassian.net/ + https://doc.qt.io/ + + + + Must only be used by packages that are known to use private parts of the Qt API. + + + diff --git a/dev-qt/qtxml/qtxml-5.15.18.ebuild b/dev-qt/qtxml/qtxml-5.15.18.ebuild new file mode 100644 index 0000000..2c18001 --- /dev/null +++ b/dev-qt/qtxml/qtxml-5.15.18.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=1 + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86" +fi + +QT5_MODULE="qtbase" +inherit qt5-build + +DESCRIPTION="Implementation of SAX and DOM for the Qt5 framework" + +IUSE="" + +RDEPEND="=dev-qt/qtcore-${QT5_PV}*:5=" +DEPEND="${RDEPEND} + test? ( =dev-qt/qtnetwork-${QT5_PV}* ) +" + +QT5_TARGET_SUBDIRS=( + src/xml +) + +QT5_GENTOO_PRIVATE_CONFIG=( + :xml +)