Snap Packaging + GitHub Actions Workflow
# ccextractor#1998 snapcraft.yaml
parts:
gpac:
plugin: make
source: https://github.com/gpac/gpac.git
source-tag: abi-16.4
override-build: |
./configure --prefix=/usr && make -j$(nproc)
make DESTDIR=$SNAPCRAFT_PART_INSTALL install-lib
ccextractor:
after: [gpac]
build-environment:
- PKG_CONFIG_PATH: "$SNAPCRAFT_STAGE/usr/lib/pkgconfig:$PKG_CONFIG_PATH"Background
CCExtractor had no official Snap package, limiting cross-distro distribution on Linux.
Root Cause
Several blockers: GPAC (a required dependency) had no core22 Snap. Rust toolchain version in the base image was too old for CCExtractor's Rust components. CMake entry point was misconfigured. The Snap command: field passed $@ incorrectly, causing argument shift.
The Fix
Built GPAC from source within the Snap using abi-16.4 branch. Pinned Rust toolchain to a compatible version via rustup. Fixed CMake entry point. Corrected $@ arg forwarding in the Snap command wrapper.
Evidence
Verified installation and execution on Ubuntu 22.04 and Ubuntu 24.04. Tested with real media files post-install.
Result
PR ccextractor#1998, approved. Full cross-distro Snap with working GPAC support and a CI workflow for automated builds.