@@ -30,7 +30,7 @@ PYTHON_VER=$(basename $(PYTHON_VERSION))
30
30
BZIP2_VERSION =1.0.8-2
31
31
LIBFFI_VERSION =3.4.7-2
32
32
MPDECIMAL_VERSION =4.0.0-2
33
- OPENSSL_VERSION =3.0.16-2
33
+ OPENSSL_VERSION =3.0.17-1
34
34
XZ_VERSION =5.6.4-2
35
35
36
36
# Supported OS
@@ -192,6 +192,26 @@ $$(XZ_LIB-$(target)): downloads/xz-$(XZ_VERSION)-$(target).tar.gz
192
192
# Ensure the target is marked as clean.
193
193
touch $$(XZ_LIB-$(target ) )
194
194
195
+ # ##########################################################################
196
+ # Target: zstd (ZStandard)
197
+ # ##########################################################################
198
+
199
+ ZSTD_INSTALL-$(target ) =$(PROJECT_DIR ) /install/$(os ) /$(target ) /zstd-$(ZSTD_VERSION )
200
+ ZSTD_LIB-$(target ) =$$(ZSTD_INSTALL-$(target ) ) /lib/libzstd.a
201
+
202
+ downloads/zstd-$(ZSTD_VERSION ) -$(target ) .tar.gz:
203
+ @echo ">>> Download zstd for $(target ) "
204
+ mkdir -p downloads
205
+ curl $(CURL_FLAGS ) -o $$@ \
206
+ https://github.com/beeware/cpython-apple-source-deps/releases/download/zstd-$(ZSTD_VERSION ) /zstd-$(ZSTD_VERSION ) -$(target ) .tar.gz
207
+
208
+ $$(ZSTD_LIB-$(target ) ) : downloads/zstd-$(ZSTD_VERSION ) -$(target ) .tar.gz
209
+ @echo ">>> Install zstd for $(target ) "
210
+ mkdir -p $$(ZSTD_INSTALL-$(target ) )
211
+ cd $$(ZSTD_INSTALL-$(target ) ) && tar zxvf $(PROJECT_DIR ) /downloads/zstd-$(ZSTD_VERSION ) -$(target ) .tar.gz --exclude="*.dylib"
212
+ # Ensure the target is marked as clean.
213
+ touch $$(ZSTD_LIB-$(target ) )
214
+
195
215
# ##########################################################################
196
216
# Target: mpdecimal
197
217
# ##########################################################################
@@ -285,7 +305,8 @@ $$(PYTHON_SRCDIR-$(target))/configure: \
285
305
$$(LIBFFI_LIB-$(target ) ) \
286
306
$$(MPDECIMAL_LIB-$(target ) ) \
287
307
$$(OPENSSL_SSL_LIB-$(target ) ) \
288
- $$(XZ_LIB-$(target ) )
308
+ $$(XZ_LIB-$(target ) ) \
309
+ $$(ZSTD_LIB-$(target ) )
289
310
@echo " >>> Unpack and configure Python for $( target) "
290
311
mkdir -p $$(PYTHON_SRCDIR-$(target ) )
291
312
tar zxf downloads/Python-$(PYTHON_VERSION ) .tar.gz --strip-components 1 -C $$(PYTHON_SRCDIR-$(target ) )
@@ -310,6 +331,8 @@ $$(PYTHON_SRCDIR-$(target))/Makefile: \
310
331
LIBMPDEC_LIBS=" -L$$ (MPDECIMAL_INSTALL-$( target) )/lib -lmpdec" \
311
332
LIBFFI_CFLAGS=" -I$$ (LIBFFI_INSTALL-$( target) )/include" \
312
333
LIBFFI_LIBS=" -L$$ (LIBFFI_INSTALL-$( target) )/lib -lffi" \
334
+ LIBZSTD_CFLAGS ="-I$$(ZSTD_INSTALL-$(target ) ) /include" \
335
+ LIBZSTD_LIBS="-L$$(ZSTD_INSTALL-$(target ) ) /lib -lzstd" \
313
336
--host=$$(TARGET_TRIPLE-$(target ) ) \
314
337
--build=$(HOST_ARCH ) -apple-darwin \
315
338
--with-build-python=$(HOST_PYTHON ) \
@@ -693,6 +716,7 @@ endif
693
716
echo "mpdecimal: $(MPDECIMAL_VERSION)" >> support/$(PYTHON_VER)/$(os)/VERSIONS
694
717
echo "OpenSSL: $(OPENSSL_VERSION)" >> support/$(PYTHON_VER)/$(os)/VERSIONS
695
718
echo "XZ: $(XZ_VERSION)" >> support/$(PYTHON_VER)/$(os)/VERSIONS
719
+ echo "Zstandard: $(ZSTD_VERSION)" >> support/$(PYTHON_VER)/$(os)/VERSIONS
696
720
697
721
dist/Python-$(PYTHON_VER ) -$(os ) -support.$(BUILD_NUMBER ) .tar.gz : \
698
722
$$(PYTHON_XCFRAMEWORK-$(os ) ) /Info.plist \
@@ -761,6 +785,7 @@ config:
761
785
@echo " MPDECIMAL_VERSION=$( MPDECIMAL_VERSION) "
762
786
@echo " OPENSSL_VERSION=$( OPENSSL_VERSION) "
763
787
@echo " XZ_VERSION=$( XZ_VERSION) "
788
+ @echo " ZSTD_VERSION=$( ZSTD_VERSION) "
764
789
765
790
# Expand cross-platform build and clean targets for each output product
766
791
clean : $(foreach os,$(OS_LIST ) ,clean-$(os ) )
0 commit comments