tdf#168513: python3: bundle lzma

Change-Id: I7b9729cd293aea781b204888236c3aa5aa858eaa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193739
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
This commit is contained in:
Xisco Fauli
2025-11-11 21:40:00 +01:00
parent 1cb84d60d9
commit 6408a49ac5
6 changed files with 55 additions and 16 deletions
+2
View File
@@ -35,6 +35,7 @@ python3_EXTENSION_MODULES= \
PCbuild/$(python_arch_subdir)_decimal$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
PCbuild/$(python_arch_subdir)_elementtree$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
PCbuild/$(python_arch_subdir)_hashlib$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
PCbuild/$(python_arch_subdir)_lzma$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
PCbuild/$(python_arch_subdir)_msi$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
PCbuild/$(python_arch_subdir)_multiprocessing$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
PCbuild/$(python_arch_subdir)_overlapped$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
@@ -103,6 +104,7 @@ python3_EXTENSION_MODULES= \
Modules/_heapq.$(python3_EXTENSION_MODULE_SUFFIX).so \
Modules/_json.$(python3_EXTENSION_MODULE_SUFFIX).so \
Modules/_lsprof.$(python3_EXTENSION_MODULE_SUFFIX).so \
Modules/_lzma.$(python3_EXTENSION_MODULE_SUFFIX).so \
Modules/math.$(python3_EXTENSION_MODULE_SUFFIX).so \
Modules/_md5.$(python3_EXTENSION_MODULE_SUFFIX).so \
Modules/mmap.$(python3_EXTENSION_MODULE_SUFFIX).so \
+4
View File
@@ -12,6 +12,7 @@ $(eval $(call gb_ExternalProject_ExternalProject,python3))
$(eval $(call gb_ExternalProject_use_externals,python3,\
bzip2 \
expat \
$(if $(filter-out WNT,$(OS)),$(call gb_Helper_optional,LZMA,lzma)) \
$(if $(filter WNT LINUX,$(OS)),libffi) \
openssl \
$(if $(filter LINUX,$(OS)),$(call gb_Helper_optional,SQLITE3,sqlite3)) \
@@ -44,6 +45,7 @@ $(call gb_ExternalProject_get_state_target,python3,build) :
/p:opensslOutDir=$(gb_UnpackedTarball_workdir)/openssl \
/p:zlibDir=$(gb_UnpackedTarball_workdir)/zlib \
/p:sqlite3Dir=$(gb_UnpackedTarball_workdir)/sqlite3 \
/p:lzmaDir=$(gb_UnpackedTarball_workdir)/lzma/ \
/p:libffiOutDir=$(gb_UnpackedTarball_workdir)/libffi/$(HOST_PLATFORM)/.libs \
/p:libffiIncludeDir=$(gb_UnpackedTarball_workdir)/libffi/$(HOST_PLATFORM)/include \
/maxcpucount \
@@ -115,6 +117,7 @@ $(call gb_ExternalProject_get_state_target,python3,build) :
$(if $(SYSTEM_BZIP2),,-I$(gb_UnpackedTarball_workdir)/bzip2) \
$(if $(SYSTEM_EXPAT),,-I$(gb_UnpackedTarball_workdir)/expat/lib) \
$(if $(SYSTEM_SQLITE3),,-I$(gb_UnpackedTarball_workdir)/sqlite3) \
$(if $(SYSTEM_LZMA),,-I$(gb_UnpackedTarball_workdir)/lzma/src/liblzma/api) \
$(if $(SYSBASE), -I$(SYSBASE)/usr/include) \
)" \
$(if $(python3_cflags),CFLAGS='$(python3_cflags)') \
@@ -125,6 +128,7 @@ $(call gb_ExternalProject_get_state_target,python3,build) :
$(if $(SYSTEM_EXPAT),,-L$(gb_StaticLibrary_WORKDIR)) \
$(if $(SYSTEM_ZLIB),,-L$(gb_StaticLibrary_WORKDIR)) \
$(if $(SYSTEM_SQLITE3),,-L$(gb_StaticLibrary_WORKDIR)) \
$(if $(SYSTEM_LZMA),,-L$(gb_StaticLibrary_WORKDIR)) \
$(if $(SYSBASE), -L$(SYSBASE)/usr/lib) \
$(gb_LTOFLAGS) \
)" \
+1
View File
@@ -43,6 +43,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,python3,\
external/python3/init-sys-streams-cant-initialize-stdin.patch.0 \
external/python3/setuptools.patch.1 \
external/python3/sqlite3.patch.1 \
external/python3/lzma.patch.1 \
))
ifneq ($(filter DRAGONFLY FREEBSD LINUX NETBSD OPENBSD SOLARIS,$(OS)),)
+40
View File
@@ -0,0 +1,40 @@
--- python3/PCbuild/liblzma.vcxproj 2025-11-11 15:48:28.599417380 +0100
+++ python3/PCbuild/liblzma.vcxproj 2025-11-11 15:56:54.184573039 +0100
@@ -91,8 +91,8 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
- <PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>$(lzmaDir)windows/vs2019;$(lzmaDir)src/liblzma/common;$(lzmaDir)src/common;$(lzmaDir)src/liblzma/api;$(lzmaDir)src/liblzma/check;$(lzmaDir)src/liblzma/delta;$(lzmaDir)src/liblzma/lz;$(lzmaDir)src/liblzma/lzma;$(lzmaDir)src/liblzma/rangecoder;$(lzmaDir)src/liblzma/simple;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;MYTHREAD_VISTA;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(lzmaDir)dos;$(lzmaDir)src/liblzma/common;$(lzmaDir)src/common;$(lzmaDir)src/liblzma/api;$(lzmaDir)src/liblzma/check;$(lzmaDir)src/liblzma/delta;$(lzmaDir)src/liblzma/lz;$(lzmaDir)src/liblzma/lzma;$(lzmaDir)src/liblzma/rangecoder;$(lzmaDir)src/liblzma/simple;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4028;4113;4133;4244;4267;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
</ItemDefinitionGroup>
@@ -101,9 +101,7 @@
<ClCompile Include="$(lzmaDir)src\common\tuklib_physmem.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\check\check.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\check\crc32_fast.c" />
- <ClCompile Include="$(lzmaDir)src\liblzma\check\crc32_table.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\check\crc64_fast.c" />
- <ClCompile Include="$(lzmaDir)src\liblzma\check\crc64_table.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\check\sha256.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\alone_decoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\alone_encoder.c" />
@@ -162,6 +161,7 @@
<ClCompile Include="$(lzmaDir)src\liblzma\lz\lz_encoder_mf.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\rangecoder\price_table.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\simple\arm.c" />
+ <ClCompile Include="$(lzmaDir)src\liblzma\simple\arm64.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\simple\armthumb.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\simple\ia64.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\simple\powerpc.c" />
@@ -238,7 +238,7 @@
<ClInclude Include="$(lzmaDir)src\liblzma\simple\simple_decoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\simple\simple_encoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\simple\simple_private.h" />
- <ClInclude Include="$(lzmaDir)windows\vs2019\config.h" />
+ <ClInclude Include="$(lzmaDir)dos\config.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
+1 -16
View File
@@ -24,7 +24,7 @@ diff -ru python3.orig/PCbuild/pcbuild.sln python3/PCbuild/pcbuild.sln
{FDB84CBB-2FB6-47C8-A2D6-091E0833239D} = {FDB84CBB-2FB6-47C8-A2D6-091E0833239D}
{73FCD2BD-F133-46B7-8EC1-144CD82A59D5} = {73FCD2BD-F133-46B7-8EC1-144CD82A59D5}
{2097F1C1-597C-4167-93E3-656A7D6339B2} = {2097F1C1-597C-4167-93E3-656A7D6339B2}
@@ -85,14 +80,10 @@
@@ -85,8 +80,6 @@
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_testimportmultiple", "_testimportmultiple.vcxproj", "{36D0C52C-DF4E-45D0-8BC7-E294C3ABC781}"
EndProject
@@ -33,21 +33,6 @@ diff -ru python3.orig/PCbuild/pcbuild.sln python3/PCbuild/pcbuild.sln
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_bz2", "_bz2.vcxproj", "{73FCD2BD-F133-46B7-8EC1-144CD82A59D5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "select", "select.vcxproj", "{18CAE28C-B454-46C1-87A0-493D91D97F03}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_lzma", "_lzma.vcxproj", "{F9D71780-F393-11E0-BE50-0800200C9A66}"
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unicodedata", "unicodedata.vcxproj", "{ECC7CEAC-A5E5-458E-BB9E-2413CC847881}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pyexpat", "pyexpat.vcxproj", "{D06B6426-4762-44CC-8BAD-D79052507F2F}"
@@ -139,8 +119,6 @@
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_queue", "_queue.vcxproj", "{78D80A15-BD8C-44E2-B49E-1F05B0A0A687}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liblzma", "liblzma.vcxproj", "{12728250-16EC-4DC6-94D7-E21DD88947F8}"
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "python_uwp", "python_uwp.vcxproj", "{9DE9E23D-C8D4-4817-92A9-920A8B1FE5FF}"
ProjectSection(ProjectDependencies) = postProject
{B11D750F-CD1F-4A96-85CE-E69A5C5259F9} = {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}
@@ -151,9 +129,6 @@
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "venvwlauncher", "venvwlauncher.vcxproj", "{FDB84CBB-2FB6-47C8-A2D6-091E0833239D}"
EndProject
+7
View File
@@ -61,5 +61,12 @@ class ImportsTest(unittest.TestCase):
with open(os.devnull, "w") as devnull:
print(str(_hashlib), file=devnull)
def test_lzma_import(self):
import lzma
# use imported lzma module for pyflakes
with open(os.devnull, "w") as devnull:
print(str(lzma), file=devnull)
if __name__ == '__main__':
unittest.main()