Commit 0c91664f authored by Tom Anderson's avatar Tom Anderson Committed by Thomas Anderson

Reland "Update fontconfig to 6cc99d6a"

This is a reland of e6db40d9

Reason for reland: All bots should now have libuuid1 installed (bug 853048).

Original change's description:
> Update fontconfig to 6cc99d6a
>
> Changelog [1].  This is necessary to pick up [2] for fixing undefined-shift
> UBSAN errors detected by clusterfuzz, [3] to allow removing a build workaround,
> [4] to fix a bug and clean up some log spam, [5] to fix CFI builds, and [6] to
> fix a use-after-free.
>
> Fontconfig also now requires libuuid as a dependency, so whitelist it as a
> dependency since we statically link fontconfig.
>
> [1] https://chromium.googlesource.com/external/fontconfig/+log/b546940435ebfb0df575bc7a2350d1e913919c34..6cc99d6a82ad67d2f5eac887b28bca13c0dfddde
> [2] https://chromium.googlesource.com/external/fontconfig/+/c60ed9ef66e59584f8b54323018e9e6c69925c7e
> [3] https://chromium.googlesource.com/external/fontconfig/+/b8a225b3c3495942480377b7b3404710c70be914
> [4] https://chromium.googlesource.com/external/fontconfig/+/7ad010e80bdf8e41303e322882ece908f5e04c74
> [5] https://chromium.googlesource.com/external/fontconfig/+/096e8019be595c2224aaabf98da630ee917ee51c
> [6] https://chromium.googlesource.com/external/fontconfig/+/6cc99d6a82ad67d2f5eac887b28bca13c0dfddde
>
> BUG=831146,822737,787020,829890,847323
> TBR=thestig,dnicoara
>
> Change-Id: Ic2d1bd19af8ca131c960a30d09246827c115ccec
> Reviewed-on: https://chromium-review.googlesource.com/1095538
> Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
> Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
> Reviewed-by: Lei Zhang <thestig@chromium.org>
> Reviewed-by: Daniel Nicoara <dnicoara@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#567445}

TBR=thestig,dnicoara

Bug: 831146, 822737, 787020, 829890, 847323, 853048
Change-Id: Id42738aaf5841bd219dc0e9209680c87e88f4869
Reviewed-on: https://chromium-review.googlesource.com/1104759Reviewed-by: default avatarThomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568221}
parent bc0aae7d
...@@ -588,7 +588,7 @@ deps = { ...@@ -588,7 +588,7 @@ deps = {
# Used for embedded builds. CrOS & Linux use the system version. # Used for embedded builds. CrOS & Linux use the system version.
'src/third_party/fontconfig/src': { 'src/third_party/fontconfig/src': {
'url': Var('chromium_git') + '/external/fontconfig.git' + '@' + 'b546940435ebfb0df575bc7a2350d1e913919c34', 'url': Var('chromium_git') + '/external/fontconfig.git' + '@' + '6cc99d6a82ad67d2f5eac887b28bca13c0dfddde',
'condition': 'checkout_linux', 'condition': 'checkout_linux',
}, },
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include <fontconfig/fontconfig.h> #include <fontconfig/fontconfig.h>
#include "base/base_paths.h" #include "base/base_paths.h"
#include "base/environment.h"
#include "base/files/file_path.h" #include "base/files/file_path.h"
#include "base/files/file_util.h" #include "base/files/file_util.h"
#include "base/logging.h" #include "base/logging.h"
...@@ -381,31 +382,35 @@ const char kFontsConfTemplate[] = R"(<?xml version="1.0"?> ...@@ -381,31 +382,35 @@ const char kFontsConfTemplate[] = R"(<?xml version="1.0"?>
} // namespace } // namespace
void SetUpFontconfig() { void SetUpFontconfig() {
FilePath dir_module; // TODO(thomasanderson): Use FONTCONFIG_SYSROOT to avoid having to write
PathService::Get(DIR_MODULE, &dir_module); // a new fonts.conf with updated paths.
FilePath font_cache = dir_module.Append("fontconfig_caches"); std::unique_ptr<Environment> env = Environment::Create();
FilePath test_fonts = dir_module.Append("test_fonts"); if (!env->HasVar("FONTCONFIG_FILE")) {
std::string fonts_conf = ReplaceStringPlaceholders( // fonts.conf must be generated on-the-fly since it contains absolute paths
kFontsConfTemplate, {font_cache.value(), test_fonts.value()}, nullptr); // which may be different if
// 1. The user moves/renames their build directory (or any parent dirs).
FcConfig* config = FcConfigCreate(); // 2. The build directory is mapped on a swarming bot at a location
CHECK(config); // different from the one the buildbot used.
#if FC_VERSION >= 21205 FilePath dir_module;
CHECK(FcConfigParseAndLoadFromMemory( PathService::Get(DIR_MODULE, &dir_module);
config, reinterpret_cast<const FcChar8*>(fonts_conf.c_str()), FcTrue)); FilePath font_cache = dir_module.Append("fontconfig_caches");
#else FilePath test_fonts = dir_module.Append("test_fonts");
FilePath temp; std::string fonts_conf = ReplaceStringPlaceholders(
CHECK(CreateTemporaryFile(&temp)); kFontsConfTemplate, {font_cache.value(), test_fonts.value()}, nullptr);
CHECK(WriteFile(temp, fonts_conf.c_str(), fonts_conf.size()));
CHECK(FcConfigParseAndLoad( // Write the data to a different file and then atomically rename it to
config, reinterpret_cast<const FcChar8*>(temp.value().c_str()), FcTrue)); // fonts.conf. This avoids the file being in a bad state when different
CHECK(DeleteFile(temp, false)); // parallel tests call this function at the same time.
#endif FilePath fonts_conf_file_temp;
CHECK(FcConfigBuildFonts(config)); CHECK(CreateTemporaryFileInDir(dir_module, &fonts_conf_file_temp));
CHECK(FcConfigSetCurrent(config)); CHECK(
WriteFile(fonts_conf_file_temp, fonts_conf.c_str(), fonts_conf.size()));
// Decrement the reference count for |config|. It's now owned by fontconfig. FilePath fonts_conf_file = dir_module.Append("fonts.conf");
FcConfigDestroy(config); CHECK(ReplaceFile(fonts_conf_file_temp, fonts_conf_file, nullptr));
env->SetVar("FONTCONFIG_FILE", fonts_conf_file.value());
}
CHECK(FcInit());
} }
void TearDownFontconfig() { void TearDownFontconfig() {
......
...@@ -2,25 +2,26 @@ ...@@ -2,25 +2,26 @@
"Debian 10 (Buster)": { "Debian 10 (Buster)": {
"libappindicator3-1": "0.4.92-5", "libappindicator3-1": "0.4.92-5",
"libasound2": "1.1.3-5", "libasound2": "1.1.3-5",
"libatk-bridge2.0-0": "2.26.1-1", "libatk-bridge2.0-0": "2.26.2-1",
"libatk1.0-0": "2.26.1-3", "libatk1.0-0": "2.28.1-1",
"libc6": "2.26-4", "libc6": "2.27-3",
"libcairo2": "1.15.8-3", "libcairo2": "1.15.10-1",
"libcups2": "2.2.6-4", "libcups2": "2.2.7-2",
"libdbus-1-3": "1.12.2-1", "libdbus-1-3": "1.12.6-2",
"libexpat1": "2.2.5-3", "libexpat1": "2.2.5-3",
"libgcc1": "1:7.2.0-19", "libgcc1": "1:8-20180402-1",
"libgdk-pixbuf2.0-0": "2.36.11-1", "libgdk-pixbuf2.0-0": "2.36.11-2",
"libglib2.0-0": "2.54.3-2", "libglib2.0-0": "2.56.0-4",
"libgtk-3-0": "3.22.26-2", "libgtk-3-0": "3.22.29-3",
"libnspr4": "2:4.16-1+b1", "libnspr4": "2:4.18-1",
"libnss3": "2:3.34.1-1", "libnss3": "2:3.35-2",
"libpango-1.0-0": "1.40.14-1", "libpango-1.0-0": "1.42.0-1",
"libpangocairo-1.0-0": "1.40.14-1", "libpangocairo-1.0-0": "1.42.0-1",
"libstdc++6": "7.2.0-19", "libstdc++6": "8-20180402-1",
"libx11-6": "2:1.6.4-3", "libuuid1": "2.31.1-0.5",
"libx11-xcb1": "2:1.6.4-3", "libx11-6": "2:1.6.5-1",
"libxcb1": "1.12-1", "libx11-xcb1": "2:1.6.5-1",
"libxcb1": "1.13-1",
"libxcomposite1": "1:0.4.4-2", "libxcomposite1": "1:0.4.4-2",
"libxcursor1": "1:1.1.15-1", "libxcursor1": "1:1.1.15-1",
"libxdamage1": "1:1.1.4-3", "libxdamage1": "1:1.1.4-3",
...@@ -42,7 +43,7 @@ ...@@ -42,7 +43,7 @@
"libcups2": "1.7.5-11+deb8u1", "libcups2": "1.7.5-11+deb8u1",
"libdbus-1-3": "1.8.22-0+deb8u1", "libdbus-1-3": "1.8.22-0+deb8u1",
"libexpat1": "2.1.0-6+deb8u4", "libexpat1": "2.1.0-6+deb8u4",
"libgcc1": "1:4.9.2-10", "libgcc1": "1:4.9.2-10+deb8u1",
"libgdk-pixbuf2.0-0": "2.31.1-2+deb8u7", "libgdk-pixbuf2.0-0": "2.31.1-2+deb8u7",
"libglib2.0-0": "2.42.1-1+b1", "libglib2.0-0": "2.42.1-1+b1",
"libgtk-3-0": "3.14.5-1+deb8u1", "libgtk-3-0": "3.14.5-1+deb8u1",
...@@ -50,7 +51,8 @@ ...@@ -50,7 +51,8 @@
"libnss3": "2:3.26-1+debu8u3", "libnss3": "2:3.26-1+debu8u3",
"libpango-1.0-0": "1.36.8-3", "libpango-1.0-0": "1.36.8-3",
"libpangocairo-1.0-0": "1.36.8-3", "libpangocairo-1.0-0": "1.36.8-3",
"libstdc++6": "4.9.2-10", "libstdc++6": "4.9.2-10+deb8u1",
"libuuid1": "2.25.2-6",
"libx11-6": "2:1.6.2-3+deb8u1", "libx11-6": "2:1.6.2-3+deb8u1",
"libx11-xcb1": "2:1.6.2-3+deb8u1", "libx11-xcb1": "2:1.6.2-3+deb8u1",
"libxcb1": "1.10-3+b1", "libxcb1": "1.10-3+b1",
...@@ -72,10 +74,10 @@ ...@@ -72,10 +74,10 @@
"libatk1.0-0": "2.22.0-1", "libatk1.0-0": "2.22.0-1",
"libc6": "2.24-11+deb9u1", "libc6": "2.24-11+deb9u1",
"libcairo2": "1.14.8-1", "libcairo2": "1.14.8-1",
"libcups2": "2.2.1-8", "libcups2": "2.2.1-8+deb9u1",
"libdbus-1-3": "1.10.24-0+deb9u1", "libdbus-1-3": "1.10.26-0+deb9u1",
"libexpat1": "2.2.0-2+deb9u1", "libexpat1": "2.2.0-2+deb9u1",
"libgcc1": "1:6.3.0-18", "libgcc1": "1:6.3.0-18+deb9u1",
"libgdk-pixbuf2.0-0": "2.36.5-2+deb9u2", "libgdk-pixbuf2.0-0": "2.36.5-2+deb9u2",
"libglib2.0-0": "2.50.3-2", "libglib2.0-0": "2.50.3-2",
"libgtk-3-0": "3.22.11-1", "libgtk-3-0": "3.22.11-1",
...@@ -83,7 +85,8 @@ ...@@ -83,7 +85,8 @@
"libnss3": "2:3.26.2-1.1+deb9u1", "libnss3": "2:3.26.2-1.1+deb9u1",
"libpango-1.0-0": "1.40.5-1", "libpango-1.0-0": "1.40.5-1",
"libpangocairo-1.0-0": "1.40.5-1", "libpangocairo-1.0-0": "1.40.5-1",
"libstdc++6": "6.3.0-18", "libstdc++6": "6.3.0-18+deb9u1",
"libuuid1": "2.29.2-1+deb9u1",
"libx11-6": "2:1.6.4-3", "libx11-6": "2:1.6.4-3",
"libx11-xcb1": "2:1.6.4-3", "libx11-xcb1": "2:1.6.4-3",
"libxcb1": "1.12-1", "libxcb1": "1.12-1",
...@@ -105,7 +108,7 @@ ...@@ -105,7 +108,7 @@
"libatk1.0-0": "2.10.0-2ubuntu2", "libatk1.0-0": "2.10.0-2ubuntu2",
"libc6": "2.19-0ubuntu6.14", "libc6": "2.19-0ubuntu6.14",
"libcairo2": "1.13.0~20140204-0ubuntu1.1", "libcairo2": "1.13.0~20140204-0ubuntu1.1",
"libcups2": "1.7.2-0ubuntu1.7", "libcups2": "1.7.2-0ubuntu1.9",
"libdbus-1-3": "1.6.18-0ubuntu4.4", "libdbus-1-3": "1.6.18-0ubuntu4.4",
"libexpat1": "2.1.0-4ubuntu1.4", "libexpat1": "2.1.0-4ubuntu1.4",
"libgcc1": "1:4.9.3-0ubuntu4", "libgcc1": "1:4.9.3-0ubuntu4",
...@@ -116,7 +119,8 @@ ...@@ -116,7 +119,8 @@
"libnss3": "2:3.28.4-0ubuntu0.14.04.3", "libnss3": "2:3.28.4-0ubuntu0.14.04.3",
"libpango-1.0-0": "1.36.3-1ubuntu1.1", "libpango-1.0-0": "1.36.3-1ubuntu1.1",
"libpangocairo-1.0-0": "1.36.3-1ubuntu1.1", "libpangocairo-1.0-0": "1.36.3-1ubuntu1.1",
"libstdc++6": "4.8.4-2ubuntu1~14.04.3", "libstdc++6": "4.8.4-2ubuntu1~14.04.4",
"libuuid1": "2.20.1-5.1ubuntu20.9",
"libx11-6": "2:1.6.2-1ubuntu2", "libx11-6": "2:1.6.2-1ubuntu2",
"libx11-xcb1": "2:1.6.2-1ubuntu2", "libx11-xcb1": "2:1.6.2-1ubuntu2",
"libxcb1": "1.10-2ubuntu1", "libxcb1": "1.10-2ubuntu1",
...@@ -138,7 +142,7 @@ ...@@ -138,7 +142,7 @@
"libatk1.0-0": "2.18.0-1", "libatk1.0-0": "2.18.0-1",
"libc6": "2.23-0ubuntu10", "libc6": "2.23-0ubuntu10",
"libcairo2": "1.14.6-1", "libcairo2": "1.14.6-1",
"libcups2": "2.1.3-4ubuntu0.3", "libcups2": "2.1.3-4ubuntu0.4",
"libdbus-1-3": "1.10.6-1ubuntu3.1", "libdbus-1-3": "1.10.6-1ubuntu3.1",
"libexpat1": "2.1.0-7ubuntu0.16.04.3", "libexpat1": "2.1.0-7ubuntu0.16.04.3",
"libgcc1": "1:6.0.1-0ubuntu1", "libgcc1": "1:6.0.1-0ubuntu1",
...@@ -149,7 +153,8 @@ ...@@ -149,7 +153,8 @@
"libnss3": "2:3.28.4-0ubuntu0.16.04.3", "libnss3": "2:3.28.4-0ubuntu0.16.04.3",
"libpango-1.0-0": "1.38.1-1", "libpango-1.0-0": "1.38.1-1",
"libpangocairo-1.0-0": "1.38.1-1", "libpangocairo-1.0-0": "1.38.1-1",
"libstdc++6": "5.4.0-6ubuntu1~16.04.4", "libstdc++6": "5.4.0-6ubuntu1~16.04.9",
"libuuid1": "2.27.1-6ubuntu3.4",
"libx11-6": "2:1.6.3-1ubuntu2", "libx11-6": "2:1.6.3-1ubuntu2",
"libx11-xcb1": "2:1.6.3-1ubuntu2", "libx11-xcb1": "2:1.6.3-1ubuntu2",
"libxcb1": "1.11.1-1ubuntu1", "libxcb1": "1.11.1-1ubuntu1",
...@@ -174,7 +179,7 @@ ...@@ -174,7 +179,7 @@
"libcups2": "2.2.4-7ubuntu3", "libcups2": "2.2.4-7ubuntu3",
"libdbus-1-3": "1.10.22-1ubuntu1", "libdbus-1-3": "1.10.22-1ubuntu1",
"libexpat1": "2.2.3-1", "libexpat1": "2.2.3-1",
"libgcc1": "1:7.2.0-8ubuntu3", "libgcc1": "1:7.2.0-8ubuntu3.2",
"libgdk-pixbuf2.0-0": "2.36.11-1ubuntu0.1", "libgdk-pixbuf2.0-0": "2.36.11-1ubuntu0.1",
"libglib2.0-0": "2.54.1-1ubuntu1", "libglib2.0-0": "2.54.1-1ubuntu1",
"libgtk-3-0": "3.22.25-0ubuntu0.1", "libgtk-3-0": "3.22.25-0ubuntu0.1",
...@@ -182,7 +187,8 @@ ...@@ -182,7 +187,8 @@
"libnss3": "2:3.32-1ubuntu3", "libnss3": "2:3.32-1ubuntu3",
"libpango-1.0-0": "1.40.12-1", "libpango-1.0-0": "1.40.12-1",
"libpangocairo-1.0-0": "1.40.12-1", "libpangocairo-1.0-0": "1.40.12-1",
"libstdc++6": "7.2.0-8ubuntu3", "libstdc++6": "7.2.0-8ubuntu3.2",
"libuuid1": "2.30.1-0ubuntu4.1",
"libx11-6": "2:1.6.4-3", "libx11-6": "2:1.6.4-3",
"libx11-xcb1": "2:1.6.4-3", "libx11-xcb1": "2:1.6.4-3",
"libxcb1": "1.12-1ubuntu1", "libxcb1": "1.12-1ubuntu1",
......
...@@ -52,6 +52,7 @@ PACKAGE_FILTER = set([ ...@@ -52,6 +52,7 @@ PACKAGE_FILTER = set([
"libpango-1.0-0", "libpango-1.0-0",
"libpangocairo-1.0-0", "libpangocairo-1.0-0",
"libstdc++6", "libstdc++6",
"libuuid1",
"libx11-6", "libx11-6",
"libx11-xcb1", "libx11-xcb1",
"libxcb1", "libxcb1",
......
...@@ -236,6 +236,10 @@ ...@@ -236,6 +236,10 @@
"libstdc++.so.6(GLIBCXX_3.4.7)(64bit)", "libstdc++.so.6(GLIBCXX_3.4.7)(64bit)",
"libstdc++.so.6(GLIBCXX_3.4.8)(64bit)", "libstdc++.so.6(GLIBCXX_3.4.8)(64bit)",
"libstdc++.so.6(GLIBCXX_3.4.9)(64bit)", "libstdc++.so.6(GLIBCXX_3.4.9)(64bit)",
"libuuid.so.1()(64bit)",
"libuuid.so.1(UUIDD_PRIVATE)(64bit)",
"libuuid.so.1(UUID_1.0)(64bit)",
"libuuid.so.1(UUID_2.20)(64bit)",
"libxcb.so.1()(64bit)", "libxcb.so.1()(64bit)",
"rtld(GNU_HASH)" "rtld(GNU_HASH)"
], ],
...@@ -482,6 +486,10 @@ ...@@ -482,6 +486,10 @@
"libstdc++.so.6(GLIBCXX_3.4.7)(64bit)", "libstdc++.so.6(GLIBCXX_3.4.7)(64bit)",
"libstdc++.so.6(GLIBCXX_3.4.8)(64bit)", "libstdc++.so.6(GLIBCXX_3.4.8)(64bit)",
"libstdc++.so.6(GLIBCXX_3.4.9)(64bit)", "libstdc++.so.6(GLIBCXX_3.4.9)(64bit)",
"libuuid.so.1()(64bit)",
"libuuid.so.1(UUIDD_PRIVATE)(64bit)",
"libuuid.so.1(UUID_1.0)(64bit)",
"libuuid.so.1(UUID_2.20)(64bit)",
"libxcb.so.1()(64bit)", "libxcb.so.1()(64bit)",
"rtld(GNU_HASH)" "rtld(GNU_HASH)"
], ],
...@@ -729,6 +737,10 @@ ...@@ -729,6 +737,10 @@
"libstdc++.so.6(GLIBCXX_3.4.7)(64bit)", "libstdc++.so.6(GLIBCXX_3.4.7)(64bit)",
"libstdc++.so.6(GLIBCXX_3.4.8)(64bit)", "libstdc++.so.6(GLIBCXX_3.4.8)(64bit)",
"libstdc++.so.6(GLIBCXX_3.4.9)(64bit)", "libstdc++.so.6(GLIBCXX_3.4.9)(64bit)",
"libuuid.so.1()(64bit)",
"libuuid.so.1(UUIDD_PRIVATE)(64bit)",
"libuuid.so.1(UUID_1.0)(64bit)",
"libuuid.so.1(UUID_2.20)(64bit)",
"libxcb.so.1()(64bit)", "libxcb.so.1()(64bit)",
"rtld(GNU_HASH)" "rtld(GNU_HASH)"
], ],
...@@ -1179,6 +1191,14 @@ ...@@ -1179,6 +1191,14 @@
"libstdc++.so.6(GLIBCXX_3.4.8)(64bit)", "libstdc++.so.6(GLIBCXX_3.4.8)(64bit)",
"libstdc++.so.6(GLIBCXX_3.4.9)", "libstdc++.so.6(GLIBCXX_3.4.9)",
"libstdc++.so.6(GLIBCXX_3.4.9)(64bit)", "libstdc++.so.6(GLIBCXX_3.4.9)(64bit)",
"libuuid.so.1",
"libuuid.so.1()(64bit)",
"libuuid.so.1(UUIDD_PRIVATE)",
"libuuid.so.1(UUIDD_PRIVATE)(64bit)",
"libuuid.so.1(UUID_1.0)",
"libuuid.so.1(UUID_1.0)(64bit)",
"libuuid.so.1(UUID_2.20)",
"libuuid.so.1(UUID_2.20)(64bit)",
"libxcb.so.1", "libxcb.so.1",
"libxcb.so.1()(64bit)", "libxcb.so.1()(64bit)",
"rtld(GNU_HASH)" "rtld(GNU_HASH)"
...@@ -1638,6 +1658,14 @@ ...@@ -1638,6 +1658,14 @@
"libstdc++.so.6(GLIBCXX_3.4.8)(64bit)", "libstdc++.so.6(GLIBCXX_3.4.8)(64bit)",
"libstdc++.so.6(GLIBCXX_3.4.9)", "libstdc++.so.6(GLIBCXX_3.4.9)",
"libstdc++.so.6(GLIBCXX_3.4.9)(64bit)", "libstdc++.so.6(GLIBCXX_3.4.9)(64bit)",
"libuuid.so.1",
"libuuid.so.1()(64bit)",
"libuuid.so.1(UUIDD_PRIVATE)",
"libuuid.so.1(UUIDD_PRIVATE)(64bit)",
"libuuid.so.1(UUID_1.0)",
"libuuid.so.1(UUID_1.0)(64bit)",
"libuuid.so.1(UUID_2.20)",
"libuuid.so.1(UUID_2.20)(64bit)",
"libxcb.so.1", "libxcb.so.1",
"libxcb.so.1()(64bit)", "libxcb.so.1()(64bit)",
"rtld(GNU_HASH)" "rtld(GNU_HASH)"
......
...@@ -54,6 +54,7 @@ PACKAGE_FILTER = [ ...@@ -54,6 +54,7 @@ PACKAGE_FILTER = [
"librt.so", "librt.so",
"libsmime3.so", "libsmime3.so",
"libstdc++.so", "libstdc++.so",
"libuuid.so",
"libxcb.so", "libxcb.so",
"rtld(GNU_HASH)", "rtld(GNU_HASH)",
] ]
......
...@@ -15,7 +15,6 @@ if (use_bundled_fontconfig) { ...@@ -15,7 +15,6 @@ if (use_bundled_fontconfig) {
sources = [ sources = [
"src/src/fcarch.h", "src/src/fcarch.h",
"src/src/fcatomic.c", "src/src/fcatomic.c",
"src/src/fcblanks.c",
"src/src/fccache.c", "src/src/fccache.c",
"src/src/fccfg.c", "src/src/fccfg.c",
"src/src/fccharset.c", "src/src/fccharset.c",
...@@ -26,6 +25,7 @@ if (use_bundled_fontconfig) { ...@@ -26,6 +25,7 @@ if (use_bundled_fontconfig) {
"src/src/fcformat.c", "src/src/fcformat.c",
"src/src/fcfreetype.c", "src/src/fcfreetype.c",
"src/src/fcfs.c", "src/src/fcfs.c",
"src/src/fchash.c",
"src/src/fcinit.c", "src/src/fcinit.c",
"src/src/fclang.c", "src/src/fclang.c",
"src/src/fclist.c", "src/src/fclist.c",
...@@ -34,6 +34,7 @@ if (use_bundled_fontconfig) { ...@@ -34,6 +34,7 @@ if (use_bundled_fontconfig) {
"src/src/fcname.c", "src/src/fcname.c",
"src/src/fcobjs.c", "src/src/fcobjs.c",
"src/src/fcpat.c", "src/src/fcpat.c",
"src/src/fcptrlist.c",
"src/src/fcrange.c", "src/src/fcrange.c",
"src/src/fcserialize.c", "src/src/fcserialize.c",
"src/src/fcstat.c", "src/src/fcstat.c",
...@@ -52,14 +53,17 @@ if (use_bundled_fontconfig) { ...@@ -52,14 +53,17 @@ if (use_bundled_fontconfig) {
defines = [ defines = [
"HAVE_CONFIG_H", "HAVE_CONFIG_H",
"FC_CACHEDIR=\"/var/cache/fontconfig\"", "FC_CACHEDIR=\"/var/cache/fontconfig\"",
"FC_TEMPLATEDIR=\"/usr/share/fontconfig/conf.avail\"",
"FONTCONFIG_PATH=\"/etc/fonts\"", "FONTCONFIG_PATH=\"/etc/fonts\"",
] ]
# This is a hack to remove visibility("default") annotations. Fontconfig # Fontconfig symbols should not be exported from chrome, nacl_helper, or
# symbols should not be exported from chrome, nacl_helper, or anything # anything else.
# else.
if (!is_component_build) { if (!is_component_build) {
defines += [ "visibility(x)=" ] defines += [
"FC_ATTRIBUTE_VISIBILITY_HIDDEN=__attribute((visibility(\"hidden\")))",
"FC_ATTRIBUTE_VISIBILITY_EXPORT=__attribute((visibility(\"hidden\")))",
]
} }
deps = [ deps = [
...@@ -82,6 +86,10 @@ if (use_bundled_fontconfig) { ...@@ -82,6 +86,10 @@ if (use_bundled_fontconfig) {
"-Wno-pointer-bool-conversion", "-Wno-pointer-bool-conversion",
] ]
} }
if (!is_win) {
libs = [ "uuid" ]
}
} }
} else { } else {
config("fontconfig_config") { config("fontconfig_config") {
......
spang@chromium.org spang@chromium.org
dnicoara@chromium.org dnicoara@chromium.org
thomasanderson@chromium.org
Name: fontconfig Name: fontconfig
URL: http://www.freedesktop.org/wiki/Software/fontconfig/ URL: http://www.freedesktop.org/wiki/Software/fontconfig/
Version: 2.12.6 Version: 6cc99d6a82ad67d2f5eac887b28bca13c0dfddde
License: MIT License: MIT
License File: src/COPYING License File: src/COPYING
Security Critical: yes Security Critical: yes
...@@ -12,9 +12,11 @@ Modifications: ...@@ -12,9 +12,11 @@ Modifications:
- None - None
To import a new snapshot of fontconfig: To import a new snapshot of fontconfig:
- Checkout the latest release tag: git checkout 2.12.6 - Checkout the latest revision:
git fetch origin master
git checkout origin/master
- Change the DEPS entry to the newly checked out commit. - Change the DEPS entry to the newly checked out commit.
- Update generated files: - Update generated files:
./autogen.sh --enable-libxml2 && make ./autogen.sh --enable-libxml2 --disable-docs && make
rsync -R $(git ls-files --others '*.h' '*/*.h') ../include rsync -R $(git ls-files --others '*.h' '*/*.h') ../include
- Update this README to reflect the new version number. - Update this README to reflect the new version number.
...@@ -13,6 +13,10 @@ ...@@ -13,6 +13,10 @@
/* Use libxml2 instead of Expat */ /* Use libxml2 instead of Expat */
#define ENABLE_LIBXML2 1 #define ENABLE_LIBXML2 1
/* Define to 1 if translation of program messages to the user's native
language is requested. */
#define ENABLE_NLS 1
/* Additional font directories */ /* Additional font directories */
#define FC_ADD_FONTS "yes" #define FC_ADD_FONTS "yes"
...@@ -23,7 +27,7 @@ ...@@ -23,7 +27,7 @@
#define FC_DEFAULT_FONTS "/usr/share/fonts" #define FC_DEFAULT_FONTS "/usr/share/fonts"
/* The type of len parameter of the gperf hash/lookup function */ /* The type of len parameter of the gperf hash/lookup function */
#define FC_GPERF_SIZE_T unsigned int #define FC_GPERF_SIZE_T size_t
/* Define to nothing if C supports flexible array members, and to 1 if it does /* Define to nothing if C supports flexible array members, and to 1 if it does
not. That way, with a declaration like `struct s { int n; double not. That way, with a declaration like `struct s { int n; double
...@@ -34,6 +38,21 @@ ...@@ -34,6 +38,21 @@
MSVC and with C++ compilers. */ MSVC and with C++ compilers. */
#define FLEXIBLE_ARRAY_MEMBER /**/ #define FLEXIBLE_ARRAY_MEMBER /**/
/* Gettext package */
#define GETTEXT_PACKAGE "fontconfig"
/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the
CoreFoundation framework. */
/* #undef HAVE_CFLOCALECOPYCURRENT */
/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
the CoreFoundation framework. */
/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */
/* Define if the GNU dcgettext() function is already present or preinstalled.
*/
#define HAVE_DCGETTEXT 1
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'. /* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/ */
#define HAVE_DIRENT_H 1 #define HAVE_DIRENT_H 1
...@@ -53,15 +72,12 @@ ...@@ -53,15 +72,12 @@
/* Define to 1 if you have the `fstatvfs' function. */ /* Define to 1 if you have the `fstatvfs' function. */
#define HAVE_FSTATVFS 1 #define HAVE_FSTATVFS 1
/* FT_Bitmap_Size structure includes y_ppem field */ /* Define to 1 if you have the `FT_Done_MM_Var' function. */
#define HAVE_FT_BITMAP_SIZE_Y_PPEM 1 /* #undef HAVE_FT_DONE_MM_VAR */
/* Define to 1 if you have the `FT_Get_BDF_Property' function. */ /* Define to 1 if you have the `FT_Get_BDF_Property' function. */
#define HAVE_FT_GET_BDF_PROPERTY 1 #define HAVE_FT_GET_BDF_PROPERTY 1
/* Define to 1 if you have the `FT_Get_Next_Char' function. */
#define HAVE_FT_GET_NEXT_CHAR 1
/* Define to 1 if you have the `FT_Get_PS_Font_Info' function. */ /* Define to 1 if you have the `FT_Get_PS_Font_Info' function. */
#define HAVE_FT_GET_PS_FONT_INFO 1 #define HAVE_FT_GET_PS_FONT_INFO 1
...@@ -71,9 +87,6 @@ ...@@ -71,9 +87,6 @@
/* Define to 1 if you have the `FT_Has_PS_Glyph_Names' function. */ /* Define to 1 if you have the `FT_Has_PS_Glyph_Names' function. */
#define HAVE_FT_HAS_PS_GLYPH_NAMES 1 #define HAVE_FT_HAS_PS_GLYPH_NAMES 1
/* Define to 1 if you have the `FT_Select_Size' function. */
#define HAVE_FT_SELECT_SIZE 1
/* Define to 1 if you have the `getexecname' function. */ /* Define to 1 if you have the `getexecname' function. */
/* #undef HAVE_GETEXECNAME */ /* #undef HAVE_GETEXECNAME */
...@@ -89,6 +102,12 @@ ...@@ -89,6 +102,12 @@
/* Define to 1 if you have the `getprogname' function. */ /* Define to 1 if you have the `getprogname' function. */
/* #undef HAVE_GETPROGNAME */ /* #undef HAVE_GETPROGNAME */
/* Define if the GNU gettext() function is already present or preinstalled. */
#define HAVE_GETTEXT 1
/* Define if you have the iconv() function and it works. */
/* #undef HAVE_ICONV */
/* Have Intel __sync_* atomic primitives */ /* Have Intel __sync_* atomic primitives */
#define HAVE_INTEL_ATOMIC_PRIMITIVES 1 #define HAVE_INTEL_ATOMIC_PRIMITIVES 1
...@@ -161,6 +180,12 @@ ...@@ -161,6 +180,12 @@
/* Define to 1 if you have the <stdlib.h> header file. */ /* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1 #define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
#define HAVE_STRERROR_R 1
/* Define to 1 if you have the <strings.h> header file. */ /* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1 #define HAVE_STRINGS_H 1
...@@ -214,12 +239,6 @@ ...@@ -214,12 +239,6 @@
/* Define to 1 if you have the <sys/vfs.h> header file. */ /* Define to 1 if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1 #define HAVE_SYS_VFS_H 1
/* Define to 1 if `usLowerOpticalPointSize' is a member of `TT_OS2'. */
#define HAVE_TT_OS2_USLOWEROPTICALPOINTSIZE 1
/* Define to 1 if `usUpperOpticalPointSize' is a member of `TT_OS2'. */
#define HAVE_TT_OS2_USUPPEROPTICALPOINTSIZE 1
/* Define to 1 if you have the <unistd.h> header file. */ /* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1 #define HAVE_UNISTD_H 1
...@@ -251,7 +270,7 @@ ...@@ -251,7 +270,7 @@
#define PACKAGE_NAME "fontconfig" #define PACKAGE_NAME "fontconfig"
/* Define to the full name and version of this package. */ /* Define to the full name and version of this package. */
#define PACKAGE_STRING "fontconfig 2.12.6" #define PACKAGE_STRING "fontconfig 2.13.0"
/* Define to the one symbol short name of this package. */ /* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "fontconfig" #define PACKAGE_TARNAME "fontconfig"
...@@ -260,7 +279,7 @@ ...@@ -260,7 +279,7 @@
#define PACKAGE_URL "" #define PACKAGE_URL ""
/* Define to the version of this package. */ /* Define to the version of this package. */
#define PACKAGE_VERSION "2.12.6" #define PACKAGE_VERSION "2.13.0"
/* Define to necessary symbol if this constant uses a non-standard name on /* Define to necessary symbol if this constant uses a non-standard name on
your system. */ your system. */
...@@ -313,7 +332,7 @@ ...@@ -313,7 +332,7 @@
/* Version number of package */ /* Version number of package */
#define VERSION "2.12.6" #define VERSION "2.13.0"
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */ significant byte first (like Motorola and SPARC, unlike Intel). */
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
* PERFORMANCE OF THIS SOFTWARE. * PERFORMANCE OF THIS SOFTWARE.
*/ */
#define FC_NUM_CASE_FOLD 288 #define FC_NUM_CASE_FOLD 291
#define FC_NUM_CASE_FOLD_CHARS 471 #define FC_NUM_CASE_FOLD_CHARS 471
#define FC_MAX_CASE_FOLD_CHARS 6 #define FC_MAX_CASE_FOLD_CHARS 6
#define FC_MAX_CASE_FOLD_EXPAND 4 #define FC_MAX_CASE_FOLD_EXPAND 4
...@@ -146,6 +146,8 @@ static const FcCaseFold fcCaseFold[FC_NUM_CASE_FOLD] = { ...@@ -146,6 +146,8 @@ static const FcCaseFold fcCaseFold[FC_NUM_CASE_FOLD] = {
{ 0x00001c86, FC_CASE_FOLD_RANGE, 0x0001, -6204 }, { 0x00001c86, FC_CASE_FOLD_RANGE, 0x0001, -6204 },
{ 0x00001c87, FC_CASE_FOLD_RANGE, 0x0001, -6180 }, { 0x00001c87, FC_CASE_FOLD_RANGE, 0x0001, -6180 },
{ 0x00001c88, FC_CASE_FOLD_RANGE, 0x0001, -30269 }, { 0x00001c88, FC_CASE_FOLD_RANGE, 0x0001, -30269 },
{ 0x00001c90, FC_CASE_FOLD_RANGE, 0x002b, -3008 },
{ 0x00001cbd, FC_CASE_FOLD_RANGE, 0x0003, -3008 },
{ 0x00001e00, FC_CASE_FOLD_EVEN_ODD, 0x0095, 1 }, { 0x00001e00, FC_CASE_FOLD_EVEN_ODD, 0x0095, 1 },
{ 0x00001e96, FC_CASE_FOLD_FULL, 0x0003, 27 }, { 0x00001e96, FC_CASE_FOLD_FULL, 0x0003, 27 },
{ 0x00001e97, FC_CASE_FOLD_FULL, 0x0003, 30 }, { 0x00001e97, FC_CASE_FOLD_FULL, 0x0003, 30 },
...@@ -298,7 +300,7 @@ static const FcCaseFold fcCaseFold[FC_NUM_CASE_FOLD] = { ...@@ -298,7 +300,7 @@ static const FcCaseFold fcCaseFold[FC_NUM_CASE_FOLD] = {
{ 0x0000a7b1, FC_CASE_FOLD_RANGE, 0x0001, 23254 }, { 0x0000a7b1, FC_CASE_FOLD_RANGE, 0x0001, 23254 },
{ 0x0000a7b2, FC_CASE_FOLD_RANGE, 0x0001, 23275 }, { 0x0000a7b2, FC_CASE_FOLD_RANGE, 0x0001, 23275 },
{ 0x0000a7b3, FC_CASE_FOLD_RANGE, 0x0001, 928 }, { 0x0000a7b3, FC_CASE_FOLD_RANGE, 0x0001, 928 },
{ 0x0000a7b4, FC_CASE_FOLD_EVEN_ODD, 0x0003, 1 }, { 0x0000a7b4, FC_CASE_FOLD_EVEN_ODD, 0x0005, 1 },
{ 0x0000ab70, FC_CASE_FOLD_RANGE, 0x0050, 26672 }, { 0x0000ab70, FC_CASE_FOLD_RANGE, 0x0050, 26672 },
{ 0x0000fb00, FC_CASE_FOLD_FULL, 0x0002, 435 }, { 0x0000fb00, FC_CASE_FOLD_FULL, 0x0002, 435 },
{ 0x0000fb01, FC_CASE_FOLD_FULL, 0x0002, 437 }, { 0x0000fb01, FC_CASE_FOLD_FULL, 0x0002, 437 },
...@@ -317,6 +319,7 @@ static const FcCaseFold fcCaseFold[FC_NUM_CASE_FOLD] = { ...@@ -317,6 +319,7 @@ static const FcCaseFold fcCaseFold[FC_NUM_CASE_FOLD] = {
{ 0x000104b0, FC_CASE_FOLD_RANGE, 0x0024, 40 }, { 0x000104b0, FC_CASE_FOLD_RANGE, 0x0024, 40 },
{ 0x00010c80, FC_CASE_FOLD_RANGE, 0x0033, 64 }, { 0x00010c80, FC_CASE_FOLD_RANGE, 0x0033, 64 },
{ 0x000118a0, FC_CASE_FOLD_RANGE, 0x0020, 32 }, { 0x000118a0, FC_CASE_FOLD_RANGE, 0x0020, 32 },
{ 0x00016e40, FC_CASE_FOLD_RANGE, 0x0020, 32 },
{ 0x0001e900, FC_CASE_FOLD_RANGE, 0x0022, 34 }, { 0x0001e900, FC_CASE_FOLD_RANGE, 0x0022, 34 },
}; };
......
extern __typeof (FcFreeTypeCharIndex) IA__FcFreeTypeCharIndex __attribute((visibility("hidden"))); extern __typeof (FcFreeTypeCharIndex) IA__FcFreeTypeCharIndex FC_ATTRIBUTE_VISIBILITY_HIDDEN;
#define FcFreeTypeCharIndex IA__FcFreeTypeCharIndex #define FcFreeTypeCharIndex IA__FcFreeTypeCharIndex
extern __typeof (FcFreeTypeCharSetAndSpacing) IA__FcFreeTypeCharSetAndSpacing __attribute((visibility("hidden"))); extern __typeof (FcFreeTypeCharSetAndSpacing) IA__FcFreeTypeCharSetAndSpacing FC_ATTRIBUTE_VISIBILITY_HIDDEN;
#define FcFreeTypeCharSetAndSpacing IA__FcFreeTypeCharSetAndSpacing #define FcFreeTypeCharSetAndSpacing IA__FcFreeTypeCharSetAndSpacing
extern __typeof (FcFreeTypeCharSet) IA__FcFreeTypeCharSet __attribute((visibility("hidden"))); extern __typeof (FcFreeTypeCharSet) IA__FcFreeTypeCharSet FC_ATTRIBUTE_VISIBILITY_HIDDEN;
#define FcFreeTypeCharSet IA__FcFreeTypeCharSet #define FcFreeTypeCharSet IA__FcFreeTypeCharSet
extern __typeof (FcPatternGetFTFace) IA__FcPatternGetFTFace __attribute((visibility("hidden"))); extern __typeof (FcPatternGetFTFace) IA__FcPatternGetFTFace FC_ATTRIBUTE_VISIBILITY_HIDDEN;
#define FcPatternGetFTFace IA__FcPatternGetFTFace #define FcPatternGetFTFace IA__FcPatternGetFTFace
extern __typeof (FcPatternAddFTFace) IA__FcPatternAddFTFace __attribute((visibility("hidden"))); extern __typeof (FcPatternAddFTFace) IA__FcPatternAddFTFace FC_ATTRIBUTE_VISIBILITY_HIDDEN;
#define FcPatternAddFTFace IA__FcPatternAddFTFace #define FcPatternAddFTFace IA__FcPatternAddFTFace
extern __typeof (FcFreeTypeQueryFace) IA__FcFreeTypeQueryFace __attribute((visibility("hidden"))); extern __typeof (FcFreeTypeQueryFace) IA__FcFreeTypeQueryFace FC_ATTRIBUTE_VISIBILITY_HIDDEN;
#define FcFreeTypeQueryFace IA__FcFreeTypeQueryFace #define FcFreeTypeQueryFace IA__FcFreeTypeQueryFace
#if HAVE_GNUC_ATTRIBUTE #if HAVE_GNUC_ATTRIBUTE
#ifdef __fcfreetype__ #ifdef __fcfreetype__
# undef FcFreeTypeCharIndex # undef FcFreeTypeCharIndex
extern __typeof (FcFreeTypeCharIndex) FcFreeTypeCharIndex __attribute((alias("IA__FcFreeTypeCharIndex"), visibility("default"))); extern __typeof (FcFreeTypeCharIndex) FcFreeTypeCharIndex __attribute((alias("IA__FcFreeTypeCharIndex"))) FC_ATTRIBUTE_VISIBILITY_EXPORT;
# undef FcFreeTypeCharSetAndSpacing # undef FcFreeTypeCharSetAndSpacing
extern __typeof (FcFreeTypeCharSetAndSpacing) FcFreeTypeCharSetAndSpacing __attribute((alias("IA__FcFreeTypeCharSetAndSpacing"), visibility("default"))); extern __typeof (FcFreeTypeCharSetAndSpacing) FcFreeTypeCharSetAndSpacing __attribute((alias("IA__FcFreeTypeCharSetAndSpacing"))) FC_ATTRIBUTE_VISIBILITY_EXPORT;
# undef FcFreeTypeCharSet # undef FcFreeTypeCharSet
extern __typeof (FcFreeTypeCharSet) FcFreeTypeCharSet __attribute((alias("IA__FcFreeTypeCharSet"), visibility("default"))); extern __typeof (FcFreeTypeCharSet) FcFreeTypeCharSet __attribute((alias("IA__FcFreeTypeCharSet"))) FC_ATTRIBUTE_VISIBILITY_EXPORT;
#endif /* __fcfreetype__ */ #endif /* __fcfreetype__ */
#ifdef __fcpat__ #ifdef __fcpat__
# undef FcPatternGetFTFace # undef FcPatternGetFTFace
extern __typeof (FcPatternGetFTFace) FcPatternGetFTFace __attribute((alias("IA__FcPatternGetFTFace"), visibility("default"))); extern __typeof (FcPatternGetFTFace) FcPatternGetFTFace __attribute((alias("IA__FcPatternGetFTFace"))) FC_ATTRIBUTE_VISIBILITY_EXPORT;
# undef FcPatternAddFTFace # undef FcPatternAddFTFace
extern __typeof (FcPatternAddFTFace) FcPatternAddFTFace __attribute((alias("IA__FcPatternAddFTFace"), visibility("default"))); extern __typeof (FcPatternAddFTFace) FcPatternAddFTFace __attribute((alias("IA__FcPatternAddFTFace"))) FC_ATTRIBUTE_VISIBILITY_EXPORT;
#endif /* __fcpat__ */ #endif /* __fcpat__ */
#ifdef __fcfreetype__ #ifdef __fcfreetype__
# undef FcFreeTypeQueryFace # undef FcFreeTypeQueryFace
extern __typeof (FcFreeTypeQueryFace) FcFreeTypeQueryFace __attribute((alias("IA__FcFreeTypeQueryFace"), visibility("default"))); extern __typeof (FcFreeTypeQueryFace) FcFreeTypeQueryFace __attribute((alias("IA__FcFreeTypeQueryFace"))) FC_ATTRIBUTE_VISIBILITY_EXPORT;
#endif /* */ #endif /* */
#endif /* HAVE_GNUC_ATTRIBUTE */ #endif /* HAVE_GNUC_ATTRIBUTE */
#ifndef _FONTCONFIG_SRC_FCSTDINT_H #ifndef _FONTCONFIG_SRC_FCSTDINT_H
#define _FONTCONFIG_SRC_FCSTDINT_H 1 #define _FONTCONFIG_SRC_FCSTDINT_H 1
#ifndef _GENERATED_STDINT_H #ifndef _GENERATED_STDINT_H
#define _GENERATED_STDINT_H "fontconfig 2.12.6" #define _GENERATED_STDINT_H "fontconfig 2.13.0"
/* generated using gnu compiler gcc (Debian 6.3.0-18) 6.3.0 20170516 */ /* generated using gnu compiler gcc (Debian 7.3.0-21) 7.3.0 */
#define _STDINT_HAVE_STDINT_H 1 #define _STDINT_HAVE_STDINT_H 1
#include <stdint.h> #include <stdint.h>
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment