Skip to content

Commit 6f8f55d

Browse files
authored
Apothecary - XCFrameworks / PKL updates (#380)
* Assimp pkl * Brotli copy license * Pixman pkl and copy * Cairo fixed pkl and load * fmt pkl * OpenCV fixed download to use downloader / PKL / fixes for output / fixed etc * tess2 pkl * Secure fix for actual filename when passing name * Build force fix * Apothecary - Optimisations warnings * Fmod add pkl * rtaudio pkl load * Build script smaller tail on good * OpenCV License and copy fixes * Apothecary - XCFramework updates and fixes. Integrates PKL generation for combined binaries. Secure script fix name/params * Build and deploy osx changes * Fmod fix vs * Downloader in sync with oF * OpenCV fix release path for VS * Tess2 arch/platform VS fix - conforming all to PLATFORM * assimp emscripten path fix * Pixman path * pixman operand fix * Apothecary fix watchOS sim * Minimise Builds [watchos, xros, catos] - Disabled until mega / metal * Downloader fix for name * OpenSSL [3.0.12] to [3.3.0] * cURL [8.6.0] > [8.8.0] * opencv emscripten * curl fixes for new include path * curl include was fine
1 parent 3d0997e commit 6f8f55d

File tree

20 files changed

+425
-282
lines changed

20 files changed

+425
-282
lines changed
File renamed without changes.
File renamed without changes.

.github/workflows/build-xcframework.yml

+15-15
Original file line numberDiff line numberDiff line change
@@ -32,26 +32,26 @@ jobs:
3232
with:
3333
token: ${{ secrets.GITHUB_TOKEN }}
3434
workflow: 'build-macos.yml'
35-
- name: Wait build-xros
36-
uses: NathanFirmo/wait-for-other-action@v1.0.4
37-
with:
38-
token: ${{ secrets.GITHUB_TOKEN }}
39-
workflow: 'build-xros.yml'
40-
- name: Wait build-catos
41-
uses: NathanFirmo/wait-for-other-action@v1.0.4
42-
with:
43-
token: ${{ secrets.GITHUB_TOKEN }}
44-
workflow: 'build-catos.yml'
35+
# - name: Wait build-xros
36+
# uses: NathanFirmo/wait-for-other-action@v1.0.4
37+
# with:
38+
# token: ${{ secrets.GITHUB_TOKEN }}
39+
# workflow: 'build-xros.yml'
40+
# - name: Wait build-catos
41+
# uses: NathanFirmo/wait-for-other-action@v1.0.4
42+
# with:
43+
# token: ${{ secrets.GITHUB_TOKEN }}
44+
# workflow: 'build-catos.yml'
4545
- name: Wait build-tvos
4646
uses: NathanFirmo/wait-for-other-action@v1.0.4
4747
with:
4848
token: ${{ secrets.GITHUB_TOKEN }}
4949
workflow: 'build-tvos.yml'
50-
- name: Wait build-watchos
51-
uses: NathanFirmo/wait-for-other-action@v1.0.4
52-
with:
53-
token: ${{ secrets.GITHUB_TOKEN }}
54-
workflow: 'build-watchos.yml'
50+
# - name: Wait build-watchos
51+
# uses: NathanFirmo/wait-for-other-action@v1.0.4
52+
# with:
53+
# token: ${{ secrets.GITHUB_TOKEN }}
54+
# workflow: 'build-watchos.yml'
5555
build-xcframework:
5656
runs-on: macos-14
5757
if: github.repository == 'openframeworks/apothecary' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding')

apothecary/apothecary

+158-90
Large diffs are not rendered by default.

apothecary/formulas/_depends/brotli.sh

+6
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,12 @@ function copy() {
132132
cp -v "build_${TYPE}_${PLATFORM}/Release/"*.lib $1/lib/$TYPE/$PLATFORM/
133133
secure $1/lib/$TYPE/$PLATFORM/brotlidec.lib brotli.pkl
134134
fi
135+
136+
if [ -d "$1/license" ]; then
137+
rm -rf $1/license
138+
fi
139+
mkdir -p $1/license
140+
cp -v LICENSE $1/license/
135141
}
136142

137143
# executed inside the lib src dir

apothecary/formulas/_depends/pixman.sh

+14-17
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,8 @@ function build() {
8888
echo "building $TYPE | $ARCH | $VS_VER | vs: $VS_VER_GEN"
8989
echo "--------------------"
9090
GENERATOR_NAME="Visual Studio ${VS_VER_GEN}"
91-
mkdir -p "build_${TYPE}_${ARCH}"
92-
cd "build_${TYPE}_${ARCH}"
91+
mkdir -p "build_${TYPE}_${PLATFORM}"
92+
cd "build_${TYPE}_${PLATFORM}"
9393
rm -f CMakeCache.txt *.a *.o *.lib
9494
cmake .. \
9595
-DCMAKE_C_STANDARD=17 \
@@ -124,29 +124,26 @@ function build() {
124124
# executed inside the lib src dir, first arg $1 is the dest libs dir root
125125
function copy() {
126126

127+
. "$SECURE_SCRIPT"
128+
mkdir -p $1/include
129+
if [ -d "$1/license" ]; then
130+
rm -rf $1/license
131+
fi
132+
mkdir -p $1/license
127133
if [ "$TYPE" == "vs" ] ; then
128134

129135
mkdir -p $1/lib/$TYPE/$PLATFORM/
130-
cp -v "build_${TYPE}_${ARCH}/Release/lib/pixman-1_static.lib" $1/lib/$TYPE/$PLATFORM/libpixman-1.lib
131-
cp -RvT "build_${TYPE}_${ARCH}/Release/include/pixman-1" $1/include
132-
133-
# copy license file
134-
if [ -d "$1/license" ]; then
135-
rm -rf $1/license
136-
fi
137-
mkdir -p $1/license
138-
cp -v COPYING $1/license/LICENSE
139-
136+
cp -v "build_${TYPE}_${PLATFORM}/Release/lib/pixman-1_static.lib" $1/lib/$TYPE/$PLATFORM/libpixman-1.lib
137+
cp -Rv "build_${TYPE}_${PLATFORM}/Release/include/pixman-1/"* $1/include
138+
secure $1/lib/$TYPE/$PLATFORM/libpixman-1.lib pixman.pkl
140139
else # osx
141140
# lib
142141
mkdir -p $1/lib/$TYPE/$PLATFORM/
143142
cp -v "build_${TYPE}_${PLATFORM}/pixman/lib/libpixman-1.a" $1/lib/$TYPE/$PLATFORM/libpixman-1.a
144-
cp -Rv "build_${TYPE}_${PLATFORM}/Release/include/pixman-1" $1/include
145-
146-
# copy license file
147-
mkdir -p $1/license
148-
cp -v COPYING $1/license/LICENSE
143+
cp -Rv "build_${TYPE}_${PLATFORM}/Release/include/pixman-1/"* $1/include
144+
secure $1/lib/$TYPE/$PLATFORM/libpixman-1.a pixman.pkl
149145
fi
146+
cp -v COPYING $1/license/LICENSE
150147

151148
}
152149

apothecary/formulas/assimp.sh

+5-1
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,7 @@ function copy() {
357357
rm -rf $1/include/*
358358
cp -Rv include/* $1/include
359359

360-
360+
. "$SECURE_SCRIPT"
361361
# libs
362362
mkdir -p $1/lib/$TYPE
363363
if [ "$TYPE" == "vs" ] ; then
@@ -369,17 +369,21 @@ function copy() {
369369
cp -v "build_${TYPE}_${PLATFORM}/bin/Debug/assimp-vc${VC_VERSION}-mtd.dll" $1/lib/$TYPE/$PLATFORM/Debug/assimp-vc${VC_VERSION}-mtd.dll
370370
cp -v "build_${TYPE}_${PLATFORM}/lib/Release/assimp-vc${VC_VERSION}-mt.lib" $1/lib/$TYPE/$PLATFORM/Release/libassimp.lib
371371
cp -v "build_${TYPE}_${PLATFORM}/lib/Debug/assimp-vc${VC_VERSION}-mtd.lib" $1/lib/$TYPE/$PLATFORM/Debug/libassimpD.lib
372+
secure $1/lib/$TYPE/$PLATFORM/libassimp.a assimp.pkl
372373
elif [[ "$TYPE" =~ ^(osx|ios|tvos|xros|catos|watchos)$ ]]; then
373374
cp -v -r build_${TYPE}_${PLATFORM}/include/* $1/include
374375
mkdir -p $1/lib/$TYPE/$PLATFORM/
375376
cp -Rv build_${TYPE}_${PLATFORM}/lib/libassimp.a $1/lib/$TYPE/$PLATFORM/assimp.a
377+
secure $1/lib/$TYPE/$PLATFORM/assimp.a assimp.pkl
376378
elif [ "$TYPE" == "android" ]; then
377379
mkdir -p $1/lib/$TYPE/$ABI/
378380
cp -Rv build_${TYPE}_${ABI}/include/* $1/include
379381
cp -Rv build_${TYPE}_${ABI}/lib/libassimp.a $1/lib/$TYPE/$ABI/libassimp.a
382+
secure $1/lib/$TYPE/$PLATFORM/libassimp.a assimp.pkl
380383
elif [ "$TYPE" == "emscripten" ]; then
381384
cp -Rv build_emscripten/include/* $1/include
382385
cp -v "build_${TYPE}/lib/libassimp.a" $1/lib/$TYPE/libassimp.a
386+
secure $1/lib/$TYPE/libassimp.a assimp.pkl
383387
fi
384388

385389
# copy license files

apothecary/formulas/cairo/cairo.sh

+9-13
Original file line numberDiff line numberDiff line change
@@ -310,21 +310,19 @@ function build() {
310310
# executed inside the lib src dir, first arg $1 is the dest libs dir root
311311
function copy() {
312312
mkdir -p $1/include
313+
. "$SECURE_SCRIPT"
313314
if [ "$TYPE" == "vs" ] ; then
314315
mkdir -p $1/include/cairo
315316
mkdir -p $1/lib/$TYPE/$PLATFORM/
316317
cp -Rv "build_${TYPE}_${ARCH}/Release/include/"* $1/include/
317318
cp -v "build_${TYPE}_${ARCH}/Release/lib/cairo-static.lib" $1/lib/$TYPE/$PLATFORM/libcairo.lib
318-
. "$SECURE_SCRIPT"
319-
secure $1/lib/$TYPE/$PLATFORM/libcairo.lib
319+
secure $1/lib/$TYPE/$PLATFORM/libcairo.lib cairo.pkl
320320
elif [ "$TYPE" == "osx" ] ; then
321321
mkdir -p $1/lib/$TYPE/$PLATFORM/
322322
cp -v "build_${TYPE}_${PLATFORM}/Release/lib/libcairo-static.a" $1/lib/$TYPE/$PLATFORM/libcairo.a
323-
. "$SECURE_SCRIPT"
324-
secure $1/lib/$TYPE/$PLATFORM/libcairo.a
323+
secure $1/lib/$TYPE/$PLATFORM/libcairo.a cairo.pkl
325324
cp -Rv "build_${TYPE}_${PLATFORM}/Release/include/"* $1/include/
326325
fi
327-
328326
# copy license files
329327
if [ -d "$1/license" ]; then
330328
rm -rf $1/license
@@ -345,16 +343,14 @@ function clean() {
345343
make clean
346344
}
347345

348-
function save() {
349-
. "$SAVE_SCRIPT"
350-
savestatus ${TYPE} "cairo" ${ARCH} ${VER} true "${SAVE_FILE}"
351-
}
352346

353347
function load() {
354-
. "$LOAD_SCRIPT"
355-
if loadsave ${TYPE} "cairo" ${ARCH} ${VER} "${SAVE_FILE}"; then
356-
return 0;
348+
. "$LOAD_SCRIPT"
349+
LOAD_RESULT=$(loadsave ${TYPE} "cairo" ${ARCH} ${VER} "$LIBS_DIR_REAL/$1/lib/$TYPE/$PLATFORM" ${PLATFORM} )
350+
PREBUILT=$(echo "$LOAD_RESULT" | tail -n 1)
351+
if [ "$PREBUILT" -eq 1 ]; then
352+
echo 1
357353
else
358-
return 1;
354+
echo 0
359355
fi
360356
}

apothecary/formulas/curl/curl.sh

+9-11
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ FORMULA_TYPES=( "vs" "osx" "ios" "xros" )
1414
FORMULA_DEPENDS=( "openssl" "zlib" )
1515

1616
# define the version by sha
17-
VER=8_6_0
18-
VER_D=8.6.0
19-
SHA1=ec363b8c17ce83af85f4f18f6c5a2f19efd4e0e3
17+
VER=8.8.0
18+
VER_D=8_8_0
19+
SHA1=27b90781ec6353d9b52e88e4802c7436b1ed0529
2020

2121
# tools for git use
22-
GIT_URL=https://github.com/curl/curl.git
22+
GIT_URL=https://github.com/curl/curl
2323
GIT_TAG=$VER
2424

2525

@@ -28,18 +28,16 @@ function download() {
2828

2929
. "$DOWNLOADER_SCRIPT"
3030

31-
curl -Lk https://github.com/curl/curl/releases/download/curl-$VER/curl-$VER_D.tar.gz -o curl-$VER.tar.gz
31+
downloader $GIT_URL/releases/download/curl-$VER_D/curl-$VER.tar.gz
3232
tar -xf curl-$VER.tar.gz
33-
mv curl-$VER_D curl
33+
mv curl-$VER curl
3434
local CHECKSHA=$(shasum curl-$VER.tar.gz | awk '{print $1}')
3535
if [ "$CHECKSHA" != "$SHA1" ] ; then
3636
echoError "ERROR! SHA did not Verify: [$CHECKSHA] SHA on Record:[$SHA1] - Developer has not updated SHA or Man in the Middle Attack"
3737
else
3838
echo "SHA for Download Verified Successfully: [$CHECKSHA] SHA on Record:[$SHA1]"
3939
fi
4040
rm curl*.tar.gz
41-
42-
4341

4442
}
4543

@@ -332,20 +330,20 @@ function copy() {
332330

333331
if [ "$TYPE" == "vs" ] ; then
334332
mkdir -p $1/lib/$TYPE/$PLATFORM/
335-
cp -Rv "build_${TYPE}_${ARCH}/Release/include/" $1/
333+
cp -Rv "build_${TYPE}_${ARCH}/Release/include/"* $1/
336334
cp -v "build_${TYPE}_${ARCH}/Release/lib/libcurl.lib" $1/lib/$TYPE/$PLATFORM/libcurl.lib
337335
. "$SECURE_SCRIPT"
338336
secure $1/lib/$TYPE/$PLATFORM/libcurl.lib curl.pkl
339337
elif [[ "$TYPE" =~ ^(osx|ios|tvos|xros|catos|watchos)$ ]]; then
340338
mkdir -p $1/lib/$TYPE/$PLATFORM/
341-
cp -Rv "build_${TYPE}_${PLATFORM}/Release/include/" $1/include
339+
cp -Rv "build_${TYPE}_${PLATFORM}/Release/include/"* $1/include
342340
cp -v "build_${TYPE}_${PLATFORM}/Release/lib/libcurl.a" $1/lib/$TYPE/$PLATFORM/curl.a
343341
. "$SECURE_SCRIPT"
344342
secure $1/lib/$TYPE/$PLATFORM/curl.a curl.pkl
345343
elif [ "$TYPE" == "android" ] ; then
346344
#mkdir -p $1/lib/$TYPE/$ABI
347345
mkdir -p $1/lib/$TYPE/$ABI
348-
cp -Rv build/$TYPE/$ABI/include/curl/* $1/include/curl/
346+
cp -Rv build/$TYPE/$ABI/include/* $1/include/curl/
349347
# copy lib
350348
cp -Rv build/$TYPE/$ABI/lib/libcurl.a $1/lib/$TYPE/$ABI/libcurl.a
351349
. "$SECURE_SCRIPT"

apothecary/formulas/fmod.sh

+16
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,25 @@ function build() {
6363
# executed inside the lib src dir, first arg $1 is the dest libs dir root
6464
function copy() {
6565
cp -r ../fmod/ $1/
66+
67+
if [ "$TYPE" == "osx" ]; then
68+
. "$SECURE_SCRIPT"
69+
secure $1/lib/$TYPE/libfmod.dylib fmod
70+
fi
6671
}
6772

6873
# executed inside the lib src dir
6974
function clean() {
7075
: # noop
7176
}
77+
78+
function load() {
79+
. "$LOAD_SCRIPT"
80+
LOAD_RESULT=$(loadsave ${TYPE} "fmod" ${ARCH} ${VER} "$LIBS_DIR_REAL/$1/lib/$TYPE" ${PLATFORM} )
81+
PREBUILT=$(echo "$LOAD_RESULT" | tail -n 1)
82+
if [ "$PREBUILT" -eq 1 ]; then
83+
echo 1
84+
else
85+
echo 0
86+
fi
87+
}

apothecary/formulas/fmt/fmt.sh

+8-15
Original file line numberDiff line numberDiff line change
@@ -215,45 +215,38 @@ function build() {
215215
# executed inside the lib src dir, first arg $1 is the dest libs dir root
216216
function copy() {
217217
mkdir -p $1/include
218+
. "$SECURE_SCRIPT"
218219
if [ "$TYPE" == "vs" ] ; then
219220
mkdir -p $1/lib/$TYPE/$PLATFORM/
220-
mkdir -p $1/include
221221
cp -v "build_${TYPE}_${ARCH}/Release/lib/fmt.lib" $1/lib/$TYPE/$PLATFORM/fmt.lib
222222
cp -RT "build_${TYPE}_${ARCH}/Release/include/" $1/include
223+
secure $1/lib/$TYPE/$PLATFORM/fmt.lib fmt.pkl
223224
elif [[ "$TYPE" =~ ^(osx|ios|tvos|xros|catos|watchos)$ ]]; then
224225
mkdir -p $1/lib/$TYPE/$PLATFORM/
225-
mkdir -p $1/include
226226
cp -v "build_${TYPE}_${PLATFORM}/Release/lib/libfmt.a" $1/lib/$TYPE/$PLATFORM/libfmt.a
227-
. "$SECURE_SCRIPT"
228-
secure $1/lib/$TYPE/$ABI/libfmt.a
227+
secure $1/lib/$TYPE/$PLATFORM/libfmt.a fmt.pkl
229228
cp -R "build_${TYPE}_${PLATFORM}/Release/include/" $1/include
230229
elif [ "$TYPE" == "android" ] ; then
231230
mkdir -p $1/lib/$TYPE/$ABI/
232-
mkdir -p $1/include
233231
cp -v "build_${TYPE}_${ABI}/Release/lib/libfmt.lib" $1/lib/$TYPE/$ABI/libfmt.a
234-
. "$SECURE_SCRIPT"
235-
secure $1/lib/$TYPE/$ABI/libfmt.a
232+
secure $1/lib/$TYPE/$ABI/libfmt.a fmt.pkl
236233
cp -R "build_${TYPE}_${ABI}/Release/include/" $1/include
237234
elif [ "$TYPE" == "emscripten" ] ; then
238235
mkdir -p $1/lib/$TYPE/
239-
mkdir -p $1/include
240236
cp -v "build_${TYPE}/bin/fmt_wasm.wasm" $1/lib/$TYPE/libfmt.wasm
241237
cp -R "build_${TYPE}/Release/include/" $1/include
242-
. "$SECURE_SCRIPT"
243-
secure $1/lib/$TYPE/libfmt.wasm
238+
secure $1/lib/$TYPE/libfmt.wasm fmt.pkl
244239
else
245-
mkdir -p $1/include
246240
mkdir -p $1/lib/$TYPE/$PLATFORM/
247241
cp -v "build_${TYPE}_${PLATFORM}/Release/bin/.a" $1/lib/$TYPE/$PLATFORM/libfmt.a
248-
. "$SECURE_SCRIPT"
249-
secure $1/lib/$TYPE/$PLATFORM/libfmt.a
242+
secure $1/lib/$TYPE/$PLATFORM/libfmt.a fmt.pkl
250243
cp -R "build_${TYPE}_${PLATFORM}/Release/include/" $1/include
251244
fi
252245

253246
# copy license file
254247
if [ -d "$1/license" ]; then
255-
rm -rf $1/license
256-
fi
248+
rm -rf $1/license
249+
fi
257250
mkdir -p $1/license
258251
cp -v LICENSE $1/license/
259252
}

0 commit comments

Comments
 (0)