Use zip_cmd() and unzip_cmd() in update_node.py as well.
diff --git a/scripts/update_node.py b/scripts/update_node.py index b16d3e5..39eddc4 100755 --- a/scripts/update_node.py +++ b/scripts/update_node.py
@@ -15,6 +15,7 @@ import subprocess import os import shutil +from zip import unzip_cmd, zip_cmd version = '18.20.3' base = 'https://nodejs.org/dist/latest-v18.x/' @@ -37,13 +38,13 @@ urllib.request.urlretrieve(download_url, filename) if '-win-' in suffix: - subprocess.check_call(['unzip', '-q', filename]) + subprocess.check_call(unzip_cmd() + [filename]) dirname = os.path.splitext(os.path.basename(filename))[0] shutil.move(dirname, 'bin') os.mkdir(dirname) shutil.move('bin', dirname) os.remove(filename) - subprocess.check_call(['zip', '-rq', filename, dirname]) + subprocess.check_call(zip_cmd() + [filename, dirname]) shutil.rmtree(dirname) upload_url = upload_base + filename
diff --git a/scripts/update_python.py b/scripts/update_python.py index a5848ea..55c6318 100755 --- a/scripts/update_python.py +++ b/scripts/update_python.py
@@ -30,6 +30,7 @@ import subprocess import sys from subprocess import check_call +from zip import unzip_cmd, zip_cmd version = '3.9.2' major_minor_version = '.'.join(version.split('.')[:2]) # e.g. '3.9.2' -> '3.9' @@ -42,22 +43,6 @@ upload_base = 'gs://webassembly/emscripten-releases-builds/deps/' -def unzip_cmd(): - # Use 7-Zip if available (https://www.7-zip.org/) - sevenzip = os.path.join(os.getenv('ProgramFiles', ''), '7-Zip', '7z.exe') - if os.path.isfile(sevenzip): - return [sevenzip, 'x'] - # Fall back to 'unzip' tool - return ['unzip', '-q'] - - -def zip_cmd(): - # Use 7-Zip if available (https://www.7-zip.org/) - sevenzip = os.path.join(os.getenv('ProgramFiles', ''), '7-Zip', '7z.exe') - if os.path.isfile(sevenzip): - return [sevenzip, 'a', '-mx9'] - # Fall back to 'zip' tool - return ['zip', '-rq'] def make_python_patch():
diff --git a/scripts/zip.py b/scripts/zip.py new file mode 100644 index 0000000..30bceea --- /dev/null +++ b/scripts/zip.py
@@ -0,0 +1,18 @@ +import os + +def unzip_cmd(): + # Use 7-Zip if available (https://www.7-zip.org/) + sevenzip = os.path.join(os.getenv('ProgramFiles', ''), '7-Zip', '7z.exe') + if os.path.isfile(sevenzip): + return [sevenzip, 'x'] + # Fall back to 'unzip' tool + return ['unzip', '-q'] + + +def zip_cmd(): + # Use 7-Zip if available (https://www.7-zip.org/) + sevenzip = os.path.join(os.getenv('ProgramFiles', ''), '7-Zip', '7z.exe') + if os.path.isfile(sevenzip): + return [sevenzip, 'a', '-mx9'] + # Fall back to 'zip' tool + return ['zip', '-rq']