Bump Windows dependencies (#7755)

This commit is contained in:
Mike Gelfand
2025-11-01 18:59:13 +00:00
committed by GitHub
parent 9b496350a9
commit 2b4803a023
12 changed files with 70 additions and 29 deletions

View File

@@ -8,6 +8,8 @@ environment:
AWS_S3_BUCKET_NAME: AWS_S3_BUCKET_NAME:
secure: Bf3x1Iruxg+l3tp+an+g9oE36EHxvyWrE8GTJzZh4Ss= secure: Bf3x1Iruxg+l3tp+an+g9oE36EHxvyWrE8GTJzZh4Ss=
APPVEYOR_SAVE_CACHE_ON_ERROR: true
matrix: matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
TR_ARCH: x86 TR_ARCH: x86
@@ -38,10 +40,6 @@ for:
cache: cache:
- '%SystemDrive%\%TR_ARCH%-ccache' - '%SystemDrive%\%TR_ARCH%-ccache'
init:
- pwsh: |
$Env:APPVEYOR_SAVE_CACHE_ON_ERROR = 'true'
install: install:
- pwsh: | - pwsh: |
$Version = git describe --tags --abbrev=10 --always $Version = git describe --tags --abbrev=10 --always
@@ -58,14 +56,14 @@ for:
git submodule update --init --recursive git submodule update --init --recursive
choco install python3 --pre # choco install python3
choco install nasm choco install nasm
choco install jom choco install jom
choco install wixtoolset --version 3.14.0 # choco install wixtoolset --version 3.14.0
choco install ccache --version 4.8.3 choco install ccache
Remove-Item -Path (Join-Path $Env:SystemDrive OpenSSL-Win32) -Recurse Rename-Item -Path (Join-Path $Env:SystemDrive OpenSSL-Win32) -NewName OpenSSL-Win32_
Remove-Item -Path (Join-Path $Env:SystemDrive OpenSSL-Win64) -Recurse Rename-Item -Path (Join-Path $Env:SystemDrive OpenSSL-Win64) -NewName OpenSSL-Win64_
Install-Module -Name SignPath Install-Module -Name SignPath

View File

@@ -91,6 +91,7 @@ wix_candle(WIX_OBJS
"ThirdPartyDir=${TR_THIRD_PARTY_DIR}" "ThirdPartyDir=${TR_THIRD_PARTY_DIR}"
"QtDir=${TR_QT_DIR}" "QtDir=${TR_QT_DIR}"
"QtMajorVer=${Qt_VERSION_MAJOR}" "QtMajorVer=${Qt_VERSION_MAJOR}"
"QtMinorVer=${Qt_VERSION_MINOR}"
"LicenseFile=${CMAKE_CURRENT_SOURCE_DIR}/GPLv2.rtf" "LicenseFile=${CMAKE_CURRENT_SOURCE_DIR}/GPLv2.rtf"
"WebSrcDir=${WEBSRCDIR}" "WebSrcDir=${WEBSRCDIR}"
"TrQmSrcDir=${TRQMSRCDIR}" "TrQmSrcDir=${TRQMSRCDIR}"

View File

@@ -134,9 +134,15 @@
</Directory> </Directory>
<Directory Id="QTSTYLESDIR" Name="styles"> <Directory Id="QTSTYLESDIR" Name="styles">
<?if $(var.QtMajorVer) = 5 or ($(var.QtMajorVer) = 6 and $(var.QtMinorVer) < 7) ?>
<Component Id="dll.qt.plugins.styles.windowsvista"> <Component Id="dll.qt.plugins.styles.windowsvista">
<File DiskId="1" KeyPath="yes" Name="qwindowsvistastyle.dll" /> <File DiskId="1" KeyPath="yes" Name="qwindowsvistastyle.dll" />
</Component> </Component>
<?else ?>
<Component Id="dll.qt.plugins.styles.modernwindows">
<File DiskId="1" KeyPath="yes" Name="qmodernwindowsstyle.dll" />
</Component>
<?endif ?>
</Directory> </Directory>
<?if $(var.QtMajorVer) = 6 ?> <?if $(var.QtMajorVer) = 6 ?>
@@ -175,7 +181,11 @@
<ComponentRef Id="dll.qt.plugins.imageformats.jpeg" /> <ComponentRef Id="dll.qt.plugins.imageformats.jpeg" />
<ComponentRef Id="dll.qt.plugins.imageformats.svg" /> <ComponentRef Id="dll.qt.plugins.imageformats.svg" />
<ComponentRef Id="dll.qt.plugins.platforms.windows" /> <ComponentRef Id="dll.qt.plugins.platforms.windows" />
<?if $(var.QtMajorVer) = 5 or ($(var.QtMajorVer) = 6 and $(var.QtMinorVer) < 7) ?>
<ComponentRef Id="dll.qt.plugins.styles.windowsvista" /> <ComponentRef Id="dll.qt.plugins.styles.windowsvista" />
<?else ?>
<ComponentRef Id="dll.qt.plugins.styles.modernwindows" />
<?endif ?>
<?if $(var.QtMajorVer) = 6 ?> <?if $(var.QtMajorVer) = 6 ?>
<ComponentRef Id="dll.qt.plugins.tls.openssl" /> <ComponentRef Id="dll.qt.plugins.tls.openssl" />
<?endif ?> <?endif ?>

View File

@@ -19,7 +19,6 @@ QAXCLASS(InteropObject)
QAXFACTORY_END() // NOLINT QAXFACTORY_END() // NOLINT
// These are ActiveQt internals; declaring here as I don't like their WinMain much... // These are ActiveQt internals; declaring here as I don't like their WinMain much...
extern HANDLE qAxInstance; // NOLINT
extern bool qAxOutProcServer; // NOLINT extern bool qAxOutProcServer; // NOLINT
extern wchar_t qAxModuleFilename[MAX_PATH]; // NOLINT extern wchar_t qAxModuleFilename[MAX_PATH]; // NOLINT
extern QString qAxInit(); // NOLINT extern QString qAxInit(); // NOLINT
@@ -43,7 +42,6 @@ void ComInteropHelper::initialize()
{ {
qAxOutProcServer = true; qAxOutProcServer = true;
::GetModuleFileNameW(nullptr, qAxModuleFilename, MAX_PATH); ::GetModuleFileNameW(nullptr, qAxModuleFilename, MAX_PATH);
qAxInstance = ::GetModuleHandleW(nullptr);
::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED);
qAxInit(); qAxInit();

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env pwsh #!/usr/bin/env pwsh
$global:CurlVersion = '8.4.0' $global:CurlVersion = '8.16.0'
$global:CurlDeps = @( $global:CurlDeps = @(
'OpenSsl' 'OpenSsl'
@@ -33,6 +33,7 @@ function global:Build-Curl([string] $PrefixDir, [string] $Arch, [string] $DepsPr
'-DCURL_DISABLE_SMTP=ON' '-DCURL_DISABLE_SMTP=ON'
'-DCURL_DISABLE_TELNET=ON' '-DCURL_DISABLE_TELNET=ON'
'-DCURL_DISABLE_TFTP=ON' '-DCURL_DISABLE_TFTP=ON'
'-DCURL_USE_LIBPSL=OFF'
'-DCURL_USE_LIBSSH=OFF' '-DCURL_USE_LIBSSH=OFF'
'-DCURL_USE_LIBSSH2=OFF' '-DCURL_USE_LIBSSH2=OFF'
'-DCURL_USE_OPENSSL=ON' '-DCURL_USE_OPENSSL=ON'

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env pwsh #!/usr/bin/env pwsh
$global:DBusVersion = '1.14.10' $global:DBusVersion = '1.16.2'
$global:DBusDeps = @( $global:DBusDeps = @(
'Expat' 'Expat'
@@ -24,7 +24,7 @@ function global:Build-DBus([string] $PrefixDir, [string] $Arch, [string] $DepsPr
) )
# Patch to remove "-3" (or whatever) revision suffix part from DLL name since Qt doesn't seem to support that and we don't really need it # Patch to remove "-3" (or whatever) revision suffix part from DLL name since Qt doesn't seem to support that and we don't really need it
Edit-TextFile (Join-Path $SourceDir cmake modules MacrosAutotools.cmake) '^.*_LIBRARY_REVISION.*' '' Edit-TextFile (Join-Path $SourceDir cmake modules MacrosMeson.cmake) '^.*_LIBRARY_REVISION.*' ''
Invoke-CMakeBuildAndInstall $SourceDir $BuildDir $ConfigOptions Invoke-CMakeBuildAndInstall $SourceDir $BuildDir $ConfigOptions
Copy-Item -Path (Join-Path $BuildDir bin dbus-1.pdb) -Destination (Join-Path $PrefixDir bin) Copy-Item -Path (Join-Path $BuildDir bin dbus-1.pdb) -Destination (Join-Path $PrefixDir bin)

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env pwsh #!/usr/bin/env pwsh
$global:ExpatVersion = '2.5.0' $global:ExpatVersion = '2.7.3'
$global:ExpatDeps = @() $global:ExpatDeps = @()

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env pwsh #!/usr/bin/env pwsh
$global:OpenSslVersion = '3.1.5' $global:OpenSslVersion = '3.5.4'
$global:OpenSslDeps = @() $global:OpenSslDeps = @()

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env pwsh #!/usr/bin/env pwsh
$global:Qt5Version = '5.15.11' $global:Qt5Version = '5.15.17'
$global:Qt5Deps = @( $global:Qt5Deps = @(
'DBus' 'DBus'
@@ -10,7 +10,7 @@ $global:Qt5Deps = @(
function global:Build-Qt5([string] $PrefixDir, [string] $Arch, [string] $DepsPrefixDir) { function global:Build-Qt5([string] $PrefixDir, [string] $Arch, [string] $DepsPrefixDir) {
$Filename = "qt-everywhere-opensource-src-${Qt5Version}.zip" # tar.xz has some names truncated (e.g. .../double-conversion.h -> .../double-conv) $Filename = "qt-everywhere-opensource-src-${Qt5Version}.zip" # tar.xz has some names truncated (e.g. .../double-conversion.h -> .../double-conv)
$Url = "http://qt.mirror.constant.com/archive/qt/$($Qt5Version -replace '\.\d+$', '')/${Qt5Version}/single/${Filename}" $Url = "https://qt.mirror.constant.com/archive/qt/$($Qt5Version -replace '\.\d+$', '')/${Qt5Version}/single/${Filename}"
$ArchiveBase = "qt-everywhere-src-${Qt5Version}" $ArchiveBase = "qt-everywhere-src-${Qt5Version}"
$UnpackFlags = @( $UnpackFlags = @(

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env pwsh #!/usr/bin/env pwsh
$global:Qt6Version = '6.6.2' $global:Qt6Version = '6.10.0'
$global:Qt6Deps = @( $global:Qt6Deps = @(
'DBus' 'DBus'
@@ -10,7 +10,7 @@ $global:Qt6Deps = @(
function global:Build-Qt6([string] $PrefixDir, [string] $Arch, [string] $DepsPrefixDir) { function global:Build-Qt6([string] $PrefixDir, [string] $Arch, [string] $DepsPrefixDir) {
$Filename = "qt-everywhere-src-${Qt6Version}.zip" # tar.xz has some names truncated (e.g. .../double-conversion.h -> .../double-conv) $Filename = "qt-everywhere-src-${Qt6Version}.zip" # tar.xz has some names truncated (e.g. .../double-conversion.h -> .../double-conv)
$Url = "http://qt.mirror.constant.com/archive/qt/$($Qt6Version -replace '\.\d+$', '')/${Qt6Version}/single/${Filename}" $Url = "https://qt.mirror.constant.com/archive/qt/$($Qt6Version -replace '\.\d+$', '')/${Qt6Version}/single/${Filename}"
$ArchiveBase = "qt-everywhere-src-${Qt6Version}" $ArchiveBase = "qt-everywhere-src-${Qt6Version}"
$UnpackFlags = @( $UnpackFlags = @(
@@ -19,7 +19,6 @@ function global:Build-Qt6([string] $PrefixDir, [string] $Arch, [string] $DepsPre
(Join-Path $ArchiveBase qtsvg '*') (Join-Path $ArchiveBase qtsvg '*')
(Join-Path $ArchiveBase qttools '*') (Join-Path $ArchiveBase qttools '*')
(Join-Path $ArchiveBase qttranslations '*') (Join-Path $ArchiveBase qttranslations '*')
(Join-Path $ArchiveBase qtwinextras '*')
(Join-Path $ArchiveBase .gitmodules) (Join-Path $ArchiveBase .gitmodules)
(Join-Path $ArchiveBase cmake) (Join-Path $ArchiveBase cmake)
(Join-Path $ArchiveBase CMakeLists.txt) (Join-Path $ArchiveBase CMakeLists.txt)
@@ -36,8 +35,10 @@ function global:Build-Qt6([string] $PrefixDir, [string] $Arch, [string] $DepsPre
'-opensource' '-opensource'
'-confirm-license' '-confirm-license'
'-prefix'; $PrefixDir '-prefix'; $PrefixDir
'-disable-deprecated-up-to'; '0x060000'
'-release' '-release'
'-force-debug-info' '-force-debug-info'
'-unity-build'
'-dbus' '-dbus'
'-ssl' '-ssl'
'-openssl' '-openssl'
@@ -50,43 +51,63 @@ function global:Build-Qt6([string] $PrefixDir, [string] $Arch, [string] $DepsPre
'-no-harfbuzz' '-no-harfbuzz'
'-no-feature-androiddeployqt' '-no-feature-androiddeployqt'
'-no-feature-assistant' '-no-feature-assistant'
'-no-feature-brotli'
'-no-feature-clang' '-no-feature-clang'
'-no-feature-clangcpp'
'-no-feature-commandlinkbutton' '-no-feature-commandlinkbutton'
'-no-feature-concurrent' '-no-feature-concurrent'
'-no-feature-cpp-winrt'
'-no-feature-datawidgetmapper'
'-no-feature-designer' '-no-feature-designer'
'-no-feature-dial' '-no-feature-dial'
'-no-feature-direct2d'
'-no-feature-directwrite3'
'-no-feature-distancefieldgenerator' '-no-feature-distancefieldgenerator'
'-no-feature-dockwidget' '-no-feature-dockwidget'
'-no-feature-emojisegmenter'
'-no-feature-fontcombobox' '-no-feature-fontcombobox'
'-no-feature-fontdialog'
'-no-feature-freetype'
'-no-feature-gestures' '-no-feature-gestures'
'-no-feature-graphicsview' '-no-feature-harfbuzz'
'-no-feature-keysequenceedit' '-no-feature-keysequenceedit'
'-no-feature-lcdnumber' '-no-feature-lcdnumber'
'-no-feature-listwidget'
'-no-feature-mdiarea' '-no-feature-mdiarea'
'-no-feature-networkdiskcache'
'-no-feature-networklistmanager' '-no-feature-networklistmanager'
'-no-feature-opengl' '-no-feature-opengl'
'-no-feature-pdf' '-no-feature-pdf'
'-no-feature-pixeltool' '-no-feature-pixeltool'
'-no-feature-printsupport' '-no-feature-printsupport'
'-no-feature-qdbus'
'-no-feature-qtattributionsscanner' '-no-feature-qtattributionsscanner'
'-no-feature-qtdiag'
'-no-feature-qtgui-threadpool'
'-no-feature-qtplugininfo'
'-no-feature-raster-64bit' '-no-feature-raster-64bit'
'-no-feature-schannel' '-no-feature-schannel'
'-no-feature-scroller' '-no-feature-scroller'
'-no-feature-sharedmemory' '-no-feature-sharedmemory'
'-no-feature-splashscreen' '-no-feature-splashscreen'
'-no-feature-sql' '-no-feature-sql'
'-no-feature-sqlmodel'
'-no-feature-syntaxhighlighter' '-no-feature-syntaxhighlighter'
'-no-feature-systemsemaphore' '-no-feature-systemsemaphore'
'-no-feature-tablewidget'
'-no-feature-testlib' '-no-feature-testlib'
'-no-feature-textmarkdownreader' '-no-feature-textmarkdownreader'
'-no-feature-textmarkdownwriter' '-no-feature-textmarkdownwriter'
'-no-feature-textodfwriter' '-no-feature-textodfwriter'
'-no-feature-toolbox'
# '-no-feature-treewidget'
'-no-feature-tuiotouch' '-no-feature-tuiotouch'
'-no-feature-undocommand' '-no-feature-undocommand'
'-no-feature-vkgen'
'-no-feature-vulkan'
'-no-feature-whatsthis' '-no-feature-whatsthis'
'-no-feature-windeployqt' '-no-feature-windeployqt'
'-no-feature-wizard' '-no-feature-wizard'
'-no-feature-zstd'
'-nomake'; 'examples' '-nomake'; 'examples'
'-nomake'; 'tests' '-nomake'; 'tests'
'-I'; (Join-Path $DepsPrefixDir include).Replace('\', '/') '-I'; (Join-Path $DepsPrefixDir include).Replace('\', '/')
@@ -100,9 +121,20 @@ function global:Build-Qt6([string] $PrefixDir, [string] $Arch, [string] $DepsPre
Edit-TextFile (Join-Path $SourceDir qtbase mkspecs win32-msvc qmake.conf) '(^QMAKE_CXXFLAGS\b.*)' "`$1`nQMAKE_LFLAGS += ${env:LDFLAGS}" Edit-TextFile (Join-Path $SourceDir qtbase mkspecs win32-msvc qmake.conf) '(^QMAKE_CXXFLAGS\b.*)' "`$1`nQMAKE_LFLAGS += ${env:LDFLAGS}"
} }
# No need in GUI tools # No need in GUI and some other tools
Edit-TextFile (Join-Path $SourceDir qttools src CMakeLists.txt) 'TARGET Qt::Widgets' 'QT_FEATURE_designer' Edit-TextFile (Join-Path $SourceDir qttools src CMakeLists.txt) 'TARGET Qt::Widgets' 'QT_FEATURE_designer'
Edit-TextFile (Join-Path $SourceDir qttools src linguist CMakeLists.txt) 'add_subdirectory[(]linguist[)]' '' Edit-TextFile (Join-Path $SourceDir qttools src CMakeLists.txt) 'add_subdirectory[(]qdoc[)]' ''
Edit-TextFile (Join-Path $SourceDir qttools src linguist CMakeLists.txt) 'add_subdirectory[(](linguist|lprodump)[)]' ''
# No need in 'testcon' QtAx tool
Edit-TextFile (Join-Path $SourceDir qtactiveqt CMakeLists.txt) 'OR NOT TARGET Qt::PrintSupport' ''
Edit-TextFile (Join-Path $SourceDir qtactiveqt CMakeLists.txt) 'PrintSupport' ''
Edit-TextFile (Join-Path $SourceDir qtactiveqt tools CMakeLists.txt) 'add_subdirectory[(]testcon[)]' ''
# Fix build (including because of disabled features)
Edit-TextFile (Join-Path $SourceDir qtbase src gui text windows qwindowsfontdatabasebase_p.h) 'unique_ptr<QCustomFontFileLoader>' 'unique_ptr<int>'
Edit-TextFile (Join-Path $SourceDir qtactiveqt src activeqt container qaxwidget.cpp) '.*<(qdockwidget|qwhatsthis)[.]h>|QWhatsThis::[a-zA-Z]+[(][)]' ''
Edit-TextFile (Join-Path $SourceDir qtactiveqt src activeqt control qaxserverbase.cpp) '.*<qwhatsthis[.]h>|QWhatsThis::[a-zA-Z]+[(][)]' ''
Invoke-NativeCommand cmake -E remove_directory $BuildDir Invoke-NativeCommand cmake -E remove_directory $BuildDir
$env:PATH = @( $env:PATH = @(
@@ -115,7 +147,7 @@ function global:Build-Qt6([string] $PrefixDir, [string] $Arch, [string] $DepsPre
New-Item -Path $BuildDir -ItemType Directory -ErrorAction Ignore | Out-Null New-Item -Path $BuildDir -ItemType Directory -ErrorAction Ignore | Out-Null
Push-Location -Path $BuildDir Push-Location -Path $BuildDir
Invoke-VcEnvCommand (Join-Path $SourceDir configure) @ConfigOptions Invoke-VcEnvCommand (Join-Path $SourceDir configure) @ConfigOptions
Invoke-VcEnvCommand cmake --build . --parallel Invoke-VcEnvCommand cmake --build .
Invoke-VcEnvCommand cmake --install . Invoke-VcEnvCommand cmake --install .
Pop-Location Pop-Location

View File

@@ -81,11 +81,12 @@ function global:Build-Transmission(
} }
Copy-Item -Path (Join-Path $DepsPrefixDir plugins platforms qwindows.pdb) -Destination $DebugSymbolsDir Copy-Item -Path (Join-Path $DepsPrefixDir plugins platforms qwindows.pdb) -Destination $DebugSymbolsDir
$QtStyle = if ($UseQtVersion -eq '5') { 'windowsvista' } else { 'modernwindows' }
if ($DepsPrefixDir -ne $PrefixDir) { if ($DepsPrefixDir -ne $PrefixDir) {
New-Item -Path (Join-Path $PrefixDir plugins styles) -ItemType Directory -ErrorAction Ignore | Out-Null New-Item -Path (Join-Path $PrefixDir plugins styles) -ItemType Directory -ErrorAction Ignore | Out-Null
Copy-Item -Path (Join-Path $DepsPrefixDir plugins styles qwindowsvistastyle.dll) -Destination (Join-Path $PrefixDir plugins styles) Copy-Item -Path (Join-Path $DepsPrefixDir plugins styles "q${QtStyle}style.dll") -Destination (Join-Path $PrefixDir plugins styles)
} }
Copy-Item -Path (Join-Path $DepsPrefixDir plugins styles qwindowsvistastyle.pdb) -Destination $DebugSymbolsDir Copy-Item -Path (Join-Path $DepsPrefixDir plugins styles "q${QtStyle}style.pdb") -Destination $DebugSymbolsDir
if ($DepsPrefixDir -ne $PrefixDir) { if ($DepsPrefixDir -ne $PrefixDir) {
Copy-Item -Path (Join-Path $DepsPrefixDir translations) -Destination $PrefixDir -Recurse Copy-Item -Path (Join-Path $DepsPrefixDir translations) -Destination $PrefixDir -Recurse

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env pwsh #!/usr/bin/env pwsh
$global:ZlibVersion = '1.3' $global:ZlibVersion = '1.3.1'
$global:ZlibDeps = @() $global:ZlibDeps = @()