David 57b632b00a ffmpeg: build and include zlib to enable PNG support (#21)
* add zlib to ffmpeg

* checkout specific commit
2026-02-24 18:05:42 -08:00
2026-02-22 19:06:33 -08:00
2026-02-22 21:39:17 -08:00
2026-02-23 22:59:08 -08:00
2026-02-24 10:09:19 -08:00
2026-02-23 21:46:40 -08:00
2026-02-22 19:45:10 -08:00
2026-02-23 10:18:33 -08:00
2026-02-22 21:34:30 -08:00
2026-02-22 15:36:30 -08:00

dependencies

a central repo for managing and vendoring third party dependencies for all comma projects.

since all our projects are Python, we wrap each vendored dependency as a pip package. git clone and uv sync is all you need.

motivations for this approach

  • apt-get is slow
  • apt-get updates its packages on a schedule we don't control
  • apt-get package versions don't match brew versions
  • apt-get doesn't come with Arch Linux
  • apt-get doesn't always have the exact package we need
  • apt-get packages are often bloated

uv, as opposed to apt-get, brew, and friends, is fast and already used in our projects.

we target the following platforms:

  • Linux x86_64
  • Linux aarch64
  • Darwin aarch64 (Apple Silicon)

contributions welcome for other platforms!

packages

package description
gcc-arm-none-eabi builds panda firmware for STM32 MCUs
capnproto message serialization for openpilot
ffmpeg video encode and decode for openpilot
git-lfs for tracking large files in openpilot
zeromq bridging the openpilot IPC between different hosts

usage

dependencies = [
  "capnproto @ git+https://github.com/commaai/dependencies.git@releases#subdirectory=capnproto",
  "ffmpeg @ git+https://github.com/commaai/dependencies.git@releases#subdirectory=ffmpeg",
]

workflow

to add a new package:

  • start a new top-level directory as a new package
  • ./test.sh tests the building of all packages
  • on pushes to master, wheels are built for our target platforms and pushed to a GitHub release
  • the releases branch contains shim packages that allow pointing to a git branch and always getting the appropriate wheel for your platform
Description
No description provided
Readme 7 MiB
2026-03-14 16:06:40 -05:00
Languages
Python 60%
Shell 40%