diff --git a/common/shlibs b/common/shlibs index 2028226606b..af78faa086a 100644 --- a/common/shlibs +++ b/common/shlibs @@ -2035,7 +2035,7 @@ libQt6LabsSharedImage.so.6 qt6-declarative-6.1.0_1 libQt6LabsWavefrontMesh.so.6 qt6-declarative-6.1.0_1 libQt6QmlLocalStorage.so.6 qt6-declarative-6.1.0_1 libQt6QmlWorkerScript.so.6 qt6-declarative-6.0.0_1 -libQt6QuickTest.so.6 qt6-declarative-devel-6.2.0beta4_1 +libQt6QuickTest.so.6 qt6-quick-test-6.4.2_1 libQt6QuickShapes.so.6 qt6-declarative-6.0.0_1 libQt6QuickWidgets.so.6 qt6-declarative-6.0.0_1 libQt6Quick.so.6 qt6-declarative-6.0.0_1 diff --git a/srcpkgs/qt6-declarative-host-tools b/srcpkgs/qt6-declarative-host-tools new file mode 120000 index 00000000000..fd03a4809f3 --- /dev/null +++ b/srcpkgs/qt6-declarative-host-tools @@ -0,0 +1 @@ +qt6-declarative \ No newline at end of file diff --git a/srcpkgs/qt6-declarative/patches/bin-qml-location.patch b/srcpkgs/qt6-declarative/patches/bin-qml-location.patch index f92e3463250..9323aec00b6 100644 --- a/srcpkgs/qt6-declarative/patches/bin-qml-location.patch +++ b/srcpkgs/qt6-declarative/patches/bin-qml-location.patch @@ -1,193 +1,206 @@ ---- a/tests/auto/qml/debugger/qqmldebugtranslationclient/tst_qqmldebugtranslationclient.cpp -+++ b/tests/auto/qml/debugger/qqmldebugtranslationclient/tst_qqmldebugtranslationclient.cpp -@@ -94,7 +94,11 @@ private: - { +--- qt6-declarative-6.4.2.orig/tests/auto/qml/debugger/qqmldebugtranslationclient/tst_qqmldebugtranslationclient.cpp ++++ qt6-declarative-6.4.2/tests/auto/qml/debugger/qqmldebugtranslationclient/tst_qqmldebugtranslationclient.cpp +@@ -71,6 +71,9 @@ private: m_currentOutputLine = 0; -+#ifdef QT_DECLARATIVE_BIN_PATH -+ auto executable = QT_DECLARATIVE_BIN_PATH "/qml"; -+#else auto executable = QLibraryInfo::path(QLibraryInfo::BinariesPath) + "/qml"; -+#endif ++ char *build_bin_path = getenv("QT_BUILD_BIN_PATH"); ++ if (build_bin_path && *build_bin_path) ++ executable = QString(build_bin_path) + "/qml"; auto services = QQmlDebugTranslationServiceImpl::s_key; auto extraArgs = testFile(QMLFILE); auto block = true; ---- a/tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.cpp -+++ b/tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.cpp -@@ -72,7 +72,12 @@ tst_QQmlInspector::tst_QQmlInspector() +--- qt6-declarative-6.4.2.orig/tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.cpp ++++ qt6-declarative-6.4.2/tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.cpp +@@ -47,7 +47,11 @@ tst_QQmlInspector::tst_QQmlInspector() QQmlDebugTest::ConnectResult tst_QQmlInspector::startQmlProcess(const QString &qmlFile, bool restrictServices) { - return QQmlDebugTest::connectTo(QLibraryInfo::path(QLibraryInfo::BinariesPath) + "/qml", -+#ifdef QT_DECLARATIVE_BIN_PATH -+ auto executable = QT_DECLARATIVE_BIN_PATH "/qml"; -+#else + auto executable = QLibraryInfo::path(QLibraryInfo::BinariesPath) + "/qml"; -+#endif ++ char *build_bin_path = getenv("QT_BUILD_BIN_PATH"); ++ if (build_bin_path && *build_bin_path) ++ executable = QString(build_bin_path) + "/qml"; + return QQmlDebugTest::connectTo(executable, restrictServices ? QStringLiteral("QmlInspector") : QString(), testFile(qmlFile), true); } ---- a/tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp -+++ b/tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp -@@ -204,10 +204,16 @@ private: +--- qt6-declarative-6.4.2.orig/tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp ++++ qt6-declarative-6.4.2/tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp +@@ -179,10 +179,18 @@ private: CheckType = CheckMessageType | CheckDetailType | CheckLine | CheckColumn | CheckFileEndsWith }; -+#ifdef QT_DECLARATIVE_BIN_PATH -+#define QMLSCENE_PATH QT_DECLARATIVE_BIN_PATH "/qml" -+#else -+#define QMLSCENE_PATH QLibraryInfo::path(QLibraryInfo::BinariesPath) + "/qmlscene" -+#endif ++ static QString QmlScenePath() ++ { ++ char *build_bin_path = getenv("QT_BUILD_BIN_PATH"); ++ if (build_bin_path && *build_bin_path) ++ return QString(build_bin_path) + "/qmlscene"; ++ return QLibraryInfo::path(QLibraryInfo::BinariesPath) + "/qmlscene"; ++ } + ConnectResult connectTo(bool block, const QString &file, bool recordFromStart = true, uint flushInterval = 0, bool restrictServices = true, const QString &executable - = QLibraryInfo::path(QLibraryInfo::BinariesPath) + "/qmlscene"); -+ = QMLSCENE_PATH); ++ = QmlScenePath()); void checkProcessTerminated(); void checkTraceReceived(); void checkJsHeap(); ---- a/tests/auto/qml/debugger/qqmldebuggingenabler/qqmldebuggingenabler/tst_qqmldebuggingenabler.cpp -+++ b/tests/auto/qml/debugger/qqmldebuggingenabler/qqmldebuggingenabler/tst_qqmldebuggingenabler.cpp -@@ -110,8 +110,13 @@ void tst_QQmlDebuggingEnabler::qmlscene( +--- qt6-declarative-6.4.2.orig/tests/auto/qml/debugger/qqmldebuggingenabler/qqmldebuggingenabler/tst_qqmldebuggingenabler.cpp ++++ qt6-declarative-6.4.2/tests/auto/qml/debugger/qqmldebuggingenabler/qqmldebuggingenabler/tst_qqmldebuggingenabler.cpp +@@ -85,8 +85,12 @@ void tst_QQmlDebuggingEnabler::qmlscene( QFETCH(bool, blockMode); QFETCH(QStringList, services); - m_process = new QQmlDebugProcess( - QLibraryInfo::path(QLibraryInfo::BinariesPath) + "/qmlscene", this); -+#ifdef QT_DECLARATIVE_BIN_PATH -+ auto executable = QT_DECLARATIVE_BIN_PATH "/qmlscene"; -+#else + auto executable = QLibraryInfo::path(QLibraryInfo::BinariesPath) + "/qmlscene"; -+#endif ++ char *build_bin_path = getenv("QT_BUILD_BIN_PATH"); ++ if (build_bin_path && *build_bin_path) ++ executable = QString(build_bin_path) + "/qmlscene"; + + m_process = new QQmlDebugProcess(executable, this); m_process->setMaximumBindErrors(1); m_process->start(QStringList() << QString::fromLatin1("-qmljsdebugger=connector:%1%2%3%4") ---- a/tests/auto/qml/debugger/qqmlenginecontrol/tst_qqmlenginecontrol.cpp -+++ b/tests/auto/qml/debugger/qqmlenginecontrol/tst_qqmlenginecontrol.cpp -@@ -91,7 +91,12 @@ tst_QQmlEngineControl::tst_QQmlEngineCon +--- qt6-declarative-6.4.2.orig/tests/auto/qml/debugger/qqmlenginecontrol/tst_qqmlenginecontrol.cpp ++++ qt6-declarative-6.4.2/tests/auto/qml/debugger/qqmlenginecontrol/tst_qqmlenginecontrol.cpp +@@ -66,7 +66,11 @@ tst_QQmlEngineControl::tst_QQmlEngineCon QQmlDebugTest::ConnectResult tst_QQmlEngineControl::connectTo(const QString &file, bool restrictServices) { - return QQmlDebugTest::connectTo(QLibraryInfo::path(QLibraryInfo::BinariesPath) + "/qmlscene", -+#ifdef QT_DECLARATIVE_BIN_PATH -+ auto executable = QT_DECLARATIVE_BIN_PATH "/qmlscene"; -+#else + auto executable = QLibraryInfo::path(QLibraryInfo::BinariesPath) + "/qmlscene"; -+#endif ++ char *build_bin_path = getenv("QT_BUILD_BIN_PATH"); ++ if (build_bin_path && *build_bin_path) ++ executable = QString(build_bin_path) + "/qmlscene"; + return QQmlDebugTest::connectTo(executable, restrictServices ? QStringLiteral("EngineControl") : QString(), testFile(file), true); } ---- a/tests/auto/qml/debugger/qqmlenginedebuginspectorintegrationtest/tst_qqmlenginedebuginspectorintegration.cpp -+++ b/tests/auto/qml/debugger/qqmlenginedebuginspectorintegrationtest/tst_qqmlenginedebuginspectorintegration.cpp -@@ -96,7 +96,11 @@ tst_QQmlEngineDebugInspectorIntegration: +--- qt6-declarative-6.4.2.orig/tests/auto/qml/debugger/qqmlenginedebuginspectorintegrationtest/tst_qqmlenginedebuginspectorintegration.cpp ++++ qt6-declarative-6.4.2/tests/auto/qml/debugger/qqmlenginedebuginspectorintegrationtest/tst_qqmlenginedebuginspectorintegration.cpp +@@ -70,8 +70,11 @@ tst_QQmlEngineDebugInspectorIntegration: + QQmlDebugTest::ConnectResult tst_QQmlEngineDebugInspectorIntegration::init(bool restrictServices) { - return QQmlDebugTest::connectTo( -+#ifdef QT_DECLARATIVE_BIN_PATH -+ QT_DECLARATIVE_BIN_PATH "/qml", -+#else - QLibraryInfo::path(QLibraryInfo::BinariesPath) + "/qml", -+#endif +- return QQmlDebugTest::connectTo( +- QLibraryInfo::path(QLibraryInfo::BinariesPath) + "/qml", ++ auto executable = QLibraryInfo::path(QLibraryInfo::BinariesPath) + "/qml"; ++ char *build_bin_path = getenv("QT_BUILD_BIN_PATH"); ++ if (build_bin_path && *build_bin_path) ++ executable = QString(build_bin_path) + "/qml"; ++ return QQmlDebugTest::connectTo(executable, restrictServices ? QStringLiteral("QmlDebugger,QmlInspector") : QString(), testFile("qtquick2.qml"), true); } ---- a/tests/auto/qml/debugger/qqmlpreview/tst_qqmlpreview.cpp -+++ b/tests/auto/qml/debugger/qqmlpreview/tst_qqmlpreview.cpp -@@ -81,7 +81,12 @@ tst_QQmlPreview::tst_QQmlPreview() +--- qt6-declarative-6.4.2.orig/tests/auto/qml/debugger/qqmlpreview/tst_qqmlpreview.cpp ++++ qt6-declarative-6.4.2/tests/auto/qml/debugger/qqmlpreview/tst_qqmlpreview.cpp +@@ -56,7 +56,11 @@ tst_QQmlPreview::tst_QQmlPreview() QQmlDebugTest::ConnectResult tst_QQmlPreview::startQmlProcess(const QString &qmlFile) { - return QQmlDebugTest::connectTo(QLibraryInfo::path(QLibraryInfo::BinariesPath) + "/qml", -+#ifdef QT_DECLARATIVE_BIN_PATH -+ auto executable = QT_DECLARATIVE_BIN_PATH "/qml"; -+#else + auto executable = QLibraryInfo::path(QLibraryInfo::BinariesPath) + "/qml"; -+#endif ++ char *build_bin_path = getenv("QT_BUILD_BIN_PATH"); ++ if (build_bin_path && *build_bin_path) ++ executable = QString(build_bin_path) + "/qml"; + return QQmlDebugTest::connectTo(executable, QStringLiteral("QmlPreview"), testFile(qmlFile), true); } ---- a/tests/auto/qml/qmlformat/tst_qmlformat.cpp -+++ b/tests/auto/qml/qmlformat/tst_qmlformat.cpp -@@ -88,7 +88,11 @@ TestQmlformat::TestQmlformat() - void TestQmlformat::initTestCase() +--- qt6-declarative-6.4.2.orig/tests/auto/qml/qmlformat/tst_qmlformat.cpp ++++ qt6-declarative-6.4.2/tests/auto/qml/qmlformat/tst_qmlformat.cpp +@@ -65,6 +65,9 @@ void TestQmlformat::initTestCase() { QQmlDataTest::initTestCase(); -+#ifdef QT_DECLARATIVE_BIN_PATH -+ m_qmlformatPath = QLatin1String(QT_DECLARATIVE_BIN_PATH "/qmlformat"); -+#else m_qmlformatPath = QLibraryInfo::path(QLibraryInfo::BinariesPath) + QLatin1String("/qmlformat"); -+#endif ++ char *build_bin_path = getenv("QT_BUILD_BIN_PATH"); ++ if (build_bin_path && *build_bin_path) ++ m_qmlformatPath = QLatin1String(build_bin_path) + "/qmlformat"; #ifdef Q_OS_WIN m_qmlformatPath += QLatin1String(".exe"); #endif ---- a/tests/auto/qml/qmlimportscanner/tst_qmlimportscanner.cpp -+++ b/tests/auto/qml/qmlimportscanner/tst_qmlimportscanner.cpp -@@ -63,8 +63,12 @@ TestQmlimportscanner::TestQmlimportscann - void TestQmlimportscanner::initTestCase() - { +--- qt6-declarative-6.4.2.orig/tests/auto/qml/qmlimportscanner/tst_qmlimportscanner.cpp ++++ qt6-declarative-6.4.2/tests/auto/qml/qmlimportscanner/tst_qmlimportscanner.cpp +@@ -42,6 +42,9 @@ void TestQmlimportscanner::initTestCase( QQmlDataTest::initTestCase(); -+#ifdef QT_DECLARATIVE_LIBEXEC_PATH -+ m_qmlimportscannerPath = QLatin1String(QT_DECLARATIVE_LIBEXEC_PATH "/qmlimportscanner"); -+#else m_qmlimportscannerPath = QLibraryInfo::path(QLibraryInfo::LibraryExecutablesPath) + QLatin1String("/qmlimportscanner"); -+#endif ++ char *build_libexec = getenv("QT_BUILD_LIBEXEC_PATH"); ++ if (build_libexec && *build_libexec) ++ m_qmlimportscannerPath = QLatin1String(build_libexec) + "/qmlimportscanner"; #ifdef Q_OS_WIN m_qmlimportscannerPath += QLatin1String(".exe"); #endif ---- a/tests/auto/qml/qmllint/tst_qmllint.cpp -+++ b/tests/auto/qml/qmllint/tst_qmllint.cpp -@@ -136,11 +136,17 @@ TestQmllint::TestQmllint() - void TestQmllint::initTestCase() +--- qt6-declarative-6.4.2.orig/tests/auto/qml/qmllint/tst_qmllint.cpp ++++ qt6-declarative-6.4.2/tests/auto/qml/qmllint/tst_qmllint.cpp +@@ -159,10 +159,18 @@ void TestQmllint::initTestCase() { QQmlDataTest::initTestCase(); -+#ifdef QT_DECLARATIVE_BIN_PATH -+ m_qmllintPath = QLatin1String(QT_DECLARATIVE_BIN_PATH "/qmllint"); -+ m_qmljsrootgenPath = QLatin1String(QT_DECLARATIVE_BIN_PATH "/qmljsrootgen"); -+ m_qmltyperegistrarPath = QLatin1String(QT_DECLARATIVE_BIN_PATH "/qmltyperegistrar"); -+#else m_qmllintPath = QLibraryInfo::path(QLibraryInfo::BinariesPath) + QLatin1String("/qmllint"); ++ char *build_bin = getenv("QT_BUILD_BIN_PATH"); ++ if (build_bin && *build_bin) ++ m_qmllintPath = QLatin1String(build_bin) + "/qmllint"; m_qmljsrootgenPath = QLibraryInfo::path(QLibraryInfo::LibraryExecutablesPath) + QLatin1String("/qmljsrootgen"); m_qmltyperegistrarPath = QLibraryInfo::path(QLibraryInfo::LibraryExecutablesPath) + QLatin1String("/qmltyperegistrar"); -+#endif ++ char *build_libexec = getenv("QT_BUILD_LIBEXEC_PATH"); ++ if (build_libexec && *build_libexec) { ++ m_qmljsrootgenPath = QLatin1String(build_libexec) + "/qmljsrootgen"; ++ m_qmltyperegistrarPath = QLatin1String(build_libexec) + "/qmltypesregistrar"; ++ } #ifdef Q_OS_WIN m_qmllintPath += QLatin1String(".exe"); m_qmljsrootgenPath += QLatin1String(".exe"); ---- a/tests/auto/qml/debugger/qdebugmessageservice/tst_qdebugmessageservice.cpp -+++ b/tests/auto/qml/debugger/qdebugmessageservice/tst_qdebugmessageservice.cpp -@@ -143,7 +143,12 @@ tst_QDebugMessageService::tst_QDebugMess +--- qt6-declarative-6.4.2.orig/tests/auto/qml/debugger/qdebugmessageservice/tst_qdebugmessageservice.cpp ++++ qt6-declarative-6.4.2/tests/auto/qml/debugger/qdebugmessageservice/tst_qdebugmessageservice.cpp +@@ -118,7 +118,11 @@ tst_QDebugMessageService::tst_QDebugMess void tst_QDebugMessageService::retrieveDebugOutput() { - QCOMPARE(QQmlDebugTest::connectTo(QLibraryInfo::path(QLibraryInfo::BinariesPath) + "/qml", -+#ifdef QT_DECLARATIVE_BIN_PATH -+ auto executable = QT_DECLARATIVE_BIN_PATH "/qml"; -+#else + auto executable = QLibraryInfo::path(QLibraryInfo::BinariesPath) + "/qml"; -+#endif ++ char *build_bin_path = getenv("QT_BUILD_BIN_PATH"); ++ if (build_bin_path && *build_bin_path) ++ executable = QString(build_bin_path) + "/qml"; + QCOMPARE(QQmlDebugTest::connectTo(executable, QString(), testFile(QMLFILE), true), ConnectSuccess); QTRY_VERIFY(m_client->logBuffer.size() >= 2); ---- a/tests/auto/qml/qmlplugindump/tst_qmlplugindump.cpp -+++ b/tests/auto/qml/qmlplugindump/tst_qmlplugindump.cpp -@@ -62,7 +62,11 @@ tst_qmlplugindump::tst_qmlplugindump() - void tst_qmlplugindump::initTestCase() +--- qt6-declarative-6.4.2.orig/tests/auto/qml/qmlplugindump/tst_qmlplugindump.cpp ++++ qt6-declarative-6.4.2/tests/auto/qml/qmlplugindump/tst_qmlplugindump.cpp +@@ -38,6 +38,9 @@ void tst_qmlplugindump::initTestCase() { QQmlDataTest::initTestCase(); -+#ifdef QT_DECLARATIVE_BIN_PATH -+ qmlplugindumpPath = QT_DECLARATIVE_BIN_PATH; -+#else qmlplugindumpPath = QLibraryInfo::path(QLibraryInfo::BinariesPath); -+#endif ++ char *build_bin_path = getenv("QT_BUILD_BIN_PATH"); ++ if (build_bin_path && *build_bin_path) ++ qmlplugindumpPath = build_bin_path; #if defined(Q_OS_WIN) qmlplugindumpPath += QLatin1String("/qmlplugindump.exe"); +--- qt6-declarative-6.4.2.orig/tests/auto/qml/debugger/qqmldebugjs/tst_qqmldebugjs.cpp ++++ qt6-declarative-6.4.2/tests/auto/qml/debugger/qqmldebugjs/tst_qqmldebugjs.cpp +@@ -163,11 +163,18 @@ void tst_QQmlDebugJS::initTestCase() + QQmlDebugTest::initTestCase(); + } + #include ++static QString qmlScenePath() ++{ ++ char *build_bin_path = getenv("QT_BUILD_BIN_PATH"); ++ if (build_bin_path && *build_bin_path) ++ return QString(build_bin_path) + "/qmlscene"; ++ return QLibraryInfo::path(QLibraryInfo::BinariesPath) + "/qmlscene"; ++} + QQmlDebugTest::ConnectResult tst_QQmlDebugJS::init(bool qmlscene, const QString &qmlFile, + bool blockMode, bool restrictServices) + { + const QString executable = qmlscene +- ? QLibraryInfo::path(QLibraryInfo::BinariesPath) + "/qmlscene" ++ ? qmlScenePath() + : debugJsServerPath("qqmldebugjs"); + return QQmlDebugTest::connectTo( + executable, restrictServices ? QStringLiteral("V8Debugger") : QString(), diff --git a/srcpkgs/qt6-declarative/patches/qml-broken-test.patch b/srcpkgs/qt6-declarative/patches/qml-broken-test.patch index 4d44e90b678..b16412fcd5e 100644 --- a/srcpkgs/qt6-declarative/patches/qml-broken-test.patch +++ b/srcpkgs/qt6-declarative/patches/qml-broken-test.patch @@ -1,6 +1,6 @@ ---- a/tests/auto/quickcontrols2/controls/data/tst_rangeslider.qml -+++ b/tests/auto/quickcontrols2/controls/data/tst_rangeslider.qml -@@ -649,61 +649,6 @@ TestCase { +--- qt6-declarative-6.4.2.orig/tests/auto/quickcontrols2/controls/data/tst_rangeslider.qml ++++ qt6-declarative-6.4.2/tests/auto/quickcontrols2/controls/data/tst_rangeslider.qml +@@ -602,61 +602,6 @@ TestCase { } function test_overlappingHandles() { diff --git a/srcpkgs/qt6-declarative/template b/srcpkgs/qt6-declarative/template index c69159f3b6e..a3d921f9ea1 100644 --- a/srcpkgs/qt6-declarative/template +++ b/srcpkgs/qt6-declarative/template @@ -1,64 +1,75 @@ # Template file for 'qt6-declarative' pkgname=qt6-declarative -version=6.4.0 +version=6.4.2 revision=1 build_style=cmake -hostmakedepends="qt6-base-devel perl pkg-config wayland-devel - qt6-shadertools-devel" +configure_args="-DQT_BUILD_TESTS=ON" +hostmakedepends="qt6-base perl pkg-config wayland-devel qt6-shadertools python3" makedepends="qt6-base-devel Vulkan-Headers qt6-shadertools-devel" short_desc="Cross-platform application and UI framework - Declarative" maintainer="John " license="GPL-3.0-only with Qt-GPL-exception-1.0, LGPL-3.0-only, GPL-2.0-or-later" homepage="https://www.qt.io" distfiles="https://download.qt.io/official_releases/qt/${version%.*}/${version}/submodules/qtdeclarative-everywhere-src-${version}.tar.xz" -checksum=3434e72fccfa0c929c326790723d05c155f5067746b1ab05cfd7a9ba632c4383 +checksum=a4bdd983de4e9cbca0f85b767dbdd8598711554e370a06da8f509ded4430f5bd replaces="qt6-quickcontrols2>=0" if [ "$CROSS_BUILD" ]; then - configure_args="-DQT_FORCE_BUILD_TOOLS=true" - hostmakedepends+=" qt6-declarative-devel" + configure_args+=" -DQT_FORCE_BUILD_TOOLS=true" + hostmakedepends+=" qt6-declarative-host-tools" fi -if [ "$XBPS_CHECK_PKGS" ]; then - configure_args+=" -DQT_BUILD_TESTS=ON" -fi if [ "$XBPS_TARGET_ENDIAN" = "be" ]; then broken="shader compilation fails" fi -pre_configure() { - CXXFLAGS+=" '-DQT_DECLARATIVE_BIN_PATH=\"${wrksrc}/build/lib/qt6/bin\"'" - CXXFLAGS+=" '-DQT_DECLARATIVE_LIBEXEC_PATH=\"${wrksrc}/build/lib/qt6/libexec\"'" -} - -pre_check() { - export QML2_IMPORT_PATH="$wrksrc/build/lib/qt6/qml" -} - do_check() { cd build + export QML2_IMPORT_PATH="$wrksrc/build/lib/qt6/qml" + export QT_BUILD_BIN_PATH=${wrksrc}/build/lib/qt6/bin + export QT_BUILD_LIBEXEC_PATH=${wrksrc}/build/lib/qt6/libexec local broken="tst_qqmllocale|text|tst_qquickwidget" # requires qt6-declarative installed broken+="|module_includes|cmake_tooling_imports|empty_qmldir" broken+="|qtquickcompiler|qmlquery" - # Could work if Qt6Quick.so.6 could be found by qml - broken+="|tst_qqmldebugjs|tst_qqmlinspector" - broken+="|tst_qqmlprofilerservice|tst_qqmljsscope" - broken+="|tst_qqmlpreview|tst_qmllint|tst_qmlformat" + # Need to investigate + broken+="|tst_qqmldebugjs|tst_qqmljsscope" + broken+="|tst_qqmlpreview|tst_qmllint" # can't find the source broken+="|tst_qmltc_qprocess" broken+="|tst_qquickfiledialogimpl" broken+="|tst_qquickfolderdialogimpl" broken+="|tst_qmlimportscanner|tst_qqmlextensionplugin" + # unknown + broken+="|tst_qmldomitem|tst_dom_all" ctest -E "($broken)" } +post_install() { + rm -rf ${DESTDIR}/usr/tests + # Only build in -DQT_BUILD_TESTS=ON, for self-test + rm -f ${DESTDIR}/usr/lib/qt6/bin/testapp + rm -f ${DESTDIR}/usr/lib/qt6/bin/qqmldebug* +} + +qt6-quick-test_package() { + depends="${sourcepkg}>=${version}_${revision}" + short_desc+=" - test" + pkg_install() { + vmove "usr/lib/libQt6QuickTest.so.*" + vmove usr/lib/qt6/qml/QtTest + vmove usr/lib/qt6/qml/Qt/test + vmove usr/lib/qt6/bin/qmltestrunner + } +} + qt6-declarative-tools_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - tools" pkg_install() { vmove usr/lib/qt6/plugins/qmltooling + vmove usr/lib/qt6/plugins/qmllint for bin in qmlcachegen qmlimportscanner qmltyperegistrar; do vmove usr/lib/qt6/libexec/$bin done @@ -68,22 +79,35 @@ qt6-declarative-tools_package() { } } +qt6-declarative-host-tools_package() { + # The CMake for Tools requires all binaries to be available + depends="qt6-quick-test>=${version}_${revision} qt6-base>=${version} + qt6-declarative-tools>=${version}_${revision}" + short_desc+=" - host tools" + pkg_install() { + vmove "usr/lib/cmake/*Tools" + } +} + qt6-declarative-devel_package() { depends="${sourcepkg}>=${version}_${revision} qt6-base-devel>=${version}_1 - qt6-declarative-tools>=${version}_${revision}" + qt6-declarative-host-tools>=${version}_${revision}" short_desc+=" - development files" replaces="qt6-quickcontrols2-devel>=0" pkg_install() { vmove usr/include - vmove usr/lib/cmake vmove usr/lib/metatypes vmove usr/lib/pkgconfig vmove usr/lib/qt6/mkspecs - vmove "usr/lib/libQt6QuickTest.so.*" - vmove usr/lib/qt6/qml/QtTest - vmove usr/lib/qt6/bin/qmltestrunner vmove "usr/lib/*.so" + vmove "usr/lib/*.a" vmove "usr/lib/*.prl" vmove usr/share/qt6/modules + for _f in ${DESTDIR}/usr/lib/cmake/*; do + case "$_f" in + *Tools) ;; + *) vmove "usr/lib/cmake/${_f##*/}" ;; + esac + done } } diff --git a/srcpkgs/qt6-quick-test b/srcpkgs/qt6-quick-test new file mode 120000 index 00000000000..fd03a4809f3 --- /dev/null +++ b/srcpkgs/qt6-quick-test @@ -0,0 +1 @@ +qt6-declarative \ No newline at end of file