skeeto / w64devkit

Portable C and C++ Development Kit for x64 (and x86) Windows
The Unlicense
3k stars 211 forks source link

7z SFX archive? #87

Closed MagicalDrizzle closed 1 month ago

MagicalDrizzle commented 1 year ago

7-zip excels at these kind of very compressible data, and at the Ultra preset, manage to get w64devkit-fortran-1.20.0 down to 35MB, compared to 88.5MB for the zip archive offered, which is a very huge savings in bandwidth. 7-zip isn't installed in Windows by default, which is why I suggest using a SFX archive, which does not require 7-zip at all. They work just fine in Windows XP.

skeeto commented 1 year ago

Thanks for the tip, Mizuki! I appreciate you that even checked on the Windows XP situation. It's no surprise the result is much smaller, and I'm sure it extracts literally 100x faster, too. This is quite close to what I want.

I was planning to reply that I wasn't interested, that I value simplicity and transparency of a plain old .zip archive. However, I wanted to give it a shot to determine how difficult it would be, and to try it out. The new 7-zip branch (89289b9) has a successful SFX build. I custom-compile the SFX part because (1) p7zip doesn't include a cross-compiled stub, (2) it gives me a great deal of control over the result (e.g. a custom icon), and (3) I want w64devkit to remain 100% compiled from source.

Like all 7-zip SFX, it's a valid 7-zip archive and can be opened without actually running the SFX part, meaning it can still be unpacked outside of Windows.

I'm not sure if I want to use this new distribution format, and I'll need to think about it. At the very least this captures everything I needed to figure out. I may also be the first person to cross-compile a 7-zip SFX stub.

N-R-K commented 11 months ago

and I'm sure it extracts literally 100x faster, too.

Just for some context, after the windows default extractor wasn't done after ~2mins, I decided to download 7zip and and extract the zip with it. It took less time than waiting on the already running windows extractor to finish.

So if the only reason for using zip was the out of box extraction support, I'd say that the SFX ticks that box and removes any reason to continue with zip.

skeeto commented 1 month ago

This is the distribution format starting with 2.0.0 so I'm calling this done!