libv8 4.5.95.5 → 5.0.71.48.0beta2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (332) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +45 -19
  3. data/CHANGELOG.md +14 -0
  4. data/README.md +30 -15
  5. data/Rakefile +7 -6
  6. data/ext/libv8/arch.rb +5 -4
  7. data/ext/libv8/builder.rb +25 -19
  8. data/ext/libv8/compiler.rb +6 -33
  9. data/ext/libv8/location.rb +7 -8
  10. data/lib/libv8/version.rb +1 -1
  11. data/libv8.gemspec +1 -1
  12. data/patches/build-standalone-static-library.patch +14 -0
  13. data/patches/disable-building-tests.patch +48 -10
  14. data/patches/fPIC-for-static.patch +3 -3
  15. data/release/x86-linux/Vagrantfile +8 -4
  16. data/release/x86_64-freebsd10/Vagrantfile +86 -0
  17. data/release/x86_64-linux/Vagrantfile +8 -4
  18. data/spec/compiler_spec.rb +5 -29
  19. data/spec/support/compiler_helpers.rb +2 -4
  20. data/vendor/depot_tools/.gitignore +15 -3
  21. data/vendor/depot_tools/OWNERS +2 -2
  22. data/vendor/depot_tools/PRESUBMIT.py +4 -2
  23. data/vendor/depot_tools/WATCHLISTS +6 -0
  24. data/vendor/depot_tools/apply_issue.py +70 -38
  25. data/vendor/depot_tools/bootstrap/win/README.md +66 -0
  26. data/vendor/depot_tools/bootstrap/win/git-bash.template.sh +12 -0
  27. data/vendor/depot_tools/bootstrap/win/git.template.bat +5 -0
  28. data/vendor/depot_tools/bootstrap/win/profile.d.python.sh +20 -0
  29. data/vendor/depot_tools/bootstrap/win/win_tools.bat +96 -45
  30. data/vendor/depot_tools/breakpad.py +6 -141
  31. data/vendor/depot_tools/buildbucket.py +45 -31
  32. data/vendor/depot_tools/cbuildbot +1 -0
  33. data/vendor/depot_tools/checkout.py +2 -1
  34. data/vendor/depot_tools/chrome_set_ver +1 -0
  35. data/vendor/depot_tools/cit +8 -0
  36. data/vendor/depot_tools/cit.bat +11 -0
  37. data/vendor/depot_tools/cit.py +120 -0
  38. data/vendor/depot_tools/codereview.settings +0 -2
  39. data/vendor/depot_tools/commit_queue +1 -5
  40. data/vendor/depot_tools/commit_queue.bat +1 -4
  41. data/vendor/depot_tools/commit_queue.py +78 -29
  42. data/vendor/depot_tools/cpplint.py +22 -14
  43. data/vendor/depot_tools/cros +1 -0
  44. data/vendor/depot_tools/cros_sdk +1 -0
  45. data/vendor/depot_tools/depot-tools-auth.py +3 -3
  46. data/vendor/depot_tools/download_from_google_storage.py +101 -21
  47. data/vendor/depot_tools/drover.py +2 -3
  48. data/vendor/depot_tools/fetch.py +31 -27
  49. data/vendor/depot_tools/{recipes → fetch_configs}/android.py +4 -4
  50. data/vendor/depot_tools/fetch_configs/breakpad.py +45 -0
  51. data/vendor/depot_tools/{recipes → fetch_configs}/chromium.py +3 -3
  52. data/vendor/depot_tools/{recipes/recipe_util.py → fetch_configs/config_util.py} +3 -3
  53. data/vendor/depot_tools/fetch_configs/crashpad.py +41 -0
  54. data/vendor/depot_tools/{recipes → fetch_configs}/dart.py +3 -3
  55. data/vendor/depot_tools/{recipes/pdfium.py → fetch_configs/dartino.py} +14 -13
  56. data/vendor/depot_tools/{recipes → fetch_configs}/dartium.py +3 -3
  57. data/vendor/depot_tools/{recipes → fetch_configs}/depot_tools.py +3 -3
  58. data/vendor/depot_tools/fetch_configs/gyp.py +42 -0
  59. data/vendor/depot_tools/{recipes → fetch_configs}/infra.py +3 -3
  60. data/vendor/depot_tools/{recipes → fetch_configs}/infra_internal.py +3 -3
  61. data/vendor/depot_tools/{recipes → fetch_configs}/ios.py +4 -4
  62. data/vendor/depot_tools/{recipes → fetch_configs}/mojo.py +3 -3
  63. data/vendor/depot_tools/{recipes → fetch_configs}/nacl.py +3 -3
  64. data/vendor/depot_tools/{recipes → fetch_configs}/naclports.py +3 -3
  65. data/vendor/depot_tools/fetch_configs/pdfium.py +40 -0
  66. data/vendor/depot_tools/{recipes → fetch_configs}/skia.py +3 -3
  67. data/vendor/depot_tools/{recipes → fetch_configs}/skia_buildbot.py +3 -3
  68. data/vendor/depot_tools/fetch_configs/syzygy.py +41 -0
  69. data/vendor/depot_tools/{recipes → fetch_configs}/v8.py +3 -3
  70. data/vendor/depot_tools/{recipes → fetch_configs}/webrtc.py +3 -3
  71. data/vendor/depot_tools/{recipes → fetch_configs}/webrtc_android.py +4 -4
  72. data/vendor/depot_tools/{recipes → fetch_configs}/webrtc_ios.py +4 -4
  73. data/vendor/depot_tools/fix_encoding.py +6 -6
  74. data/vendor/depot_tools/gcl.py +11 -21
  75. data/vendor/depot_tools/gclient +10 -0
  76. data/vendor/depot_tools/gclient-new-workdir.py +7 -38
  77. data/vendor/depot_tools/gclient.bat +2 -2
  78. data/vendor/depot_tools/gclient.py +85 -65
  79. data/vendor/depot_tools/gclient_scm.py +83 -10
  80. data/vendor/depot_tools/gclient_utils.py +5 -1
  81. data/vendor/depot_tools/gerrit_util.py +243 -26
  82. data/vendor/depot_tools/git-auto-svn +1 -1
  83. data/vendor/depot_tools/git-cache +1 -1
  84. data/vendor/depot_tools/git-cherry-pick-upload +1 -1
  85. data/vendor/depot_tools/git-cl +1 -1
  86. data/vendor/depot_tools/git-drover +6 -0
  87. data/vendor/depot_tools/git-find-releases +6 -0
  88. data/vendor/depot_tools/git-footers +1 -1
  89. data/vendor/depot_tools/git-freeze +1 -1
  90. data/vendor/depot_tools/git-gs +1 -1
  91. data/vendor/depot_tools/git-hyper-blame +6 -0
  92. data/vendor/depot_tools/git-map +1 -1
  93. data/vendor/depot_tools/git-map-branches +1 -1
  94. data/vendor/depot_tools/git-mark-merge-base +1 -1
  95. data/vendor/depot_tools/git-nav-downstream +1 -1
  96. data/vendor/depot_tools/git-new-branch +1 -1
  97. data/vendor/depot_tools/git-number +1 -1
  98. data/vendor/depot_tools/git-rebase-update +1 -1
  99. data/vendor/depot_tools/git-rename-branch +1 -1
  100. data/vendor/depot_tools/git-reparent-branch +1 -1
  101. data/vendor/depot_tools/git-retry +1 -1
  102. data/vendor/depot_tools/git-squash-branch +1 -1
  103. data/vendor/depot_tools/git-thaw +1 -1
  104. data/vendor/depot_tools/git-try +1 -1
  105. data/vendor/depot_tools/git-upstream-diff +1 -1
  106. data/vendor/depot_tools/git_auto_svn.py +24 -6
  107. data/vendor/depot_tools/git_cache.py +74 -27
  108. data/vendor/depot_tools/git_cl.py +2118 -747
  109. data/vendor/depot_tools/git_common.py +100 -6
  110. data/vendor/depot_tools/git_dates.py +62 -0
  111. data/vendor/depot_tools/git_drover.py +424 -0
  112. data/vendor/depot_tools/git_find_releases.py +65 -0
  113. data/vendor/depot_tools/git_footers.py +42 -0
  114. data/vendor/depot_tools/git_hyper_blame.py +391 -0
  115. data/vendor/depot_tools/git_map_branches.py +8 -6
  116. data/vendor/depot_tools/git_new_branch.py +6 -1
  117. data/vendor/depot_tools/git_rebase_update.py +56 -16
  118. data/vendor/depot_tools/git_reparent_branch.py +13 -0
  119. data/vendor/depot_tools/git_try.py +0 -2
  120. data/vendor/depot_tools/gsutil.py +51 -20
  121. data/vendor/depot_tools/infra/config/OWNERS +3 -1
  122. data/vendor/depot_tools/infra/config/cq.cfg +7 -3
  123. data/vendor/depot_tools/infra/config/recipes.cfg +9 -0
  124. data/vendor/depot_tools/luci_hacks/README.md +35 -0
  125. data/vendor/depot_tools/{bootstrap/virtualenv/tests → luci_hacks}/__init__.py +0 -0
  126. data/vendor/depot_tools/luci_hacks/luci_recipe_run.isolate +12 -0
  127. data/vendor/depot_tools/luci_hacks/luci_recipe_run.py +81 -0
  128. data/vendor/depot_tools/luci_hacks/trigger_luci_job.py +128 -0
  129. data/vendor/depot_tools/man/html/depot_tools.html +9 -1
  130. data/vendor/depot_tools/man/html/depot_tools_tutorial.html +4 -4
  131. data/vendor/depot_tools/man/html/git-drover.html +191 -35
  132. data/vendor/depot_tools/man/html/git-hyper-blame.html +878 -0
  133. data/vendor/depot_tools/man/html/git-rebase-update.html +9 -4
  134. data/vendor/depot_tools/man/man1/git-drover.1 +189 -36
  135. data/vendor/depot_tools/man/man1/git-hyper-blame.1 +128 -0
  136. data/vendor/depot_tools/man/man1/git-rebase-update.1 +8 -6
  137. data/vendor/depot_tools/man/man7/depot_tools.7 +9 -4
  138. data/vendor/depot_tools/man/src/_git-hyper-blame_desc.helper.txt +1 -0
  139. data/vendor/depot_tools/man/src/common_demo_functions.sh +5 -0
  140. data/vendor/depot_tools/man/src/depot_tools_tutorial.txt +1 -1
  141. data/vendor/depot_tools/man/src/git-drover.demo.1.sh +11 -16
  142. data/vendor/depot_tools/man/src/git-drover.demo.3.sh +27 -0
  143. data/vendor/depot_tools/man/src/git-drover.demo.4.sh +39 -0
  144. data/vendor/depot_tools/man/src/git-drover.txt +49 -3
  145. data/vendor/depot_tools/man/src/git-hyper-blame.demo.1.sh +3 -0
  146. data/vendor/depot_tools/man/src/git-hyper-blame.demo.2.sh +4 -0
  147. data/vendor/depot_tools/man/src/git-hyper-blame.demo.common.sh +57 -0
  148. data/vendor/depot_tools/man/src/git-hyper-blame.txt +85 -0
  149. data/vendor/depot_tools/man/src/git-rebase-update.txt +5 -1
  150. data/vendor/depot_tools/my_activity.py +6 -21
  151. data/vendor/depot_tools/ninja +2 -2
  152. data/vendor/depot_tools/ninja-linux32 +0 -0
  153. data/vendor/depot_tools/ninja-linux64 +0 -0
  154. data/vendor/depot_tools/ninja-mac +0 -0
  155. data/vendor/depot_tools/ninja.exe +0 -0
  156. data/vendor/depot_tools/presubmit_canned_checks.py +83 -69
  157. data/vendor/depot_tools/presubmit_support.py +126 -42
  158. data/vendor/depot_tools/pylint.py +5 -1
  159. data/vendor/depot_tools/python_runner.sh +55 -0
  160. data/vendor/depot_tools/recipe_modules/bot_update/__init__.py +32 -0
  161. data/vendor/depot_tools/recipe_modules/bot_update/api.py +283 -0
  162. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/basic.json +56 -0
  163. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/basic_output_manifest.json +63 -0
  164. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/basic_with_branch_heads.json +57 -0
  165. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/clobber.json +44 -0
  166. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/forced.json +57 -0
  167. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/gerrit_no_reset.json +44 -0
  168. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/no_shallow.json +44 -0
  169. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/off.json +43 -0
  170. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/reset_root_solution_revision.json +43 -0
  171. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/svn_mode.json +59 -0
  172. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/trychange.json +58 -0
  173. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/trychange_oauth2.json +60 -0
  174. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob.json +58 -0
  175. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_fail.json +60 -0
  176. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_fail_patch.json +81 -0
  177. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_fail_patch_download.json +81 -0
  178. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_gerrit_angle.json +49 -0
  179. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_v8.json +61 -0
  180. data/vendor/depot_tools/recipe_modules/bot_update/example.expected/tryjob_v8_head_by_default.json +51 -0
  181. data/vendor/depot_tools/recipe_modules/bot_update/example.py +172 -0
  182. data/vendor/depot_tools/{bootstrap/virtualenv/virtualenv_support → recipe_modules/bot_update/resources}/__init__.py +0 -0
  183. data/vendor/depot_tools/recipe_modules/bot_update/resources/bot_update.py +1764 -0
  184. data/vendor/depot_tools/recipe_modules/bot_update/test_api.py +86 -0
  185. data/vendor/depot_tools/recipe_modules/depot_tools/__init__.py +3 -0
  186. data/vendor/depot_tools/recipe_modules/depot_tools/api.py +27 -0
  187. data/vendor/depot_tools/recipe_modules/gclient/__init__.py +10 -0
  188. data/vendor/depot_tools/recipe_modules/gclient/api.py +378 -0
  189. data/vendor/depot_tools/recipe_modules/gclient/config.py +671 -0
  190. data/vendor/depot_tools/recipe_modules/gclient/example.expected/basic.json +172 -0
  191. data/vendor/depot_tools/recipe_modules/gclient/example.expected/revision.json +174 -0
  192. data/vendor/depot_tools/recipe_modules/gclient/example.expected/tryserver.json +185 -0
  193. data/vendor/depot_tools/recipe_modules/gclient/example.py +100 -0
  194. data/vendor/depot_tools/recipe_modules/gclient/test_api.py +37 -0
  195. data/vendor/depot_tools/recipe_modules/git/__init__.py +9 -0
  196. data/vendor/depot_tools/recipe_modules/git/api.py +377 -0
  197. data/vendor/depot_tools/recipe_modules/git/example.expected/basic.json +177 -0
  198. data/vendor/depot_tools/recipe_modules/git/example.expected/basic_branch.json +177 -0
  199. data/vendor/depot_tools/recipe_modules/git/example.expected/basic_file_name.json +179 -0
  200. data/vendor/depot_tools/recipe_modules/git/example.expected/basic_hash.json +176 -0
  201. data/vendor/depot_tools/recipe_modules/git/example.expected/basic_ref.json +177 -0
  202. data/vendor/depot_tools/recipe_modules/git/example.expected/basic_submodule_update_force.json +178 -0
  203. data/vendor/depot_tools/recipe_modules/git/example.expected/can_fail_build.json +153 -0
  204. data/vendor/depot_tools/recipe_modules/git/example.expected/cannot_fail_build.json +181 -0
  205. data/vendor/depot_tools/recipe_modules/git/example.expected/cat-file_test.json +199 -0
  206. data/vendor/depot_tools/recipe_modules/git/example.expected/count-objects_delta.json +250 -0
  207. data/vendor/depot_tools/recipe_modules/git/example.expected/count-objects_failed.json +181 -0
  208. data/vendor/depot_tools/recipe_modules/git/example.expected/count-objects_with_bad_output.json +182 -0
  209. data/vendor/depot_tools/recipe_modules/git/example.expected/count-objects_with_bad_output_fails_build.json +102 -0
  210. data/vendor/depot_tools/recipe_modules/git/example.expected/curl_trace_file.json +181 -0
  211. data/vendor/depot_tools/recipe_modules/git/example.expected/platform_win.json +186 -0
  212. data/vendor/depot_tools/recipe_modules/git/example.expected/rebase_failed.json +179 -0
  213. data/vendor/depot_tools/recipe_modules/git/example.expected/remote_not_origin.json +179 -0
  214. data/vendor/depot_tools/recipe_modules/git/example.expected/set_got_revision.json +178 -0
  215. data/vendor/depot_tools/recipe_modules/git/example.py +147 -0
  216. data/vendor/depot_tools/recipe_modules/git/resources/git_setup.py +61 -0
  217. data/vendor/depot_tools/recipe_modules/git/test_api.py +18 -0
  218. data/vendor/depot_tools/recipe_modules/git_cl/__init__.py +4 -0
  219. data/vendor/depot_tools/recipe_modules/git_cl/api.py +25 -0
  220. data/vendor/depot_tools/recipe_modules/git_cl/config.py +22 -0
  221. data/vendor/depot_tools/recipe_modules/git_cl/example.expected/basic.json +66 -0
  222. data/vendor/depot_tools/recipe_modules/git_cl/example.py +41 -0
  223. data/vendor/depot_tools/recipe_modules/infra_paths/__init__.py +4 -0
  224. data/vendor/depot_tools/recipe_modules/infra_paths/api.py +12 -0
  225. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/basic.json +14 -0
  226. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_buildbot_linux.json +14 -0
  227. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_buildbot_mac.json +14 -0
  228. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_buildbot_win.json +14 -0
  229. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_kitchen_linux.json +14 -0
  230. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_kitchen_mac.json +14 -0
  231. data/vendor/depot_tools/recipe_modules/infra_paths/example.expected/paths_kitchen_win.json +14 -0
  232. data/vendor/depot_tools/recipe_modules/infra_paths/example.py +28 -0
  233. data/vendor/depot_tools/recipe_modules/infra_paths/path_config.py +45 -0
  234. data/vendor/depot_tools/recipe_modules/presubmit/__init__.py +4 -0
  235. data/vendor/depot_tools/recipe_modules/presubmit/api.py +20 -0
  236. data/vendor/depot_tools/recipe_modules/presubmit/example.expected/basic.json +18 -0
  237. data/vendor/depot_tools/recipe_modules/presubmit/example.py +15 -0
  238. data/vendor/depot_tools/recipe_modules/rietveld/__init__.py +5 -0
  239. data/vendor/depot_tools/recipe_modules/rietveld/api.py +94 -0
  240. data/vendor/depot_tools/recipe_modules/rietveld/example.expected/basic.json +30 -0
  241. data/vendor/depot_tools/recipe_modules/rietveld/example.py +24 -0
  242. data/vendor/depot_tools/recipe_modules/tryserver/__init__.py +15 -0
  243. data/vendor/depot_tools/recipe_modules/tryserver/api.py +280 -0
  244. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_git_patch.json +104 -0
  245. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_rietveld_patch.json +58 -0
  246. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_rietveld_patch_new.json +58 -0
  247. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_svn_patch.json +68 -0
  248. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_wrong_patch.json +43 -0
  249. data/vendor/depot_tools/recipe_modules/tryserver/example.expected/with_wrong_patch_new.json +43 -0
  250. data/vendor/depot_tools/recipe_modules/tryserver/example.py +53 -0
  251. data/vendor/depot_tools/recipe_modules/tryserver/test_api.py +7 -0
  252. data/vendor/depot_tools/recipes.py +136 -0
  253. data/vendor/depot_tools/repo +1 -1
  254. data/vendor/depot_tools/rietveld.py +46 -15
  255. data/vendor/depot_tools/roll_dep.py +97 -36
  256. data/vendor/depot_tools/scm.py +3 -3
  257. data/vendor/depot_tools/setup_color.py +94 -0
  258. data/vendor/depot_tools/subprocess2.py +10 -1
  259. data/vendor/depot_tools/third_party/cq_client/OWNERS +0 -1
  260. data/vendor/depot_tools/third_party/cq_client/README.md +47 -9
  261. data/vendor/depot_tools/third_party/cq_client/cq.pb.go +617 -0
  262. data/vendor/depot_tools/third_party/cq_client/cq.proto +75 -17
  263. data/vendor/depot_tools/third_party/cq_client/cq_pb2.py +168 -41
  264. data/vendor/depot_tools/third_party/cq_client/testdata/cq_gerrit.cfg +55 -0
  265. data/vendor/depot_tools/third_party/cq_client/{test/cq_example.cfg → testdata/cq_rietveld.cfg} +14 -6
  266. data/vendor/depot_tools/third_party/fancy_urllib/README +5 -4
  267. data/vendor/depot_tools/third_party/fancy_urllib/__init__.py +114 -52
  268. data/vendor/depot_tools/third_party/protobuf26/README.chromium +9 -6
  269. data/vendor/depot_tools/third_party/upload.py +17 -31
  270. data/vendor/depot_tools/trychange.py +0 -2
  271. data/vendor/depot_tools/update_depot_tools +29 -11
  272. data/vendor/depot_tools/update_depot_tools.bat +4 -9
  273. data/vendor/depot_tools/upload_to_google_storage.py +42 -5
  274. data/vendor/depot_tools/win_toolchain/OWNERS +1 -0
  275. data/vendor/depot_tools/win_toolchain/get_toolchain_if_necessary.py +227 -52
  276. data/vendor/depot_tools/win_toolchain/package_from_installed.py +203 -88
  277. metadata +161 -81
  278. data/patches/arm/do-not-imply-vfp3-and-armv7.patch +0 -16
  279. data/patches/arm/do-not-use-vfp2.patch +0 -13
  280. data/patches/clang51/no-unused-variable.patch +0 -12
  281. data/vendor/depot_tools/bootstrap/.gitignore +0 -2
  282. data/vendor/depot_tools/bootstrap/bootstrap.py +0 -234
  283. data/vendor/depot_tools/bootstrap/deps.pyl +0 -15
  284. data/vendor/depot_tools/bootstrap/util.py +0 -87
  285. data/vendor/depot_tools/bootstrap/virtualenv/.gitignore +0 -10
  286. data/vendor/depot_tools/bootstrap/virtualenv/.travis.yml +0 -28
  287. data/vendor/depot_tools/bootstrap/virtualenv/AUTHORS.txt +0 -91
  288. data/vendor/depot_tools/bootstrap/virtualenv/CONTRIBUTING.rst +0 -21
  289. data/vendor/depot_tools/bootstrap/virtualenv/LICENSE.txt +0 -22
  290. data/vendor/depot_tools/bootstrap/virtualenv/MANIFEST.in +0 -11
  291. data/vendor/depot_tools/bootstrap/virtualenv/README.rst +0 -10
  292. data/vendor/depot_tools/bootstrap/virtualenv/bin/rebuild-script.py +0 -71
  293. data/vendor/depot_tools/bootstrap/virtualenv/docs/changes.rst +0 -747
  294. data/vendor/depot_tools/bootstrap/virtualenv/docs/conf.py +0 -149
  295. data/vendor/depot_tools/bootstrap/virtualenv/docs/development.rst +0 -61
  296. data/vendor/depot_tools/bootstrap/virtualenv/docs/index.rst +0 -137
  297. data/vendor/depot_tools/bootstrap/virtualenv/docs/installation.rst +0 -58
  298. data/vendor/depot_tools/bootstrap/virtualenv/docs/make.bat +0 -170
  299. data/vendor/depot_tools/bootstrap/virtualenv/docs/reference.rst +0 -256
  300. data/vendor/depot_tools/bootstrap/virtualenv/docs/userguide.rst +0 -249
  301. data/vendor/depot_tools/bootstrap/virtualenv/scripts/virtualenv +0 -3
  302. data/vendor/depot_tools/bootstrap/virtualenv/setup.py +0 -111
  303. data/vendor/depot_tools/bootstrap/virtualenv/tests/test_activate.sh +0 -94
  304. data/vendor/depot_tools/bootstrap/virtualenv/tests/test_activate_expected.output +0 -2
  305. data/vendor/depot_tools/bootstrap/virtualenv/tests/test_virtualenv.py +0 -139
  306. data/vendor/depot_tools/bootstrap/virtualenv/tests/tox.ini +0 -12
  307. data/vendor/depot_tools/bootstrap/virtualenv/tox.ini +0 -17
  308. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv.py +0 -2367
  309. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/activate.bat +0 -26
  310. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/activate.csh +0 -42
  311. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/activate.fish +0 -74
  312. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/activate.ps1 +0 -150
  313. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/activate.sh +0 -80
  314. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/activate_this.py +0 -34
  315. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/deactivate.bat +0 -20
  316. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/distutils-init.py +0 -101
  317. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/distutils.cfg +0 -6
  318. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_embedded/site.py +0 -758
  319. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_support/pip-6.0-py2.py3-none-any.whl +0 -0
  320. data/vendor/depot_tools/bootstrap/virtualenv/virtualenv_support/setuptools-8.2.1-py2.py3-none-any.whl +0 -0
  321. data/vendor/depot_tools/bootstrap/win/README.google +0 -16
  322. data/vendor/depot_tools/cbuildbot +0 -96
  323. data/vendor/depot_tools/chrome_set_ver +0 -96
  324. data/vendor/depot_tools/cros +0 -96
  325. data/vendor/depot_tools/cros_sdk +0 -96
  326. data/vendor/depot_tools/git-cl-upload-hook +0 -52
  327. data/vendor/depot_tools/git-crup +0 -45
  328. data/vendor/depot_tools/python_git_runner.sh +0 -36
  329. data/vendor/depot_tools/recipes/blink.py +0 -59
  330. data/vendor/depot_tools/third_party/cq_client/test/validate_config_test.py +0 -52
  331. data/vendor/depot_tools/third_party/cq_client/validate_config.py +0 -108
  332. data/vendor/depot_tools/win_toolchain/toolchain2013.py +0 -494
@@ -11,8 +11,10 @@ import optparse
11
11
  import os
12
12
  import Queue
13
13
  import re
14
+ import shutil
14
15
  import stat
15
16
  import sys
17
+ import tarfile
16
18
  import threading
17
19
  import time
18
20
 
@@ -49,12 +51,16 @@ def GetNormalizedPlatform():
49
51
  return 'win32'
50
52
  return sys.platform
51
53
 
52
-
53
54
  # Common utilities
54
55
  class Gsutil(object):
55
56
  """Call gsutil with some predefined settings. This is a convenience object,
56
57
  and is also immutable."""
57
- def __init__(self, path, boto_path=None, timeout=None, version='4.7'):
58
+
59
+ MAX_TRIES = 5
60
+ RETRY_BASE_DELAY = 5.0
61
+ RETRY_DELAY_MULTIPLE = 1.3
62
+
63
+ def __init__(self, path, boto_path=None, timeout=None, version='4.15'):
58
64
  if not os.path.exists(path):
59
65
  raise FileNotFoundError('GSUtil not found in %s' % path)
60
66
  self.path = path
@@ -99,6 +105,18 @@ class Gsutil(object):
99
105
  return (404, out, err)
100
106
  return (code, out, err)
101
107
 
108
+ def check_call_with_retries(self, *args):
109
+ delay = self.RETRY_BASE_DELAY
110
+ for i in xrange(self.MAX_TRIES):
111
+ code, out, err = self.check_call(*args)
112
+ if not code or i == self.MAX_TRIES - 1:
113
+ break
114
+
115
+ time.sleep(delay)
116
+ delay *= self.RETRY_DELAY_MULTIPLE
117
+
118
+ return code, out, err
119
+
102
120
 
103
121
  def check_platform(target):
104
122
  """Checks if any parent directory of target matches (win|mac|linux)."""
@@ -186,19 +204,39 @@ def enumerate_work_queue(input_filename, work_queue, directory,
186
204
  return work_queue_size
187
205
 
188
206
 
207
+ def _validate_tar_file(tar, prefix):
208
+ def _validate(tarinfo):
209
+ """Returns false if the tarinfo is something we explicitly forbid."""
210
+ if tarinfo.issym() or tarinfo.islnk():
211
+ return False
212
+ if '..' in tarinfo.name or not tarinfo.name.startswith(prefix):
213
+ return False
214
+ return True
215
+ return all(map(_validate, tar.getmembers()))
216
+
189
217
  def _downloader_worker_thread(thread_num, q, force, base_url,
190
- gsutil, out_q, ret_codes, verbose):
218
+ gsutil, out_q, ret_codes, verbose, extract,
219
+ delete=True):
191
220
  while True:
192
221
  input_sha1_sum, output_filename = q.get()
193
222
  if input_sha1_sum is None:
194
223
  return
195
- if os.path.exists(output_filename) and not force:
196
- if get_sha1(output_filename) == input_sha1_sum:
197
- if verbose:
198
- out_q.put(
199
- '%d> File %s exists and SHA1 matches. Skipping.' % (
224
+ extract_dir = None
225
+ if extract:
226
+ if not output_filename.endswith('.tar.gz'):
227
+ out_q.put('%d> Error: %s is not a tar.gz archive.' % (
200
228
  thread_num, output_filename))
229
+ ret_codes.put((1, '%s is not a tar.gz archive.' % (output_filename)))
201
230
  continue
231
+ extract_dir = output_filename[0:len(output_filename)-7]
232
+ if os.path.exists(output_filename) and not force:
233
+ if not extract or os.path.exists(extract_dir):
234
+ if get_sha1(output_filename) == input_sha1_sum:
235
+ if verbose:
236
+ out_q.put(
237
+ '%d> File %s exists and SHA1 matches. Skipping.' % (
238
+ thread_num, output_filename))
239
+ continue
202
240
  # Check if file exists.
203
241
  file_url = '%s/%s' % (base_url, input_sha1_sum)
204
242
  (code, _, err) = gsutil.check_call('ls', file_url)
@@ -218,7 +256,8 @@ def _downloader_worker_thread(thread_num, q, force, base_url,
218
256
  # Fetch the file.
219
257
  out_q.put('%d> Downloading %s...' % (thread_num, output_filename))
220
258
  try:
221
- os.remove(output_filename) # Delete the file if it exists already.
259
+ if delete:
260
+ os.remove(output_filename) # Delete the file if it exists already.
222
261
  except OSError:
223
262
  if os.path.exists(output_filename):
224
263
  out_q.put('%d> Warning: deleting %s failed.' % (
@@ -227,7 +266,42 @@ def _downloader_worker_thread(thread_num, q, force, base_url,
227
266
  if code != 0:
228
267
  out_q.put('%d> %s' % (thread_num, err))
229
268
  ret_codes.put((code, err))
269
+ continue
230
270
 
271
+ remote_sha1 = get_sha1(output_filename)
272
+ if remote_sha1 != input_sha1_sum:
273
+ msg = ('%d> ERROR remote sha1 (%s) does not match expected sha1 (%s).' %
274
+ (thread_num, remote_sha1, input_sha1_sum))
275
+ out_q.put(msg)
276
+ ret_codes.put((20, msg))
277
+ continue
278
+
279
+ if extract:
280
+ if not tarfile.is_tarfile(output_filename):
281
+ out_q.put('%d> Error: %s is not a tar.gz archive.' % (
282
+ thread_num, output_filename))
283
+ ret_codes.put((1, '%s is not a tar.gz archive.' % (output_filename)))
284
+ continue
285
+ with tarfile.open(output_filename, 'r:gz') as tar:
286
+ dirname = os.path.dirname(os.path.abspath(output_filename))
287
+ if not _validate_tar_file(tar, os.path.basename(extract_dir)):
288
+ out_q.put('%d> Error: %s contains files outside %s.' % (
289
+ thread_num, output_filename, extract_dir))
290
+ ret_codes.put((1, '%s contains invalid entries.' % (output_filename)))
291
+ continue
292
+ if os.path.exists(extract_dir):
293
+ try:
294
+ shutil.rmtree(extract_dir)
295
+ out_q.put('%d> Removed %s...' % (thread_num, extract_dir))
296
+ except OSError:
297
+ out_q.put('%d> Warning: Can\'t delete: %s' % (
298
+ thread_num, extract_dir))
299
+ ret_codes.put((1, 'Can\'t delete %s.' % (extract_dir)))
300
+ continue
301
+ out_q.put('%d> Extracting %d entries from %s to %s' %
302
+ (thread_num, len(tar.getmembers()),output_filename,
303
+ extract_dir))
304
+ tar.extractall(path=dirname)
231
305
  # Set executable bit.
232
306
  if sys.platform == 'cygwin':
233
307
  # Under cygwin, mark all files as executable. The executable flag in
@@ -258,7 +332,7 @@ def printer_worker(output_queue):
258
332
 
259
333
  def download_from_google_storage(
260
334
  input_filename, base_url, gsutil, num_threads, directory, recursive,
261
- force, output, ignore_errors, sha1_file, verbose, auto_platform):
335
+ force, output, ignore_errors, sha1_file, verbose, auto_platform, extract):
262
336
  # Start up all the worker threads.
263
337
  all_threads = []
264
338
  download_start = time.time()
@@ -270,7 +344,7 @@ def download_from_google_storage(
270
344
  t = threading.Thread(
271
345
  target=_downloader_worker_thread,
272
346
  args=[thread_num, work_queue, force, base_url,
273
- gsutil, stdout_queue, ret_codes, verbose])
347
+ gsutil, stdout_queue, ret_codes, verbose, extract])
274
348
  t.daemon = True
275
349
  t.start()
276
350
  all_threads.append(t)
@@ -324,7 +398,8 @@ def main(args):
324
398
  parser.add_option('-e', '--boto',
325
399
  help='Specify a custom boto file.')
326
400
  parser.add_option('-c', '--no_resume', action='store_true',
327
- help='Resume download if file is partially downloaded.')
401
+ help='DEPRECATED: Resume download if file is '
402
+ 'partially downloaded.')
328
403
  parser.add_option('-f', '--force', action='store_true',
329
404
  help='Force download even if local file exists.')
330
405
  parser.add_option('-i', '--ignore_errors', action='store_true',
@@ -358,8 +433,18 @@ def main(args):
358
433
  '(linux|mac|win). If so, the script will only '
359
434
  'process files that are in the paths that '
360
435
  'that matches the current platform.')
361
- parser.add_option('-v', '--verbose', action='store_true',
362
- help='Output extra diagnostic and progress information.')
436
+ parser.add_option('-u', '--extract',
437
+ action='store_true',
438
+ help='Extract a downloaded tar.gz file. '
439
+ 'Leaves the tar.gz file around for sha1 verification'
440
+ 'If a directory with the same name as the tar.gz '
441
+ 'file already exists, is deleted (to get a '
442
+ 'clean state in case of update.)')
443
+ parser.add_option('-v', '--verbose', action='store_true', default=True,
444
+ help='DEPRECATED: Defaults to True. Use --no-verbose '
445
+ 'to suppress.')
446
+ parser.add_option('-q', '--quiet', action='store_false', dest='verbose',
447
+ help='Suppresses diagnostic and progress information.')
363
448
 
364
449
  (options, args) = parser.parse_args()
365
450
 
@@ -440,18 +525,13 @@ def main(args):
440
525
  else:
441
526
  parser.error('Unreachable state.')
442
527
 
443
- # Check if output file already exists.
444
- if not options.directory and not options.force and not options.no_resume:
445
- if os.path.exists(options.output):
446
- parser.error('Output file %s exists and --no_resume is specified.'
447
- % options.output)
448
-
449
528
  base_url = 'gs://%s' % options.bucket
450
529
 
451
530
  return download_from_google_storage(
452
531
  input_filename, base_url, gsutil, options.num_threads, options.directory,
453
532
  options.recursive, options.force, options.output, options.ignore_errors,
454
- options.sha1_file, options.verbose, options.auto_platform)
533
+ options.sha1_file, options.verbose, options.auto_platform,
534
+ options.extract)
455
535
 
456
536
 
457
537
  if __name__ == '__main__':
@@ -10,7 +10,6 @@ import re
10
10
  import sys
11
11
  import urlparse
12
12
 
13
- import breakpad # pylint: disable=W0611
14
13
 
15
14
  import gclient_utils
16
15
  import subprocess2
@@ -377,7 +376,7 @@ def getSVNAuthInfo(folder=None):
377
376
  try:
378
377
  for auth_file in os.listdir(svn_simple_folder):
379
378
  # Read the SVN auth file, convert it into a dictionary, and store it.
380
- results[auth_file] = dict(re.findall(r'K [0-9]+\n(.*)\nV [0-9]+\n(.*)\n',
379
+ results[auth_file] = dict(re.findall(r'K [0-9]+\n(.*)\nV [0-9]+\n(.*)\n',
381
380
  open(os.path.join(svn_simple_folder, auth_file)).read()))
382
381
  except Exception as _:
383
382
  pass
@@ -391,7 +390,7 @@ def getCurrentSVNUsers(url):
391
390
  auth_infos = getSVNAuthInfo()
392
391
  results = []
393
392
  for _, auth_info in auth_infos.iteritems():
394
- if ('svn:realmstring' in auth_info
393
+ if ('svn:realmstring' in auth_info
395
394
  and netloc in auth_info['svn:realmstring']):
396
395
  username = auth_info['username']
397
396
  results.append(username)
@@ -7,15 +7,15 @@
7
7
  Tool to perform checkouts in one easy command line!
8
8
 
9
9
  Usage:
10
- fetch <recipe> [--property=value [--property2=value2 ...]]
10
+ fetch <config> [--property=value [--property2=value2 ...]]
11
11
 
12
12
  This script is a wrapper around various version control and repository
13
- checkout commands. It requires a |recipe| name, fetches data from that
14
- recipe in depot_tools/recipes, and then performs all necessary inits,
13
+ checkout commands. It requires a |config| name, fetches data from that
14
+ config in depot_tools/fetch_configs, and then performs all necessary inits,
15
15
  checkouts, pulls, fetches, etc.
16
16
 
17
17
  Optional arguments may be passed on the command line in key-value pairs.
18
- These parameters will be passed through to the recipe's main method.
18
+ These parameters will be passed through to the config's main method.
19
19
  """
20
20
 
21
21
  import json
@@ -39,10 +39,10 @@ class Checkout(object):
39
39
 
40
40
  Attributes:
41
41
  |base|: the absolute path of the directory in which this script is run.
42
- |spec|: the spec for this checkout as returned by the recipe. Different
42
+ |spec|: the spec for this checkout as returned by the config. Different
43
43
  subclasses will expect different keys in this dictionary.
44
44
  |root|: the directory into which the checkout will be performed, as returned
45
- by the recipe. This is a relative path from |base|.
45
+ by the config. This is a relative path from |base|.
46
46
  """
47
47
  def __init__(self, options, spec, root):
48
48
  self.base = os.getcwd()
@@ -222,7 +222,7 @@ def usage(msg=None):
222
222
  print 'Error:', msg
223
223
 
224
224
  print textwrap.dedent("""\
225
- usage: %s [options] <recipe> [--property=value [--property2=value2 ...]]
225
+ usage: %s [options] <config> [--property=value [--property2=value2 ...]]
226
226
 
227
227
  This script can be used to download the Chromium sources. See
228
228
  http://www.chromium.org/developers/how-tos/get-the-code
@@ -234,18 +234,21 @@ def usage(msg=None):
234
234
  -n, --dry-run Don't run commands, only print them.
235
235
  --no-history Perform shallow clones, don't fetch the full git history.
236
236
 
237
- Valid fetch recipes:""") % os.path.basename(sys.argv[0])
238
- for fname in os.listdir(os.path.join(SCRIPT_PATH, 'recipes')):
239
- if fname.endswith('.py'):
240
- print ' ' + fname[:-3]
237
+ Valid fetch configs:""") % os.path.basename(sys.argv[0])
238
+
239
+ configs_dir = os.path.join(SCRIPT_PATH, 'fetch_configs')
240
+ configs = [f[:-3] for f in os.listdir(configs_dir) if f.endswith('.py')]
241
+ configs.sort()
242
+ for fname in configs:
243
+ print ' ' + fname
241
244
 
242
245
  sys.exit(bool(msg))
243
246
 
244
247
 
245
248
  def handle_args(argv):
246
- """Gets the recipe name from the command line arguments."""
249
+ """Gets the config name from the command line arguments."""
247
250
  if len(argv) <= 1:
248
- usage('Must specify a recipe.')
251
+ usage('Must specify a config.')
249
252
  if argv[1] in ('-h', '--help', 'help'):
250
253
  usage()
251
254
 
@@ -273,32 +276,33 @@ def handle_args(argv):
273
276
  if bad_parms:
274
277
  usage('Got bad arguments %s' % bad_parms)
275
278
 
276
- recipe = argv[1]
279
+ config = argv[1]
277
280
  props = argv[2:]
278
281
  return (
279
282
  optparse.Values(
280
283
  {'dry_run':dry_run, 'nohooks':nohooks, 'no_history': no_history }),
281
- recipe,
284
+ config,
282
285
  props)
283
286
 
284
287
 
285
- def run_recipe_fetch(recipe, props, aliased=False):
286
- """Invoke a recipe's fetch method with the passed-through args
288
+ def run_config_fetch(config, props, aliased=False):
289
+ """Invoke a config's fetch method with the passed-through args
287
290
  and return its json output as a python object."""
288
- recipe_path = os.path.abspath(os.path.join(SCRIPT_PATH, 'recipes', recipe))
289
- if not os.path.exists(recipe_path + '.py'):
290
- print "Could not find a recipe for %s" % recipe
291
+ config_path = os.path.abspath(
292
+ os.path.join(SCRIPT_PATH, 'fetch_configs', config))
293
+ if not os.path.exists(config_path + '.py'):
294
+ print "Could not find a config for %s" % config
291
295
  sys.exit(1)
292
296
 
293
- cmd = [sys.executable, recipe_path + '.py', 'fetch'] + props
297
+ cmd = [sys.executable, config_path + '.py', 'fetch'] + props
294
298
  result = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()[0]
295
299
 
296
300
  spec = json.loads(result)
297
301
  if 'alias' in spec:
298
302
  assert not aliased
299
- return run_recipe_fetch(
300
- spec['alias']['recipe'], spec['alias']['props'] + props, aliased=True)
301
- cmd = [sys.executable, recipe_path + '.py', 'root']
303
+ return run_config_fetch(
304
+ spec['alias']['config'], spec['alias']['props'] + props, aliased=True)
305
+ cmd = [sys.executable, config_path + '.py', 'root']
302
306
  result = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()[0]
303
307
  root = json.loads(result)
304
308
  return spec, root
@@ -309,7 +313,7 @@ def run(options, spec, root):
309
313
 
310
314
  Args:
311
315
  options: Options instance.
312
- spec: Checkout configuration returned by the the recipe's fetch_spec
316
+ spec: Checkout configuration returned by the the config's fetch_spec
313
317
  method (checkout type, repository url, etc.).
314
318
  root: The directory into which the repo expects to be checkout out.
315
319
  """
@@ -332,8 +336,8 @@ def run(options, spec, root):
332
336
 
333
337
 
334
338
  def main():
335
- options, recipe, props = handle_args(sys.argv)
336
- spec, root = run_recipe_fetch(recipe, props)
339
+ options, config, props = handle_args(sys.argv)
340
+ spec, root = run_config_fetch(config, props)
337
341
  return run(options, spec, root)
338
342
 
339
343
 
@@ -4,19 +4,19 @@
4
4
 
5
5
  import sys
6
6
 
7
- import recipe_util # pylint: disable=F0401
7
+ import config_util # pylint: disable=F0401
8
8
 
9
9
 
10
10
  # This class doesn't need an __init__ method, so we disable the warning
11
11
  # pylint: disable=W0232
12
- class Android(recipe_util.Recipe):
13
- """Basic Recipe alias for Android -> Chromium."""
12
+ class Android(config_util.Config):
13
+ """Basic Config alias for Android -> Chromium."""
14
14
 
15
15
  @staticmethod
16
16
  def fetch_spec(props):
17
17
  return {
18
18
  'alias': {
19
- 'recipe': 'chromium',
19
+ 'config': 'chromium',
20
20
  'props': ['--target_os=android'],
21
21
  },
22
22
  }
@@ -0,0 +1,45 @@
1
+ # Copyright (c) 2015 The Chromium Authors. All rights reserved.
2
+ # Use of this source code is governed by a BSD-style license that can be
3
+ # found in the LICENSE file.
4
+
5
+ import sys
6
+
7
+ import config_util # pylint: disable=F0401
8
+
9
+
10
+ # This class doesn't need an __init__ method, so we disable the warning
11
+ # pylint: disable=W0232
12
+ class Breakpad(config_util.Config):
13
+ @staticmethod
14
+ def fetch_spec(props):
15
+ url = 'https://chromium.googlesource.com/breakpad/breakpad.git'
16
+ solution = {
17
+ 'name': 'src',
18
+ 'url': url,
19
+ 'managed': False,
20
+ 'custom_deps': {},
21
+ 'safesync_url': '',
22
+ }
23
+ spec = {
24
+ 'solutions': [solution],
25
+ }
26
+ if props.get('target_os'):
27
+ spec['target_os'] = props['target_os'].split(',')
28
+ if props.get('target_os_only'):
29
+ spec['target_os_only'] = props['target_os_only']
30
+ return {
31
+ 'type': 'gclient_git',
32
+ 'gclient_git_spec': spec,
33
+ }
34
+
35
+ @staticmethod
36
+ def expected_root(_props):
37
+ return 'src'
38
+
39
+
40
+ def main(argv=None):
41
+ return Breakpad().handle_args(argv)
42
+
43
+
44
+ if __name__ == '__main__':
45
+ sys.exit(main(sys.argv))
@@ -4,13 +4,13 @@
4
4
 
5
5
  import sys
6
6
 
7
- import recipe_util # pylint: disable=F0401
7
+ import config_util # pylint: disable=F0401
8
8
 
9
9
 
10
10
  # This class doesn't need an __init__ method, so we disable the warning
11
11
  # pylint: disable=W0232
12
- class Chromium(recipe_util.Recipe):
13
- """Basic Recipe class for Chromium."""
12
+ class Chromium(config_util.Config):
13
+ """Basic Config class for Chromium."""
14
14
 
15
15
  @staticmethod
16
16
  def fetch_spec(props):