aonez / Keka

The macOS & iOS file archiver
https://www.keka.io
4.77k stars 236 forks source link

Use p7zip 17.03 fork #813

Closed MaxPower85 closed 3 years ago

MaxPower85 commented 3 years ago

I've noticed that Homebrew lists this version of 7zip https://github.com/jinfeihan57/p7zip

https://formulae.brew.sh/formula/p7zip

It adds support for some additional compression formats to be used for 7z and zip archives.

(BTW... if someone downloads it from the releases page, download the source and compile it yourself... the precompiled macOS binaries that they have there are showing some error on Sierra when you type "7z i" to see the supported formats, which does not seem to happened when you compile it yourself on Sierra).

To try different compression formats for .zip, you can use a command like this 7za a -tzip -m0=deflate:x=9:mt=8 your_folder.zip your_folder

Just change the "deflate" part to something else... formats that it allows for .zip are "deflate", "deflate64", "ppmd", "xz", "lzma", "bzip2" and "zstd". Using "deflate" compression is default for .zip.

I think it would be good to add a drop-down box in Keka to choose between those compression formats for .zip, but just write that it's recommended to keep it on "deflate" for compatibility with more archivers.

For 7z format 7za a -t7z -m0=lzma2:x=9:mt=8 your_folder.7z your_folder

You can change the "lzma2" part to something else... formats that it allows for .7z are "deflate", "deflate64", "ppmd", "lzma", "lzma2", "flzma2", "bzip2", "brotli", "lz4", "lz5" and "zstd". Using "lzma2" compression is default for .7z.

aonez commented 3 years ago

I'm checking that fork of p7zip since it started. I'm not sure about using it since it's not following 7-Zip but adding security fixes (already used in 16.02 revisions in Debian and Keka) and some other formats (like ZSTD and BROTLI) which Keka already supports. I don't say this is bad but not sure Keka needs this.

What I would like is 19.00 or 21.00 to be ported, not a 16.02 modified fork. But obviously this is a lot of work.

Will build and check anyway, maybe one of those changes translate into some improvement while used in Keka:

aonez commented 3 years ago

This will be probably it: https://sourceforge.net/p/sevenzip/discussion/45797/thread/cec5e63147

aonez commented 3 years ago

@MaxPower85 already published a build using the new 7zz (7-Zip 21.02):

https://github.com/aonez/Keka/releases/tag/v1.2.15-dev.4573