BizHawk icon indicating copy to clipboard operation
BizHawk copied to clipboard

[WIP] `libarchive`-based dearchiving

Open YoshiRulz opened this issue 1 month ago • 8 comments

tests fail for ¯\_(ツ)_/¯ reasons

YoshiRulz avatar Dec 06 '25 15:12 YoshiRulz

Dare I ask what this is for?

Morilli avatar Dec 06 '25 19:12 Morilli

It supports more formats than SharpCompress.

YoshiRulz avatar Dec 06 '25 20:12 YoshiRulz

I assume the particular format you're interested in is zstd, and you want to simplify our zstd use. Including making it so that zstd compressed files in our archives won't need the .zst extension anymore and can be edited via text editor more easily.

SuuperW avatar Dec 06 '25 22:12 SuuperW

I don't even know what you're suggesting. My goal here is to use the de facto standard library for working with archives, and in doing so add support for .tar.gz, .tar.bz2, .tar.lz, and sure why not .tar.zst. https://github.com/TASEmulators/BizHawk/blob/db070b93bbe23a9ed0bb9c10f77958361863e9f7/src/BizHawk.Client.Common/SharpCompressDearchivalMethod.cs#L70-L80

YoshiRulz avatar Dec 06 '25 23:12 YoshiRulz

My goal here is to use the de facto standard

Your goal is to "be like everybody else", then? Or is there any use case/feature that this enables, or issue that it fixes?

It doesn't look like you're actually using this new library anyway. I have no idea where or how you might intend to use it.

SuuperW avatar Dec 06 '25 23:12 SuuperW

I would imagine opening games inside more types of archives would be the intended use-case. That is a useful feature.

RetroEdit avatar Dec 07 '25 00:12 RetroEdit

Currently the dearchival method is set globally on program startup, so it would be a 1-line change to use only libarchive: https://github.com/TASEmulators/BizHawk/blob/db070b93bbe23a9ed0bb9c10f77958361863e9f7/src/BizHawk.Client.EmuHawk/Program.cs#L181

YoshiRulz avatar Dec 07 '25 01:12 YoshiRulz

and in doing so add support for .tar.gz, .tar.bz2, .tar.lz, and sure why not .tar.zst

All of those are already supported by SharpCompress. At most they are just not supported within BizHawk's usage of SharpCompress.

CasualPokePlayer avatar Dec 08 '25 15:12 CasualPokePlayer