.config/2022.vsconfig | 1 + .config/2022_cross.vsconfig | 3 ++- .config/admin_java_and_deps.winget | 33 ++++++++++++++++++++++++++++++++- .config/user_steps.winget | 24 ++++++++++++++++++++++++ RepositoryExternal.mk | 3 ++- 5 files changed, 61 insertions(+), 3 deletions(-)
New commits: commit b01838cce57508c216da3b8f728854019160f8db Author: Christian Lohmaier <[email protected]> AuthorDate: Mon Apr 7 17:10:03 2025 +0200 Commit: Khaled Hosny <[email protected]> CommitDate: Mon Apr 14 18:36:31 2025 +0200 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 <[email protected]> Tested-by: Jenkins diff --git a/.config/2022.vsconfig b/.config/2022.vsconfig index 4c6d7facd359..a93f904db668 100644 --- a/.config/2022.vsconfig +++ b/.config/2022.vsconfig @@ -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", diff --git a/.config/2022_cross.vsconfig b/.config/2022_cross.vsconfig index e9ac2f114dc5..7069eb1f441a 100644 --- a/.config/2022_cross.vsconfig +++ b/.config/2022_cross.vsconfig @@ -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": [] -} \ No newline at end of file +} diff --git a/.config/admin_java_and_deps.winget b/.config/admin_java_and_deps.winget index 2a417623989a..e3808b3441c6 100644 --- a/.config/admin_java_and_deps.winget +++ b/.config/admin_java_and_deps.winget @@ -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 diff --git a/.config/user_steps.winget b/.config/user_steps.winget index 741ffcbbc050..2f934e7b95de 100644 --- a/.config/user_steps.winget +++ b/.config/user_steps.winget @@ -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 commit 186e9720b1f97baa6d9817b15a68da64fe33fd9d Author: Christian Lohmaier <[email protected]> AuthorDate: Tue Apr 8 14:30:15 2025 +0200 Commit: Khaled Hosny <[email protected]> CommitDate: Mon Apr 14 18:36:16 2025 +0200 win: fix dependency issue on libffi for internal python $(call gb_ExternalExecutable_get_dependencies,python) was incomplete since at least "import _ctypes" as done by meson requires libffi to be available in instdir. So depend on the package instead of the project. Change-Id: I8665aeda74cca994e2ba8591278b4b5c8d9ff2b5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183851 Reviewed-by: Christian Lohmaier <[email protected]> Tested-by: Jenkins diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk index 8b420bb591b9..ff4c86ba3b33 100644 --- a/RepositoryExternal.mk +++ b/RepositoryExternal.mk @@ -3325,8 +3325,9 @@ endif endef # this is only used by python currently +# libffi library delivered to instdir is necessary to use internal python with meson (wants to import _ctypes) define gb_ExternalProject__use_libffi -$(call gb_ExternalProject_use_external_project,$(1),libffi) +$(call gb_ExternalProject_use_package,$(1),libffi) endef
