From 94a5779ddad9600bcdea970c6b81b5695b0024ff Mon Sep 17 00:00:00 2001 From: Dhi Aurrahman Date: Tue, 28 Jul 2020 10:40:41 +0000 Subject: [PATCH 01/17] url: Fix unicode URL parsing Signed-off-by: Dhi Aurrahman --- bazel/external/googleurl.patch | 43 ++++++++++++++++++++++---------- bazel/external/icuuc.BUILD | 20 +++++++-------- bazel/foreign_cc/BUILD | 40 +++++++++++++++++++++++++++++ bazel/foreign_cc/icuuc.patch | 17 +++++++++++++ bazel/repositories.bzl | 12 ++++++--- bazel/repository_locations.bzl | 12 ++++----- test/common/http/utility_test.cc | 6 +++++ 7 files changed, 116 insertions(+), 34 deletions(-) create mode 100644 bazel/foreign_cc/icuuc.patch diff --git a/bazel/external/googleurl.patch b/bazel/external/googleurl.patch index fe867e5bedc6..8c11f0c25697 100644 --- a/bazel/external/googleurl.patch +++ b/bazel/external/googleurl.patch @@ -2,7 +2,7 @@ # clang-cl. Tracked in https://github.com/envoyproxy/envoy/issues/11974. diff --git a/base/compiler_specific.h b/base/compiler_specific.h -index 2962537..6193b56 100644 +index 0cd36dc..8fc4db0 100644 --- a/base/compiler_specific.h +++ b/base/compiler_specific.h @@ -7,10 +7,6 @@ @@ -16,7 +16,7 @@ index 2962537..6193b56 100644 // Annotate a variable indicating it's ok if the variable is not used. // (Typically used to silence a compiler warning when the assignment // is important for some other reason.) -@@ -212,7 +208,9 @@ +@@ -226,7 +222,9 @@ #endif #endif @@ -27,7 +27,7 @@ index 2962537..6193b56 100644 // Attribute "uninitialized" disables -ftrivial-auto-var-init=pattern for // the specified variable. // Library-wide alternative is -@@ -243,6 +241,8 @@ +@@ -257,6 +255,8 @@ // E.g. platform, bot, benchmark or test name in patch description or next to // the attribute. #define STACK_UNINITIALIZED __attribute__((uninitialized)) @@ -37,10 +37,10 @@ index 2962537..6193b56 100644 #define STACK_UNINITIALIZED #endif diff --git a/base/strings/BUILD b/base/strings/BUILD -index 7a06170..7c86a5f 100644 +index 604cc81..87fe7ce 100644 --- a/base/strings/BUILD +++ b/base/strings/BUILD -@@ -6,23 +6,21 @@ load("//:build_config.bzl", "build_config") +@@ -6,13 +6,12 @@ load("//build_config:build_config.bzl", "build_config") cc_library( name = "strings", srcs = [ @@ -55,9 +55,10 @@ index 7a06170..7c86a5f 100644 hdrs = [ "char_traits.h", "string16.h", - "string_piece.h", +@@ -20,10 +19,9 @@ cc_library( "string_piece_forward.h", "string_util.h", + "string_util_internal.h", - "string_util_posix.h", "utf_string_conversion_utils.h", "utf_string_conversions.h", @@ -66,11 +67,11 @@ index 7a06170..7c86a5f 100644 copts = build_config.default_copts, visibility = ["//visibility:public"], deps = [ -diff --git a/build_config.bzl b/build_config.bzl -index d5fca65..fc0d7e5 100644 +diff --git a/build_config/build_config.bzl b/build_config/build_config.bzl +index d5fca65..dcada36 100644 --- a/build_config/build_config.bzl +++ b/build_config/build_config.bzl -@@ -1,8 +1,25 @@ +@@ -1,8 +1,32 @@ -_default_copts = [ - "-std=c++14", - "-fno-strict-aliasing", @@ -93,18 +94,34 @@ index d5fca65..fc0d7e5 100644 +_strings_hdrs = select({ + "@envoy//bazel:windows_x86_64": ["string_util_win.h"], + "//conditions:default": ["string_util_posix.h"], ++}) ++ ++_icuuc_deps = select({ ++ "@envoy//bazel:apple": ["@org_unicode_icuuc//:common"], ++ "@envoy//bazel:windows_x86_64": ["@org_unicode_icuuc//:common"], ++ "//conditions:default": ["@envoy//bazel/foreign_cc:icuuc"], +}) build_config = struct( default_copts = _default_copts, + strings_srcs = _strings_srcs, + strings_hdrs = _strings_hdrs, ++ icuuc_deps = _icuuc_deps, ) diff --git a/url/BUILD b/url/BUILD -index 0126bdc..5d1a171 100644 +index e9081d9..9d5929f 100644 --- a/url/BUILD +++ b/url/BUILD -@@ -43,11 +43,11 @@ cc_library( +@@ -1,6 +1,8 @@ + # Copyright 2019 The Chromium Authors. All rights reserved. + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. ++load("@rules_cc//cc:defs.bzl", "cc_library") ++ + load("//build_config:build_config.bzl", "build_config") + + cc_library( +@@ -43,11 +45,10 @@ cc_library( "url_util.h", ], copts = build_config.default_copts, @@ -114,6 +131,6 @@ index 0126bdc..5d1a171 100644 "//base", "//base/strings", "//polyfills", -+ "@org_unicode_icuuc//:common", - ], +- ], ++ ] + build_config.icuuc_deps ) diff --git a/bazel/external/icuuc.BUILD b/bazel/external/icuuc.BUILD index e910a64af1aa..f5bc255f4110 100644 --- a/bazel/external/icuuc.BUILD +++ b/bazel/external/icuuc.BUILD @@ -3,8 +3,7 @@ load("@rules_cc//cc:defs.bzl", "cc_library") licenses(["notice"]) # Apache 2 exports_files([ - "icu4c/LICENSE", - "icu4j/main/shared/licenses/LICENSE", + "LICENSE", ]) icuuc_copts = [ @@ -31,15 +30,15 @@ icuuc_copts = [ cc_library( name = "headers", - hdrs = glob(["icu4c/source/common/unicode/*.h"]), - includes = ["icu4c/source/common"], + hdrs = glob(["source/common/unicode/*.h"]), + includes = ["source/common"], visibility = ["//visibility:public"], ) cc_library( name = "common", - hdrs = glob(["icu4c/source/common/unicode/*.h"]), - includes = ["icu4c/source/common"], + hdrs = glob(["source/common/unicode/*.h"]), + includes = ["source/common"], visibility = ["//visibility:public"], deps = [":icuuc"], ) @@ -47,13 +46,12 @@ cc_library( cc_library( name = "icuuc", srcs = glob([ - "icu4c/source/common/*.c", - "icu4c/source/common/*.cpp", - "icu4c/source/stubdata/*.cpp", + "source/common/**/*.c", + "source/common/**/*.cpp", + "source/stubdata/*.cpp", ]), - hdrs = glob(["icu4c/source/common/*.h"]), + hdrs = glob(["source/common/*.h"]), copts = icuuc_copts, - tags = ["requires-rtti"], visibility = ["//visibility:private"], deps = [":headers"], ) diff --git a/bazel/foreign_cc/BUILD b/bazel/foreign_cc/BUILD index c87f82ff4eae..91e37110f5c0 100644 --- a/bazel/foreign_cc/BUILD +++ b/bazel/foreign_cc/BUILD @@ -236,3 +236,43 @@ envoy_cmake_external( "//conditions:default": ["libz.a"], }), ) + +configure_make( + name = "icuuc", + configure_command = "source/configure", + configure_env_vars = select({ + "//bazel:windows_x86_64": { + "CXXFLAGS": "/utf-8 /DLOCALE_ALLOW_NEUTRAL_NAMES=0 /std:c++11", + }, + "//bazel:apple": { + "CXXFLAGS": "-Wno-shorten-64-to-32 -Wno-unused-variable -std=c++11 -DU_STATIC_IMPLEMENTATION -DU_HAVE_STD_ATOMICS", + "AR": "/usr/bin/ar", + }, + "//conditions:default": { + "CXXFLAGS": "-std=c++11 -DU_STATIC_IMPLEMENTATION -DU_HAVE_STD_ATOMICS", + }, + }), + configure_options = [ + "--enable-option-checking", + "--enable-static", + "--enable-tools", + "--disable-shared", + "--disable-dyload", + "--disable-extras", + "--disable-plugins", + "--disable-tests", + "--disable-samples", + "--with-data-packaging=static", + ], + lib_source = "@org_unicode_icuuc_default//:all", + static_libraries = select({ + "//bazel:windows_x86_64": [ + "libicuuc.lib", + "libicudata.lib", + ], + "//conditions:default": [ + "libicuuc.a", + "libicudata.a", + ], + }), +) diff --git a/bazel/foreign_cc/icuuc.patch b/bazel/foreign_cc/icuuc.patch new file mode 100644 index 000000000000..a23bdcafc158 --- /dev/null +++ b/bazel/foreign_cc/icuuc.patch @@ -0,0 +1,17 @@ +--- source/icudefs.mk.in ++++ source/icudefs.mk.in +@@ -117,7 +117,7 @@ + CC = @CC@ + CXX = @CXX@ + AR = @AR@ +-ARFLAGS = @ARFLAGS@ r ++ARFLAGS = @ARFLAGS@ + RANLIB = @RANLIB@ + COMPILE_LINK_ENVVAR = @COMPILE_LINK_ENVVAR@ + UCLN_NO_AUTO_CLEANUP = @UCLN_NO_AUTO_CLEANUP@ + +--- source/config/mh-darwin ++++ source/config/mh-darwin +@@ -22,1 +22,1 @@ +-ARFLAGS += -c ++ARFLAGS += -crs diff --git a/bazel/repositories.bzl b/bazel/repositories.bzl index cd63791ed747..7277ba3e92c3 100644 --- a/bazel/repositories.bzl +++ b/bazel/repositories.bzl @@ -862,15 +862,19 @@ filegroup( ) def _org_unicode_icuuc(): + location = _get_location("org_unicode_icuuc") + http_archive( + name = "org_unicode_icuuc_default", + build_file_content = BUILD_ALL_CONTENT, + patches = ["@envoy//bazel/foreign_cc:icuuc.patch"], + **location + ) + _repository_impl( name = "org_unicode_icuuc", build_file = "@envoy//bazel/external:icuuc.BUILD", # TODO(dio): Consider patching udata when we need to embed some data. ) - native.bind( - name = "icuuc", - actual = "@org_unicode_icuuc//:common", - ) def _foreign_cc_dependencies(): _repository_impl("rules_foreign_cc") diff --git a/bazel/repository_locations.bzl b/bazel/repository_locations.bzl index 7e1f4d8c6141..56598f3176ae 100644 --- a/bazel/repository_locations.bzl +++ b/bazel/repository_locations.bzl @@ -415,9 +415,9 @@ DEPENDENCY_REPOSITORIES = dict( cpe = "N/A", ), com_googlesource_googleurl = dict( - # Static snapshot of https://quiche.googlesource.com/quiche/+archive/googleurl_6dafefa72cba2ab2ba4922d17a30618e9617c7cf.tar.gz - sha256 = "f1ab73ddd1a7db4e08a9e4db6c2e98e5a0a7bbaca08f5fee0d73adb02c24e44a", - urls = ["https://storage.googleapis.com/quiche-envoy-integration/googleurl_6dafefa72cba2ab2ba4922d17a30618e9617c7cf.tar.gz"], + sha256 = "b8ca343feb9aedf29259f25169deb70f93a151a2e4713be97d0da2c5e3737e18", + strip_prefix = "quiche-googleurl-1bd6372fe3d267b2790ba76a49290b8a0b2df46c", + urls = ["https://github.com/dio/quiche-googleurl/archive/1bd6372fe3d267b2790ba76a49290b8a0b2df46c.tar.gz"], use_category = ["dataplane"], cpe = "N/A", ), @@ -475,9 +475,9 @@ DEPENDENCY_REPOSITORIES = dict( use_category = ["test"], ), org_unicode_icuuc = dict( - strip_prefix = "icu-release-64-2", - sha256 = "524960ac99d086cdb6988d2a92fc163436fd3c6ec0a84c475c6382fbf989be05", - urls = ["https://github.com/unicode-org/icu/archive/release-64-2.tar.gz"], + strip_prefix = "icu", + sha256 = "94a80cd6f251a53bd2a997f6f1b5ac6653fe791dfab66e1eb0227740fb86d5dc", + urls = ["https://github.com/unicode-org/icu/releases/download/release-67-1/icu4c-67_1-src.tgz"], use_category = ["dataplane"], cpe = "cpe:2.3:a:icu-project:international_components_for_unicode", ), diff --git a/test/common/http/utility_test.cc b/test/common/http/utility_test.cc index 687c5255ee36..e08663a940b3 100644 --- a/test/common/http/utility_test.cc +++ b/test/common/http/utility_test.cc @@ -1289,6 +1289,12 @@ TEST(Url, ParsingTest) { // Test url with non-default ports. validateUrl("https://www.host.com:8443", "https", "www.host.com:8443", "/", 8443); validateUrl("http://www.host.com:8080", "http", "www.host.com:8080", "/", 8080); + +#if !defined(__APPLE__) && !defined(WIN32) + // TODO(dio): Fix the unicode data (static) linking for macOS and Windows. + // Make sure we can parse unicode URL. + validateUrl("https://\xe5\x85\x89.example/", "https", "xn--54q.example", "/", 443); +#endif } void validateConnectUrl(absl::string_view raw_url, absl::string_view expected_host_port, From 22799736b86aa3b50bee0a3aade74d55ec7c190a Mon Sep 17 00:00:00 2001 From: Dhi Aurrahman Date: Wed, 29 Jul 2020 08:36:56 +0700 Subject: [PATCH 02/17] Add icu data and tools Signed-off-by: Dhi Aurrahman --- bazel/external/googleurl.patch | 10 +- bazel/external/icu/data/BUILD | 24 ++ bazel/external/icu/data/LICENSE | 414 +++++++++++++++++++++++++++ bazel/external/icu/data/data.c.gz.aa | Bin 0 -> 1048576 bytes bazel/external/icu/data/data.c.gz.ab | Bin 0 -> 1048576 bytes bazel/external/icu/data/data.c.gz.ac | Bin 0 -> 1048576 bytes bazel/external/icu/data/data.c.gz.ad | Bin 0 -> 1048576 bytes bazel/external/icu/data/data.c.gz.ae | Bin 0 -> 1048576 bytes bazel/external/icu/data/data.c.gz.af | Bin 0 -> 1048576 bytes bazel/external/icu/data/data.c.gz.ag | Bin 0 -> 1048576 bytes bazel/external/icu/data/data.c.gz.ah | Bin 0 -> 1048576 bytes bazel/external/icu/data/data.c.gz.ai | Bin 0 -> 1048576 bytes bazel/external/icu/data/data.c.gz.aj | Bin 0 -> 1048576 bytes bazel/external/icu/data/data.c.gz.ak | Bin 0 -> 1048576 bytes bazel/external/icu/data/data.c.gz.al | Bin 0 -> 1048576 bytes bazel/external/icu/data/data.c.gz.am | Bin 0 -> 1048576 bytes bazel/external/icu/data/data.c.gz.an | Bin 0 -> 1048576 bytes bazel/external/icu/data/data.c.gz.ao | Bin 0 -> 1048576 bytes bazel/external/icu/data/data.c.gz.ap | Bin 0 -> 706514 bytes bazel/external/icu/data/udata.patch | 60 ++++ bazel/external/icuuc.BUILD | 16 +- bazel/foreign_cc/BUILD | 40 --- bazel/foreign_cc/icuuc.patch | 17 -- bazel/repositories.bzl | 18 +- test/common/http/utility_test.cc | 3 - tools/icu/LICENSE | 414 +++++++++++++++++++++++++++ tools/icu/generate_data.sh | 103 +++++++ 27 files changed, 1038 insertions(+), 81 deletions(-) create mode 100644 bazel/external/icu/data/BUILD create mode 100644 bazel/external/icu/data/LICENSE create mode 100644 bazel/external/icu/data/data.c.gz.aa create mode 100644 bazel/external/icu/data/data.c.gz.ab create mode 100644 bazel/external/icu/data/data.c.gz.ac create mode 100644 bazel/external/icu/data/data.c.gz.ad create mode 100644 bazel/external/icu/data/data.c.gz.ae create mode 100644 bazel/external/icu/data/data.c.gz.af create mode 100644 bazel/external/icu/data/data.c.gz.ag create mode 100644 bazel/external/icu/data/data.c.gz.ah create mode 100644 bazel/external/icu/data/data.c.gz.ai create mode 100644 bazel/external/icu/data/data.c.gz.aj create mode 100644 bazel/external/icu/data/data.c.gz.ak create mode 100644 bazel/external/icu/data/data.c.gz.al create mode 100644 bazel/external/icu/data/data.c.gz.am create mode 100644 bazel/external/icu/data/data.c.gz.an create mode 100644 bazel/external/icu/data/data.c.gz.ao create mode 100644 bazel/external/icu/data/data.c.gz.ap create mode 100644 bazel/external/icu/data/udata.patch delete mode 100644 bazel/foreign_cc/icuuc.patch create mode 100644 tools/icu/LICENSE create mode 100755 tools/icu/generate_data.sh diff --git a/bazel/external/googleurl.patch b/bazel/external/googleurl.patch index 8c11f0c25697..069e93a23d75 100644 --- a/bazel/external/googleurl.patch +++ b/bazel/external/googleurl.patch @@ -68,10 +68,10 @@ index 604cc81..87fe7ce 100644 visibility = ["//visibility:public"], deps = [ diff --git a/build_config/build_config.bzl b/build_config/build_config.bzl -index d5fca65..dcada36 100644 +index d5fca65..0d6cc11 100644 --- a/build_config/build_config.bzl +++ b/build_config/build_config.bzl -@@ -1,8 +1,32 @@ +@@ -1,8 +1,28 @@ -_default_copts = [ - "-std=c++14", - "-fno-strict-aliasing", @@ -96,11 +96,7 @@ index d5fca65..dcada36 100644 + "//conditions:default": ["string_util_posix.h"], +}) + -+_icuuc_deps = select({ -+ "@envoy//bazel:apple": ["@org_unicode_icuuc//:common"], -+ "@envoy//bazel:windows_x86_64": ["@org_unicode_icuuc//:common"], -+ "//conditions:default": ["@envoy//bazel/foreign_cc:icuuc"], -+}) ++_icuuc_deps = ["@org_unicode_icuuc//:common"] build_config = struct( default_copts = _default_copts, diff --git a/bazel/external/icu/data/BUILD b/bazel/external/icu/data/BUILD new file mode 100644 index 000000000000..ef0d293c21c3 --- /dev/null +++ b/bazel/external/icu/data/BUILD @@ -0,0 +1,24 @@ +package( + default_visibility = ["//visibility:public"], +) + +licenses(["notice"]) # Apache 2.0 + +exports_files(["LICENSE"]) + +# The ICU data is based on https://github.com/nodejs/node "icu-small", filtered using: +# https://raw.githubusercontent.com/nodejs/node/634a9a97f4b380390352543452aed6c7c9defcb4/tools/icu/icu_small.json. +# +# Currently, the ICU data is manually generated using tools/icu/generate_data.sh. +filegroup( + name = "data_files", + srcs = glob(["data.c.gz.*"]), +) + +# Data files are compressed and splitted. +genrule( + name = "merge_data", + srcs = [":data_files"], + outs = ["data.c"], + cmd = "cat $(locations :data_files) | gunzip > $@", +) diff --git a/bazel/external/icu/data/LICENSE b/bazel/external/icu/data/LICENSE new file mode 100644 index 000000000000..25b6eb9d3415 --- /dev/null +++ b/bazel/external/icu/data/LICENSE @@ -0,0 +1,414 @@ +COPYRIGHT AND PERMISSION NOTICE (ICU 58 and later) + +Copyright © 1991-2018 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +--------------------- + +Third-Party Software Licenses + +This section contains third-party software notices and/or additional +terms for licensed third-party software components included within ICU +libraries. + +1. ICU License - ICU 1.8.1 to ICU 57.1 + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1995-2016 International Business Machines Corporation and others +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, and/or sell copies of the Software, and to permit persons +to whom the Software is furnished to do so, provided that the above +copyright notice(s) and this permission notice appear in all copies of +the Software and that both the above copyright notice(s) and this +permission notice appear in supporting documentation. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY +SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, use +or other dealings in this Software without prior written authorization +of the copyright holder. + +All trademarks and registered trademarks mentioned herein are the +property of their respective owners. + +2. Chinese/Japanese Word Break Dictionary Data (cjdict.txt) + + # The Google Chrome software developed by Google is licensed under + # the BSD license. Other software included in this distribution is + # provided under other licenses, as set forth below. + # + # The BSD License + # http://opensource.org/licenses/bsd-license.php + # Copyright (C) 2006-2008, Google Inc. + # + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions are met: + # + # Redistributions of source code must retain the above copyright notice, + # this list of conditions and the following disclaimer. + # Redistributions in binary form must reproduce the above + # copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided with + # the distribution. + # Neither the name of Google Inc. nor the names of its + # contributors may be used to endorse or promote products derived from + # this software without specific prior written permission. + # + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + # + # + # The word list in cjdict.txt are generated by combining three word lists + # listed below with further processing for compound word breaking. The + # frequency is generated with an iterative training against Google web + # corpora. + # + # * Libtabe (Chinese) + # - https://sourceforge.net/project/?group_id=1519 + # - Its license terms and conditions are shown below. + # + # * IPADIC (Japanese) + # - http://chasen.aist-nara.ac.jp/chasen/distribution.html + # - Its license terms and conditions are shown below. + # + # ---------COPYING.libtabe ---- BEGIN-------------------- + # + # /* + # * Copyright (c) 1999 TaBE Project. + # * Copyright (c) 1999 Pai-Hsiang Hsiao. + # * All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the TaBE Project nor the names of its + # * contributors may be used to endorse or promote products derived + # * from this software without specific prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # /* + # * Copyright (c) 1999 Computer Systems and Communication Lab, + # * Institute of Information Science, Academia + # * Sinica. All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the Computer Systems and Communication Lab + # * nor the names of its contributors may be used to endorse or + # * promote products derived from this software without specific + # * prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # Copyright 1996 Chih-Hao Tsai @ Beckman Institute, + # University of Illinois + # c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4 + # + # ---------------COPYING.libtabe-----END-------------------------------- + # + # + # ---------------COPYING.ipadic-----BEGIN------------------------------- + # + # Copyright 2000, 2001, 2002, 2003 Nara Institute of Science + # and Technology. All Rights Reserved. + # + # Use, reproduction, and distribution of this software is permitted. + # Any copy of this software, whether in its original form or modified, + # must include both the above copyright notice and the following + # paragraphs. + # + # Nara Institute of Science and Technology (NAIST), + # the copyright holders, disclaims all warranties with regard to this + # software, including all implied warranties of merchantability and + # fitness, in no event shall NAIST be liable for + # any special, indirect or consequential damages or any damages + # whatsoever resulting from loss of use, data or profits, whether in an + # action of contract, negligence or other tortuous action, arising out + # of or in connection with the use or performance of this software. + # + # A large portion of the dictionary entries + # originate from ICOT Free Software. The following conditions for ICOT + # Free Software applies to the current dictionary as well. + # + # Each User may also freely distribute the Program, whether in its + # original form or modified, to any third party or parties, PROVIDED + # that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear + # on, or be attached to, the Program, which is distributed substantially + # in the same form as set out herein and that such intended + # distribution, if actually made, will neither violate or otherwise + # contravene any of the laws and regulations of the countries having + # jurisdiction over the User or the intended distribution itself. + # + # NO WARRANTY + # + # The program was produced on an experimental basis in the course of the + # research and development conducted during the project and is provided + # to users as so produced on an experimental basis. Accordingly, the + # program is provided without any warranty whatsoever, whether express, + # implied, statutory or otherwise. The term "warranty" used herein + # includes, but is not limited to, any warranty of the quality, + # performance, merchantability and fitness for a particular purpose of + # the program and the nonexistence of any infringement or violation of + # any right of any third party. + # + # Each user of the program will agree and understand, and be deemed to + # have agreed and understood, that there is no warranty whatsoever for + # the program and, accordingly, the entire risk arising from or + # otherwise connected with the program is assumed by the user. + # + # Therefore, neither ICOT, the copyright holder, or any other + # organization that participated in or was otherwise related to the + # development of the program and their respective officials, directors, + # officers and other employees shall be held liable for any and all + # damages, including, without limitation, general, special, incidental + # and consequential damages, arising out of or otherwise in connection + # with the use or inability to use the program or any product, material + # or result produced or otherwise obtained by using the program, + # regardless of whether they have been advised of, or otherwise had + # knowledge of, the possibility of such damages at any time during the + # project or thereafter. Each user will be deemed to have agreed to the + # foregoing by his or her commencement of use of the program. The term + # "use" as used herein includes, but is not limited to, the use, + # modification, copying and distribution of the program and the + # production of secondary products from the program. + # + # In the case where the program, whether in its original form or + # modified, was distributed or delivered to or received by a user from + # any person, organization or entity other than ICOT, unless it makes or + # grants independently of ICOT any specific warranty to the user in + # writing, such person, organization or entity, will also be exempted + # from and not be held liable to the user for any such damages as noted + # above as far as the program is concerned. + # + # ---------------COPYING.ipadic-----END---------------------------------- + +3. Lao Word Break Dictionary Data (laodict.txt) + + # Copyright (c) 2013 International Business Machines Corporation + # and others. All Rights Reserved. + # + # Project: http://code.google.com/p/lao-dictionary/ + # Dictionary: http://lao-dictionary.googlecode.com/git/Lao-Dictionary.txt + # License: http://lao-dictionary.googlecode.com/git/Lao-Dictionary-LICENSE.txt + # (copied below) + # + # This file is derived from the above dictionary, with slight + # modifications. + # ---------------------------------------------------------------------- + # Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell. + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, + # are permitted provided that the following conditions are met: + # + # + # Redistributions of source code must retain the above copyright notice, this + # list of conditions and the following disclaimer. Redistributions in + # binary form must reproduce the above copyright notice, this list of + # conditions and the following disclaimer in the documentation and/or + # other materials provided with the distribution. + # + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # OF THE POSSIBILITY OF SUCH DAMAGE. + # -------------------------------------------------------------------------- + +4. Burmese Word Break Dictionary Data (burmesedict.txt) + + # Copyright (c) 2014 International Business Machines Corporation + # and others. All Rights Reserved. + # + # This list is part of a project hosted at: + # github.com/kanyawtech/myanmar-karen-word-lists + # + # -------------------------------------------------------------------------- + # Copyright (c) 2013, LeRoy Benjamin Sharon + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions + # are met: Redistributions of source code must retain the above + # copyright notice, this list of conditions and the following + # disclaimer. Redistributions in binary form must reproduce the + # above copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided + # with the distribution. + # + # Neither the name Myanmar Karen Word Lists, nor the names of its + # contributors may be used to endorse or promote products derived + # from this software without specific prior written permission. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS + # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + # SUCH DAMAGE. + # -------------------------------------------------------------------------- + +5. Time Zone Database + + ICU uses the public domain data and code derived from Time Zone +Database for its time zone support. The ownership of the TZ database +is explained in BCP 175: Procedure for Maintaining the Time Zone +Database section 7. + + # 7. Database Ownership + # + # The TZ database itself is not an IETF Contribution or an IETF + # document. Rather it is a pre-existing and regularly updated work + # that is in the public domain, and is intended to remain in the + # public domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do + # not apply to the TZ Database or contributions that individuals make + # to it. Should any claims be made and substantiated against the TZ + # Database, the organization that is providing the IANA + # Considerations defined in this RFC, under the memorandum of + # understanding with the IETF, currently ICANN, may act in accordance + # with all competent court orders. No ownership claims will be made + # by ICANN or the IETF Trust on the database or the code. Any person + # making a contribution to the database or code waives all rights to + # future claims in that contribution or in the TZ Database. + +6. Google double-conversion + +Copyright 2006-2011, the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/bazel/external/icu/data/data.c.gz.aa b/bazel/external/icu/data/data.c.gz.aa new file mode 100644 index 0000000000000000000000000000000000000000..3452c68a886e5e4e3157a503f475e4dad5b7862e GIT binary patch literal 1048576 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