-
-
Notifications
You must be signed in to change notification settings - Fork 831
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
[ENG-1184, ENG-1286, ENG-1330] Rework native dependencies (+ deb fixes) #1685
Conversation
- FFMpeg 6.0 uses some now removed deprecated functions
ENG-1330 Vendor FFmpeg for Linux
Create a FFmpeg build script for linux to compile our own version of ffmpeg, so we don't depend on the system version for the deb and appimage releases |
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
ENG-1184 Rework windows ffmpeg script to use zig
Zig offers a self-contained C/C++ cross compiler setup that is much easier to use than the current setup we are using for compiling ffmpeg for windows. Besides making easier to maintain the current building scripts, it also has out of the box support for windows arm64, which would remove one of the blockers to support this platform in Spacedrive |
8e603fc
to
20bfaa6
Compare
- Update zig for windows target
…essing - Disable opengl and directx for libplacebo, ffmpeg only supports vulkan when using it - Add WIN32_LEAN_AND_MEAN to global cflags to optimize windows api usage - Fix 99-heif.sh incorrect bsdtar flag
…enCL build - Fix Dockerfile step for cleaning up the out dir - Improve licensing handling
5cbadd2
to
8f8682a
Compare
- Fix soxr failing to download due to sourcefourge - Only patch zimg on windows targets - Tell cmake to hide libheif symbols
- Add lzo dependency - Publish source for the built libs - Add warning for missing nasm in tauri.mjs - Remove ffmpeg install from setup.sh - Add download logic for our linux ffmpeg bundle in preprep.mjs
- Rename FFMpeg.framework to Spacedrive.framework - Centralize the macOS native deps build with the windows and linux one - Change the preprep script to only download our native deps - Remove old macOS ffmpeg build scripts
bee5c08
to
6bb7915
Compare
53ea7d4
to
eaea5f1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lfg
Rework Spacedrive's native dependency build system to be a unified set of scripts that download/prepare/build/package all the required runtime native dependencies (ffmpeg libs, libheif, libpdfium) to run Spacedrive on all of its supported OSes.
Remove the old separate set of FFMpeg/libheif build scripts for macOS/Windows/Linux from the main repository
Create a new repository for the new build system: https://github.com/spacedriveapp/native-deps. This has the advantage of decoupling the native-deps from Spacedrive's release cycle, and also allows us to use releases instead of CI artifacts for distribution, which free us from the limits GitHub places on distributing artifacts (3 months expire limit, no public URL, requires using GitHub's API)
Rework preprep.mjs script to download and set up our new unified native-deps bundle for dev. Remove code for dealing with GitHub API, now that we use releases, that code is not needed anymore.
Rename macOS FFMpeg.framework to Spacedrive.framework
Remove ffmpeg libs install step from setup.sh
Change minimum supported macOS on arm to 11.0 (from 11.2)
Fix deb release issues raised by Lintian
This PR was tested on: