blob: 15dfeb25192af4d1eaa9c0ceee2b977559bcd779 [file] [log] [blame]
NODE_RELEASE_BASE_URL = "https://nodejs.org/dist/"
NODE_SHA1S = {
"node-v8.1.2-linux-x64.tar.gz":"61a609c83e2d3458cc2301a63b212a97e6b9f809",
"node-v8.1.2-darwin-x64.tar.gz":"a8b31fd645480661a8a777d9b4466dca0e6deb33",
"node-v8.11.1-linux-x64.tar.gz":"ee0213f62185c36121c2daf8dcacd34ade90b10c",
"node-v8.11.1-darwin-x64.tar.gz":"01effb57fa711aa258d7aab26c6615e1f8a64b1a"
}
def get_system_arch():
import platform
os = platform.system().lower()
return os
def fetch_node(version):
file_name = "node-%s-%s-x64" % (version, get_system_arch())
file_fullname = "node-%s-%s-x64.tar.gz" % (version, get_system_arch())
if file_fullname not in NODE_SHA1S:
raise Exception("Cannot download %s, architecture or version not supported" % file_name)
remote_file(
name = 'node-release-' + version,
url = NODE_RELEASE_BASE_URL + version + '/' + file_fullname,
sha1 = NODE_SHA1S[file_fullname],
)
genrule(
name = 'node-bin-' + version,
bash = 'tar --no-same-owner -xf $(location :node-release-' + version + ') && ' +
'mv ' + file_name + ' $OUT && ' +
'chmod +x $OUT',
out = 'node-binaries',
executable = False,
visibility = [ "PUBLIC" ],
)