Makefile.fetch                                        |    1 +
 download.lst                                          |    5 +++++
 external/python3/ExternalProject_python3.mk           |    6 ------
 external/python3/UnpackedTarball_python3.mk           |   11 ++++++++++-
 external/python3/replace-powershell-with-wget.patch.1 |   11 -----------
 5 files changed, 16 insertions(+), 18 deletions(-)

New commits:
commit c9ae567c791bcffdc3fff9e3fb11b46275a13d2b
Author:     Xisco Fauli <[email protected]>
AuthorDate: Fri Jan 10 15:48:09 2025 +0100
Commit:     Xisco Fauli <[email protected]>
CommitDate: Fri Jan 10 23:18:29 2025 +0100

    python3: get python.exe from extern
    
    Instead of downloading nuget.exe and then python.exe
    as explained in 
https://lists.freedesktop.org/archives/libreoffice/2025-January/092881.html,
    Add python.3.12.8.nupkg to extern and download it as a tarball
    to unzip it in external/pythonx86.
    find_python.bat will look for python.exe in external/pythonx86/tools
    
    Downloaded from
    
https://globalcdn.nuget.org/packages/python.3.12.8.nupkg?packageVersion=3.12.8
    
    Change-Id: Ib1638fa66b3983048c2f9a472d00ce365602fcbb
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180078
    Reviewed-by: Xisco Fauli <[email protected]>
    Tested-by: Jenkins

diff --git a/Makefile.fetch b/Makefile.fetch
index d6b60c9b7b3e..9828a88de380 100644
--- a/Makefile.fetch
+++ b/Makefile.fetch
@@ -225,6 +225,7 @@ $(WORKDIR)/download: $(BUILDDIR)/config_$(gb_Side).mk 
$(SRCDIR)/download.lst $(S
                $(call fetch_Optional,POPPLER,POPPLER_DATA_TARBALL) \
                $(call fetch_Optional,POSTGRESQL,POSTGRESQL_TARBALL) \
                $(call fetch_Optional,PYTHON,PYTHON_TARBALL) \
+               $(if $(filter WNT,$(OS)),PYTHON_BOOTSTRAP_TARBALL) \
                $(call fetch_Optional,QXP,QXP_TARBALL) \
                $(call fetch_Optional,REDLAND,RAPTOR_TARBALL) \
                $(call fetch_Optional,REDLAND,RASQAL_TARBALL) \
diff --git a/download.lst b/download.lst
index 719d30b49879..8b1740a609ee 100644
--- a/download.lst
+++ b/download.lst
@@ -595,6 +595,11 @@ PYTHON_TARBALL := Python-3.11.11.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
+PYTHON_BOOTSTRAP_SHA256SUM := 
406856be971d957e0bee7a5cefe20a5ec78d70a495e9e33cd0e53d31faec049d
+PYTHON_BOOTSTRAP_TARBALL := python.3.12.8.nupkg
+# three static lines
+# so that git cherry-pick
+# will not run into conflicts
 QXP_SHA256SUM := 
e137b6b110120a52c98edd02ebdc4095ee08d0d5295a94316a981750095a945c
 QXP_TARBALL := libqxp-0.0.2.tar.xz
 # three static lines
diff --git a/external/python3/ExternalProject_python3.mk 
b/external/python3/ExternalProject_python3.mk
index 2d7660e84fb1..5bafc38e5260 100644
--- a/external/python3/ExternalProject_python3.mk
+++ b/external/python3/ExternalProject_python3.mk
@@ -33,15 +33,9 @@ ifeq ($(OS),WNT)
 
 # at least for MSVC 2008 it is necessary to clear MAKEFLAGS because
 # nmake is invoked
-#
-# Since Python 3.11, _freeze_module.vcxproj needs python.exe to build
-# deepfreeze.c. At the moment target _RebuildDeepFrozen is called, python.exe
-# doesn't exist yet so it needs to be downloaded using nuget.
-# Call find_python.bat first to have nuget.exe and python.exe ready before 
building
 $(call gb_ExternalProject_get_state_target,python3,build) :
        $(call gb_Trace_StartRange,python3,EXTERNAL)
        $(call gb_ExternalProject_run,build,\
-               cmd /c 
$(gb_UnpackedTarball_workdir)/python3/PCbuild/find_python.bat -q && \
                MAKEFLAGS= MSBuild.exe pcbuild.sln /t:Build 
$(gb_MSBUILD_CONFIG_AND_PLATFORM) \
                        /p:bz2Dir=$(gb_UnpackedTarball_workdir)/bzip2 \
                        
/p:opensslIncludeDir=$(gb_UnpackedTarball_workdir)/openssl/include \
diff --git a/external/python3/UnpackedTarball_python3.mk 
b/external/python3/UnpackedTarball_python3.mk
index 360d49971341..0424a8d22c0f 100644
--- a/external/python3/UnpackedTarball_python3.mk
+++ b/external/python3/UnpackedTarball_python3.mk
@@ -11,6 +11,16 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,python3))
 
 $(eval $(call 
gb_UnpackedTarball_set_tarball,python3,$(PYTHON_TARBALL),,python3))
 
+# Since Python 3.11, _freeze_module.vcxproj needs python.exe to build 
deepfreeze.c
+# on Windows
+ifeq ($(OS),WNT)
+$(eval $(call gb_UnpackedTarball_set_pre_action,python3,\
+       mkdir -p externals/pythonx86 && \
+       unzip -q -d externals/pythonx86 -o 
$(gb_UnpackedTarget_TARFILE_LOCATION)/$(PYTHON_BOOTSTRAP_TARBALL) && \
+       chmod +x externals/pythonx86/tools/* \
+))
+endif
+
 $(eval $(call gb_UnpackedTarball_fix_end_of_line,python3,\
        PCbuild/libffi.props \
        PCbuild/pcbuild.sln \
@@ -25,7 +35,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,python3,\
        external/python3/i100492-freebsd.patch.1 \
        external/python3/python-3.3.0-darwin.patch.1 \
        external/python3/python-3.7.6-msvc-ssl.patch.1 \
-       external/python3/replace-powershell-with-wget.patch.1 \
        external/python3/python-3.5.4-msvc-disable.patch.1 \
        external/python3/ubsan.patch.0 \
        external/python3/python-3.5.tweak.strip.soabi.patch \
diff --git a/external/python3/replace-powershell-with-wget.patch.1 
b/external/python3/replace-powershell-with-wget.patch.1
deleted file mode 100644
index 2e9b4fc38a55..000000000000
--- a/external/python3/replace-powershell-with-wget.patch.1
+++ /dev/null
@@ -1,11 +0,0 @@
---- python3/PCbuild/find_python.bat    2025-01-03 11:53:41.867445033 +0100
-+++ python3/PCbuild/find_python.bat    2025-01-03 11:54:25.018865518 +0100
-@@ -56,7 +56,7 @@
-     @rem NB: Must use single quotes around NUGET here, NOT double!
-     @rem Otherwise, a space in the path would break things
-     @rem If it fails, retry with any available copy of Python
--    @powershell.exe -Command Invoke-WebRequest %_Py_NUGET_URL% -OutFile 
'%_Py_NUGET%'
-+    @wget -O '%_Py_NUGET%' %_Py_NUGET_URL%
-     @if errorlevel 1 (
-         @%_Py_HOST_PYTHON% -E "%_Py_D%\urlretrieve.py" "%_Py_NUGET_URL%" 
"%_Py_NUGET%"
-     )

Reply via email to