Skip to content

Commit 0c03501

Browse files
authored
cURL update / openssl (#538)
* OpenSSL - build2 allow some older functions like MD2, RC5, Older Ciphers * cURL 8.11.0 -> 8.13.0 changes for embedded / variables / moz cacert * tess2 cmake 3.5 minimum fix * curl - ignore brew dylib paths * curl cmake updates * curl path searchs restricted for zstd linking error to dynamic * CMake List min 3.5 * Fix cmake 3.0 to 3.22 curl system frameworks macos * curl system config macos * Cairo [1.18.0 -> 1.18.4] * Emscripten 4.0.4 -> 4.0.7 * Update cairo to use gitlab as canonical source * Emscripten fix * Cairo * Emscripten [4.0.7 -> 4.0.11] * curl [8.14.0 -> 8.15.0] * OpenSSL [4.4.1 -> 4.5.1] * OpenCV [4.11.0 -> 4.12.0] * Revert "OpenSSL [4.4.1 -> 4.5.1]" This reverts commit 454fca9. * OpenCV Fix emscripten * Windows Server Update * 2019 disabed * 2019
1 parent fae96e6 commit 0c03501

File tree

15 files changed

+95
-57
lines changed

15 files changed

+95
-57
lines changed

.github/workflows/build-emscripten.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ concurrency:
1414

1515
env:
1616
TARGET: "emscripten"
17-
EMSDK_VERSION: "4.0.4"
17+
EMSDK_VERSION: "4.0.11"
1818
USE_ARTIFACT: true
1919
PTHREADS_ENABLED: 1
2020
NO_FORCE: 1

.github/workflows/build-vs2022-arm64.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
build-vs2022-arm64:
4141
if: needs.pre-check.outputs.workflow_disabled != 'true'
4242
needs: pre-check
43-
runs-on: windows-2022
43+
runs-on: windows-2025
4444
strategy:
4545
matrix:
4646
bundle: [1,2]

.github/workflows/build-vs2022-arm64ec.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
build-vs2022-arm64ec:
4141
if: needs.pre-check.outputs.workflow_disabled != 'true'
4242
needs: pre-check
43-
runs-on: windows-2022
43+
runs-on: windows-2025
4444
strategy:
4545
matrix:
4646
bundle: [1,2]

.github/workflows/build-vs2022-x64.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
build-vs2022-64:
4141
if: needs.pre-check.outputs.workflow_disabled != 'true'
4242
needs: pre-check
43-
runs-on: windows-2022
43+
runs-on: windows-2025
4444
strategy:
4545
matrix:
4646
bundle: [1,2]

apothecary/formulas/cairo/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.0)
1+
cmake_minimum_required(VERSION 3.22)
22
project(cairo)
33

44
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")

apothecary/formulas/cairo/cairo.sh

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ FORMULA_DEPENDS=("zlib" "libpng" "pixman" "freetype")
1919
# as we set some env vars for osx the depends need to know about
2020
FORMULA_DEPENDS_MANUAL=1
2121

22-
VER=1.18.0
22+
VER=1.18.4
2323
BUILD_ID=1
2424
DEFINES=""
2525

26-
SHA1=fae6760ed0772681ddc60c603c9bb525ac74f000
26+
SHA1="0a54ce94df6e9db9b9d55ada2ef58b6c47861fde"
2727

2828
# tools for git use
2929
GIT_URL=http://anongit.freedesktop.org/git/cairo
@@ -37,18 +37,22 @@ function download() {
3737

3838
. "$DOWNLOADER_SCRIPT"
3939

40-
downloader ${URL}/cairo-$VER.tar.xz
41-
tar -xJf cairo-$VER.tar.xz
42-
CHECKSHA=$(shasum -a 1 cairo-$VER.tar.xz | cut -d ' ' -f1)
43-
rm cairo-$VER.tar.xz
40+
local TARBALL="cairo-${VER}.tar"
41+
42+
downloader "${GIT_LAB}.tar"
43+
44+
CHECKSHA=$(shasum -a 1 "${TARBALL}" | cut -d ' ' -f1)
4445
if [ "$CHECKSHA" != "$SHA1" ]; then
4546
echoError "ERROR! SHA did not Verify: [$CHECKSHA] SHA on Record:[$SHA1] - Developer has not updated SHA or Man in the Middle Attack"
46-
exit
47+
exit 1
4748
else
4849
echo "SHA for Download Verified Successfully: [$CHECKSHA] SHA on Record:[$SHA1]"
4950
fi
5051

51-
mv "cairo-$VER" cairo
52+
tar -xf "${TARBALL}"
53+
rm "${TARBALL}"
54+
55+
mv "cairo-${VER}" cairo
5256

5357
# if [ "$TYPE" == "vs" ] ; then
5458
# downloader ${GIT_LAB}.zip

apothecary/formulas/cairo/src/cairo-wideint-type-private.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,9 @@
4747
# include <inttypes.h>
4848
#elif HAVE_SYS_INT_TYPES_H
4949
# include <sys/int_types.h>
50-
#else
51-
#error Cannot find definitions for fixed-width integral types (uint8_t, uint32_t, etc.)
5250
#endif
5351

54-
#if defined(_MSC_VER)
52+
#if defined(_MSC_VER) && !defined(HAVE_STDINT_H)
5553
typedef __int8 int8_t;
5654
typedef unsigned __int8 uint8_t;
5755
typedef __int16 int16_t;
@@ -60,10 +58,11 @@
6058
typedef unsigned __int32 uint32_t;
6159
typedef __int64 int64_t;
6260
typedef unsigned __int64 uint64_t;
61+
#endif
62+
6363
# ifndef HAVE_UINT64_T
6464
# define HAVE_UINT64_T 1
6565
# endif
66-
#endif
6766

6867
#ifndef INT16_MIN
6968
# define INT16_MIN (-32767-1)

apothecary/formulas/curl/curl.sh

Lines changed: 52 additions & 21 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.15.0
15+
VER_D=8_15_0
16+
SHA1="5b4e79489e2d24da13d2fa75897f69ca5fff741e"
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"
@@ -350,10 +373,12 @@ function build() {
350373
mkdir -p "build_${TYPE}_${PLATFORM}"
351374
cd "build_${TYPE}_${PLATFORM}"
352375
rm -f CMakeCache.txt *.a *.o *.lib
376+
353377
cmake .. \
354378
-DCMAKE_C_STANDARD=${C_STANDARD} \
355379
-DCMAKE_CXX_STANDARD=${CPP_STANDARD} \
356380
-DCMAKE_CXX_STANDARD_REQUIRED=ON \
381+
-DCURL_CA_BUNDLE="$CACERT_PATH" \
357382
-DCMAKE_CXX_FLAGS="-DUSE_PTHREADS=1 ${FLAG_RELEASE} -Wno-error=implicit-function-declaration" \
358383
-DCMAKE_C_FLAGS="-DUSE_PTHREADS=1 ${FLAG_RELEASE} -Wno-error=implicit-function-declaration" \
359384
-DENABLE_STRICT_TRY_COMPILE=ON \
@@ -382,6 +407,8 @@ function build() {
382407
-DCMAKE_MINIMUM_REQUIRED_VERSION=3.22 \
383408
-DCURL_DISABLE_LDAP=ON \
384409
-DENABLE_VISIBILITY=OFF \
410+
-DCURL_DISABLE_ZSTD=ON \
411+
-DCURL_ZSTD=OFF \
385412
${SSL_DEFS} \
386413
-DCMAKE_PREFIX_PATH="${LIBS_ROOT}" \
387414
-DZLIB_ROOT=${ZLIB_ROOT} \
@@ -398,12 +425,16 @@ function build() {
398425
-DUSE_SECURE_TRANSPORT=${USE_SECURE_TRANSPORT} \
399426
-DCURL_USE_SECTRANSP=${USE_SECURE_TRANSPORT} \
400427
-DUSE_NGHTTP2=OFF \
428+
-DUSE_NGTCP2=OFF \
429+
-DCURL_CA_FALLBACK=ON \
401430
-DCURL_DISABLE_POP3=ON \
402431
-DCURL_CA_FALLBACK=ON \
403432
-DCURL_DISABLE_IMAP=ON \
404433
-DENABLE_WEBSOCKETS=ON \
405434
-DENABLE_UNIX_SOCKETS=ON \
406435
-DCURL_BROTLI=ON \
436+
-DCMAKE_PREFIX_PATH="${LIBS_ROOT}" \
437+
-DCMAKE_FIND_ROOT_PATH="${LIBS_ROOT}" \
407438
-DBROTLI_INCLUDE_DIRS=${LIBBROTLI_INCLUDE_DIR} \
408439
-DBROTLIDEC_LIBRARY=${LIBBROTLI_DEC_LIB} \
409440
-DBROTLICOMMON_LIBRARY=${LIBBROTLI_LIBRARY} \

apothecary/formulas/glew/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ endif ()
44

55
project (glew C)
66

7-
cmake_minimum_required (VERSION 2.8.12)
7+
cmake_minimum_required (VERSION 3.5)
88

99
include(GNUInstallDirs)
1010

0 commit comments

Comments
 (0)