3375a88482
This rolls GN to the last point that Chromium was still using Google Storage to pull GN, like we still are. These are builds uploaded circa November 2018, which is ~6 months newer than the GN we have been using. Change-Id: I6a11733756f6e4c25fd4ca624fb74a2908518d02 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/244672 Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: Mike Klein <mtklein@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
44 lines
1.4 KiB
Python
Executable File
44 lines
1.4 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
# Copyright 2016 Google Inc.
|
|
#
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
import hashlib
|
|
import os
|
|
import shutil
|
|
import stat
|
|
import sys
|
|
import urllib2
|
|
|
|
os.chdir(os.path.join(os.path.dirname(__file__), os.pardir))
|
|
|
|
dst = 'bin/gn.exe' if 'win32' in sys.platform else 'bin/gn'
|
|
|
|
sha1 = '3523d50538357829725d4ed74b777a572ce0ac74' if 'linux' in sys.platform else \
|
|
'd43122f6140d0711518aa909980cb009c4fbce3d' if 'darwin' in sys.platform else \
|
|
'e20768d93a6b4400de0d03bb8ceb46facdbe3883' # Windows
|
|
|
|
def sha1_of_file(path):
|
|
h = hashlib.sha1()
|
|
if os.path.isfile(path):
|
|
with open(path, 'rb') as f:
|
|
h.update(f.read())
|
|
return h.hexdigest()
|
|
|
|
if sha1_of_file(dst) != sha1:
|
|
with open(dst, 'wb') as f:
|
|
f.write(urllib2.urlopen('https://chromium-gn.storage-download.googleapis.com/' + sha1).read())
|
|
|
|
os.chmod(dst, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR |
|
|
stat.S_IRGRP | stat.S_IXGRP |
|
|
stat.S_IROTH | stat.S_IXOTH )
|
|
|
|
# We'll also copy to a path that depot_tools' GN wrapper will expect to find the binary.
|
|
copy_path = 'buildtools/linux64/gn' if 'linux' in sys.platform else \
|
|
'buildtools/mac/gn' if 'darwin' in sys.platform else \
|
|
'buildtools/win/gn.exe'
|
|
if os.path.isdir(os.path.dirname(copy_path)):
|
|
shutil.copy(dst, copy_path)
|