.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
 

Reply via email to