annotate third_party/emsdk/scripts/update_node.py @ 216:e82b80b24012 default tip

[MrJuneJune] Make webp translate background job.
author June Park <parkjune1995@gmail.com>
date Sat, 28 Feb 2026 21:04:43 -0800
parents 8d17f6e6e290
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
179
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
1 #!/usr/bin/env python3
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
2 # Copyright 2020 The Emscripten Authors. All rights reserved.
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
3 # Emscripten is available under two separate licenses, the MIT license and the
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
4 # University of Illinois/NCSA Open Source License. Both these licenses can be
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
5 # found in the LICENSE file.
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
6
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
7 """Updates the node binaries that we cache store at
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
8 http://storage.google.com/webassembly.
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
9
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
10 For the windows version we also alter the directory layout to add the 'bin'
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
11 directory.
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
12 """
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
13
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
14 import os
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
15 import shutil
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
16 import subprocess
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
17 import sys
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
18 import urllib.request
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
19
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
20 from zip import unzip_cmd, zip_cmd
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
21
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
22 # When adjusting this version, visit
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
23 # https://github.com/nodejs/node/blob/v24.x/BUILDING.md#platform-list
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
24 # to verify minimum supported OS versions. Replace "v24.x" in the URL
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
25 # with the version field.
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
26 version = '24.7.0'
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
27 base = f'https://nodejs.org/dist/v{version}/'
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
28 upload_base = 'gs://webassembly/emscripten-releases-builds/deps/'
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
29
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
30 suffixes = [
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
31 '-win-x64.zip',
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
32 '-win-arm64.zip',
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
33 '-darwin-x64.tar.gz',
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
34 '-darwin-arm64.tar.gz',
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
35 '-linux-x64.tar.xz',
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
36 '-linux-arm64.tar.xz',
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
37 '-linux-s390x.tar.gz',
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
38 ]
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
39
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
40 for suffix in suffixes:
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
41 filename = 'node-v%s%s' % (version, suffix)
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
42 download_url = base + filename
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
43 print('Downloading: ' + download_url)
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
44 urllib.request.urlretrieve(download_url, filename)
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
45
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
46 if '-win-' in suffix:
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
47 subprocess.check_call(unzip_cmd() + [filename])
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
48 dirname = os.path.splitext(os.path.basename(filename))[0]
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
49 shutil.move(dirname, 'bin')
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
50 os.mkdir(dirname)
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
51 shutil.move('bin', dirname)
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
52 os.remove(filename)
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
53 subprocess.check_call(zip_cmd() + [filename, dirname])
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
54 shutil.rmtree(dirname)
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
55
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
56 if '--upload' in sys.argv:
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
57 upload_url = upload_base + filename
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
58 print('Uploading: ' + upload_url)
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
59 cmd = ['gsutil', 'cp', '-n', filename, upload_url]
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
60 print(' '.join(cmd))
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
61 subprocess.check_call(cmd)
8d17f6e6e290 [ThirdParty] Added emsdk bazel rules that can be supported by bazel 9.0.0
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
62 os.remove(filename)