Skip to content

openal: add Linux modular library downloads - #631

Open
danoli3 wants to merge 2 commits into
openframeworks:bleedingfrom
danoli3:linux-modular-openal
Open

danoli3 wants to merge 2 commits into
openframeworks:bleedingfrom
danoli3:linux-modular-openal

Conversation

@danoli3

@danoli3 danoli3 commented Oct 13, 2026

Copy link
Copy Markdown
Member

Add the missing Linux core openal dependency as its own openal formula and modular download, pinned to upstream 1.25.2. Preserve the native pkg-config interface and installed header/shared-library layout. Existing core bundle selection is unchanged.

A dedicated workflow builds only this library on native x86_64 and ARM64 Ubuntu/GCC14 runners. Exact compiled-output caches include the source/formula, build infrastructure, architecture, toolchain and installed package context. PRs compile/link/run an API smoke test and upload a review archive. Upstream branch pushes publish oF_openal_linux_<arch>_gcc14.tar.bz2 directly to the existing latest-modular release, avoiding repeated release-metadata updates.

A native macOS build and null-backend context/API smoke test passed. That host-only validation disabled CoreAudio and linked CoreFoundation explicitly to accommodate the installed macOS SDK; the Linux formula retains its normal audio backend selection. Runtime data and configuration are staged where applicable; shared-library symlinks and upstream license notices are preserved. External dependencies stay visible in native .pc metadata and are supplied by the host distribution or compatible modular packages. These downloads do not replace kernel interfaces, GPU drivers or desktop/audio services. Initial coverage is x86_64/ARM64; Raspberry Pi ARMv6/ARMv7 needs a later matrix extension.

Validation: exact upstream archive downloaded and SHA-256 verified; build-option names/types inspected; shell syntax, actionlint, checksum audit and diff checks passed. The actual copy function was exercised with an installed-tree fixture, confirming headers, pkg-config files, runtime data and library symlinks survive staging. Native Linux build/link validation is queued in this PR's dedicated jobs and is not established by local shell checks.

Source: https://github.com/kcat/openal-soft/archive/refs/tags/1.25.2.tar.gz
Core dependency evidence: https://github.com/openframeworks/openFrameworks/blob/master/libs/openFrameworksCompiled/project/makefileCommon/config.linux.common.mk

Build verified source into relocatable installed headers, shared libraries and pkg-config metadata. Validate native x86_64/ARM64 jobs with exact compiled caches and publish separate latest-modular assets.
Record the verified archive source URL and SHA in binary metadata. Use the established workflow concurrency policy and recognize per-library Linux modular workflows in the scheduling checks.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant