Skip to content

Commit 12f8c4a

Browse files
committed
cURL 8.11.0 -> 8.13.0
changes for embedded / variables / moz cacert
1 parent 401442b commit 12f8c4a

File tree

1 file changed

+47
-22
lines changed

1 file changed

+47
-22
lines changed

apothecary/formulas/curl/curl.sh

Lines changed: 47 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,12 @@ FORMULA_DEPENDS=("openssl" "zlib" "brotli")
1111

1212
# Android to implementation 'com.android.ndk.thirdparty:curl:7.79.1-beta-1'
1313

14-
VER=8.11.0
15-
VER_D=8_11_0
16-
SHA1=9648c31756362343f1a0daba881e189d6fe8b4f4
14+
VER=8.13.0
15+
VER_D=8_13_0
16+
SHA1="07d4eae21a532e6b9736009bcb96140e6f03abc7"
1717
BUILD_ID=1
1818
DEFINES=""
19+
USE_OPENSSL=ON
1920

2021
# tools for git use
2122
GIT_URL=https://github.com/curl/curl
@@ -38,6 +39,9 @@ function download() {
3839
fi
3940
rm curl*.tar.gz
4041

42+
curl -LO https://curl.se/ca/cacert.pem
43+
mv cacert.pem curl/cacert.pem
44+
4145
}
4246

4347
# prepare the build environment, executed inside the lib src dir
@@ -71,6 +75,9 @@ function prepare() {
7175
fi
7276
echo "prepared"
7377

78+
79+
80+
7481
}
7582

7683
# executed inside the lib src dir
@@ -84,6 +91,8 @@ function build() {
8491
export OPENSSL_PATH=$OF_LIBS_OPENSSL_ABS_PATH
8592
fi
8693

94+
local CACERT_PATH=$(realpath ./cacert.pem)
95+
8796
if [ "$TYPE" == "vs" ]; then
8897
export OPENSSL_LIBRARIES=$OF_LIBS_OPENSSL_ABS_PATH/lib/$TYPE/$PLATFORM
8998
export OPENSSL_WINDOWS_PATH=$(cygpath -w ${OF_LIBS_OPENSSL_ABS_PATH} | sed "s/\\\/\\\\\\\\/g")
@@ -114,14 +123,26 @@ function build() {
114123
LIBBROTLI_ENC_LIB="$LIBBROTLI_LIBRARY/brotlienc.lib"
115124
LIBBROTLI_DEC_LIB="$LIBBROTLI_LIBRARY/brotlidec.lib"
116125

126+
if [ "$USE_OPENSSL" == "ON" ]; then
127+
OPENSSL_DEFS="-DCURL_USE_OPENSSL=ON \
128+
-DUSE_OPENSSL=ON \
129+
-DCURL_CA_FALLBACK=ON \
130+
-DCURL_CA_BUNDLE=$CACERT_PATH \
131+
-DCURL_CA_EMBED=$CACERT_PATH"
132+
CACERT_PATH=$(realpath "${CACERT_PATH}")
133+
OPENSSL_DEFS="${OPENSSL_DEFS} -DCURL_CA_BUNDLE=${CACERT_PATH} -DCURL_CA_EMBED=${CACERT_PATH}"
134+
else
135+
OPENSSL_DEFS="-DCURL_USE_OPENSSL=OFF -DUSE_OPENSSL=OFF -DCURL_USE_SCHANNEL=ON"
136+
fi
137+
117138
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig;${PKG_CONFIG_PATH};${OF_LIBS_OPENSSL}/lib/$TYPE/$PLATFORM;${ZLIB_ROOT}/lib/$TYPE/$PLATFORM;${LIBBROTLI_ROOT}/lib/$TYPE/$PLATFORM"
118139

119140
DEFS="-DLIBRARY_SUFFIX=${ARCH} \
120141
-DCMAKE_BUILD_TYPE=Release \
121142
-DCMAKE_C_STANDARD=${C_STANDARD} \
122143
-DCMAKE_CXX_STANDARD=${CPP_STANDARD} \
123144
-DCMAKE_CXX_STANDARD_REQUIRED=ON \
124-
-DCMAKE_CXX_EXTENSIONS=OFF
145+
-DCMAKE_CXX_EXTENSIONS=OFF \
125146
-DBUILD_SHARED_LIBS=OFF \
126147
-DCMAKE_INSTALL_PREFIX=Release \
127148
-DCMAKE_INCLUDE_OUTPUT_DIRECTORY=include \
@@ -140,11 +161,13 @@ function build() {
140161
-DBUILD_STATIC_LIBS=ON \
141162
-DBUILD_STATIC_CURL=ON \
142163
-DCURL_STATICLIB=ON \
164+
-DCURL_USE_LIBPSL=OFF \
143165
-DBUILD_STATIC_LIBS=ON \
144166
-DUSE_LIBIDN2=OFF \
145167
-DENABLE_UNICODE=ON \
146-
-DCURL_USE_OPENSSL=ON \
168+
${OPENSSL_DEFS} \
147169
-DUSE_SSLEAY=ON \
170+
-DUSE_NGHTTP2=ON \
148171
-DUSE_OPENSSL=ON \
149172
-DCURL_USE_OPENSSL=ON \
150173
-DCMAKE_INSTALL_LIBDIR="lib" \
@@ -193,6 +216,7 @@ function build() {
193216
-DOPENSSL_INCLUDE_DIR=${OF_LIBS_OPENSSL_ABS_PATH}/include \
194217
-DOPENSSL_CRYPTO_LIBRARY=${OPENSSL_LIBRARY_CRYPT} \
195218
-DOPENSSL_SSL_LIBRARY=${OPENSSL_LIBRARY} \
219+
-DCURL_CA_BUNDLE=$CACERT_PATH \
196220
-DOPENSSL_LIBRARIES=${OF_LIBS_OPENSSL_ABS_PATH}/lib/${TYPE}/${PLATFORM}/libssl.a;${OF_LIBS_OPENSSL_ABS_PATH}/lib/${TYPE}/${PLATFORM}/libcrypto.a"
197221

198222
ZLIB_ROOT="$LIBS_ROOT/zlib/"
@@ -205,7 +229,6 @@ function build() {
205229
LIBBROTLI_LIBRARY="$LIBS_ROOT/brotli/lib/$TYPE/$PLATFORM/libbrotlicommon.a"
206230
LIBBROTLI_ENC_LIB="$LIBS_ROOT/brotli/lib/$TYPE/$PLATFORM/libbrotlienc.a"
207231
LIBBROTLI_DEC_LIB="$LIBS_ROOT/brotli/lib/$TYPE/$PLATFORM/libbrotlidec.a"
208-
209232
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH}:${OPENSSL_ROOT}/lib/$TYPE/$PLATFORM:${ZLIB_ROOT}/lib/$TYPE/$PLATFORM:${LIBBROTLI_ROOT}/lib/$TYPE/$PLATFORM"
210233

211234
echo "building curl $TYPE | $PLATFORM"
@@ -237,6 +260,7 @@ function build() {
237260
-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON \
238261
-DCURL_STATICLIB=ON \
239262
-DBUILD_STATIC_LIBS=ON \
263+
-DCURL_CA_FALLBACK=ON \
240264
-DENABLE_UNICODE=ON \
241265
-DCMAKE_BUILD_TYPE=Release \
242266
-DCMAKE_INSTALL_PREFIX=Release \
@@ -263,9 +287,8 @@ function build() {
263287
-DCURL_ENABLE_SSL=${CURL_ENABLE_SSL} \
264288
-DUSE_SECURE_TRANSPORT=${USE_SECURE_TRANSPORT} \
265289
-DCURL_USE_SECTRANSP=${USE_SECURE_TRANSPORT} \
266-
-DUSE_NGHTTP2=OFF \
290+
-DUSE_NGHTTP2=ON \
267291
-DCURL_DISABLE_POP3=ON \
268-
-DCURL_CA_FALLBACK=ON \
269292
-DCURL_DISABLE_IMAP=ON \
270293
-DENABLE_WEBSOCKETS=ON \
271294
-DENABLE_UNIX_SOCKETS=ON \
@@ -307,18 +330,18 @@ function build() {
307330

308331
elif [[ "$TYPE" =~ ^(osx|ios|tvos|xros|catos|watchos)$ ]]; then
309332

310-
if [[ ! "$TYPE" =~ ^(tvos|catos|watchos)$ ]]; then
311-
export OPENSSL_LIBRARIES=$OF_LIBS_OPENSSL_ABS_PATH/lib/$TYPE/$PLATFORM
312-
OPENSSL_ROOT="$LIBS_ROOT/openssl/"
313-
OPENSSL_INCLUDE_DIR="$LIBS_ROOT/openssl/include"
314-
OPENSSL_LIBRARY="$LIBS_ROOT/openssl/lib/$TYPE/$PLATFORM/libssl.a"
315-
OPENSSL_LIBRARY_CRYPT="$LIBS_ROOT/openssl/lib/$TYPE/$PLATFORM/libcrypto.a"
316-
USE_SECURE_TRANSPORT=OFF
317-
CURL_ENABLE_SSL=ON
318-
SSL_DEFS="-DOPENSSL_ROOT_DIR=${OF_LIBS_OPENSSL_ABS_PATH} \
319-
-DOPENSSL_INCLUDE_DIR=${OF_LIBS_OPENSSL_ABS_PATH}/include \
320-
-DOPENSSL_LIBRARIES=${OF_LIBS_OPENSSL_ABS_PATH}/lib/${TYPE}/${PLATFORM}/libssl.a:${OF_LIBS_OPENSSL_ABS_PATH}/lib/${TYPE}/${PLATFORM}/libcrypto.a"
321-
else
333+
# if [[ ! "$TYPE" =~ ^(tvos|catos|watchos)$ ]]; then
334+
# export OPENSSL_LIBRARIES=$OF_LIBS_OPENSSL_ABS_PATH/lib/$TYPE/$PLATFORM
335+
# OPENSSL_ROOT="$LIBS_ROOT/openssl/"
336+
# OPENSSL_INCLUDE_DIR="$LIBS_ROOT/openssl/include"
337+
# OPENSSL_LIBRARY="$LIBS_ROOT/openssl/lib/$TYPE/$PLATFORM/libssl.a"
338+
# OPENSSL_LIBRARY_CRYPT="$LIBS_ROOT/openssl/lib/$TYPE/$PLATFORM/libcrypto.a"
339+
# USE_SECURE_TRANSPORT=OFF
340+
# CURL_ENABLE_SSL=ON
341+
# SSL_DEFS="-DOPENSSL_ROOT_DIR=${OF_LIBS_OPENSSL_ABS_PATH} \
342+
# -DOPENSSL_INCLUDE_DIR=${OF_LIBS_OPENSSL_ABS_PATH}/include \
343+
# -DOPENSSL_LIBRARIES=${OF_LIBS_OPENSSL_ABS_PATH}/lib/${TYPE}/${PLATFORM}/libssl.a:${OF_LIBS_OPENSSL_ABS_PATH}/lib/${TYPE}/${PLATFORM}/libcrypto.a"
344+
# else
322345
# disabled for tvOS SSL
323346
OPENSSL_ROOT="$LIBS_ROOT"
324347
OPENSSL_INCLUDE_DIR=""
@@ -330,7 +353,7 @@ function build() {
330353
CURL_ENABLE_SSL=OFF
331354
SSL_DEFS=""
332355

333-
fi
356+
# fi
334357

335358
ZLIB_ROOT="$LIBS_ROOT/zlib/"
336359
ZLIB_INCLUDE_DIR="$LIBS_ROOT/zlib/include"
@@ -354,6 +377,7 @@ function build() {
354377
-DCMAKE_C_STANDARD=${C_STANDARD} \
355378
-DCMAKE_CXX_STANDARD=${CPP_STANDARD} \
356379
-DCMAKE_CXX_STANDARD_REQUIRED=ON \
380+
-DCURL_CA_BUNDLE="$CACERT_PATH" \
357381
-DCMAKE_CXX_FLAGS="-DUSE_PTHREADS=1 ${FLAG_RELEASE} -Wno-error=implicit-function-declaration" \
358382
-DCMAKE_C_FLAGS="-DUSE_PTHREADS=1 ${FLAG_RELEASE} -Wno-error=implicit-function-declaration" \
359383
-DENABLE_STRICT_TRY_COMPILE=ON \
@@ -397,7 +421,8 @@ function build() {
397421
-DCMAKE_MACOSX_BUNDLE=OFF \
398422
-DUSE_SECURE_TRANSPORT=${USE_SECURE_TRANSPORT} \
399423
-DCURL_USE_SECTRANSP=${USE_SECURE_TRANSPORT} \
400-
-DUSE_NGHTTP2=OFF \
424+
-DUSE_NGHTTP2=ON \
425+
-DCURL_CA_FALLBACK=ON \
401426
-DCURL_DISABLE_POP3=ON \
402427
-DCURL_CA_FALLBACK=ON \
403428
-DCURL_DISABLE_IMAP=ON \

0 commit comments

Comments
 (0)