Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux 2025 #8255

Open
wants to merge 60 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
42b9ddd
Submodule fixes.
danoli3 Jan 15, 2025
53578e9
Package Nightly fixes
danoli3 Jan 15, 2025
57685a2
Updates nightly
danoli3 Jan 15, 2025
260278f
Download libs [ 2.6.4 ~ 2.7.0] - Added GCC / Linux updates
danoli3 Jan 15, 2025
f32a841
remove gold linux binutils ?
danoli3 Jan 15, 2025
972dae5
Simulate Nightly
danoli3 Jan 15, 2025
7ac6030
Linux Workflow updates / mkfile
danoli3 Jan 15, 2025
09e414a
Script moving oh no
danoli3 Jan 15, 2025
6357f3d
Linux Script Updates
danoli3 Jan 15, 2025
0e0f23f
Gold LD if found
danoli3 Jan 15, 2025
52342d6
Downloader [2.7.1 ~ 2.7.2] exit error if fail on download of library …
danoli3 Jan 15, 2025
3f3a708
Downloader [2.7.2 ~ 2.7.3]
danoli3 Jan 15, 2025
1cd91bd
Linux Actions
danoli3 Jan 15, 2025
3b23e0a
download_libs [2.7.3 ~ 2.7.4] fix opt args for downloads Linux
danoli3 Jan 15, 2025
695411c
downloader set linux aarch64 to 64 for testing on arm64 linux
danoli3 Jan 15, 2025
548ab33
Makefile Linux subpath
danoli3 Jan 15, 2025
344c540
makefile subpath
danoli3 Jan 15, 2025
6f059e0
Linux subpath
danoli3 Jan 15, 2025
c9b3aad
download libs validate downloads before overrwite and 2.8.0. wget2 di…
danoli3 Jan 15, 2025
fcdf8be
Makefiles
danoli3 Jan 15, 2025
d28c690
downloadlibs [2.8.0 ~ 2.8.1] valid bool to int
danoli3 Jan 15, 2025
28d50f2
ci linux
danoli3 Jan 15, 2025
a1e9be6
Workflow ci optimisation VS single ARCH downloads
danoli3 Jan 15, 2025
5bbf6bf
Linux 22.04 Test
danoli3 Jan 15, 2025
2e19aae
VS download optimisation
danoli3 Jan 15, 2025
92405e6
VS Download fix
danoli3 Jan 15, 2025
393ac15
Makefile fixes / vs arch
danoli3 Jan 15, 2025
6241725
Makefile depth fix
danoli3 Jan 16, 2025
403eaca
Makefile strict tab
danoli3 Jan 16, 2025
014dbb1
Github Actions Test needs
danoli3 Jan 16, 2025
e9b3b6a
Addons linux path ofxSvg make
danoli3 Jan 16, 2025
66c7db8
Actions needs use ubuntu as quick
danoli3 Jan 16, 2025
6540f19
Actions rename Linux-64 to linux
danoli3 Jan 16, 2025
b1735d9
Makefiles spaces to tabs
danoli3 Jan 16, 2025
64267e0
Makefile debug
danoli3 Jan 16, 2025
ec58570
Reset file
danoli3 Jan 16, 2025
dab6b10
Spaces to Tabs
danoli3 Jan 16, 2025
9bd0c36
no debug flags
danoli3 Jan 16, 2025
264d8d2
Actions
danoli3 Jan 16, 2025
808c166
22.04 disabled
danoli3 Jan 16, 2025
57f4061
ci build 64
danoli3 Jan 16, 2025
726391a
Line spaces to tabs
danoli3 Jan 16, 2025
34585e3
gold
danoli3 Jan 16, 2025
16934e6
Fix Linux string issue
danoli3 Jan 16, 2025
863a169
debug off
danoli3 Jan 16, 2025
11e7e66
gold linker on command
danoli3 Jan 16, 2025
ca6898b
gold linker comments disabled
danoli3 Jan 16, 2025
9646831
Update addon_config
danoli3 Jan 16, 2025
da68e8d
Actions Linux 22.04 Enabled
danoli3 Jan 17, 2025
16ce9c8
Actions Linux 22.04 GCC 10
danoli3 Jan 17, 2025
c59fac7
oF script to route update and download commands - 0.1.0 - init update…
danoli3 Jan 17, 2025
8488c46
downloader [4.4.0 ~ 4.5.0] - fix close connection for zero urls.
danoli3 Jan 17, 2025
478b1da
Actions update
danoli3 Jan 17, 2025
06c7185
Emscripten fix download 32
danoli3 Jan 17, 2025
eefa659
Linux script updates
danoli3 Jan 17, 2025
15fc367
of added upgrade command.
danoli3 Jan 18, 2025
e6b06dc
osx / ios remove defined .a
danoli3 Jan 18, 2025
7ee0b59
of script fix variables
danoli3 Jan 18, 2025
4acab51
osx addon mk
danoli3 Jan 18, 2025
a0be189
binutils-gold to depends
danoli3 Jan 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
151 changes: 79 additions & 72 deletions .github/workflows/of.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,17 @@ env:
jobs:
build-emscripten:
runs-on: ubuntu-24.04
needs: build-linux
strategy:
matrix:
cfg:
- { target: emscripten }
env:
TARGET: ${{matrix.cfg.target}}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4.2.2
- name: Docker Step
run: "docker run -di --name emscripten -v $PWD:/src emscripten/emsdk:3.1.74 bash"
run: "docker run -di --name emscripten -v $PWD:/src emscripten/emsdk:4.0.0 bash"
# - name: Determine Release
# id: vars
# shell: bash
Expand Down Expand Up @@ -75,7 +76,7 @@ jobs:
- name: Check system
shell: bash
run: gcc -v
- uses: actions/checkout@v4
- uses: actions/checkout@v4.2.2
- name: ccache
uses: hendrikmuhs/[email protected]
with:
Expand Down Expand Up @@ -117,11 +118,14 @@ jobs:

build-vs2022:
runs-on: windows-2022
needs: build-linux
strategy:
matrix:
platform: [x64, ARM64, ARM64EC]
env:
BITS: ${{ matrix.bits }}
BITS: ${{ matrix.platform }}
ARCH: ${{ matrix.platform }}

steps:
- name: Clone repository
uses: actions/checkout@v4
Expand Down Expand Up @@ -163,6 +167,7 @@ jobs:

build-vs2019:
runs-on: windows-2019
needs: build-linux
strategy:
matrix:
platform: [x64]
Expand Down Expand Up @@ -221,6 +226,8 @@ jobs:

rpi-build:
runs-on: ubuntu-24.04
needs: build-linux
if: ${{ false }} # DISABLED
strategy:
matrix:
cfg:
Expand Down Expand Up @@ -252,7 +259,7 @@ jobs:
with:
packages: multistrap unzip gcc-${{matrix.cfg.suffix}} g++-${{matrix.cfg.suffix}}
version: 1.0
- uses: actions/checkout@v4
- uses: actions/checkout@v4.2.2
- name: ccache
uses: hendrikmuhs/[email protected]
with:
Expand All @@ -273,17 +280,18 @@ jobs:
- name: Download libs
run: ./scripts/linux/download_libs.sh -t $RELEASE -a ${{matrix.cfg.libs}}
- name: Install dependencies
run: ./scripts/ci/linuxrpi/install.sh;
run: ./scripts/ci/linux/rpi/install.sh;
- name: LS
shell: bash
run: ls -alfR
- name: Build
run: ./scripts/ci/linuxrpi/build.sh;
run: ./scripts/ci/linux/rpi/build.sh;

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

build-ios-tvos:
runs-on: macos-15
needs: build-linux
strategy:
matrix:
cfg:
Expand All @@ -292,7 +300,7 @@ jobs:
env:
TARGET: ${{matrix.cfg.target}}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4.2.2
- name: ccache
uses: hendrikmuhs/[email protected]
with:
Expand Down Expand Up @@ -322,105 +330,104 @@ jobs:

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

build-linux64:
build-linux:
runs-on: ubuntu-24.04
strategy:
matrix:
cfg:
- { target: linux64, libs: 64gcc6 }
# - {target: linux, arch: 64, gcc: 6}
- {target: linux, arch: 64, gcc: 14}
- {target: linux, arch: 64, gcc: 10}
env:
TARGET: ${{matrix.cfg.target}}
GCC: ${{matrix.cfg.gcc}}
ARCH: ${{matrix.cfg.arch}}
steps:
- name: Remove Old lib-unwind
run: if [ "$TARGET" = "linux64" ]; then
run: if [ "$TARGET" = "linux" ]; then
sudo apt-get remove libunwind-14 -y;
fi

- name: Cache Packages
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: aptitude aptitude-common libboost-iostreams1.83.0 libcwidget4 libsigc++-2.0-0v5 libxapian30 fonts-wine{a} libasound2-plugins{a} libcapi20-3t64{a} libosmesa6{a} libpcsclite1{a} libspeexdsp1{a} libwine{a} libxkbregistry0{a} libz-mingw-w64{a} wine{a} wine64 wget2 make libjack-jackd2-0 libjack-jackd2-dev freeglut3-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libgl1-mesa-dev libglu1-mesa-dev libraw1394-dev libudev-dev libdrm-dev libglew-dev libopenal-dev libsndfile1-dev libfreeimage-dev libcairo2-dev libfreetype6-dev libpulse-dev libusb-1.0-0-dev libgtk2.0-dev libopencv-dev libassimp-dev librtaudio-dev gdb libglfw3-dev liburiparser-dev libpugixml-dev libgconf-2-4 libgtk2.0-0 libpoco-dev libxcursor-dev libxi-dev libxinerama-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-libav gstreamer1.0-pulseaudio gstreamer1.0-x gstreamer1.0-plugins-bad gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good
version: 1.0
# - name: Determine Release
# id: vars
# shell: bash
# run: |
# if [[ "${{ github.ref }}" == refs/tags/* ]]; then
# echo "RELEASE=${{ github.ref_name }}" >> $GITHUB_ENV
# elif [[ "${{ github.ref }}" == "refs/heads/master" ]]; then
# echo "RELEASE=nightly" >> $GITHUB_ENV
# elif [[ "${{ github.ref }}" == "refs/heads/bleeding" ]]; then
# echo "RELEASE=latest" >> $GITHUB_ENV
# else
# echo "RELEASE=latest" >> $GITHUB_ENV
# fi
- uses: actions/checkout@v4

- uses: actions/[email protected]
- name: ccache
uses: hendrikmuhs/[email protected]
with:
key: ${{ matrix.cfg.target }}-${{ matrix.cfg.libs }}
key: ${{ matrix.cfg.target }}

- name: Download libs
run: ./scripts/linux/download_libs.sh -t $RELEASE -a ${{matrix.cfg.libs}}
- name: Install dependencies
run: ./scripts/ci/$TARGET/install.sh;
run: ./scripts/ci/$TARGET/$ARCH/install.sh;

- name: Download libs
run: ./scripts/linux/download_libs.sh -t $RELEASE -a ${{matrix.cfg.arch}} -g ${{matrix.cfg.GCC}}

- name: Build
run: if [ "$TARGET" = "linux64" ]; then
scripts/ci/linux64/build.sh;
scripts/ci/$TARGET/run_tests.sh;
run: |
if [ "$TARGET" = "linux" ]; then
scripts/ci/$TARGET/$ARCH/build.sh;
scripts/ci/$TARGET/$ARCH/run_tests.sh;
else
scripts/ci/$TARGET/build.sh;
scripts/ci/$TARGET/$ARCH/build.sh;
fi

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
build-linux-22:
runs-on: ubuntu-22.04
strategy:
matrix:
cfg:
- {target: linux, arch: 64, gcc: 10}
env:
TARGET: ${{matrix.cfg.target}}
GCC: ${{matrix.cfg.gcc}}
ARCH: ${{matrix.cfg.arch}}
steps:
- name: Remove Old lib-unwind
run: if [ "$TARGET" = "linux" ]; then
sudo apt-get remove libunwind-14 -y;
fi

# build-linux64-2204:
# runs-on: ubuntu-22.04
# strategy:
# matrix:
# cfg:
# - {target: linux64, libs: 64gcc6}
# env:
# TARGET: ${{matrix.cfg.target}}
# steps:
# - name: Remove Old lib-unwind
# run: if [ "$TARGET" = "linux64" ]; then
# sudo apt-get remove libunwind-14 -y;
# fi
# - name: Cache Packages
# uses: awalsh128/cache-apt-pkgs-action@latest
# with:
# packages: aptitude aptitude-common libboost-iostreams1.83.0 libcwidget4 libsigc++-2.0-0v5 libxapian30 fonts-wine{a} libasound2-plugins{a} libcapi20-3t64{a} libosmesa6{a} libpcsclite1{a} libspeexdsp1{a} libwine{a} libxkbregistry0{a} libz-mingw-w64{a} wine{a} wine64 wget2 make libjack-jackd2-0 libjack-jackd2-dev freeglut3-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libgl1-mesa-dev libglu1-mesa-dev libraw1394-dev libudev-dev libdrm-dev libglew-dev libopenal-dev libsndfile1-dev libfreeimage-dev libcairo2-dev libfreetype6-dev libpulse-dev libusb-1.0-0-dev libgtk2.0-dev libopencv-dev libassimp-dev librtaudio-dev gdb libglfw3-dev liburiparser-dev libpugixml-dev libgconf-2-4 libgtk2.0-0 libpoco-dev libxcursor-dev libxi-dev libxinerama-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-libav gstreamer1.0-pulseaudio gstreamer1.0-x gstreamer1.0-plugins-bad gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good
# version: 1.0

# - uses: actions/checkout@v4
# - name: ccache
# uses: hendrikmuhs/[email protected]
# with:
# key: ${{ matrix.cfg.target }}-${{ matrix.cfg.libs }}

# - name: Download libs
# run: ./scripts/linux/download_libs.sh -a ${{matrix.cfg.libs}}
# - name: Install dependencies
# run: ./scripts/ci/$TARGET/install.sh;
# - name: Build
# run: if [ "$TARGET" = "linux64" ]; then
# scripts/ci/linux64/build.sh;
# scripts/ci/$TARGET/run_tests.sh;
# else
# scripts/ci/$TARGET/build.sh;
# fi
# - name: Cache Packages
# uses: awalsh128/cache-apt-pkgs-action@latest
# with:
# packages: aptitude aptitude-common libboost-iostreams1.83.0 libcwidget4 libsigc++-2.0-0v5 libxapian30 fonts-wine{a} libasound2-plugins{a} libcapi20-3t64{a} libosmesa6{a} libpcsclite1{a} libspeexdsp1{a} libwine{a} libxkbregistry0{a} libz-mingw-w64{a} wine{a} wine64 wget2 make libjack-jackd2-0 libjack-jackd2-dev freeglut3-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libgl1-mesa-dev libglu1-mesa-dev libraw1394-dev libudev-dev libdrm-dev libglew-dev libopenal-dev libsndfile1-dev libfreeimage-dev libcairo2-dev libfreetype6-dev libpulse-dev libusb-1.0-0-dev libgtk2.0-dev libopencv-dev libassimp-dev librtaudio-dev gdb libglfw3-dev liburiparser-dev libpugixml-dev libgconf-2-4 libgtk2.0-0 libpoco-dev libxcursor-dev libxi-dev libxinerama-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-libav gstreamer1.0-pulseaudio gstreamer1.0-x gstreamer1.0-plugins-bad gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good
# version: 1.0

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- uses: actions/[email protected]
- name: ccache
uses: hendrikmuhs/[email protected]
with:
key: ${{ matrix.cfg.target }}

- name: Install dependencies
run: ./scripts/ci/$TARGET/$ARCH/install.sh;

- name: Download libs
run: ./scripts/linux/download_libs.sh -t $RELEASE -a ${{matrix.cfg.arch}} -g ${{matrix.cfg.GCC}}

- name: Build
run: |
if [ "$TARGET" = "linux" ]; then
scripts/ci/$TARGET/$ARCH/build.sh;
scripts/ci/$TARGET/$ARCH/run_tests.sh;
else
scripts/ci/$TARGET/$ARCH/build.sh;
fi

build-macos:
runs-on: macos-15
needs: build-linux
strategy:
matrix:
cfg:
- { target: osx, opt: "xcode" }
- { target: osx, opt: "makefiles" }
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4.2.2
- name: ccache
uses: hendrikmuhs/[email protected]
with:
Expand Down
1 change: 1 addition & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
[submodule "apps/projectGenerator"]
path = apps/projectGenerator
url = https://github.com/openframeworks/projectGenerator
branch = master
[submodule "scripts/apothecary"]
path = scripts/apothecary
url = https://github.com/openframeworks/apothecary
17 changes: 4 additions & 13 deletions addons/ofxAssimp/addon_config.mk
Original file line number Diff line number Diff line change
Expand Up @@ -62,17 +62,17 @@ common:
# a specific platform
# ADDON_LIBS_EXCLUDE =

linuxarmv6l:
linux/armv6l:
ADDON_PKG_CONFIG_LIBRARIES = assimp
ADDON_LIBS_EXCLUDE = ../ofxAssimpModelLoader/libs/assimp
ADDON_INCLUDES_EXCLUDE = ../ofxAssimpModelLoader/libs/assimp/%

linuxarmv7l:
linux/armv7l:
ADDON_PKG_CONFIG_LIBRARIES = assimp
ADDON_LIBS_EXCLUDE = ../ofxAssimpModelLoader/libs/assimp
ADDON_INCLUDES_EXCLUDE = ../ofxAssimpModelLoader/libs/assimp/%

linuxaarch64:
linux/aarch64:
ADDON_PKG_CONFIG_LIBRARIES = assimp
ADDON_LIBS_EXCLUDE = ../ofxAssimpModelLoader/libs/assimp
ADDON_INCLUDES_EXCLUDE = ../ofxAssimpModelLoader/libs/assimp/%
Expand All @@ -82,7 +82,7 @@ linux:
ADDON_LIBS_EXCLUDE = ../ofxAssimpModelLoader/libs/assimp
ADDON_INCLUDES_EXCLUDE = ../ofxAssimpModelLoader/libs/assimp/%

linux64:
linux/64:
ADDON_PKG_CONFIG_LIBRARIES = assimp
ADDON_LIBS_EXCLUDE = ../ofxAssimpModelLoader/libs/assimp
ADDON_INCLUDES_EXCLUDE = ../ofxAssimpModelLoader/libs/assimp/%
Expand All @@ -101,15 +101,6 @@ android/x86:
ADDON_LIBS=
ADDON_LIBS+=../ofxAssimpModelLoader/libs/assimp/lib/android/x86/libassimp.a
ADDON_LIBS+=../ofxAssimpModelLoader/libs/assimp/lib/android/x86/libIrrXML.a

ios:
ADDON_LIBS=
ADDON_LIBS=../ofxAssimpModelLoader/libs/assimp/lib/macos/assimp.xcframework/ios-arm64/assimp.a
ADDON_LIBS=../ofxAssimpModelLoader/libs/assimp/lib/macos/assimp.xcframework/ios-arm64_x86_64-simulator/assimp.a

osx:
ADDON_LIBS=
ADDON_LIBS=../ofxAssimpModelLoader/libs/assimp/lib/macos/assimp.xcframework/macos-arm64_x86_64/assimp.a

emscripten:
ADDON_LIBS=
Expand Down
15 changes: 5 additions & 10 deletions addons/ofxAssimpModelLoader/addon_config.mk
Original file line number Diff line number Diff line change
Expand Up @@ -60,17 +60,17 @@ common:
# a specific platform
# ADDON_LIBS_EXCLUDE =

linuxarmv6l:
linux/armv6l:
ADDON_PKG_CONFIG_LIBRARIES = assimp
ADDON_LIBS_EXCLUDE = libs/assimp
ADDON_INCLUDES_EXCLUDE = libs/assimp/%

linuxarmv7l:
linux/armv7l:
ADDON_PKG_CONFIG_LIBRARIES = assimp
ADDON_LIBS_EXCLUDE = libs/assimp
ADDON_INCLUDES_EXCLUDE = libs/assimp/%

linuxaarch64:
linux/aarch64:
ADDON_PKG_CONFIG_LIBRARIES = assimp
ADDON_LIBS_EXCLUDE = libs/assimp
ADDON_INCLUDES_EXCLUDE = libs/assimp/%
Expand All @@ -80,7 +80,7 @@ linux:
ADDON_LIBS_EXCLUDE = libs/assimp
ADDON_INCLUDES_EXCLUDE = libs/assimp/%

linux64:
linux/64:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will the old linux64 and linuxarmv6l still work for PG etc?

ADDON_PKG_CONFIG_LIBRARIES = assimp
ADDON_LIBS_EXCLUDE = libs/assimp
ADDON_INCLUDES_EXCLUDE = libs/assimp/%
Expand All @@ -101,14 +101,9 @@ android/x86:
ADDON_LIBS+=libs/assimp/lib/android/x86/libIrrXML.a

ios:
ADDON_LIBS=
ADDON_LIBS=libs/assimp/lib/macos/assimp.xcframework/ios-arm64/assimp.a
ADDON_LIBS=libs/assimp/lib/macos/assimp.xcframework/ios-arm64_x86_64-simulator/assimp.a

ADDON_INCLUDES_EXCLUDE = libs/assimp/include/%
osx:
ADDON_INCLUDES_EXCLUDE = libs/assimp/include/%
ADDON_LIBS=
ADDON_LIBS=libs/assimp/lib/macos/assimp.xcframework/macos-arm64_x86_64/assimp.a

emscripten:
ADDON_LIBS=
Expand Down
Loading