Skip to content

Commit 82a3383

Browse files
committed
unvendor expat
1 parent 20d8a80 commit 82a3383

File tree

3 files changed

+207
-0
lines changed

3 files changed

+207
-0
lines changed

recipe/build_base.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,7 @@ _common_configure_args+=(--enable-ipv6)
242242
_common_configure_args+=(--with-ensurepip=no)
243243
_common_configure_args+=(--with-tzpath=${PREFIX}/share/zoneinfo)
244244
_common_configure_args+=(--with-computed-gotos)
245+
_common_configure_args+=(--with-system-expat)
245246
_common_configure_args+=(--enable-loadable-sqlite-extensions)
246247
_common_configure_args+=(--with-tcltk-includes="-I${PREFIX}/include")
247248
_common_configure_args+=("--with-tcltk-libs=-L${PREFIX}/lib -ltcl8.6 -ltk8.6")

recipe/meta.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ source:
7676
- patches/0015-unvendor-xz.patch
7777
- patches/0016-unvendor-zlib.patch
7878
- patches/0017-Do-not-pass-g-to-GCC-when-not-Py_DEBUG.patch
79+
- patches/0018-Unvendor-expat.patch
7980
- patches/0019-Remove-unused-readelf.patch
8081
- patches/0021-Override-configure-LIBFFI.patch
8182

@@ -189,6 +190,7 @@ outputs:
189190
- libffi {{ libffi }}
190191
- ld_impl_{{ target_platform }} >=2.35.1 # [linux]
191192
- libuuid 1.41.5 # [linux]
193+
- expat {{ expat }}
192194
run:
193195
- ld_impl_{{ target_platform }} >=2.35.1 # [linux]
194196
- tzdata
Lines changed: 204 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,204 @@
1+
From eec3d786f18cbe7bb4bd3f5120a1d9337ea7c44b Mon Sep 17 00:00:00 2001
2+
From: Isuru Fernando <[email protected]>
3+
Date: Wed, 29 Mar 2023 23:07:10 -0500
4+
Subject: [PATCH 18/21] Unvendor expat
5+
6+
---
7+
PCbuild/_elementtree.vcxproj | 25 ++----------
8+
PCbuild/_elementtree.vcxproj.filters | 58 +---------------------------
9+
PCbuild/pyexpat.vcxproj | 12 ++----
10+
PCbuild/pyexpat.vcxproj.filters | 19 +--------
11+
4 files changed, 10 insertions(+), 104 deletions(-)
12+
13+
diff --git a/PCbuild/_elementtree.vcxproj b/PCbuild/_elementtree.vcxproj
14+
index 20cc09d63f..de476a6add 100644
15+
--- a/PCbuild/_elementtree.vcxproj
16+
+++ b/PCbuild/_elementtree.vcxproj
17+
@@ -93,36 +93,19 @@
18+
</PropertyGroup>
19+
<ItemDefinitionGroup>
20+
<ClCompile>
21+
- <AdditionalIncludeDirectories>..\Modules\expat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
22+
+ <AdditionalIncludeDirectories>$(condaDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
23+
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;USE_PYEXPAT_CAPI;XML_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
24+
<AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">/d1trimfile:%SRC_DIR%</AdditionalOptions>
25+
<AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">/d1trimfile:%SRC_DIR%</AdditionalOptions>
26+
<AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">/d1trimfile:%SRC_DIR%</AdditionalOptions>
27+
<AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">/d1trimfile:%SRC_DIR%</AdditionalOptions>
28+
</ClCompile>
29+
+ <Link>
30+
+ <AdditionalDependencies>$(condaDir)\lib\expat.lib;%(AdditionalDependencies)</AdditionalDependencies>
31+
+ </Link>
32+
</ItemDefinitionGroup>
33+
- <ItemGroup>
34+
- <ClInclude Include="..\Modules\expat\ascii.h" />
35+
- <ClInclude Include="..\Modules\expat\asciitab.h" />
36+
- <ClInclude Include="..\Modules\expat\expat.h" />
37+
- <ClInclude Include="..\Modules\expat\expat_config.h" />
38+
- <ClInclude Include="..\Modules\expat\expat_external.h" />
39+
- <ClInclude Include="..\Modules\expat\iasciitab.h" />
40+
- <ClInclude Include="..\Modules\expat\internal.h" />
41+
- <ClInclude Include="..\Modules\expat\latin1tab.h" />
42+
- <ClInclude Include="..\Modules\expat\macconfig.h" />
43+
- <ClInclude Include="..\Modules\expat\nametab.h" />
44+
- <ClInclude Include="..\Modules\expat\pyexpatns.h" />
45+
- <ClInclude Include="..\Modules\expat\utf8tab.h" />
46+
- <ClInclude Include="..\Modules\expat\winconfig.h" />
47+
- <ClInclude Include="..\Modules\expat\xmlrole.h" />
48+
- <ClInclude Include="..\Modules\expat\xmltok.h" />
49+
- </ItemGroup>
50+
<ItemGroup>
51+
<ClCompile Include="..\Modules\_elementtree.c" />
52+
- <ClCompile Include="..\Modules\expat\xmlparse.c" />
53+
- <ClCompile Include="..\Modules\expat\xmlrole.c" />
54+
- <ClCompile Include="..\Modules\expat\xmltok.c" />
55+
</ItemGroup>
56+
<ItemGroup>
57+
<ResourceCompile Include="..\PC\python_nt.rc" />
58+
diff --git a/PCbuild/_elementtree.vcxproj.filters b/PCbuild/_elementtree.vcxproj.filters
59+
index bc14e31f32..7cc8e9a3b9 100644
60+
--- a/PCbuild/_elementtree.vcxproj.filters
61+
+++ b/PCbuild/_elementtree.vcxproj.filters
62+
@@ -17,70 +17,14 @@
63+
<UniqueIdentifier>{f99990ba-cd06-40cc-8f28-d2d424ec13be}</UniqueIdentifier>
64+
</Filter>
65+
</ItemGroup>
66+
- <ItemGroup>
67+
- <ClInclude Include="..\Modules\expat\ascii.h">
68+
- <Filter>Header Files\expat</Filter>
69+
- </ClInclude>
70+
- <ClInclude Include="..\Modules\expat\asciitab.h">
71+
- <Filter>Header Files\expat</Filter>
72+
- </ClInclude>
73+
- <ClInclude Include="..\Modules\expat\expat.h">
74+
- <Filter>Header Files\expat</Filter>
75+
- </ClInclude>
76+
- <ClInclude Include="..\Modules\expat\expat_config.h">
77+
- <Filter>Header Files\expat</Filter>
78+
- </ClInclude>
79+
- <ClInclude Include="..\Modules\expat\expat_external.h">
80+
- <Filter>Header Files\expat</Filter>
81+
- </ClInclude>
82+
- <ClInclude Include="..\Modules\expat\iasciitab.h">
83+
- <Filter>Header Files\expat</Filter>
84+
- </ClInclude>
85+
- <ClInclude Include="..\Modules\expat\internal.h">
86+
- <Filter>Header Files\expat</Filter>
87+
- </ClInclude>
88+
- <ClInclude Include="..\Modules\expat\latin1tab.h">
89+
- <Filter>Header Files\expat</Filter>
90+
- </ClInclude>
91+
- <ClInclude Include="..\Modules\expat\macconfig.h">
92+
- <Filter>Header Files\expat</Filter>
93+
- </ClInclude>
94+
- <ClInclude Include="..\Modules\expat\nametab.h">
95+
- <Filter>Header Files\expat</Filter>
96+
- </ClInclude>
97+
- <ClInclude Include="..\Modules\expat\pyexpatns.h">
98+
- <Filter>Header Files\expat</Filter>
99+
- </ClInclude>
100+
- <ClInclude Include="..\Modules\expat\utf8tab.h">
101+
- <Filter>Header Files\expat</Filter>
102+
- </ClInclude>
103+
- <ClInclude Include="..\Modules\expat\winconfig.h">
104+
- <Filter>Header Files\expat</Filter>
105+
- </ClInclude>
106+
- <ClInclude Include="..\Modules\expat\xmlrole.h">
107+
- <Filter>Header Files\expat</Filter>
108+
- </ClInclude>
109+
- <ClInclude Include="..\Modules\expat\xmltok.h">
110+
- <Filter>Header Files\expat</Filter>
111+
- </ClInclude>
112+
- </ItemGroup>
113+
<ItemGroup>
114+
<ClCompile Include="..\Modules\_elementtree.c">
115+
<Filter>Source Files</Filter>
116+
</ClCompile>
117+
- <ClCompile Include="..\Modules\expat\xmlparse.c">
118+
- <Filter>Source Files\expat</Filter>
119+
- </ClCompile>
120+
- <ClCompile Include="..\Modules\expat\xmlrole.c">
121+
- <Filter>Source Files\expat</Filter>
122+
- </ClCompile>
123+
- <ClCompile Include="..\Modules\expat\xmltok.c">
124+
- <Filter>Source Files\expat</Filter>
125+
- </ClCompile>
126+
</ItemGroup>
127+
<ItemGroup>
128+
<ResourceCompile Include="..\PC\python_nt.rc">
129+
<Filter>Resource Files</Filter>
130+
</ResourceCompile>
131+
</ItemGroup>
132+
-</Project>
133+
\ No newline at end of file
134+
+</Project>
135+
diff --git a/PCbuild/pyexpat.vcxproj b/PCbuild/pyexpat.vcxproj
136+
index 3be4ac06dd..e253b39c86 100644
137+
--- a/PCbuild/pyexpat.vcxproj
138+
+++ b/PCbuild/pyexpat.vcxproj
139+
@@ -90,23 +90,19 @@
140+
<PropertyGroup Label="UserMacros" />
141+
<ItemDefinitionGroup>
142+
<ClCompile>
143+
- <AdditionalIncludeDirectories>$(PySourcePath)Modules\expat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
144+
+ <AdditionalIncludeDirectories>$(condaDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
145+
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;PYEXPAT_EXPORTS;XML_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
146+
<AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">/d1trimfile:%SRC_DIR%</AdditionalOptions>
147+
<AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">/d1trimfile:%SRC_DIR%</AdditionalOptions>
148+
<AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">/d1trimfile:%SRC_DIR%</AdditionalOptions>
149+
<AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">/d1trimfile:%SRC_DIR%</AdditionalOptions>
150+
</ClCompile>
151+
+ <Link>
152+
+ <AdditionalDependencies>$(condaDir)\lib\expat.lib;%(AdditionalDependencies)</AdditionalDependencies>
153+
+ </Link>
154+
</ItemDefinitionGroup>
155+
- <ItemGroup>
156+
- <ClInclude Include="..\Modules\expat\xmlrole.h" />
157+
- <ClInclude Include="..\Modules\expat\xmltok.h" />
158+
- </ItemGroup>
159+
<ItemGroup>
160+
<ClCompile Include="..\Modules\pyexpat.c" />
161+
- <ClCompile Include="..\Modules\expat\xmlparse.c" />
162+
- <ClCompile Include="..\Modules\expat\xmlrole.c" />
163+
- <ClCompile Include="..\Modules\expat\xmltok.c" />
164+
</ItemGroup>
165+
<ItemGroup>
166+
<ResourceCompile Include="..\PC\python_nt.rc" />
167+
diff --git a/PCbuild/pyexpat.vcxproj.filters b/PCbuild/pyexpat.vcxproj.filters
168+
index fd22fc8c47..41c73b434b 100644
169+
--- a/PCbuild/pyexpat.vcxproj.filters
170+
+++ b/PCbuild/pyexpat.vcxproj.filters
171+
@@ -11,31 +11,14 @@
172+
<UniqueIdentifier>{f1dbbdb5-41e5-4a88-bf8e-13da010c0ce4}</UniqueIdentifier>
173+
</Filter>
174+
</ItemGroup>
175+
- <ItemGroup>
176+
- <ClInclude Include="..\Modules\expat\xmlrole.h">
177+
- <Filter>Header Files</Filter>
178+
- </ClInclude>
179+
- <ClInclude Include="..\Modules\expat\xmltok.h">
180+
- <Filter>Header Files</Filter>
181+
- </ClInclude>
182+
- </ItemGroup>
183+
<ItemGroup>
184+
<ClCompile Include="..\Modules\pyexpat.c">
185+
<Filter>Source Files</Filter>
186+
</ClCompile>
187+
- <ClCompile Include="..\Modules\expat\xmlparse.c">
188+
- <Filter>Source Files</Filter>
189+
- </ClCompile>
190+
- <ClCompile Include="..\Modules\expat\xmlrole.c">
191+
- <Filter>Source Files</Filter>
192+
- </ClCompile>
193+
- <ClCompile Include="..\Modules\expat\xmltok.c">
194+
- <Filter>Source Files</Filter>
195+
- </ClCompile>
196+
</ItemGroup>
197+
<ItemGroup>
198+
<ResourceCompile Include="..\PC\python_nt.rc">
199+
<Filter>Resource Files</Filter>
200+
</ResourceCompile>
201+
</ItemGroup>
202+
-</Project>
203+
\ No newline at end of file
204+
+</Project>

0 commit comments

Comments
 (0)