skia2/bin/fetch-gn
Mike Klein 3375a88482 roll GN
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>
2019-09-26 20:34:17 +00:00

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)