[qt5-base,qt5-tools,qt5-doc] Fix dependencies, enable qdoc (#38058)

- at-spi2-core used to be satisfied by a system package in the linux CI
image, noticed in the host build in android CI.
- dbus used to be provided by a system dev package in the linux CI. The
automatic configuration chooses "linked" mode in this case. With the
system package remove from CI, this auto configuration created an
installation order dependency due to the lack of a dbus dependency.
Noticed in some CI runs, e.g.
https://github.com/microsoft/vcpkg/pull/38618.
- libclang probably became a dependency for qdoc with 5.15, but nobody
noticed.
- pcre2 has a default feature jit which is causing problems, #38604.
This PR unblocks opt-put from pcre2[jit] in qt5-base.

---------

Co-authored-by: MonicaLiu <110024546+MonicaLiu0311@users.noreply.github.com>
Co-authored-by: Monica <liuyumei01@beyondsoft.com>
This commit is contained in:
Kai Pastor 2024-05-23 04:39:25 +02:00 committed by GitHub
parent b4b8719ccf
commit 4215306d07
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 119 additions and 16 deletions

View File

@ -122,6 +122,15 @@ list(APPEND CORE_OPTIONS
-no-feature-gssapi
)
if(VCPKG_TARGET_IS_LINUX)
# Accessibility uses at-spi2-core which links dbus,
# so we link to ensure to use the same dbus library.
list(APPEND CORE_OPTIONS -dbus-linked)
else()
# Enable Qt DBus without linking to it.
list(APPEND CORE_OPTIONS -dbus-runtime)
endif()
if(WITH_PGSQL_PLUGIN)
list(APPEND CORE_OPTIONS -sql-psql)
else()

View File

@ -1,11 +1,19 @@
{
"name": "qt5-base",
"version": "5.15.13",
"port-version": 2,
"port-version": 3,
"description": "Qt Base provides the basic non-GUI functionality required by all Qt applications.",
"homepage": "https://www.qt.io/",
"license": null,
"dependencies": [
{
"name": "at-spi2-core",
"platform": "linux"
},
{
"name": "dbus",
"platform": "linux"
},
"double-conversion",
"egl-registry",
{
@ -21,7 +29,10 @@
"platform": "!windows"
},
"openssl",
"pcre2",
{
"name": "pcre2",
"default-features": false
},
{
"name": "qt5-base",
"host": true,

View File

@ -1,7 +1,12 @@
set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
if(VCPKG_TARGET_IS_WINDOWS)
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
message(STATUS "${PORT} will not build any artifacts on Windows!")
set(VCPKG_BUILD_TYPE release)
include("${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake")
qt_submodule_installation()
vcpkg_build_qmake(TARGETS docs SKIP_MAKEFILES BUILD_LOGNAME docs)
qt_fix_makefile_install("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/")
vcpkg_build_qmake(TARGETS install_docs SKIP_MAKEFILES BUILD_LOGNAME install-docs)
if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/share/qt5/doc/qtdoc.qch")
message(FATAL_ERROR "Failed to install qtdoc.qch.")
endif()
include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
qt_submodule_installation()

View File

@ -1,10 +1,10 @@
{
"name": "qt5-doc",
"version": "5.15.13",
"port-version": 1,
"port-version": 2,
"description": "The Qt documentation.",
"license": null,
"supports": "linux",
"supports": "native",
"dependencies": [
{
"name": "qt5-base",
@ -12,6 +12,12 @@
},
"qt5-declarative",
"qt5-quickcontrols2",
"qt5-tools"
{
"name": "qt5-tools",
"default-features": false,
"features": [
"qdoc"
]
}
]
}

View File

@ -0,0 +1,30 @@
diff --git a/src/qdoc/configure.pri b/src/qdoc/configure.pri
index 4f3d776..547d6a6 100644
--- a/src/qdoc/configure.pri
+++ b/src/qdoc/configure.pri
@@ -87,10 +87,7 @@ defineTest(qtConfTest_libclang) {
}
LLVM_INSTALL_DIR = $$clean_path($$LLVM_INSTALL_DIR)
- contains(QMAKE_HOST.arch, x86_64): \
- clangInstallDir = $$replace(LLVM_INSTALL_DIR, _ARCH_, 64)
- else: \
- clangInstallDir = $$replace(LLVM_INSTALL_DIR, _ARCH_, 32)
+ clangInstallDir = $$LLVM_INSTALL_DIR
isEmpty(LLVM_INSTALL_DIR) {
win32 {
return(false)
@@ -113,7 +110,13 @@ defineTest(qtConfTest_libclang) {
} else {
CLANG_LIBDIR = $$clangInstallDir/lib
CLANG_INCLUDEPATH = $$clangInstallDir/include
+ exists($$clangInstallDir/tools/llvm): {
+ output = $$system("$$clangInstallDir/tools/llvm/llvm-config --version")
+ CLANG_VERSION = $$extractVersion($$output)
+ }
+ else: {
CLANG_VERSION = $$findLLVMVersionFromLibDir($$CLANG_LIBDIR)
+ }
}
isEmpty(CLANG_VERSION) {
!isEmpty(LLVM_INSTALL_DIR): \

View File

@ -1,8 +1,21 @@
include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
vcpkg_list(SET OPTIONS_RELEASE)
if("qdoc" IN_LIST FEATURES)
set(ENV{LLVM_INSTALL_DIR} "${CURRENT_INSTALLED_DIR}")
vcpkg_list(APPEND OPTIONS_RELEASE -feature-qdoc)
else()
vcpkg_list(APPEND OPTIONS_RELEASE -no-feature-qdoc)
endif()
qt_submodule_installation(
PATCHES
"fix-pkgconfig-qt5uiplugin-not-found.patch"
fix-pkgconfig-qt5uiplugin-not-found.patch
libclang.patch
BUILD_OPTIONS_RELEASE
${OPTIONS_RELEASE}
BUILD_OPTIONS_DEBUG
-no-feature-qdoc
)
if(EXISTS "${CURRENT_INSTALLED_DIR}/plugins/platforms/qminimal${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}")

View File

@ -1,7 +1,7 @@
{
"name": "qt5-tools",
"version": "5.15.13",
"port-version": 1,
"port-version": 2,
"description": "A collection of tools and utilities that come with the Qt framework to assist developers in the creation, management, and deployment of Qt applications.",
"license": null,
"dependencies": [
@ -14,5 +14,19 @@
"default-features": false
},
"qt5-declarative"
]
],
"features": {
"qdoc": {
"description": "Build the qdoc tool.",
"dependencies": [
{
"name": "llvm",
"default-features": false,
"features": [
"clang"
]
}
]
}
}
}

View File

@ -7154,7 +7154,7 @@
},
"qt5-base": {
"baseline": "5.15.13",
"port-version": 2
"port-version": 3
},
"qt5-canvas3d": {
"baseline": "0",
@ -7178,7 +7178,7 @@
},
"qt5-doc": {
"baseline": "5.15.13",
"port-version": 1
"port-version": 2
},
"qt5-gamepad": {
"baseline": "5.15.13",
@ -7262,7 +7262,7 @@
},
"qt5-tools": {
"baseline": "5.15.13",
"port-version": 1
"port-version": 2
},
"qt5-translations": {
"baseline": "5.15.13",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "c0f8f147b639b6c633f50bf2e03f161dd21db633",
"version": "5.15.13",
"port-version": 3
},
{
"git-tree": "89570374cb1b5f83ecad6775121eb06e68b02495",
"version": "5.15.13",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "26dc5844ad0b435a4775256c29a6ebca226c97f4",
"version": "5.15.13",
"port-version": 2
},
{
"git-tree": "7747518fca79a6ab60ee215c73e5e4d3850b0694",
"version": "5.15.13",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "cb06c416339487e5b5c2b2a51fac7fca26be17f5",
"version": "5.15.13",
"port-version": 2
},
{
"git-tree": "166f2eb6325bf183cd42449b1ac97dc47d8528b5",
"version": "5.15.13",