Skip to content

Commit 0742b71

Browse files
authored
Apothecary Updates (#544)
* Emscripten [4.0.11 -> 4.0.16] * uriparser 0.9.7 -> 0.9.9 * Linux paths * Ubuntu 24.04.2 -> 24.04.3 * OpenCV fixes * chmod * fedora install * Linux updates cross and rpi * linux script fix * rpi * rpi
1 parent 67987d8 commit 0742b71

File tree

21 files changed

+535
-164
lines changed

21 files changed

+535
-164
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.11"
17+
EMSDK_VERSION: "4.0.16"
1818
USE_ARTIFACT: true
1919
PTHREADS_ENABLED: 1
2020
NO_FORCE: 1

.github/workflows/build-linux-cross.yml

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,13 @@ jobs:
4242
strategy:
4343
matrix:
4444
cfg:
45-
- {target: linux, arch: arm64, gcc: gcc14}
46-
# - {target: linux, arch: jetson, gcc: gcc14}
45+
- { distro: ubuntu, target: linux, arch: arm64, gcc: gcc14}
46+
# - { distro: jetson, target: linux, arch:arm64, gcc: gcc14}
4747
env:
4848
TARGET: ${{matrix.cfg.target}}
4949
GCC: ${{matrix.cfg.gcc}}
5050
ARCH: ${{matrix.cfg.arch}}
51+
DISTRO: ${{matrix.cfg.distro}}
5152
steps:
5253
- uses: actions/checkout@v4.2.2
5354
- name: Check if Workflow is disabled
@@ -69,16 +70,13 @@ jobs:
6970
else
7071
echo "RELEASE=latest" >> $GITHUB_ENV
7172
fi
72-
7373
- name: Scripts Calc Formula - ${{matrix.cfg.target}} - ${{matrix.cfg.gcc}}
7474
run: ./scripts/calculate_formulas.sh
75-
7675
- name: Scripts Setup
77-
run: sudo ./scripts/${{ env.TARGET }}/${{ env.ARCH }}/setup.sh
78-
79-
- name: BuildLinux64
76+
run: sudo ./scripts/${{ env.TARGET }}/${{ env.DISTRO }}/${{ env.ARCH }}/setup.sh
77+
- name: Build
8078
working-directory: ${{env.GITHUB_WORKSPACE}}
81-
run: scripts/build.sh
79+
run: ./scripts/${{ env.TARGET }}/${{ env.DISTRO }}/${{ env.ARCH }}/build.sh
8280
env:
8381
BUNDLE: ${{ matrix.bundle }}
8482
- name: Package
@@ -87,15 +85,13 @@ jobs:
8785
run: scripts/package.sh
8886
env:
8987
BUNDLE: ${{ matrix.bundle }}
90-
9188
- name: List output directory
9289
run: ls -lah out/
93-
94-
- name: Update Release 64
90+
- name: Update GitHub Release
9591
if: github.repository == 'openframeworks/apothecary' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding')
9692
uses: softprops/action-gh-release@v2.1.0
9793
with:
9894
token: ${{ secrets.GITHUB_TOKEN }}
9995
tag_name: ${{ env.RELEASE }}
10096
draft: false
101-
files: out/openFrameworksLibs_${{ env.RELEASE }}_${{ env.TARGET }}_${{ env.ARCH }}_${{ env.GCC }}.tar.bz2
97+
files: out/openFrameworksLibs_${{ env.RELEASE }}_${{ env.TARGET }}_${{ env.DISTRO }}_${{ env.ARCH }}_${{ env.GCC }}.tar.bz2

.github/workflows/build-linux-rpi.yml

Lines changed: 146 additions & 120 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ env:
1717
GA_CI_SECRET: ${{ secrets.CI_SECRET }}
1818
USE_ARTIFACT: false
1919
DISABLE_WORKFLOW: "true"
20+
DISTRO: raspios
2021

2122
jobs:
2223
pre-check:
@@ -90,21 +91,22 @@ jobs:
9091
echo "RELEASE=latest" >> $GITHUB_ENV
9192
fi
9293
93-
- name: Script Install
94-
run: sudo ./scripts/${{ env.TARGET }}/raspios/${{ env.ARCH }}/install.sh
95-
9694
- name: Setup Cross Compiler and Target Local File System
97-
run: sudo ./scripts/${{ env.TARGET }}/raspios/${{ env.ARCH }}/setup.sh
95+
run: sudo ./scripts/${{ env.TARGET }}/${{ env.DISTRO }}/${{ env.ARCH }}/setup.sh
9896

99-
- name: Build
100-
run: ./scripts/${{ env.TARGET }}/raspios/${{ env.ARCH }}/build.sh
97+
- name: Script Install and Build
98+
run: sudo ./scripts/${{ env.TARGET }}/${{ env.DISTRO }}/${{ env.ARCH }}/install.sh
99+
100+
- name: Script Install and Build
101+
run: ./scripts/${{ env.TARGET }}/${{ env.DISTRO }}/${{ env.ARCH }}/build.sh
101102

102103
- name: Package
103104
#if: github.repository == 'openframeworks/apothecary' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding')
104105
working-directory: ${{ env.GITHUB_WORKSPACE }}
105106
run: scripts/package.sh
106107
env:
107108
BUNDLE: ${{ matrix.bundle }}
109+
DISTRO: ${{ env.DISTRO }}
108110
GCC: "_${{ matrix.CROSS_CPU }}_${{ matrix.CROSS_OS }}"
109111

110112
- name: List output directory
@@ -119,131 +121,155 @@ jobs:
119121
token: ${{ secrets.GITHUB_TOKEN }}
120122
tag_name: ${{ env.RELEASE }}
121123
draft: false
122-
files: out/openFrameworksLibs_${{ env.RELEASE }}_${{ env.TARGET }}_${{ env.ARCH }}_{{ env.GCC }}.tar.bz2
124+
files: out/openFrameworksLibs_${{ env.RELEASE }}_${{ env.TARGET }}_${{ env.DISTRO }}_${{ env.ARCH }}_{{ env.GCC }}.tar.bz2
123125

124-
build-linux-armv6l-pi-1zero:
125-
if: needs.pre-check.outputs.workflow_disabled != 'true'
126-
needs: pre-check
127-
runs-on: ubuntu-latest
128-
env:
129-
TARGET: linux
130-
ARCH: armv7l
131-
CROSS_COMPILER: raspbian
132-
CROSS_OS: bookworm
133-
WORKDIR: "/home/runner/work/apothecary/apothecary"
134-
SYSROOT: "${WORKDIR}/${CROSS_SYSROOT}"
135-
TOOLCHAIN_ROOT: "${WORKDIR}/${CROSS_COMPILER}"
136-
TOOLCHAIN_PREFIX: "arm-linux-gnueabihf"
126+
# build-linux-armv6l-pi-1zero:
127+
# if: needs.pre-check.outputs.workflow_disabled != 'true'
128+
# needs: pre-check
129+
# runs-on: ubuntu-latest
130+
# env:
131+
# TARGET: linux
132+
# ARCH: armv7l
133+
# CROSS_COMPILER: raspbian
134+
# CROSS_OS: bookworm
135+
# WORKDIR: "/home/runner/work/apothecary/apothecary"
136+
# SYSROOT: "${WORKDIR}/${CROSS_SYSROOT}"
137+
# TOOLCHAIN_ROOT: "${WORKDIR}/${CROSS_COMPILER}"
138+
# TOOLCHAIN_PREFIX: "arm-linux-gnueabihf"
137139

138-
steps:
139-
- uses: actions/checkout@v4.2.2
140-
- name: Determine Release
141-
id: vars
142-
shell: bash
143-
run: |
144-
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
145-
echo "RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV
146-
elif [[ "${{ github.ref }}" == "refs/heads/master" ]]; then
147-
echo "RELEASE=nightly" >> $GITHUB_ENV
148-
elif [[ "${{ github.ref }}" == "refs/heads/bleeding" ]]; then
149-
echo "RELEASE=latest" >> $GITHUB_ENV
150-
else
151-
echo "RELEASE=latest" >> $GITHUB_ENV
152-
fi
153-
- name: Update and Upgrade System Packages
154-
run: |
155-
sudo apt update && sudo apt dist-upgrade -y
156-
sudo apt-get install -y build-essential gcc g++ gfortran git texinfo bison libncurses-dev tar wget qemu-user-static rsync xz-utils
157-
158-
- name: Setup Cross Compiler and Target Local File System
159-
run: ./scripts/${{ env.TARGET }}/raspios/${{ env.ARCH }}/setup.sh
140+
# steps:
141+
# - uses: actions/checkout@v4.2.2
142+
# - name: Determine Release
143+
# id: vars
144+
# shell: bash
145+
# run: |
146+
# if [[ "${{ github.ref }}" == refs/tags/* ]]; then
147+
# echo "RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV
148+
# elif [[ "${{ github.ref }}" == "refs/heads/master" ]]; then
149+
# echo "RELEASE=nightly" >> $GITHUB_ENV
150+
# elif [[ "${{ github.ref }}" == "refs/heads/bleeding" ]]; then
151+
# echo "RELEASE=latest" >> $GITHUB_ENV
152+
# else
153+
# echo "RELEASE=latest" >> $GITHUB_ENV
154+
# fi
155+
# - name: Update and Upgrade System Packages
156+
# run: |
157+
# sudo apt update && sudo apt dist-upgrade -y
158+
# sudo apt-get install -y build-essential gcc g++ gfortran git texinfo bison libncurses-dev tar wget qemu-user-static rsync xz-utils
160159

161-
- name: Script Install and Build
162-
run: ./scripts/${{ env.TARGET }}/raspios/${{ env.ARCH }}/install.sh
160+
# - name: Setup Cross Compiler and Target Local File System
161+
# run: sudo ./scripts/${{ env.TARGET }}/${{ env.DISTRO }}/${{ env.ARCH }}/setup.sh
163162

164-
- name: Script Install and Build
165-
run: ./scripts/${{ env.TARGET }}/raspios/${{ env.ARCH }}/build.sh
163+
# - name: Script Install and Build
164+
# run: sudo ./scripts/${{ env.TARGET }}/${{ env.DISTRO }}/${{ env.ARCH }}/install.sh
166165

167-
- name: Update Release armv6l
168-
if: github.repository == 'openframeworks/apothecary' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding')
169-
uses: softprops/action-gh-release@v2.1.0
170-
with:
171-
token: ${{ secrets.GITHUB_TOKEN }}
172-
tag_name: ${{ env.RELEASE }}
173-
draft: false
174-
files: out/openFrameworksLibs_${{ env.RELEASE }}_${{ env.TARGET }}_${{ env.ARCH }}.tar.bz2
166+
# - name: Script Install and Build
167+
# run: ./scripts/${{ env.TARGET }}/${{ env.DISTRO }}/${{ env.ARCH }}/build.sh
175168

176-
build-linux-armv7-pi3ab45:
177-
if: needs.pre-check.outputs.workflow_disabled != 'true'
178-
needs: pre-check
179-
runs-on: ubuntu-latest
180-
env:
181-
TARGET: linux
182-
ARCH: armv7l
183-
CROSS_COMPILER: raspbian
184-
CROSS_OS: bookworm
185-
WORKDIR: "/home/runner/work/apothecary/apothecary"
186-
SYSROOT: "${WORKDIR}/${CROSS_SYSROOT}"
187-
TOOLCHAIN_ROOT: "${WORKDIR}/${CROSS_COMPILER}"
188-
TOOLCHAIN_PREFIX: "arm-linux-gnueabihf"
189-
steps:
190-
- uses: actions/checkout@v4.2.2
191-
- name: Check if Workflow is disabled
192-
run: |
193-
if [ "${{ env.DISABLE_WORKFLOW }}" == "true" ]; then
194-
echo "Workflow is disabled. Exiting."
195-
exit 78
196-
fi
169+
# - name: Package
170+
# #if: github.repository == 'openframeworks/apothecary' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding')
171+
# working-directory: ${{ env.GITHUB_WORKSPACE }}
172+
# run: scripts/package.sh
173+
# env:
174+
# BUNDLE: ${{ matrix.bundle }}
175+
# DISTRO: ${{ env.DISTRO }}
176+
# GCC: "_${{ matrix.CROSS_CPU }}_${{ matrix.CROSS_OS }}"
197177

198-
- name: Determine Release
199-
id: vars
200-
shell: bash
201-
run: |
202-
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
203-
echo "RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV
204-
elif [[ "${{ github.ref }}" == "refs/heads/master" ]]; then
205-
echo "RELEASE=nightly" >> $GITHUB_ENV
206-
elif [[ "${{ github.ref }}" == "refs/heads/bleeding" ]]; then
207-
echo "RELEASE=latest" >> $GITHUB_ENV
208-
else
209-
echo "RELEASE=latest" >> $GITHUB_ENV
210-
fi
178+
# - name: List output directory
179+
# run: ls -lah out/
211180

212-
- name: Update and Upgrade System Packages
213-
run: |
214-
sudo apt update && sudo apt dist-upgrade -y
215-
sudo apt-get install -y build-essential gcc g++ gfortran git texinfo bison libncurses-dev tar wget qemu-user-static rsync xz-utils
181+
# - name: Update Release armv6l
182+
# if: github.repository == 'openframeworks/apothecary' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding')
183+
# uses: softprops/action-gh-release@v2.1.0
184+
# with:
185+
# token: ${{ secrets.GITHUB_TOKEN }}
186+
# tag_name: ${{ env.RELEASE }}
187+
# draft: false
188+
# files: out/openFrameworksLibs_${{ env.RELEASE }}_${{ env.TARGET }}_${{ env.DISTRO }}_${{ env.ARCH }}_{{ env.GCC }}.tar.bz2
189+
190+
# build-linux-armv7-pi3ab45:
191+
# if: needs.pre-check.outputs.workflow_disabled != 'true'
192+
# needs: pre-check
193+
# runs-on: ubuntu-latest
194+
# env:
195+
# TARGET: linux
196+
# ARCH: armv7l
197+
# CROSS_COMPILER: raspbian
198+
# CROSS_OS: bookworm
199+
# WORKDIR: "/home/runner/work/apothecary/apothecary"
200+
# SYSROOT: "${WORKDIR}/${CROSS_SYSROOT}"
201+
# TOOLCHAIN_ROOT: "${WORKDIR}/${CROSS_COMPILER}"
202+
# TOOLCHAIN_PREFIX: "arm-linux-gnueabihf"
203+
# steps:
204+
# - uses: actions/checkout@v4.2.2
205+
# - name: Check if Workflow is disabled
206+
# run: |
207+
# if [ "${{ env.DISABLE_WORKFLOW }}" == "true" ]; then
208+
# echo "Workflow is disabled. Exiting."
209+
# exit 78
210+
# fi
211+
212+
# - name: Determine Release
213+
# id: vars
214+
# shell: bash
215+
# run: |
216+
# if [[ "${{ github.ref }}" == refs/tags/* ]]; then
217+
# echo "RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV
218+
# elif [[ "${{ github.ref }}" == "refs/heads/master" ]]; then
219+
# echo "RELEASE=nightly" >> $GITHUB_ENV
220+
# elif [[ "${{ github.ref }}" == "refs/heads/bleeding" ]]; then
221+
# echo "RELEASE=latest" >> $GITHUB_ENV
222+
# else
223+
# echo "RELEASE=latest" >> $GITHUB_ENV
224+
# fi
225+
226+
# - name: Update and Upgrade System Packages
227+
# run: |
228+
# sudo apt update && sudo apt dist-upgrade -y
229+
# sudo apt-get install -y build-essential gcc g++ gfortran git texinfo bison libncurses-dev tar wget qemu-user-static rsync xz-utils
216230

217-
# - name: Cache raspbian folder
218-
# uses: actions/cache@v4.2.0
219-
# with:
220-
# path: /home/runner/work/apothecary/apothecary/raspbian
221-
# key: raspbian-pi3ab45-cache-2
231+
# # - name: Cache raspbian folder
232+
# # uses: actions/cache@v4.2.0
233+
# # with:
234+
# # path: /home/runner/work/apothecary/apothecary/raspbian
235+
# # key: raspbian-pi3ab45-cache-2
222236

223-
# - name: Check if folder exists
224-
# id: folder-check
225-
# run: >
226-
# if [ -d $TOOLCHAIN_ROOT ]; then
227-
# echo "Raspbian folder already exists. Skipping download and extract."
228-
# echo "::set-output name=folder-exists::true"
229-
# else
230-
# echo "::set-output name=folder-exists::false"
231-
# fi
237+
# # - name: Check if folder exists
238+
# # id: folder-check
239+
# # run: >
240+
# # if [ -d $TOOLCHAIN_ROOT ]; then
241+
# # echo "Raspbian folder already exists. Skipping download and extract."
242+
# # echo "::set-output name=folder-exists::true"
243+
# # else
244+
# # echo "::set-output name=folder-exists::false"
245+
# # fi
232246

233-
- name: Setup Cross Compiler and Target Local File System
234-
run: ./scripts/${{ env.TARGET }}/raspios/${{ env.ARCH }}/setup.sh
247+
# - name: Setup Cross Compiler and Target Local File System
248+
# run: sudo ./scripts/${{ env.TARGET }}/${{ env.DISTRO }}/${{ env.ARCH }}/setup.sh
235249

236-
- name: Script Install and Build
237-
run: ./scripts/${{ env.TARGET }}/raspios/${{ env.ARCH }}/install.sh
250+
# - name: Script Install and Build
251+
# run: sudo ./scripts/${{ env.TARGET }}/${{ env.DISTRO }}/${{ env.ARCH }}/install.sh
238252

239-
- name: Script Install and Build
240-
run: ./scripts/${{ env.TARGET }}/raspios/${{ env.ARCH }}/build.sh
253+
# - name: Script Install and Build
254+
# run: ./scripts/${{ env.TARGET }}/${{ env.DISTRO }}/${{ env.ARCH }}/build.sh
241255

242-
- name: Update Release armv7l
243-
if: github.repository == 'openframeworks/apothecary' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding')
244-
uses: softprops/action-gh-release@v2.1.0
245-
with:
246-
token: ${{ secrets.GITHUB_TOKEN }}
247-
tag_name: ${{ env.RELEASE }}
248-
draft: false
249-
files: out/openFrameworksLibs_${{ env.RELEASE }}_${{ env.TARGET }}_${{ env.ARCH }}.tar.bz2
256+
# - name: Package
257+
# #if: github.repository == 'openframeworks/apothecary' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding')
258+
# working-directory: ${{ env.GITHUB_WORKSPACE }}
259+
# run: scripts/package.sh
260+
# env:
261+
# BUNDLE: ${{ matrix.bundle }}
262+
# DISTRO: ${{ env.DISTRO }}
263+
# GCC: "_${{ matrix.CROSS_CPU }}_${{ matrix.CROSS_OS }}"
264+
265+
# - name: List output directory
266+
# run: ls -lah out/
267+
268+
# - name: Update Release
269+
# if: github.repository == 'openframeworks/apothecary' && github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/bleeding')
270+
# uses: softprops/action-gh-release@v2.1.0
271+
# with:
272+
# token: ${{ secrets.GITHUB_TOKEN }}
273+
# tag_name: ${{ env.RELEASE }}
274+
# draft: false
275+
# files: out/openFrameworksLibs_${{ env.RELEASE }}_${{ env.TARGET }}_${{ env.DISTRO }}_${{ env.ARCH }}_{{ env.GCC }}.tar.bz2

.github/workflows/build-linux64.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ jobs:
7777
- name: Scripts Calc Formula - ${{matrix.cfg.target}} - ${{matrix.cfg.gcc}}
7878
run: ./scripts/calculate_formulas.sh
7979
- name: Scripts Install
80-
run: ./scripts/linux/install.sh
80+
run: ./scripts/linux/ubuntu/install.sh
8181

8282
- name: BuildLinux64
8383
working-directory: ${{env.GITHUB_WORKSPACE}}

apothecary/apothecary

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1431,6 +1431,7 @@ function downloadFormula(){
14311431
# dependencies
14321432
if [ $FORMULA_DEPENDS_MANUAL == 0 ] ; then
14331433
apothecaryDependencies download
1434+
apothecaryDependencies prepare
14341435
fi
14351436
cd $APOTHECARY_DIR
14361437
}

0 commit comments

Comments
 (0)