Sorry for the late reply. I updated the patch to handle the case of .xz, also, and a bit adjusted the arguments of `check_prog_req`. Jon Turney writes: >Do you have an example of a cygport which fails without this fix, so I >can add a test for this? My motivating example is far from the minimum, so I made a tiny example from the base-cygwin package. Without the attached patch, the case of test.patch.{gz,bz2} works, on the other hand, the case of test.patch.{xz,zst} fails. Not only .zst, but also .xz fails. This is because `cygpatch()` condiers *.xz files but `unpack()` can't handle *.xz files except for *.tar.xz. ASSI via Cygwin-apps writes: > Hmm. I'd would have preferred to use the --keep option (which is the > default for unzstd anyway) and save the redirection (also for the other > programs that offer that option). Yeah, I also wonder why the --keep option is not used for .gz and .bz2. Now, I recognized the reason. `unpack()` is expected to extract the files to the current working directory regardless of the specified path of the input. Please see the usage in `__src_prep()`. Therefore, --keep option can't be used simply. Regards, Yasutaka ATARASHI