winget configuration: add pkgconf and meson

also securityContext: elevated directives so the the winget configure
step doesn't need to be done in Admin-shell. If run with regular user
permissions UAC will prompt.

ninja is part of CMake tools for Windows (that are part of a default
installation with recommended packages, but not in minimal workload)

Change-Id: I952fc7ac02142d537b2555c1f0e39a53032b96ba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183806
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Tested-by: Jenkins
This commit is contained in:
Christian Lohmaier
2025-04-07 17:10:03 +02:00
committed by Khaled Hosny
parent 186e9720b1
commit b01838cce5
4 changed files with 59 additions and 2 deletions

View File

@@ -6,6 +6,7 @@
"Microsoft.Net.Component.4.8.SDK",
"Microsoft.VisualStudio.Component.Git",
"Microsoft.VisualStudio.Component.VC.ATL",
"Microsoft.VisualStudio.Component.VC.CMake.Project",
"Microsoft.VisualStudio.Component.VC.Llvm.Clang",
"Microsoft.VisualStudio.Component.VC.Redist.MSM",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",

View File

@@ -6,6 +6,7 @@
"Microsoft.Net.Component.4.8.SDK",
"Microsoft.VisualStudio.Component.Git",
"Microsoft.VisualStudio.Component.VC.ATL",
"Microsoft.VisualStudio.Component.VC.CMake.Project",
"Microsoft.VisualStudio.Component.VC.ATL.ARM64",
"Microsoft.VisualStudio.Component.VC.Llvm.Clang",
"Microsoft.VisualStudio.Component.VC.Redist.MSM",
@@ -15,4 +16,4 @@
"Microsoft.VisualStudio.Component.Windows11SDK.22621"
],
"extensions": []
}
}

View File

@@ -3,7 +3,9 @@
# download additional dependencies used for the build to C:/Users/Public/Downloads (unfortunately
# xRemoteFile doesn't accept $env:PUBLIC or similar, so using hardcoded paths for now),
# install the 32bit and 64bit JDKs & make sure wsl is installed
# (this configuration needs to be applied with administrator privileges)
# (this configuration needs to be applied with administrator privileges, as otherwise even
# downloading files e.g. would fail with:
# Access to the path 'C:\ProgramData\Microsoft\Windows\PowerShell\Configuration\BuiltinProvCache\DSC_xRemoteFile' is denied.
properties:
resources:
@@ -11,6 +13,7 @@ properties:
id: jom
directives:
description: download jom (parallel nmake)
securityContext: elevated
settings:
DestinationPath: C:/Users/Public/Downloads
Uri: http://download.qt.io/official_releases/jom/jom_1_1_4.zip
@@ -20,6 +23,7 @@ properties:
id: make
directives:
description: download make
securityContext: elevated
settings:
DestinationPath: C:/Users/Public/Downloads
Uri: https://dev-www.libreoffice.org/bin/cygwin/make-4.2.1-msvc.exe
@@ -29,15 +33,27 @@ properties:
id: clang-format
directives:
description: download clang-format
securityContext: elevated
settings:
DestinationPath: C:/Users/Public/Downloads
Uri: https://dev-www.libreoffice.org/bin/clang-format-5.0.0-win.exe
ChecksumType: SHA256
Checksum: a25d5c4b451ec4fba466807e9239d0bcbafcfeb7f35834f2db87448968a73ccb
- resource: xPSDesiredStateConfiguration/xRemoteFile
id: pkgconf
directives:
description: download pkgconf
securityContext: elevated
settings:
DestinationPath: C:/Users/Public/Downloads
Uri: https://dev-www.libreoffice.org/extern/pkgconf-2.4.3.exe
ChecksumType: SHA256
Checksum: 791cd6dbc56f7268fbf9c4652d6634b0f5c59687ab4e504565e58245952edd41
- resource: xPSDesiredStateConfiguration/xRemoteFile
id: spp
directives:
description: download strawberry perl portable
securityContext: elevated
settings:
DestinationPath: C:/Users/Public/Downloads
Uri: https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_54001_64bit_UCRT/strawberry-perl-5.40.0.1-64bit-portable.zip
@@ -47,6 +63,7 @@ properties:
id: ant
directives:
description: download ant
securityContext: elevated
settings:
DestinationPath: C:/Users/Public/Downloads
Uri: https://dlcdn.apache.org/ant/binaries/apache-ant-1.10.15-bin.zip
@@ -56,15 +73,27 @@ properties:
id: junit
directives:
description: download junit
securityContext: elevated
settings:
DestinationPath: C:/Users/Public/Downloads
Uri: https://repo1.maven.org/maven2/junit/junit/4.10/junit-4.10.jar
ChecksumType: SHA256
Checksum: 36a747ca1e0b86f6ea88055b8723bb87030d627766da6288bf077afdeeb0f75a
- resource: xPSDesiredStateConfiguration/xRemoteFile
id: meson
directives:
description: download meson
securityContext: elevated
settings:
DestinationPath: C:/Users/Public/Downloads/meson-1.7.2.zip
Uri: https://github.com/mesonbuild/meson/archive/refs/tags/1.7.2.zip
ChecksumType: SHA256
Checksum: c6395019029f19945f61f5b9b551c7c10d9d1b2970f89be86da25a4cf2a6119c
- resource: xPSDesiredStateConfiguration/xMsiPackage
id: JDK_x64
directives:
description: install the 64bit JDK
securityContext: elevated
settings:
Path: https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.12%2B7/OpenJDK17U-jdk_x64_windows_hotspot_17.0.12_7.msi
ProductId: '{20108BEF-FA49-47AE-9551-495BED430689}'
@@ -74,6 +103,7 @@ properties:
id: JDK_x86
directives:
description: install the 32bit JDK
securityContext: elevated
settings:
Path: https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.12%2B7/OpenJDK17U-jdk_x86-32_windows_hotspot_17.0.12_7.msi
ProductId: '{E0CAD1B6-6CF5-4E33-9F85-18AAE8CDD8EE}'
@@ -83,6 +113,7 @@ properties:
id: wsl
directives:
description: make sure that wsl utility is available/working - i.e. that wsl is installed
securityContext: elevated
settings:
# no idea why the whole test fails when not redirecting stderr
TestScript: wsl.exe --status 2>$null; return ![bool]$LASTEXITCODE

View File

@@ -23,6 +23,8 @@ properties:
"jom_1_1_4.zip",
"junit-4.10.jar",
"make-4.2.1-msvc.exe",
"meson-1.7.2.zip",
"pkgconf-2.4.3.exe",
"strawberry-perl-5.40.0.1-64bit-portable.zip",
"")
!(($files | foreach {Test-Path "$env:PUBLIC/Downloads/$_"}) -contains $false)
@@ -71,6 +73,16 @@ properties:
TestScript: Test-Path -Path "$env:USERPROFILE/bin/clang-format.exe"
GetScript: Test-Path -Path "$env:USERPROFILE/bin/clang-format.exe"
SetScript: Copy-Item -LiteralPath "$env:PUBLIC/Downloads/clang-format-5.0.0-win.exe" -Destination "$env:USERPROFILE/bin/clang-format.exe"
- resource: xPSDesiredStateConfiguration/xScript
id: pkgconf
dependsOn:
- bindir
directives:
description: copy pkgconf-2.4.3.exe to the ~/bin directory
settings:
TestScript: Test-Path -Path "$env:USERPROFILE/bin/pkgconf-2.4.3.exe"
GetScript: Test-Path -Path "$env:USERPROFILE/bin/pkgconf-2.4.3.exe"
SetScript: Copy-Item -LiteralPath "$env:PUBLIC/Downloads/pkgconf-2.4.3.exe" -Destination "$env:USERPROFILE/bin/pkgconf-2.4.3.exe"
- resource: xPSDesiredStateConfiguration/xScript
id: junit
dependsOn:
@@ -92,6 +104,16 @@ properties:
TestScript: Test-Path -Path "$env:USERPROFILE/lo/apache-ant-1.10.15/bin/ant"
GetScript: Test-Path -Path "$env:USERPROFILE/lo/apache-ant-1.10.15/bin/ant"
SetScript: Expand-Archive -LiteralPath "$env:PUBLIC/Downloads/apache-ant-1.10.15-bin.zip" -Destination "$env:USERPROFILE/lo/"
- resource: xPSDesiredStateConfiguration/xScript
id: meson-extract
dependsOn:
- lodir
directives:
description: extract meson to the ~/lo directory
settings:
TestScript: Test-Path -Path "$env:USERPROFILE/lo/meson-1.7.2/meson.py"
GetScript: Test-Path -Path "$env:USERPROFILE/lo/meson-1.7.2/meson.py"
SetScript: Expand-Archive -LiteralPath "$env:PUBLIC/Downloads/meson-1.7.2.zip" -Destination "$env:USERPROFILE/lo/"
- resource: xPSDesiredStateConfiguration/xScript
id: spp-extract
dependsOn:
@@ -165,6 +187,8 @@ properties:
#--disable-dependency-tracking
#--enable-dbgutil
#--with-lang=fr ja
MESON=$env:USERPROFILE\lo\meson-1.7.2\meson.py
PKG_CONFIG=pkgconf-2.4.3.exe
"
- resource: xPSDesiredStateConfiguration/xScript
id: cloud-init-dir