gclient: allow dict syntax in deps, in preparation for conditions

Bug: 570091
Change-Id: Ib3296a201bdcbd4ec350ee0e98112a89e388fd61
Reviewed-on: https://chromium-review.googlesource.com/517049
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
diff --git a/gclient_eval.py b/gclient_eval.py
index caf63d4..a995db9 100644
--- a/gclient_eval.py
+++ b/gclient_eval.py
@@ -35,7 +35,14 @@
     #
     #   Var(): allows variable substitution (either from 'vars' dict below,
     #          or command-line override)
-    schema.Optional('deps'): {schema.Optional(basestring): basestring},
+    schema.Optional('deps'): {
+        schema.Optional(basestring): schema.Or(
+            basestring,
+            {
+                'url': basestring,
+            },
+        ),
+    },
 
     # Similar to 'deps' (see above) - also keyed by OS (e.g. 'linux').
     # Also see 'target_os'.