diff --git a/ports/qtbase/portfile.cmake b/ports/qtbase/portfile.cmake index f3548a4f24aff7..820f588f3e9b69 100644 --- a/ports/qtbase/portfile.cmake +++ b/ports/qtbase/portfile.cmake @@ -417,11 +417,6 @@ foreach(_config debug release) endif() endforeach() endforeach() -if(VCPKG_CROSSCOMPILING AND NOT CMAKE_HOST_WIN32) - foreach(name IN ITEMS qmake qmake6 qtpaths qtpaths6) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/${name}" "${CURRENT_HOST_INSTALLED_DIR}/" "\"\$script_dir_path\"/../../../../${HOST_TRIPLET}/") - endforeach() -endif() # Fixup qt.toolchain.cmake set(qttoolchain "${CURRENT_PACKAGES_DIR}/share/Qt6/qt.toolchain.cmake") @@ -481,6 +476,8 @@ set(CURRENT_HOST_INSTALLED_DIR "${BACKUP_CURRENT_HOST_INSTALLED_DIR}") set(REL_HOST_TO_DATA "\${CURRENT_INSTALLED_DIR}/") configure_file("${_file}" "${CURRENT_PACKAGES_DIR}/tools/Qt6/qt_debug.conf" @ONLY) # For vcpkg-qmake +# target_qt_conf exists iff CMAKE_CROSSCOMPILING +# cf. qt_generate_qmake_and_qtpaths_wrapper_for_target in /cmake/QtQmakeHelpers.cmake set(target_qt_conf "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/target_qt.conf") if(EXISTS "${target_qt_conf}") file(READ "${target_qt_conf}" qt_conf_contents) @@ -488,6 +485,13 @@ if(EXISTS "${target_qt_conf}") string(REGEX REPLACE "HostData=[^\n]+" "HostData=./../${TARGET_TRIPLET}/share/Qt6" qt_conf_contents ${qt_conf_contents}) string(REGEX REPLACE "HostPrefix=[^\n]+" "HostPrefix=./../../../../${_HOST_TRIPLET}" qt_conf_contents ${qt_conf_contents}) file(WRITE "${target_qt_conf}" "${qt_conf_contents}") + + if(script_suffix STREQUAL "") + foreach(name IN ITEMS qmake qmake6 qtpaths qtpaths6) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/${name}" "${CURRENT_HOST_INSTALLED_DIR}/" "\"\$script_dir_path\"/../../../../${HOST_TRIPLET}/") + endforeach() + endif() + if(NOT VCPKG_BUILD_TYPE) set(target_qt_conf_debug "${CURRENT_PACKAGES_DIR}/tools/Qt6/target_qt_debug.conf") configure_file("${target_qt_conf}" "${target_qt_conf_debug}" COPYONLY) diff --git a/ports/qtbase/vcpkg.json b/ports/qtbase/vcpkg.json index 269f085571fbd3..f06ebddcd505f6 100644 --- a/ports/qtbase/vcpkg.json +++ b/ports/qtbase/vcpkg.json @@ -1,7 +1,7 @@ { "name": "qtbase", "version": "6.8.3", - "port-version": 2, + "port-version": 3, "description": "Qt Base (Core, Gui, Widgets, Network, ...)", "homepage": "https://www.qt.io/", "license": null, @@ -163,7 +163,16 @@ }, "cups": { "description": "Provides support for the Common Unix Printing System.", - "supports": "linux | osx" + "supports": "linux | osx", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "widgets" + ] + } + ] }, "dbus": { "description": "Qt D-Bus", @@ -212,7 +221,14 @@ "description": "EGL", "supports": "android | linux", "dependencies": [ - "egl" + "egl", + { + "name": "qtbase", + "default-features": false, + "features": [ + "opengl" + ] + } ] }, "fontconfig": { @@ -510,6 +526,13 @@ "vulkan": { "description": "Enable Vulkan support", "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "gui" + ] + }, "vulkan" ] }, @@ -532,7 +555,7 @@ "name": "qtbase", "default-features": false, "features": [ - "concurrent", + "thread", "xkbcommon-x11", "xlib" ] @@ -567,7 +590,16 @@ ] }, "xlib": { - "description": "XLib" + "description": "XLib", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "gui" + ] + } + ] }, "xrender": { "description": "XRender for native painting", @@ -576,7 +608,8 @@ "name": "qtbase", "default-features": false, "features": [ - "xcb" + "fontconfig", + "xcb-xlib" ] } ] diff --git a/scripts/ci.feature.baseline.txt b/scripts/ci.feature.baseline.txt index cdd9be782585e7..522bfdcea5cc54 100644 --- a/scripts/ci.feature.baseline.txt +++ b/scripts/ci.feature.baseline.txt @@ -235,7 +235,6 @@ libmpeg2:x64-linux=fail libmpeg2:x64-osx=fail libmpeg2:x64-uwp=fail libmupdf:x64-osx=fail -libmysql:x86-windows=fail libopensp(android)=fail libopusenc:arm-uwp=fail libopusenc:x64-uwp=fail @@ -590,7 +589,7 @@ gdal[aws-ec2-windows,curl,expat,geos,gif,iconv,jpeg,lerc,libkml,libspatialite,li google-cloud-cpp[accessapproval,accesscontextmanager,advisorynotifications,alloydb,apigateway,apigeeconnect,apikeys,appengine,artifactregistry,asset,assuredworkloads,automl,baremetalsolution,batch,beyondcorp,bigquery,bigtable,billing,binaryauthorization,certificatemanager,channel,cloudbuild,commerce,composer,confidentialcomputing,connectors,contactcenterinsights,container,containeranalysis,datacatalog,datafusion,datamigration,dataplex,dataproc,datastore,datastream,debugger,deploy,dialogflow-cx,dialogflow-es,discoveryengine,dlp,documentai,edgecontainer,eventarc,experimental-opentelemetry,experimental-storage-grpc,filestore,functions,gameservices,gkehub,gkemulticloud,grafeas,iam,iap,ids,iot,kms,language,logging,managedidentities,memcache,metastore,migrationcenter,monitoring,networkconnectivity,networkmanagement,networksecurity,notebooks,optimization,orgpolicy,osconfig,oslogin,policysimulator,policytroubleshooter,privateca,profiler,pubsub,rapidmigrationassessment,recommender,redis,resourcemanager,resourcesettings,retail,run,scheduler,secretmanager,securitycenter,servicecontrol,servicedirectory,servicemanagement,serviceusage,shell,spanner,speech,storage,storageinsights,storagetransfer,support,talent,tasks,texttospeech,tpu,trace,translate,video,videointelligence,vision,vmmigration,vmwareengine,vpcaccess,webrisk,websecurityscanner,workflows,workstations] = no-separate-feature-test halide[target-aarch64,target-all,target-amdgpu,target-arm,target-d3d12compute,target-hexagon,target-metal,target-nvptx,target-opencl,target-opengl-compute,target-powerpc,target-riscv,target-webassembly,target-x86] = no-separate-feature-test llvm[target-aarch64,target-all,target-amdgpu,target-arc,target-arm,target-avr,target-bpf,target-csky,target-directx,target-hexagon,target-lanai,target-loongarch,target-m68k,target-mips,target-msp430,target-nvptx,target-powerpc,target-riscv,target-sparc,target-spirv,target-systemz,target-ve,target-webassembly,target-x86,target-xcore,target-xtensa] = no-separate-feature-test - +qtbase[doubleconversion,gui,sql,thread] = no-separate-feature-test # covered in many combinations # cascade @@ -1763,7 +1762,6 @@ qtapplicationmanager:arm64-osx = cascade qtapplicationmanager:arm64-uwp = cascade qtapplicationmanager:x64-uwp = cascade qtbase[dbus](android) = cascade -qtbase[sql-mysql]:x86-windows = cascade qtbase[sql-mysql](android) = cascade qtcharts:arm64-uwp = cascade qtcharts:x64-uwp = cascade @@ -2184,6 +2182,7 @@ qt3d[extras] = options # is a requirement, see https://github.com/microsoft/vcpk qt5-base[vulkan](osx) = feature-fails # needs MolkenVK qt5-base[vulkan](windows) = feature-fails # needs configuration qt5compat[iconv](!uwp) = feature-fails # requires qtbase without icu +qtbase[cups](linux) = feature-fails # requires CUPS system libs qtbase[gles3](android) = feature-fails qtbase[sql-oci](!(arm & windows)) = feature-fails # see https://github.com/microsoft/vcpkg/issues/32052 qtmultimedia[core,ffmpeg,gstreamer,qml,widgets](osx) = combination-fails # Error: Qt will by default autolink both plugin backends in static builds leading to symbol collisions and a build failure in dependent ports! As such in static builds only one backend is allowed by default. @@ -2232,7 +2231,11 @@ magnum-plugins[cgltfimporter,glslangshaderconverter,ktximageconverter,ktximporte openjpeg[tools] = skip # fails and is deprecated pango[introspection]:arm64-windows = skip # needs arm64 host qt5-base(android) = skip # port doesn't support cross builds -qtbase[xcb,xcb-xlib,xkb,xkbcommon-x11,xlib,xrender](osx) = skip # no x11 on macOS +qtbase[glib](android) = skip # undefined symbols (missing link libs) when used with network +qtbase[vulkan](osx) = skip # no MoltenVK on macOS +qtbase[xcb,xcb-xlib,xkb,xkbcommon-x11,xlib,xrender](android) = skip # no x11 in CI +qtbase[xcb,xcb-xlib,xkb,xkbcommon-x11,xlib,xrender](osx) = skip # no x11 in CI, upstream "support on macOS is minimal and untested" +qtbase[xcb,xcb-xlib,xkb,xkbcommon-x11,xlib,xrender](windows) = skip # no x11 in CI qtwebengine = skip # Takes too long to feature test at ~3 hours per feature s2n = skip # builds too slow sciter = skip # The sciter port is deprecated by upstream and conflicts with upstream's replacement. diff --git a/versions/baseline.json b/versions/baseline.json index 748ac6b58b83c4..8c8c433733e27a 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -7862,7 +7862,7 @@ }, "qtbase": { "baseline": "6.8.3", - "port-version": 2 + "port-version": 3 }, "qtcharts": { "baseline": "6.8.3", diff --git a/versions/q-/qtbase.json b/versions/q-/qtbase.json index 346e8931cb1fc3..9d6188f96e658a 100644 --- a/versions/q-/qtbase.json +++ b/versions/q-/qtbase.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "0310ceff18ae3cc39de1f5f492a2b7ba88bae639", + "version": "6.8.3", + "port-version": 3 + }, { "git-tree": "c6fb64e484a6762f3ea271a486044c6fb0bca96f", "version": "6.8.3",