summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.fetch1
-rw-r--r--download.lst5
-rw-r--r--external/python3/ExternalProject_python3.mk6
-rw-r--r--external/python3/UnpackedTarball_python3.mk11
-rw-r--r--external/python3/replace-powershell-with-wget.patch.111
5 files changed, 16 insertions, 18 deletions
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%"
- )