mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-27 18:31:15 +08:00
[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:
parent
b4b8719ccf
commit
4215306d07
@ -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()
|
||||
|
@ -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,
|
||||
|
@ -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()
|
@ -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"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
30
ports/qt5-tools/libclang.patch
Normal file
30
ports/qt5-tools/libclang.patch
Normal 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): \
|
@ -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}")
|
||||
|
@ -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"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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",
|
||||
|
@ -1,5 +1,10 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "c0f8f147b639b6c633f50bf2e03f161dd21db633",
|
||||
"version": "5.15.13",
|
||||
"port-version": 3
|
||||
},
|
||||
{
|
||||
"git-tree": "89570374cb1b5f83ecad6775121eb06e68b02495",
|
||||
"version": "5.15.13",
|
||||
|
@ -1,5 +1,10 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "26dc5844ad0b435a4775256c29a6ebca226c97f4",
|
||||
"version": "5.15.13",
|
||||
"port-version": 2
|
||||
},
|
||||
{
|
||||
"git-tree": "7747518fca79a6ab60ee215c73e5e4d3850b0694",
|
||||
"version": "5.15.13",
|
||||
|
@ -1,5 +1,10 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "cb06c416339487e5b5c2b2a51fac7fca26be17f5",
|
||||
"version": "5.15.13",
|
||||
"port-version": 2
|
||||
},
|
||||
{
|
||||
"git-tree": "166f2eb6325bf183cd42449b1ac97dc47d8528b5",
|
||||
"version": "5.15.13",
|
||||
|
Loading…
x
Reference in New Issue
Block a user