diff options
| author | Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> | 2021-09-30 22:03:56 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-30 13:03:56 -0700 |
| commit | 35bfef708400cf882efb3e4df93045e0a06c9c23 (patch) | |
| tree | f507c664794ece69707f33aef7fc627d96acbed7 /ports/qtwebengine | |
| parent | 8ad33ead9075cd8d6d357e0b870ba8d501efe35c (diff) | |
| download | vcpkg-35bfef708400cf882efb3e4df93045e0a06c9c23.tar.gz vcpkg-35bfef708400cf882efb3e4df93045e0a06c9c23.zip | |
[Qt 6.2] Update Qt6 to 6.2 (#18687)
* [qt6] Update to 6.1.1
* version stuff
* fix empty dir
* update version
* fix casing in qtbase
* [libpq] add secure32.lib on windows
* add clang-cl fix
* version stuff
* fix flag removal by adding a space
* version stuff
* make qt6->Qt6 usage consistent since Qt6 refers to itself as Qt6 with uppercase Q
* fix libpq wrapper opensll linkage on linux
* use policy to fix dependent ports
* version stuff
* use upstream patch
* version stuff
* fix source_location with clang-cl
* version stuff
* add all new modules
* add all modules to the qt port
* push all the ports
* fix patch
* update ports
* split qt_install_submodule into smaller functions
* add qlitehtml submodule to qttools
* update a few ports before moving to beta
* update vcpkg.json and refs and fix issue with update
* fix dependencies
* remove patch
* update to 6.2
* add nodejs to vcpkg_find_acquire_program for qtwebengine
* format manifest.
* fix webengine and see if it builds.
* apply format diff
* add patch
* fix arm builds
* fix linux gcc 7.5 build error
* fix patch
* bump version in qtbase otherwise CI seems to resuse the wrong version
* fix webengine release build
* try fixing gcc 7.5 build
* revert gcc 7.5 fixes since they broke osx
* revert gcc 7.5 fixes since they broke osx
* fix qtimageformats.
* actually enable new qt6 builds.
* fix search path for nodejs.
* fix the webengine patch again.
* fix wrong binary name
* revisit all dependencies
* revisit webengine features and build settings
* more feature stuff
* remove qt6betablock and more features review for qt 6.2
* add missing qt prefix.
* format manifest
* fix ci issues
* format manifest.
* add node on osx.
* install node on linux
* fix a typo and a disable another find_package
* fix mingw build issues and switch to not using tag
* use CMAKE_HOST_WIN32 instead
* update ref
* fix core configure error
* fix mingw case.
* fix script installation
* remove qmake helper scrpt
* delete debug folder if empty
* add vcpkg-tool-nodejs
* revert changes in the pipeline scripts
* adjust qtwebengine to the changes
* format manifest and revert doc changes
* fix message and logic
* fix hashes and make host only port
* fix hash again?
* qttools add linguist feature for crossbuilds
* fix dependency
* add thread and future to concurrent feature
* add assistant as a required host feature
(somebody should tell Qt not to do that)
* fix dependency.
* [skip ci] not a host dep?!?
* [skip ci] debuging
* [skip ci] more debug messages
* [skip ci] try always redownloading
* [skip ci] fix hash und skip hash for redownloading once
* [skip ci] comment out skip sha and redownload
* add vcpkg_fixup_pkgconfig to libvpx
* qtwebengine requires qml and quick
* fix manifest format
* qtwebengine does not support static builds!
* remove unnecessary parts of the patch
* update to beta2
* add some " and a message in update mode
* [skip ci] remove old and reorder patches
* [skip ci] add qtpaths6
* [skip actions] fix webengine patch
* [skip actions] fix a few submodule refs
* [skip actions] fix qtwebengine
* [skip actions] remove qml feature from webengine in qt metaport
* qtdeclarative raise minimum cmake version
* use the tree id instead?
* [skip actions] raise minimum cmake version in qtquick3d
* fix fetching of unadvertised commit ids
* revert changes to vcpkg_from_git
* revert doc changes
* [skip actions] use the new FETCH_REF
* [skip actiosn] remove raise of minimum version to retry with new cmake version
* [skip actions] update to beta3
* revert removal of patch
* update to beta4
remove qtquickcontrols2 deps
* fix missing \
* [skip actions] fix gstreamer feature on windows
* [skip actions]
remove outdated patches
format qtmultimedia
* [skip actions] update to rc1
* [skip actions] remove patch for now
* update refs
* [skip actions] comment patch to try another patch in qtmultimedia
* x86 is not supported by qtwebengine (at least one of its internal third party deps fails due to x64 intrinsics.)
* Finalize for 6.2 release.
Open issues: QtWebengine and cross builds.
* version stuff
* fix semver in qtquickcontrols.
* version stuff
* revise qtwebengine supports expression
* update version
Diffstat (limited to 'ports/qtwebengine')
| -rw-r--r-- | ports/qtwebengine/portfile.cmake | 110 | ||||
| -rw-r--r-- | ports/qtwebengine/vcpkg.json | 146 |
2 files changed, 256 insertions, 0 deletions
diff --git a/ports/qtwebengine/portfile.cmake b/ports/qtwebengine/portfile.cmake new file mode 100644 index 000000000..a96399daf --- /dev/null +++ b/ports/qtwebengine/portfile.cmake @@ -0,0 +1,110 @@ +set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") +include("${SCRIPT_PATH}/qt_install_submodule.cmake") + +set(TOOL_NAMES gn QtWebEngineProcess qwebengine_convert_dict) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +FEATURES + "proprietary-codecs" FEATURE_webengine-proprietary-codecs + "spellchecker" FEATURE_webengine-spellchecker + "geolocation" FEATURE_webengine-geolocation + "webchannel" FEATURE_webengine-webchannel +INVERTED_FEATURES + "geolocation" CMAKE_DISABLE_FIND_PACKAGE_Qt6Positioning + "webchannel" CMAKE_DISABLE_FIND_PACKAGE_Qt6WebChannel +) + +if(VCPKG_TARGET_IS_OSX AND "spellchecker" IN_LIST FEATRUES) + list(APPEND FEATURE_OPTIONS "-DFEATURE_webengine-native-spellchecker=ON") +endif() + +# webengine-extensions +# webengine-printing-and-pdf +# webengine-pepper-plugins +set(deactivated_features webengine-webrtc webengine-webrtc-pipewire webengine-v8-snapshot-support) +foreach(_feat IN LISTS deactivated_features) + list(APPEND FEATURE_OPTIONS "-DFEATURE_${_feat}=OFF") +endforeach() + +if(VCPKG_TARGET_IS_LINUX) + # qt_configure_add_summary_entry(ARGS "webengine-system-lcms2") + # qt_configure_add_summary_entry(ARGS "webengine-system-libpci") + # + ALSA and PULSEAUDIO + set(system_libs re2 icu libwebp opus ffmpeg libvpx snappy glib zlib minizip libevent protobuf libxml libpng libjpeg harfbuzz freetype) + foreach(_sys_lib IN LISTS system_libs) + list(APPEND FEATURE_OPTIONS "-DFEATURE_webengine-system-${_sys_lib}=ON") + endforeach() +endif() + +vcpkg_find_acquire_program(FLEX) +vcpkg_find_acquire_program(BISON) +vcpkg_find_acquire_program(GPERF) +vcpkg_find_acquire_program(PYTHON2) + +#vcpkg_find_acquire_program(GN) # Qt builds its own internal version + +find_program(NODEJS NAMES node PATHS "${CURRENT_HOST_INSTALLED_DIR}/tools/node" "bin" NO_DEFAULT_PATHS) +find_program(NODEJS NAMES node) +if(NOT NODEJS) + message(FATAL_ERROR "node not found! Please install it via your system package manager!") +endif() + +get_filename_component(GPERF_DIR "${GPERF}" DIRECTORY ) +vcpkg_add_to_path(PREPEND "${GPERF_DIR}") +get_filename_component(NODEJS_DIR "${NODEJS}" DIRECTORY ) +vcpkg_add_to_path(PREPEND "${NODEJS_DIR}") +get_filename_component(FLEX_DIR "${FLEX}" DIRECTORY ) +vcpkg_add_to_path(PREPEND "${FLEX_DIR}") +get_filename_component(BISON_DIR "${BISON}" DIRECTORY ) +vcpkg_add_to_path(PREPEND "${BISON_DIR}") +get_filename_component(PYTHON2_DIR "${PYTHON2}" DIRECTORY ) +vcpkg_add_to_path(PREPEND "${PYTHON2_DIR}") + +if(WIN32) # WIN32 HOST probably has win_flex and win_bison! + if(NOT EXISTS "${FLEX_DIR}/flex${VCPKG_HOST_EXECUTABLE_SUFFIX}") + file(CREATE_LINK "${FLEX}" "${FLEX_DIR}/flex${VCPKG_HOST_EXECUTABLE_SUFFIX}") + endif() + if(NOT EXISTS "${BISON_DIR}/BISON${VCPKG_HOST_EXECUTABLE_SUFFIX}") + file(CREATE_LINK "${BISON}" "${BISON_DIR}/bison${VCPKG_HOST_EXECUTABLE_SUFFIX}") + endif() +endif() + +### Download third_party modules +vcpkg_from_git( + OUT_SOURCE_PATH SOURCE_PATH_WEBENGINE + URL git://code.qt.io/qt/qtwebengine-chromium.git + REF 202e34476e934633b3c2e4679a53c4b0847364a8 +) + +##### qt_install_submodule +set(qt_plugindir ${QT6_DIRECTORY_PREFIX}plugins) +set(qt_qmldir ${QT6_DIRECTORY_PREFIX}qml) + +qt_download_submodule(PATCHES ${${PORT}_PATCHES}) +if(QT_UPDATE_VERSION) + return() +endif() +if(NOT EXISTS "${SOURCE_PATH}/src/3rdparty/chromium") + file(RENAME "${SOURCE_PATH_WEBENGINE}/chromium" "${SOURCE_PATH}/src/3rdparty/chromium") +endif() +if(NOT EXISTS "${SOURCE_PATH}/src/3rdparty/gn") + file(RENAME "${SOURCE_PATH_WEBENGINE}/gn" "${SOURCE_PATH}/src/3rdparty/gn") +endif() + +qt_cmake_configure(OPTIONS ${FEATURE_OPTIONS} + -DGPerf_EXECUTABLE=${GPERF} + -DBISON_EXECUTABLE=${BISON} + -DFLEX_EXECUTABLE=${FLEX} + #-DGn_EXECUTABLE=${GN} + -DPython2_EXECUTABLE=${PYTHON2} + -DNodejs_EXECUTABLE=${NODEJS} + OPTIONS_DEBUG ${_qis_CONFIGURE_OPTIONS_DEBUG} + OPTIONS_RELEASE ${_qis_CONFIGURE_OPTIONS_RELEASE}) + +vcpkg_install_cmake(ADD_BIN_TO_PATH) + +qt_fixup_and_cleanup(TOOL_NAMES ${TOOL_NAMES}) + +qt_install_copyright("${SOURCE_PATH}") + +##### qt_install_submodule diff --git a/ports/qtwebengine/vcpkg.json b/ports/qtwebengine/vcpkg.json new file mode 100644 index 000000000..8b72f15de --- /dev/null +++ b/ports/qtwebengine/vcpkg.json @@ -0,0 +1,146 @@ +{ + "$comment": "x86-windows is not within the upstream support matrix of Qt6", + "name": "qtwebengine", + "version-semver": "6.2.0", + "description": "Qt WebEngine", + "homepage": "https://www.qt.io/", + "supports": "!static & !((arm | x86) & windows)", + "dependencies": [ + { + "name": "ffmpeg", + "platform": "!windows" + }, + { + "name": "fontconfig", + "platform": "!windows" + }, + { + "name": "freetype", + "platform": "!windows" + }, + { + "name": "glib", + "platform": "!windows" + }, + { + "name": "harfbuzz", + "platform": "!windows" + }, + { + "name": "icu", + "platform": "!windows" + }, + { + "name": "libevent", + "platform": "!windows" + }, + { + "name": "libjpeg-turbo", + "platform": "!windows" + }, + { + "name": "libpng", + "platform": "!windows" + }, + { + "name": "libvpx", + "platform": "!windows" + }, + { + "name": "libwebp", + "platform": "!windows" + }, + { + "name": "libxml2", + "platform": "!windows" + }, + { + "name": "minizip", + "platform": "!windows" + }, + "opengl-registry", + { + "name": "opus", + "platform": "!windows" + }, + { + "name": "protobuf", + "platform": "!windows" + }, + { + "name": "qtbase", + "default-features": false, + "features": [ + "gui", + "network", + "widgets" + ] + }, + { + "name": "qtdeclarative", + "default-features": false + }, + { + "name": "qtdeclarative", + "default-features": false + }, + { + "name": "qttools", + "default-features": false + }, + { + "$comment": "Requires GN host tool build by the port itself! (special version check)", + "name": "qtwebengine", + "host": true, + "default-features": false + }, + { + "name": "re2", + "platform": "!windows" + }, + { + "name": "snappy", + "platform": "!windows" + }, + { + "name": "vcpkg-tool-nodejs", + "host": true + }, + { + "name": "zlib", + "platform": "!windows" + } + ], + "default-features": [ + "default-features" + ], + "features": { + "default-features": { + "description": "Platform-dependent default features" + }, + "geolocation": { + "description": "Build with Geolocation", + "dependencies": [ + { + "name": "qtlocation", + "default-features": false + } + ] + }, + "proprietary-codecs": { + "description": "Enables the use of proprietary codecs such as h.264/h.265 and MP3." + }, + "spellchecker": { + "description": "Provides a spellchecker" + }, + "webchannel": { + "description": "Provides QtWebChannel integration", + "dependencies": [ + { + "name": "qtwebchannel", + "default-features": false + } + ] + } + } +} |
