Version 2.10.0-61.0.dev

Merge commit '091e66ceb0b5734e245f5db6d244f0026ba57650' into 'dev'
diff --git a/runtime/BUILD.gn b/runtime/BUILD.gn
index 332a586..a183272 100644
--- a/runtime/BUILD.gn
+++ b/runtime/BUILD.gn
@@ -224,10 +224,10 @@
   if (is_fuchsia) {
     if (using_fuchsia_gn_sdk) {
       extra_deps += [
-        "//build/fuchsia/config/clang:c++-runtime-deps",
         "$fuchsia_sdk_root/build/config:runtime_library_group",
         "$fuchsia_sdk_root/pkg/fdio",
         "$fuchsia_sdk_root/pkg/trace-engine",
+        "//build/fuchsia/config/clang:c++-runtime-deps",
       ]
     } else if (using_fuchsia_sdk) {
       extra_deps += [
@@ -284,10 +284,4 @@
   if (!dart_version_git_info) {
     args += [ "--no_git_hash" ]
   }
-  if (dart_custom_version_for_pub != "") {
-    args += [
-      "--custom_for_pub",
-      dart_custom_version_for_pub,
-    ]
-  }
 }
diff --git a/runtime/include/dart_tools_api.h b/runtime/include/dart_tools_api.h
index 4c86a82..34e71eaf 100644
--- a/runtime/include/dart_tools_api.h
+++ b/runtime/include/dart_tools_api.h
@@ -5,7 +5,7 @@
 #ifndef RUNTIME_INCLUDE_DART_TOOLS_API_H_
 #define RUNTIME_INCLUDE_DART_TOOLS_API_H_
 
-#include "dart_api.h"
+#include "include/dart_api.h"
 
 /** \mainpage Dart Tools Embedding API Reference
  *
diff --git a/runtime/runtime_args.gni b/runtime/runtime_args.gni
index 1d7c539..a20deb3 100644
--- a/runtime/runtime_args.gni
+++ b/runtime/runtime_args.gni
@@ -59,19 +59,6 @@
   # git commit time.
   dart_version_git_info = true
 
-  # When this argument is a non-empty string, the version repoted by the
-  # Dart VM will be one that is compatible with pub's interpretation of
-  # semantic version strings. The version string will also include the values
-  # of the argument. In particular the version string will read:
-  #
-  #     "M.m.p-dev.x.x-$(dart_custom_version_for_pub)-$(short_git_hash)"
-  #
-  # Where 'M', 'm', and 'p' are the major, minor and patch version numbers,
-  # and 'dev.x.x' is the dev version tag most recently preceeding the current
-  # revision. The short git hash can be omitted by setting
-  # dart_version_git_info=false
-  dart_custom_version_for_pub = ""
-
   # Controls whether the VM is built as a static library or a shared library.
   if (is_fuchsia) {
     # Allow for deduping the VM between standalone, flutter_runner and dart_runner.
diff --git a/runtime/vm/os_fuchsia.cc b/runtime/vm/os_fuchsia.cc
index 6ad304e..c30ee49 100644
--- a/runtime/vm/os_fuchsia.cc
+++ b/runtime/vm/os_fuchsia.cc
@@ -12,9 +12,9 @@
 #include <stdint.h>
 
 #include <fuchsia/deprecatedtimezone/cpp/fidl.h>
-#include <lib/async-loop/default.h>
-#include <lib/async-loop/loop.h>
 #include <lib/async/default.h>
+#include <lib/async-loop/loop.h>
+#include <lib/async-loop/default.h>
 #include <lib/inspect/cpp/inspect.h>
 #include <lib/sys/cpp/component_context.h>
 #include <lib/sys/cpp/service_directory.h>
@@ -22,7 +22,6 @@
 #include <zircon/process.h>
 #include <zircon/syscalls.h>
 #include <zircon/syscalls/object.h>
-#include <zircon/time.h>
 #include <zircon/types.h>
 
 #include "platform/assert.h"
@@ -116,15 +115,6 @@
   return true;
 }
 
-int64_t GetCurrentTimeNanos() {
-  struct timespec ts;
-  if (timespec_get(&ts, TIME_UTC) == 0) {
-    FATAL("timespec_get failed");
-    return 0;
-  }
-  return zx_time_add_duration(ZX_SEC(ts.tv_sec), ZX_NSEC(ts.tv_nsec));
-}
-
 }  // namespace
 
 namespace dart {
@@ -187,18 +177,21 @@
 
 int OS::GetLocalTimeZoneAdjustmentInSeconds() {
   int32_t local_offset, dst_offset;
-  int64_t now_seconds = GetCurrentTimeNanos() / ZX_SEC(1);
-  zx_status_t status =
-      GetLocalAndDstOffsetInSeconds(now_seconds, &local_offset, &dst_offset);
+  zx_time_t now = 0;
+  zx_clock_get(ZX_CLOCK_UTC, &now);
+  zx_status_t status = GetLocalAndDstOffsetInSeconds(
+      now / ZX_SEC(1), &local_offset, &dst_offset);
   return status == ZX_OK ? local_offset : 0;
 }
 
 int64_t OS::GetCurrentTimeMillis() {
-  return GetCurrentTimeNanos() / ZX_MSEC(1);
+  return GetCurrentTimeMicros() / 1000;
 }
 
 int64_t OS::GetCurrentTimeMicros() {
-  return GetCurrentTimeNanos() / ZX_USEC(1);
+  zx_time_t now = 0;
+  zx_clock_get(ZX_CLOCK_UTC, &now);
+  return now / kNanosecondsPerMicrosecond;
 }
 
 int64_t OS::GetCurrentMonotonicTicks() {
diff --git a/tools/VERSION b/tools/VERSION
index 3b27dbf..11b1e5b 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 10
 PATCH 0
-PRERELEASE 60
+PRERELEASE 61
 PRERELEASE_PATCH 0
\ No newline at end of file
diff --git a/tools/make_version.py b/tools/make_version.py
index 1dc0dbe..fdae0aa 100755
--- a/tools/make_version.py
+++ b/tools/make_version.py
@@ -48,21 +48,13 @@
     return vmhash.hexdigest()
 
 
-def GetSemanticVersionFormat(no_git_hash, custom_for_pub):
+def GetSemanticVersionFormat(no_git_hash):
     version_format = '{{SEMANTIC_SDK_VERSION}}'
-
-    if custom_for_pub and utils.GetChannel() == 'be':
-        if no_git_hash:
-            version_format = '{{LATEST}}.{{PUB_CUSTOM}}'
-        else:
-            version_format = '{{LATEST}}.{{PUB_CUSTOM}}-{{GIT_HASH}}'
-
     return version_format
 
 
 def FormatVersionString(version,
                         no_git_hash,
-                        custom_for_pub,
                         version_file=None,
                         git_revision_file=None):
     use_git_hash = not no_git_hash
@@ -70,8 +62,7 @@
     semantic_sdk_version = utils.GetSemanticSDKVersion(no_git_hash,
                                                        version_file,
                                                        git_revision_file)
-    semantic_version_format = GetSemanticVersionFormat(no_git_hash,
-                                                       custom_for_pub)
+    semantic_version_format = GetSemanticVersionFormat(no_git_hash)
     version_str = (semantic_sdk_version
                    if version_file else semantic_version_format)
 
@@ -79,18 +70,6 @@
 
     version = version.replace('{{SEMANTIC_SDK_VERSION}}', semantic_sdk_version)
 
-    if custom_for_pub:
-        # LATEST is only used for custom_for_pub.
-        latest = None
-        if use_git_hash:
-            # If grabbing the dev tag fails, then fall back on the default VERSION file.
-            latest = utils.GetLatestDevTag()
-        if not latest:
-            latest = utils.GetSemanticSDKVersion(no_git_hash=True)
-        version = version.replace('{{LATEST}}', latest)
-
-        version = version.replace('{{PUB_CUSTOM}}', custom_for_pub)
-
     git_hash = None
     if use_git_hash:
         git_hash = utils.GetShortGitHash()
@@ -118,11 +97,6 @@
     try:
         # Parse input.
         parser = argparse.ArgumentParser()
-        parser.add_argument(
-            '--custom_for_pub',
-            help=('Generates a version string that works with pub that '
-                  'includes the given string. This is silently ignored on '
-                  'channels other than be.'))
         parser.add_argument('--input', help='Input template file.')
         parser.add_argument(
             '--no_git_hash',
@@ -159,8 +133,7 @@
             raise 'No version template given! Set either --input or --format.'
 
         version = FormatVersionString(version_template, args.no_git_hash,
-                                      args.custom_for_pub, args.version_file,
-                                      args.git_revision_file)
+                                      args.version_file, args.git_revision_file)
 
         if args.output:
             with open(args.output, 'w') as fh: