private static function extract_tarball($tarball, $dest)
{
if (!class_exists('PharData')) {
$cmd = "tar xz --strip-components=1 --directory=%s -f {$tarball}";
WP_CLI::launch(Utils\esc_cmd($cmd, $dest));
return;
}
$phar = new PharData($tarball);
$tempdir = implode(DIRECTORY_SEPARATOR, array(dirname($tarball), basename($tarball, '.tar.gz'), $phar->getFileName()));
$phar->extractTo(dirname($tempdir), null, true);
self::copy_overwrite_files($tempdir, $dest);
self::rmdir(dirname($tempdir));
}