mirror of
https://github.com/YACReader/yacreader
synced 2026-04-12 15:49:53 -04:00
Some checks failed
Build / Initialization (push) Has been cancelled
Build / Code Format Validation (push) Has been cancelled
Build / Linux (Qt6) (push) Has been cancelled
Build / Linux (Qt6 + 7zip) (push) Has been cancelled
Build / macOS (Qt6 Universal) (push) Has been cancelled
Build / Windows x64 (Qt6) (push) Has been cancelled
Build / Windows ARM64 (Qt6) (push) Has been cancelled
Build / Docker amd64 Image (push) Has been cancelled
Build / Docker arm64 Image (push) Has been cancelled
Build / Publish Dev Builds (push) Has been cancelled
Build / Publish Release (push) Has been cancelled
Build / Publish YACReader10 Pre-release Builds (push) Has been cancelled
libarchive Decompression Backend
This backend utilizes the libarchive library to support a wide variety of compression formats.
This backend is currently only supported on the Linux platform.
Using
Enable this backend by setting the DECOMPRESSION_BACKEND CMake option:
cmake -B build -DDECOMPRESSION_BACKEND=libarchive
Upon success, the application can be built as normal.
Limitations
- libarchive has a stream-based architecture that does not (currently) offer random access. In practice, this means that you can only seek forward and would have to re-open an archive to read an entry before the current position. This doesn't seem to have a huge performance hit and can be mitigated by creating properly sorted archives.
- 7z decompression is slow (but seems to be slightly faster than unarr)