feat(docker): Add KDE kimageformats for AVIF, JXL and additional image formats#505
feat(docker): Add KDE kimageformats for AVIF, JXL and additional image formats#505nickv2002 wants to merge 4 commits intoYACReader:developfrom
Conversation
- Split into 4 stages: base, sevenzip-builder, yacreader-builder, runtime - Improved build separation and caching efficiency - Separate 7zip build stage allows better parallelization - No functional changes - pure refactoring - Maintains all existing functionality - Minimized whitespace diffs for clarity
f0b2f2c to
d85787f
Compare
- Add plugin-base stage for common plugin build dependencies - Add kimageformats-builder stage for building KDE kimageformats 6.0.0 - Includes AVIF and JXL support (HEIC/HEIF not supported in this version) - Copy plugins to both builder and runtime stages - Minimized whitespace diffs for clarity - Based on multi-stage optimization from previous commit
d85787f to
1b480e6
Compare
…geformats-builder - Eliminate the intermediate plugin-base stage since it was only used once - Merge all build dependencies directly into kimageformats-builder - Maintains full functionality with cleaner Dockerfile structure - Reduces total lines in Dockerfile from 203 to 192
|
@nickv2002 thanks! did you try to install kimageformat-plugins instead of building them? like adding |
I tried the versions from
Could rebase the image on a different & newer distro but that would introduce other changes. |
What changes? Any downsides? |
That would require significantly reworking because the base docker image to a more leading edge version of alpine/fedora/arch. It also doesn't seem in keeping with your previously expressed interest in minimizing maintenance work and support burdens. |
|
I think we could use a newer non-LTS Ubuntu base image. There's also another option I have used before - the KDE Neon Distro is based on Ubuntu LTS (noble) and should have the latest Qt and kimageformats. We could add the apt/ppas and just use those. |
Description
Adds KDE kimageformats support to the Docker image, enabling AVIF and JXL image format support in YACReaderLibraryServer, along with 20+ additional image formats (ani, hdr, pcx, psd, qoi, xcf, etc.).
Changes
COPY docker/root.tar.gz /(relative to build context root)Supported Formats
✅ New formats with this PR:
✅ Bonus formats included:
❌ Not supported in kimageformats 6.0.0:
Testing
Notes
COPY docker/root.tar.gz /uses the full path because docker build context is the repository root, and root.tar.gz is located in the docker/ subdirectory.Comparison with PR #499
This approach uses KDE official kimageformats library instead of custom Qt plugin builds: