@@ -349,8 +349,8 @@ def cmd_msbuild(
349349 "libs" : [r"..\target\release\imagequant_sys.lib" ],
350350 },
351351 "harfbuzz" : {
352- "url" : f"https://github.com/harfbuzz/harfbuzz/archive/ { V ['HARFBUZZ' ]} .zip " ,
353- "filename" : f"harfbuzz-{ V ['HARFBUZZ' ]} .zip " ,
352+ "url" : f"https://github.com/harfbuzz/harfbuzz/releases/download/ { V ['HARFBUZZ' ]} /FILENAME " ,
353+ "filename" : f"harfbuzz-{ V ['HARFBUZZ' ]} .tar.xz " ,
354354 "license" : "COPYING" ,
355355 "build" : [
356356 * cmds_cmake (
@@ -514,8 +514,9 @@ def extract_dep(url: str, filename: str, prefs: dict[str, str]) -> None:
514514 msg = "Attempted Path Traversal in Zip File"
515515 raise RuntimeError (msg )
516516 zf .extractall (sources_dir )
517- elif filename .endswith ((".tar.gz" , ".tgz" )):
518- with tarfile .open (file , "r:gz" ) as tgz :
517+ elif filename .endswith ((".tar.gz" , ".tar.xz" )):
518+ mode = "r:xz" if filename .endswith (".xz" ) else "r:gz"
519+ with tarfile .open (file , mode ) as tgz :
519520 for member in tgz .getnames ():
520521 member_abspath = os .path .abspath (os .path .join (sources_dir , member ))
521522 member_prefix = os .path .commonpath ([sources_dir_abs , member_abspath ])
@@ -776,7 +777,7 @@ def main() -> None:
776777
777778 for k , v in DEPS .items ():
778779 if "dir" not in v :
779- v ["dir" ] = re .sub (r"\.(tar\.gz|zip)" , "" , v ["filename" ])
780+ v ["dir" ] = re .sub (r"\.(tar\.gz|tar\.xz| zip)" , "" , v ["filename" ])
780781 prefs [f"dir_{ k } " ] = os .path .join (sources_dir , v ["dir" ])
781782
782783 print ()
0 commit comments