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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env pwsh
$global:DBusVersion = '1.14.10'
$global:DBusVersion = '1.16.2'
$global:DBusDeps = @(
'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
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
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
$global:ExpatVersion = '2.5.0'
$global:ExpatVersion = '2.7.3'
$global:ExpatDeps = @()

View File

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

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env pwsh
$global:Qt5Version = '5.15.11'
$global:Qt5Version = '5.15.17'
$global:Qt5Deps = @(
'DBus'
@@ -10,7 +10,7 @@ $global:Qt5Deps = @(
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)
$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}"
$UnpackFlags = @(

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env pwsh
$global:Qt6Version = '6.6.2'
$global:Qt6Version = '6.10.0'
$global:Qt6Deps = @(
'DBus'
@@ -10,7 +10,7 @@ $global:Qt6Deps = @(
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)
$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}"
$UnpackFlags = @(
@@ -19,7 +19,6 @@ function global:Build-Qt6([string] $PrefixDir, [string] $Arch, [string] $DepsPre
(Join-Path $ArchiveBase qtsvg '*')
(Join-Path $ArchiveBase qttools '*')
(Join-Path $ArchiveBase qttranslations '*')
(Join-Path $ArchiveBase qtwinextras '*')
(Join-Path $ArchiveBase .gitmodules)
(Join-Path $ArchiveBase cmake)
(Join-Path $ArchiveBase CMakeLists.txt)
@@ -36,8 +35,10 @@ function global:Build-Qt6([string] $PrefixDir, [string] $Arch, [string] $DepsPre
'-opensource'
'-confirm-license'
'-prefix'; $PrefixDir
'-disable-deprecated-up-to'; '0x060000'
'-release'
'-force-debug-info'
'-unity-build'
'-dbus'
'-ssl'
'-openssl'
@@ -50,43 +51,63 @@ function global:Build-Qt6([string] $PrefixDir, [string] $Arch, [string] $DepsPre
'-no-harfbuzz'
'-no-feature-androiddeployqt'
'-no-feature-assistant'
'-no-feature-brotli'
'-no-feature-clang'
'-no-feature-clangcpp'
'-no-feature-commandlinkbutton'
'-no-feature-concurrent'
'-no-feature-cpp-winrt'
'-no-feature-datawidgetmapper'
'-no-feature-designer'
'-no-feature-dial'
'-no-feature-direct2d'
'-no-feature-directwrite3'
'-no-feature-distancefieldgenerator'
'-no-feature-dockwidget'
'-no-feature-emojisegmenter'
'-no-feature-fontcombobox'
'-no-feature-fontdialog'
'-no-feature-freetype'
'-no-feature-gestures'
'-no-feature-graphicsview'
'-no-feature-harfbuzz'
'-no-feature-keysequenceedit'
'-no-feature-lcdnumber'
'-no-feature-listwidget'
'-no-feature-mdiarea'
'-no-feature-networkdiskcache'
'-no-feature-networklistmanager'
'-no-feature-opengl'
'-no-feature-pdf'
'-no-feature-pixeltool'
'-no-feature-printsupport'
'-no-feature-qdbus'
'-no-feature-qtattributionsscanner'
'-no-feature-qtdiag'
'-no-feature-qtgui-threadpool'
'-no-feature-qtplugininfo'
'-no-feature-raster-64bit'
'-no-feature-schannel'
'-no-feature-scroller'
'-no-feature-sharedmemory'
'-no-feature-splashscreen'
'-no-feature-sql'
'-no-feature-sqlmodel'
'-no-feature-syntaxhighlighter'
'-no-feature-systemsemaphore'
'-no-feature-tablewidget'
'-no-feature-testlib'
'-no-feature-textmarkdownreader'
'-no-feature-textmarkdownwriter'
'-no-feature-textodfwriter'
'-no-feature-toolbox'
# '-no-feature-treewidget'
'-no-feature-tuiotouch'
'-no-feature-undocommand'
'-no-feature-vkgen'
'-no-feature-vulkan'
'-no-feature-whatsthis'
'-no-feature-windeployqt'
'-no-feature-wizard'
'-no-feature-zstd'
'-nomake'; 'examples'
'-nomake'; 'tests'
'-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}"
}
# 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 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
$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
Push-Location -Path $BuildDir
Invoke-VcEnvCommand (Join-Path $SourceDir configure) @ConfigOptions
Invoke-VcEnvCommand cmake --build . --parallel
Invoke-VcEnvCommand cmake --build .
Invoke-VcEnvCommand cmake --install .
Pop-Location

View File

@@ -81,11 +81,12 @@ function global:Build-Transmission(
}
Copy-Item -Path (Join-Path $DepsPrefixDir plugins platforms qwindows.pdb) -Destination $DebugSymbolsDir
$QtStyle = if ($UseQtVersion -eq '5') { 'windowsvista' } else { 'modernwindows' }
if ($DepsPrefixDir -ne $PrefixDir) {
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) {
Copy-Item -Path (Join-Path $DepsPrefixDir translations) -Destination $PrefixDir -Recurse

View File

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