Fix for Geolocation webTCT failures
[platform/framework/web/chromium-efl.git] / third_party / dawn / DEPS
1 use_relative_paths = True
2
3 gclient_gn_args_file = 'build/config/gclient_args.gni'
4
5 gclient_gn_args = [
6   'generate_location_tags',
7 ]
8
9 git_dependencies = 'SYNC'
10
11 vars = {
12   'chromium_git': 'https://chromium.googlesource.com',
13   'dawn_git': 'https://dawn.googlesource.com',
14   'github_git': 'https://github.com',
15   'swiftshader_git': 'https://swiftshader.googlesource.com',
16
17   'dawn_standalone': True,
18   'dawn_node': False, # Also fetches dependencies required for building NodeJS bindings.
19   'dawn_cmake_version': 'version:2@3.23.3',
20   'dawn_cmake_win32_sha1': 'b106d66bcdc8a71ea2cdf5446091327bfdb1bcd7',
21   'dawn_gn_version': 'git_revision:182a6eb05d15cc76d2302f7928fdb4f645d52c53',
22   # ninja CIPD package version.
23   # https://chrome-infra-packages.appspot.com/p/infra/3pp/tools/ninja
24   'dawn_ninja_version': 'version:2@1.11.1.chromium.6',
25   'dawn_go_version': 'version:2@1.21.3',
26
27   'node_darwin_arm64_sha': '31859fc1fa0994a95f44f09c367d6ff63607cfde',
28   'node_darwin_x64_sha': '16dfd094763b71988933a31735f9dea966f9abd6',
29   'node_linux_x64_sha': 'ab9544e24e752d3d17f335fb7b2055062e582d11',
30   'node_win_x64_sha': '5ef847033c517c499f56f9d136d159b663bab717',
31
32   # GN variable required by //testing that will be output in the gclient_args.gni
33   'generate_location_tags': False,
34
35   # Fetch clang-tidy into the same bin/ directory as our clang binary.
36   'checkout_clang_tidy': False,
37
38   # Fetch the rust toolchain.
39   #
40   # Use a custom_vars section to enable it:
41   # "custom_vars": {
42   #   "checkout_rust": True,
43   # }
44   'checkout_rust': False,
45
46   # Fetch configuration files required for the 'use_remoteexec' gn arg
47   'download_remoteexec_cfg': False,
48   # RBE instance to use for running remote builds
49   'rbe_instance': 'projects/rbe-chrome-untrusted/instances/default_instance',
50   # RBE project to download rewrapper config files for. Only needed if
51   # different from the project used in 'rbe_instance'
52   'rewrapper_cfg_project': '',
53   # reclient CIPD package
54   'reclient_package': 'infra/rbe/client/',
55   # reclient CIPD package version
56   'reclient_version': 're_client_version:0.114.2.81e819b-gomaip',
57
58   # 'magic' text to tell depot_tools that git submodules should be accepted
59   # but parity with DEPS file is expected.
60   'SUBMODULE_MIGRATION': 'True'
61 }
62
63 deps = {
64   'buildtools': {
65     'url': '{chromium_git}/chromium/src/buildtools@a9a6f0c49d0e8fa0cda37337430b4736ab3dc944',
66     'condition': 'dawn_standalone',
67   },
68   'third_party/clang-format/script': {
69     'url': '{chromium_git}/external/github.com/llvm/llvm-project/clang/tools/clang-format.git@8b525d2747f2584fc35d8c7e612e66f377858df7',
70     'condition': 'dawn_standalone',
71   },
72   'buildtools/linux64': {
73     'packages': [{
74       'package': 'gn/gn/linux-amd64',
75       'version': Var('dawn_gn_version'),
76     }],
77     'dep_type': 'cipd',
78     'condition': 'dawn_standalone and host_os == "linux"',
79   },
80   'buildtools/mac': {
81     'packages': [{
82       'package': 'gn/gn/mac-${{arch}}',
83       'version': Var('dawn_gn_version'),
84     }],
85     'dep_type': 'cipd',
86     'condition': 'dawn_standalone and host_os == "mac"',
87   },
88   'buildtools/win': {
89     'packages': [{
90       'package': 'gn/gn/windows-amd64',
91       'version': Var('dawn_gn_version'),
92     }],
93     'dep_type': 'cipd',
94     'condition': 'dawn_standalone and host_os == "win"',
95   },
96
97   'third_party/libc++/src': {
98     'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxx.git@84fb809dd6dae36d556dc0bb702c6cc2ce9d4b80',
99     'condition': 'dawn_standalone',
100   },
101
102   'third_party/libc++abi/src': {
103     'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxxabi.git@d4760c0af99ccc9bce077960d5ddde4d66146c05',
104     'condition': 'dawn_standalone',
105   },
106
107   # Dependencies required to use GN, Clang, and Rust in standalone.
108   # The //build, //tools/clang, and //tools/rust deps should all be updated
109   # in unison, as there are dependencies between them.
110   'build': {
111     'url': '{chromium_git}/chromium/src/build@e2f4d00875f7d00fad39d5af2c6869ac7c7413cc',
112     'condition': 'dawn_standalone',
113   },
114   'tools/clang': {
115     'url': '{chromium_git}/chromium/src/tools/clang@86aed39db276fb876a2b98c93cc6ff8940377903',
116     'condition': 'dawn_standalone',
117   },
118   'tools/rust': {
119     'url': '{chromium_git}/chromium/src/tools/rust@7052bd3aa0eba2d3d701b7a76219e3b04770540e',
120     'condition': 'dawn_standalone and checkout_rust',
121   },
122   'tools/clang/dsymutil': {
123     'packages': [{
124       'package': 'chromium/llvm-build-tools/dsymutil',
125       'version': 'M56jPzDv1620Rnm__jTMYS62Zi8rxHVq7yw0qeBFEgkC',
126     }],
127     'condition': 'dawn_standalone and (checkout_mac or checkout_ios)',
128     'dep_type': 'cipd',
129   },
130
131   # Testing, GTest and GMock
132   'testing': {
133     'url': '{chromium_git}/chromium/src/testing@035a9b18047370df7403758b006e6c9696d6b84d',
134     'condition': 'dawn_standalone',
135   },
136   'third_party/libFuzzer/src': {
137     'url': '{chromium_git}/external/github.com/llvm/llvm-project/compiler-rt/lib/fuzzer.git' + '@' + '26cc39e59b2bf5cbc20486296248a842c536878d',
138     'condition': 'dawn_standalone',
139   },
140   'third_party/googletest': {
141     'url': '{chromium_git}/external/github.com/google/googletest@7a7231c442484be389fdf01594310349ca0e42a8',
142     'condition': 'dawn_standalone',
143   },
144   # This is a dependency of //testing
145   'third_party/catapult': {
146     'url': '{chromium_git}/catapult.git@dd218dfd815774289f8a81015f7a3131f72afbde',
147     'condition': 'dawn_standalone',
148   },
149   'third_party/google_benchmark/src': {
150     'url': '{chromium_git}/external/github.com/google/benchmark.git' + '@' + 'efc89f0b524780b1994d5dddd83a92718e5be492',
151     'condition': 'dawn_standalone',
152   },
153
154   # Jinja2 and MarkupSafe for the code generator
155   'third_party/jinja2': {
156     'url': '{chromium_git}/chromium/src/third_party/jinja2@515dd10de9bf63040045902a4a310d2ba25213a0',
157     'condition': 'dawn_standalone',
158   },
159   'third_party/markupsafe': {
160     'url': '{chromium_git}/chromium/src/third_party/markupsafe@006709ba3ed87660a17bd4548c45663628f5ed85',
161     'condition': 'dawn_standalone',
162   },
163
164   # GLFW for tests and samples
165   'third_party/glfw': {
166     'url': '{chromium_git}/external/github.com/glfw/glfw@62e175ef9fae75335575964c845a302447c012c7',
167   },
168
169   'third_party/vulkan_memory_allocator': {
170     'url': '{chromium_git}/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator@e87036508bb156f9986ea959323de1869e328f58',
171     'condition': 'dawn_standalone',
172   },
173
174   'third_party/angle': {
175     'url': '{chromium_git}/angle/angle@b56a72045a2b8ca5daf15d8177b462d256fc5181',
176     'condition': 'dawn_standalone',
177   },
178
179   'third_party/swiftshader': {
180     'url': '{swiftshader_git}/SwiftShader@d9ec9befba05a8dfca09c1e88f3f7be0e4b153c6',
181     'condition': 'dawn_standalone',
182   },
183
184   'third_party/vulkan-deps': {
185     'url': '{chromium_git}/vulkan-deps@1a99a795c2297084596c89b559c3a3a55bbf7abf',
186     'condition': 'dawn_standalone',
187   },
188
189   'third_party/zlib': {
190     'url': '{chromium_git}/chromium/src/third_party/zlib@526382e41c9c5275dc329db4328b54e4f344a204',
191     'condition': 'dawn_standalone',
192   },
193
194   'third_party/abseil-cpp': {
195     'url': '{chromium_git}/chromium/src/third_party/abseil-cpp@4ef9b33175828ea46d091e7e5ec28259d39a8ba5',
196     'condition': 'dawn_standalone',
197   },
198
199   'third_party/dxc': {
200     'url': '{chromium_git}/external/github.com/microsoft/DirectXShaderCompiler@64030a4e01e27c608b6c5f1ab5add43575e086f9',
201   },
202
203   'third_party/dxheaders': {
204     # The non-Windows build of DXC depends on DirectX-Headers, and at a specific commit (not ToT)
205     'url': '{chromium_git}/external/github.com/microsoft/DirectX-Headers@980971e835876dc0cde415e8f9bc646e64667bf7',
206     'condition': 'host_os != "win"',
207   },
208
209   'third_party/khronos/OpenGL-Registry': {
210     'url': '{chromium_git}/external/github.com/KhronosGroup/OpenGL-Registry@5bae8738b23d06968e7c3a41308568120943ae77',
211   },
212
213   'third_party/khronos/EGL-Registry': {
214     'url': '{chromium_git}/external/github.com/KhronosGroup/EGL-Registry@7dea2ed79187cd13f76183c4b9100159b9e3e071',
215   },
216
217   # WebGPU CTS - not used directly by Dawn, only transitively by Chromium.
218   'third_party/webgpu-cts': {
219     'url': '{chromium_git}/external/github.com/gpuweb/cts@2ef3f322027bec1bb5572f5083d478148d355d79',
220     'condition': 'build_with_chromium',
221   },
222
223   # Dependencies required to build / run Dawn NodeJS bindings
224   'third_party/node-api-headers': {
225     'url': '{github_git}/nodejs/node-api-headers.git@d68505e4055ecb630e14c26c32e5c2c65e179bba',
226     'condition': 'dawn_node',
227   },
228   'third_party/node-addon-api': {
229     'url': '{github_git}/nodejs/node-addon-api.git@4a3de56c3e4ed0031635a2f642b27efeeed00add',
230     'condition': 'dawn_node',
231   },
232   'third_party/gpuweb': {
233     'url': '{github_git}/gpuweb/gpuweb.git@17f7771857dd6cf0377a99e6a63a723b80485e50',
234     'condition': 'dawn_node',
235   },
236
237   'tools/golang': {
238     'packages': [{
239       'package': 'infra/3pp/tools/go/${{platform}}',
240       'version': Var('dawn_go_version'),
241     }],
242     'dep_type': 'cipd',
243   },
244
245   'tools/cmake': {
246     'condition': 'dawn_node and (host_os == "mac" or host_os == "linux")',
247     'packages': [{
248       'package': 'infra/3pp/tools/cmake/${{platform}}',
249       'version': Var('dawn_cmake_version'),
250     }],
251     'dep_type': 'cipd',
252   },
253
254   'third_party/ninja': {
255     'packages': [
256       {
257         'package': 'infra/3pp/tools/ninja/${{platform}}',
258         'version': Var('dawn_ninja_version'),
259       }
260     ],
261     'dep_type': 'cipd',
262   },
263
264   # RBE dependencies
265   'buildtools/reclient': {
266     'packages': [
267       {
268         'package': Var('reclient_package') + '${{platform}}',
269         'version': Var('reclient_version'),
270       }
271     ],
272     'dep_type': 'cipd',
273     'condition': 'dawn_standalone',
274   },
275
276   # Misc dependencies inherited from Tint
277   'third_party/protobuf': {
278     'url': '{chromium_git}/external/github.com/protocolbuffers/protobuf.git@2b673bbb57e34fe1bd4570f726fc86b769a3a3d2',
279     'condition': 'dawn_standalone',
280   },
281
282   # Dependencies for PartitionAlloc.
283   # Doc: https://docs.google.com/document/d/1wz45t0alQthsIU9P7_rQcfQyqnrBMXzrOjSzdQo-V-A
284   'third_party/partition_alloc': {
285     'url': '{chromium_git}/chromium/src/base/allocator/partition_allocator.git@6f90cb04abb81942abaab7b63d34c02882208172',
286     'condition': 'dawn_standalone',
287   },
288 }
289
290 hooks = [
291   # Pull the compilers and system libraries for hermetic builds
292   {
293     'name': 'sysroot_x86',
294     'pattern': '.',
295     'condition': 'dawn_standalone and checkout_linux and (checkout_x86 or checkout_x64)',
296     'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
297                '--arch=x86'],
298   },
299   {
300     'name': 'sysroot_x64',
301     'pattern': '.',
302     'condition': 'dawn_standalone and checkout_linux and checkout_x64',
303     'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
304                '--arch=x64'],
305   },
306   {
307     # Update the Mac toolchain if possible, this makes builders use "hermetic XCode" which is
308     # is more consistent (only changes when rolling build/) and is cached.
309     'name': 'mac_toolchain',
310     'pattern': '.',
311     'condition': 'dawn_standalone and checkout_mac',
312     'action': ['python3', 'build/mac_toolchain.py'],
313   },
314   {
315     # Case-insensitivity for the Win SDK. Must run before win_toolchain below.
316     'name': 'ciopfs_linux',
317     'pattern': '.',
318     'condition': 'dawn_standalone and checkout_win and host_os == "linux"',
319     'action': [ 'download_from_google_storage',
320                 '--no_resume',
321                 '--no_auth',
322                 '--bucket', 'chromium-browser-clang/ciopfs',
323                 '-s', 'build/ciopfs.sha1',
324     ]
325   },
326   {
327     # Update the Windows toolchain if necessary. Must run before 'clang' below.
328     'name': 'win_toolchain',
329     'pattern': '.',
330     'condition': 'dawn_standalone and checkout_win',
331     'action': ['python3', 'build/vs_toolchain.py', 'update', '--force'],
332   },
333   {
334     # Note: On Win, this should run after win_toolchain, as it may use it.
335     'name': 'clang',
336     'pattern': '.',
337     'action': ['python3', 'tools/clang/scripts/update.py'],
338     'condition': 'dawn_standalone',
339   },
340   {
341     # This is also supposed to support the same set of platforms as 'clang'
342     # above. LLVM ToT support isn't provided at the moment.
343     'name': 'clang_tidy',
344     'pattern': '.',
345     'condition': 'dawn_standalone and checkout_clang_tidy',
346     'action': ['python3', 'tools/clang/scripts/update.py',
347                '--package=clang-tidy'],
348   },
349   {
350     'name': 'rust',
351     'pattern': '.',
352     'action': ['python3', 'tools/rust/update_rust.py'],
353     'condition': 'dawn_standalone and checkout_rust',
354   },
355   {
356     # Pull rc binaries using checked-in hashes.
357     'name': 'rc_win',
358     'pattern': '.',
359     'condition': 'dawn_standalone and checkout_win and host_os == "win"',
360     'action': [ 'download_from_google_storage',
361                 '--no_resume',
362                 '--no_auth',
363                 '--bucket', 'chromium-browser-clang/rc',
364                 '-s', 'build/toolchain/win/rc/win/rc.exe.sha1',
365     ],
366   },
367   {
368     'name': 'rc_linux',
369     'pattern': '.',
370     'condition': 'dawn_standalone and checkout_win and host_os == "linux"',
371     'action': [ 'download_from_google_storage',
372                 '--no_resume',
373                 '--no_auth',
374                 '--bucket', 'chromium-browser-clang/rc',
375                 '-s', 'build/toolchain/win/rc/linux64/rc.sha1',
376     ],
377   },
378   {
379     'name': 'rc_mac',
380     'pattern': '.',
381     'condition': 'dawn_standalone and checkout_win and host_os == "mac"',
382     'action': [ 'download_from_google_storage',
383                 '--no_resume',
384                 '--no_auth',
385                 '--bucket', 'chromium-browser-clang/rc',
386                 '-s', 'build/toolchain/win/rc/mac/rc.sha1',
387     ],
388   },
389   # Pull clang-format binaries using checked-in hashes.
390   {
391     'name': 'clang_format_win',
392     'pattern': '.',
393     'condition': 'dawn_standalone and host_os == "win"',
394     'action': [ 'download_from_google_storage',
395                 '--no_resume',
396                 '--no_auth',
397                 '--bucket', 'chromium-clang-format',
398                 '-s', 'buildtools/win/clang-format.exe.sha1',
399     ],
400   },
401   {
402     'name': 'clang_format_mac_x64',
403     'pattern': '.',
404     'condition': 'dawn_standalone and host_os == "mac" and host_cpu == "x64"',
405     'action': [ 'download_from_google_storage',
406                 '--no_resume',
407                 '--no_auth',
408                 '--bucket', 'chromium-clang-format',
409                 '-s', 'buildtools/mac/clang-format.x64.sha1',
410                 '-o', 'buildtools/mac/clang-format',
411     ],
412   },
413   {
414     'name': 'clang_format_mac_arm64',
415     'pattern': '.',
416     'condition': 'dawn_standalone and host_os == "mac" and host_cpu == "arm64"',
417     'action': [ 'download_from_google_storage',
418                 '--no_resume',
419                 '--no_auth',
420                 '--bucket', 'chromium-clang-format',
421                 '-s', 'buildtools/mac/clang-format.arm64.sha1',
422                 '-o', 'buildtools/mac/clang-format',
423     ],
424   },
425   {
426     'name': 'clang_format_linux',
427     'pattern': '.',
428     'condition': 'dawn_standalone and host_os == "linux"',
429     'action': [ 'download_from_google_storage',
430                 '--no_resume',
431                 '--no_auth',
432                 '--bucket', 'chromium-clang-format',
433                 '-s', 'buildtools/linux64/clang-format.sha1',
434     ],
435   },
436   # Update build/util/LASTCHANGE.
437   {
438     'name': 'lastchange',
439     'pattern': '.',
440     'condition': 'dawn_standalone',
441     'action': ['python3', 'build/util/lastchange.py',
442                '-o', 'build/util/LASTCHANGE'],
443   },
444   # TODO(https://crbug.com/1180257): Use CIPD for CMake on Windows.
445   {
446     'name': 'cmake_win32',
447     'pattern': '.',
448     'condition': 'dawn_node and host_os == "win"',
449     'action': [ 'download_from_google_storage',
450                 '--no_resume',
451                 '--platform=win32',
452                 '--no_auth',
453                 '--bucket', 'chromium-tools',
454                 Var('dawn_cmake_win32_sha1'),
455                 '-o', 'tools/cmake-win32.zip'
456     ],
457   },
458   {
459     'name': 'cmake_win32_extract',
460     'pattern': '.',
461     'condition': 'dawn_node and host_os == "win"',
462     'action': [ 'python3',
463                 'scripts/extract.py',
464                 'tools/cmake-win32.zip',
465                 'tools/cmake-win32/',
466     ],
467   },
468
469   # Node binaries, when dawn_node is enabled
470   {
471     'name': 'node_linux64',
472     'pattern': '.',
473     'condition': 'dawn_node and host_os == "linux"',
474     'action': [ 'download_from_google_storage',
475                 '--no_resume',
476                 '--extract',
477                 '--no_auth',
478                 '--bucket', 'chromium-nodejs/16.13.0',
479                 Var('node_linux_x64_sha'),
480                 '-o', 'third_party/node/node-linux-x64.tar.gz',
481     ],
482   },
483   {
484     'name': 'node_mac',
485     'pattern': '.',
486     'condition': 'dawn_node and host_os == "mac"',
487     'action': [ 'download_from_google_storage',
488                 '--no_resume',
489                 '--extract',
490                 '--no_auth',
491                 '--bucket', 'chromium-nodejs/16.13.0',
492                 Var('node_darwin_x64_sha'),
493                 '-o', 'third_party/node/node-darwin-x64.tar.gz',
494     ],
495   },
496   {
497     'name': 'node_mac_arm64',
498     'pattern': '.',
499     'condition': 'dawn_node and host_os == "mac"',
500     'action': [ 'download_from_google_storage',
501                 '--no_resume',
502                 '--extract',
503                 '--no_auth',
504                 '--bucket', 'chromium-nodejs/16.13.0',
505                 Var('node_darwin_arm64_sha'),
506                 '-o', 'third_party/node/node-darwin-arm64.tar.gz',
507     ],
508   },
509   {
510     'name': 'node_win',
511     'pattern': '.',
512     'condition': 'dawn_node and host_os == "win"',
513     'action': [ 'download_from_google_storage',
514                 '--no_resume',
515                 '--no_auth',
516                 '--bucket', 'chromium-nodejs/16.13.0',
517                 Var('node_win_x64_sha'),
518                 '-o', 'third_party/node/node.exe',
519     ],
520   },
521  {
522    # Download remote exec cfg files
523    'name': 'fetch_reclient_cfgs',
524    'pattern': '.',
525    'condition': 'download_remoteexec_cfg and dawn_standalone',
526    'action': ['python3',
527               'buildtools/reclient_cfgs/fetch_reclient_cfgs.py',
528               '--rbe_instance',
529               Var('rbe_instance'),
530               '--reproxy_cfg_template',
531               'reproxy.cfg.template',
532               '--rewrapper_cfg_project',
533               Var('rewrapper_cfg_project'),
534               '--quiet',
535               ],
536  },
537 ]
538
539 recursedeps = [
540   'third_party/vulkan-deps',
541 ]