Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (7e9c6369161b60da9cc49f3aed9231b38db2d132)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Pavel Vinogradov <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (7e9c6369161b60da9cc49f3aed9231b38db2d132)
  • Date: Tue, 23 Jan 2018 21:22:13 +0000

GIT changes to master grimoire by Pavel Vinogradov <public AT sourcemage.org>:

http/firefox/BUILD | 9
http/firefox/DEPENDS | 2
http/firefox/DETAILS | 6
http/firefox/HISTORY | 15 +
http/firefox/INSTALL | 2
http/firefox/mozconfig | 1
http/firefox/patches/2000_system_harfbuzz.patch | 258 +++++++++++++++++++++
http/firefox/patches/2001_system_graphite2.patch | 233 +++++++++++++++++++
http/firefox/patches/2001_system_harfbuzz.patch | 281
-----------------------
http/firefox/patches/2002_system_graphite2.patch | 252 --------------------
10 files changed, 512 insertions(+), 547 deletions(-)

New commits:
commit 7e9c6369161b60da9cc49f3aed9231b38db2d132
Author: Pavel Vinogradov <public AT sourcemage.org>
Commit: Pavel Vinogradov <public AT sourcemage.org>

http/firefox: version 58.0, SECURITY_PATCH++

diff --git a/http/firefox/BUILD b/http/firefox/BUILD
index ad5ce8f..84a1354 100755
--- a/http/firefox/BUILD
+++ b/http/firefox/BUILD
@@ -53,12 +53,5 @@ for option in $OPTS; do
echo "ac_add_options $option" >> .mozconfig
done &&

-local MAKE_TARGET &&
-if [[ $FIREFOX_PGO == y ]]; then
- MAKE_TARGET=profiledbuild
-else
- MAKE_TARGET=build
-fi &&
-
echo "mk_add_options MOZ_MAKE_FLAGS=\"-j${MAKE_NJOBS:-1}\"" >> .mozconfig &&
-make -f client.mk $MAKE_TARGET
+./mach build
diff --git a/http/firefox/DEPENDS b/http/firefox/DEPENDS
index a126a71..9e99cae 100755
--- a/http/firefox/DEPENDS
+++ b/http/firefox/DEPENDS
@@ -26,7 +26,7 @@ depends -sub APNG libpng "--enable-system-png"
&&
depends librsvg2 "--enable-svg" &&

depends nspr "--with-system-nspr" &&
-depends -sub "3.33.x" nss "--with-system-nss" &&
+depends -sub "3.35.x" nss "--with-system-nss" &&

depends -sub "TSAFE SECURE_DELETE ENABLE_UNLOCK_NOTIFY ENABLE_DBSTAT_VTAB"
sqlite "--enable-system-sqlite" &&

diff --git a/http/firefox/DETAILS b/http/firefox/DETAILS
index 0e1d3ff..30ed27b 100755
--- a/http/firefox/DETAILS
+++ b/http/firefox/DETAILS
@@ -1,10 +1,10 @@
SPELL=firefox
- VERSION=57.0.4
+ VERSION=58.0
SOURCE=${SPELL}-${VERSION}.source.tar.xz
-
SOURCE_HASH=sha512:58846037aebbf14b85e6b3a46dbe617c780c6916e437ea4ee32a2502a6b55e3689921a0be28b920dedf2f966195df04ac8e45411caeb2601a168ec08b4827cf0
+
SOURCE_HASH=sha512:17a2c520973c68c5dd130bcb27407b1c20b03f74c97aeb486e86d422ab5c012e549787ae53275d6840b9d324f261ae282b98f61764ee5e0a6df1cc3e3c9e2632

SOURCE_URL[0]=http://releases.mozilla.org/pub/mozilla.org/${SPELL}/releases/${VERSION}/source/${SOURCE}

SOURCE_URL[1]=http://ftp.mozilla.org/pub/mozilla.org/${SPELL}/releases/${VERSION}/source/${SOURCE}
- SECURITY_PATCH=111
+ SECURITY_PATCH=112
SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-$VERSION"
WEB_SITE=https://www.mozilla.org/en-US/firefox/fx/
GATHER_DOCS=off
diff --git a/http/firefox/HISTORY b/http/firefox/HISTORY
index 6c63483..1041496 100644
--- a/http/firefox/HISTORY
+++ b/http/firefox/HISTORY
@@ -1,3 +1,18 @@
+2018-01-23 Pavel Vinogradov <public AT sourcemage.org>
+ * DETAILS: version 58.0, SECURITY_PATCH+++,
+ (CVE-2018-5092, CVE-2018-5093, CVE-2018-5094, CVE-2018-5095,
+ CVE-2018-5097, CVE-2018-5098, CVE-2018-5099, CVE-2018-5100,
+ CVE-2018-5101, CVE-2018-5102, CVE-2018-5103, CVE-2018-5104,
+ CVE-2018-5105, CVE-2018-5106, CVE-2018-5107, CVE-2018-5108,
+ CVE-2018-5109, CVE-2018-5110, CVE-2018-5111, CVE-2018-5112,
+ CVE-2018-5113, CVE-2018-5114, CVE-2018-5115, CVE-2018-5116,
+ CVE-2018-5117, CVE-2018-5118, CVE-2018-5119, CVE-2018-5121,
+ CVE-2018-5122, CVE-2018-5090, CVE-2018-5089)
+ * BUILD, INSTALLL; switched to Mozilla's mach build system
+ * DEPENDS: now needs 3.35.x branch of nss
+ * mozconfig: removed --with-default-mozilla-five-home flag
+ * patches/200*: updated
+
2018-01-05 Pavel Vinogradov <public AT sourcemage.org>
* DETAILS: version 57.0.4, SECURITY_PATCH+++,
(MFSA-2018-01, "Spectre")
diff --git a/http/firefox/INSTALL b/http/firefox/INSTALL
index db26cf8..d0100c8 100755
--- a/http/firefox/INSTALL
+++ b/http/firefox/INSTALL
@@ -4,7 +4,7 @@ if spell_ok Firebird; then
dispel Firebird
fi &&

-make -f client.mk install &&
+./mach install &&

#
# Script to set MOZILLA_FIVE_HOME
diff --git a/http/firefox/mozconfig b/http/firefox/mozconfig
index ea846c6..db26184 100644
--- a/http/firefox/mozconfig
+++ b/http/firefox/mozconfig
@@ -15,7 +15,6 @@ ac_add_options --disable-updater
ac_add_options --disable-crashreporter
ac_add_options --prefix=${INSTALL_ROOT}/usr
ac_add_options --mandir=${INSTALL_ROOT}/usr
-ac_add_options
--with-default-mozilla-five-home=${INSTALL_ROOT}/usr/lib/firefox
ac_add_options --enable-release
ac_add_options --enable-pie
ac_add_options --enable-mathml
diff --git a/http/firefox/patches/2000_system_harfbuzz.patch
b/http/firefox/patches/2000_system_harfbuzz.patch
new file mode 100644
index 0000000..8365a64
--- /dev/null
+++ b/http/firefox/patches/2000_system_harfbuzz.patch
@@ -0,0 +1,258 @@
+From: Jan Beich <jbeich AT FreeBSD.org>
+
+Add ability to use system-harfbuzz instead of bundled.
+
+https://bugzilla.mozilla.org/show_bug.cgi?id=847568
+
+diff --git a/config/system-headers.mozbuild b/config/system-headers.mozbuild
+--- a/config/system-headers.mozbuild
++++ b/config/system-headers.mozbuild
+@@ -1228,16 +1228,23 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'andr
+ 'utils/TypeHelpers.h',
+ 'utils/Unicode.h',
+ 'utils/Vector.h',
+ 'utils/VectorImpl.h',
+ 'vr/gvr/capi/include/gvr_controller.h',
+ 'vr/gvr/capi/include/gvr.h',
+ ]
+
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++ system_headers += [
++ 'harfbuzz/hb-glib.h',
++ 'harfbuzz/hb-ot.h',
++ 'harfbuzz/hb.h',
++ ]
++
+ if CONFIG['MOZ_JACK']:
+ system_headers += [
+ 'jack/jack.h',
+ 'jack/statistics.h',
+ ]
+
+ if CONFIG['MOZ_SYSTEM_JPEG']:
+ system_headers += [
+diff --git a/dom/base/moz.build b/dom/base/moz.build
+--- a/dom/base/moz.build
++++ b/dom/base/moz.build
+@@ -465,16 +465,19 @@ include('/ipc/chromium/chromium-config.m
+ FINAL_LIBRARY = 'xul'
+
+ if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']:
+ DEFINES['HAVE_SIDEBAR'] = True
+
+ if CONFIG['MOZ_X11']:
+ CXXFLAGS += CONFIG['TK_CFLAGS']
+
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ GENERATED_FILES += [
+ 'PropertyUseCounterMap.inc',
+ 'UseCounterList.h',
+ ]
+
+ countermap = GENERATED_FILES['PropertyUseCounterMap.inc']
+ countermap.script = 'gen-usecounters.py:property_map'
+ countermap.inputs = ['UseCounters.conf']
+diff --git a/gfx/harfbuzz/README-mozilla b/gfx/harfbuzz/README-mozilla
+--- a/gfx/harfbuzz/README-mozilla
++++ b/gfx/harfbuzz/README-mozilla
+@@ -14,8 +14,13 @@ this file when updating harfbuzz, and ch
+
+ The normal approach to updating harfbuzz, therefore, is to pull the latest
HB
+ source into a scratch directory and do a local build; then copy the original
+ sources AND the generated header mentioned above from the build directory
into
+ the mozilla tree.
+
+ If the collection of source files changes, manual updates to moz.build may
be
+ needed, as we don't use the upstream makefiles.
++
++The in-tree copy may be omitted during build by --with-system-harfbuzz.
++Make sure to keep pkg-config version check within toolkit/moz.configure in
sync
++with checkout version or increment latest tag by one if it's not based
++on upstream release.
+diff --git a/gfx/moz.build b/gfx/moz.build
+--- a/gfx/moz.build
++++ b/gfx/moz.build
+@@ -5,26 +5,28 @@
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ with Files('**'):
+ BUG_COMPONENT = ('Core', 'Graphics')
+
+ if CONFIG['MOZ_TREE_CAIRO']:
+ DIRS += ['cairo']
+
++if not CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++ DIRS += ['harfbuzz/src']
++
+ DIRS += [
+ '2d',
+ 'ycbcr',
+ 'angle',
+ 'src',
+ 'qcms',
+ 'gl',
+ 'layers',
+ 'graphite2/src',
+- 'harfbuzz/src',
+ 'ots/src',
+ 'thebes',
+ 'ipc',
+ 'vr',
+ 'config',
+ 'webrender_bindings',
+ ]
+
+diff --git a/gfx/skia/generate_mozbuild.py b/gfx/skia/generate_mozbuild.py
+--- a/gfx/skia/generate_mozbuild.py
++++ b/gfx/skia/generate_mozbuild.py
+@@ -130,16 +130,19 @@ if CONFIG['GNU_CXX'] and not CONFIG['CLA
+ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
+ CXXFLAGS += [
+ '-Wno-implicit-fallthrough',
+ '-Wno-inconsistent-missing-override',
+ '-Wno-macro-redefined',
+ '-Wno-unused-private-field',
+ ]
+
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android'):
+ CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
+ CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
+
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
+ CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
+
+ if CONFIG['MOZ_ENABLE_SKIA_PDF_SFNTLY']:
+diff --git a/gfx/skia/moz.build b/gfx/skia/moz.build
+--- a/gfx/skia/moz.build
++++ b/gfx/skia/moz.build
+@@ -775,16 +775,19 @@ if CONFIG['GNU_CXX'] and not CONFIG['CLA
+ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
+ CXXFLAGS += [
+ '-Wno-implicit-fallthrough',
+ '-Wno-inconsistent-missing-override',
+ '-Wno-macro-redefined',
+ '-Wno-unused-private-field',
+ ]
+
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android'):
+ CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
+ CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
+
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
+ CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
+
+ if CONFIG['MOZ_ENABLE_SKIA_PDF_SFNTLY']:
+diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build
+--- a/gfx/thebes/moz.build
++++ b/gfx/thebes/moz.build
+@@ -264,11 +264,14 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('and
+
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
+ CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
+
+ LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
+
+ DEFINES['GRAPHITE2_STATIC'] = True
+
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ if CONFIG['CLANG_CXX']:
+ # Suppress warnings from Skia header files.
+ SOURCES['gfxPlatform.cpp'].flags += ['-Wno-implicit-fallthrough']
+diff --git a/intl/unicharutil/util/moz.build
b/intl/unicharutil/util/moz.build
+--- a/intl/unicharutil/util/moz.build
++++ b/intl/unicharutil/util/moz.build
+@@ -20,9 +20,12 @@ UNIFIED_SOURCES += [
+ 'ICUUtils.cpp',
+ 'IrishCasing.cpp',
+ 'nsBidiUtils.cpp',
+ 'nsSpecialCasingData.cpp',
+ 'nsUnicharUtils.cpp',
+ 'nsUnicodeProperties.cpp',
+ ]
+
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ FINAL_LIBRARY = 'xul'
+diff --git a/netwerk/dns/moz.build b/netwerk/dns/moz.build
+--- a/netwerk/dns/moz.build
++++ b/netwerk/dns/moz.build
+@@ -64,12 +64,15 @@ etld_data = GENERATED_FILES['etld_data.i
+ etld_data.script = 'prepare_tlds.py'
+ etld_data.inputs = ['effective_tld_names.dat']
+
+ # need to include etld_data.inc
+ LOCAL_INCLUDES += [
+ '/netwerk/base',
+ ]
+
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ USE_LIBS += ['icu']
+
+ if CONFIG['GNU_CXX']:
+ CXXFLAGS += ['-Wno-error=shadow']
+diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
+--- a/toolkit/library/moz.build
++++ b/toolkit/library/moz.build
+@@ -226,16 +226,19 @@ if CONFIG['SERVO_TARGET_DIR']:
+ OS_LIBS += ['-L%s' % CONFIG['SERVO_TARGET_DIR'], '-lgeckoservo']
+
+ if CONFIG['MOZ_SYSTEM_JPEG']:
+ OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
+
+ if CONFIG['MOZ_SYSTEM_PNG']:
+ OS_LIBS += CONFIG['MOZ_PNG_LIBS']
+
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++ OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
++
+ if CONFIG['MOZ_SYSTEM_HUNSPELL']:
+ OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
+
+ if CONFIG['MOZ_SYSTEM_LIBEVENT']:
+ OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
+
+ if CONFIG['MOZ_SYSTEM_LIBVPX']:
+ OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS']
+diff --git a/toolkit/moz.configure b/toolkit/moz.configure
+--- a/toolkit/moz.configure
++++ b/toolkit/moz.configure
+@@ -312,16 +312,26 @@ def freetype2_combined_info(fontconfig_i
+ return namespace(
+ cflags=freetype2_info.cflags + fontconfig_info.cflags,
+ libs=freetype2_info.libs + fontconfig_info.libs,
+ )
+
+ add_old_configure_assignment('_HAVE_FREETYPE2',
+ depends_if(freetype2_info)(lambda _: True))
+
++# HarfBuzz
++# ==============================================================
++option('--with-system-harfbuzz',
++ help="Use system harfbuzz (located with pkgconfig)")
++
++system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.4.2',
++ when='--with-system-harfbuzz')
++
++set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _:
True))
++
+ # Apple platform decoder support
+ # ==============================================================
+ @depends(toolkit)
+ def applemedia(toolkit):
+ if toolkit in ('cocoa', 'uikit'):
+ return True
+
+ set_config('MOZ_APPLEMEDIA', applemedia)
diff --git a/http/firefox/patches/2001_system_graphite2.patch
b/http/firefox/patches/2001_system_graphite2.patch
new file mode 100644
index 0000000..5abe15f
--- /dev/null
+++ b/http/firefox/patches/2001_system_graphite2.patch
@@ -0,0 +1,233 @@
+From: Jan Beich <jbeich AT FreeBSD.org>
+
+Allow building against system-wide graphite2.
+
+https://bugzilla.mozilla.org/show_bug.cgi?id=847568
+
+diff --git a/config/system-headers.mozbuild b/config/system-headers.mozbuild
+--- a/config/system-headers.mozbuild
++++ b/config/system-headers.mozbuild
+@@ -1235,16 +1235,22 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'andr
+
+ if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ system_headers += [
+ 'harfbuzz/hb-glib.h',
+ 'harfbuzz/hb-ot.h',
+ 'harfbuzz/hb.h',
+ ]
+
++if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
++ system_headers += [
++ 'graphite2/Font.h',
++ 'graphite2/Segment.h',
++ ]
++
+ if CONFIG['MOZ_JACK']:
+ system_headers += [
+ 'jack/jack.h',
+ 'jack/statistics.h',
+ ]
+
+ if CONFIG['MOZ_SYSTEM_JPEG']:
+ system_headers += [
+diff --git a/gfx/graphite2/moz-gr-update.sh b/gfx/graphite2/moz-gr-update.sh
+--- a/gfx/graphite2/moz-gr-update.sh
++++ b/gfx/graphite2/moz-gr-update.sh
+@@ -1,11 +1,12 @@
+ #!/bin/bash
+
+ # Script used to update the Graphite2 library in the mozilla source tree
++# and bump version for --with-system-graphite2
+
+ # This script lives in gfx/graphite2, along with the library source,
+ # but must be run from the top level of the mozilla-central tree.
+
+ # Run as
+ #
+ # ./gfx/graphite2/moz-gr-update.sh RELEASE
+ #
+@@ -32,22 +33,26 @@ echo "This directory contains the Graphi
+ echo "$TARBALL" >> gfx/graphite2/README.mozilla
+ echo ""
+ echo "See" $0 "for update procedure." >> gfx/graphite2/README.mozilla
+
+ # fix up includes because of bug 721839 (cstdio) and bug 803066 (Windows.h)
+ #find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e
"s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
+ #find gfx/graphite2/ -name "*.h" -exec perl -p -i -e
"s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
+
++# chase version for --with-system-graphite2
++perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$RELEASE/ and tr/./,/ \
++ if /GR2_VERSION_REQUIRE/" old-configure.in
++
+ # summarize what's been touched
+ echo Updated to $RELEASE.
+ echo Here is what changed in the gfx/graphite2 directory:
+ echo
+
+-hg stat gfx/graphite2
++hg stat old-configure.in gfx/graphite2
+
+ echo
+ echo If gfx/graphite2/src/files.mk has changed, please make corresponding
+ echo changes to gfx/graphite2/src/moz.build
+ echo
+
+ echo
+ echo Now use hg commands to create a patch for the mozilla tree.
+diff --git a/gfx/moz.build b/gfx/moz.build
+--- a/gfx/moz.build
++++ b/gfx/moz.build
+@@ -5,28 +5,30 @@
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ with Files('**'):
+ BUG_COMPONENT = ('Core', 'Graphics')
+
+ if CONFIG['MOZ_TREE_CAIRO']:
+ DIRS += ['cairo']
+
++if not CONFIG['MOZ_SYSTEM_GRAPHITE2']:
++ DIRS += ['graphite2/src' ]
++
+ if not CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ DIRS += ['harfbuzz/src']
+
+ DIRS += [
+ '2d',
+ 'ycbcr',
+ 'angle',
+ 'src',
+ 'qcms',
+ 'gl',
+ 'layers',
+- 'graphite2/src',
+ 'ots/src',
+ 'thebes',
+ 'ipc',
+ 'vr',
+ 'config',
+ 'webrender_bindings',
+ ]
+
+diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build
+--- a/gfx/thebes/moz.build
++++ b/gfx/thebes/moz.build
+@@ -262,16 +262,19 @@ CFLAGS += CONFIG['TK_CFLAGS']
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android'):
+ CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
+
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
+ CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
+
+ LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
+
+-DEFINES['GRAPHITE2_STATIC'] = True
++if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
++ CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS']
++else:
++ DEFINES['GRAPHITE2_STATIC'] = True
+
+ if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
+ if CONFIG['CLANG_CXX']:
+ # Suppress warnings from Skia header files.
+ SOURCES['gfxPlatform.cpp'].flags += ['-Wno-implicit-fallthrough']
+diff --git a/old-configure.in b/old-configure.in
+--- a/old-configure.in
++++ b/old-configure.in
+@@ -4242,16 +4242,37 @@ if test "$USE_FC_FREETYPE"; then
+ CPPFLAGS="$CPPFLAGS $FT2_CFLAGS $XCFLAGS"
+ MOZ_CHECK_HEADERS([fontconfig/fcfreetype.h], ,
+ [AC_MSG_ERROR(Can't find header fontconfig/fcfreetype.h.)],
[#include <fontconfig/fontconfig.h>])
+ CPPFLAGS="$_SAVE_CPPFLAGS"
+ fi
+ fi
+
+ dnl ========================================================
++dnl Check for graphite2
++dnl ========================================================
++if test -n "$MOZ_SYSTEM_GRAPHITE2"; then
++ dnl graphite2.pc has bogus version, check manually
++ _SAVE_CFLAGS=$CFLAGS
++ CFLAGS="$CFLAGS $MOZ_GRAPHITE2_CFLAGS"
++ AC_TRY_COMPILE([ #include <graphite2/Font.h>
++ #define GR2_VERSION_REQUIRE(major,minor,bugfix) \
++ ( GR2_VERSION_MAJOR * 10000 +
GR2_VERSION_MINOR \
++ * 100 + GR2_VERSION_BUGFIX >= \
++ (major) * 10000 + (minor) * 100 + (bugfix) )
++ ], [
++ #if !GR2_VERSION_REQUIRE(1,3,8)
++ #error "Insufficient graphite2 version."
++ #endif
++ ], [],
++ [AC_MSG_ERROR([--with-system-graphite2 requested but no
working libgraphite2 found])])
++ CFLAGS=$_SAVE_CFLAGS
++fi
++
++dnl ========================================================
+ dnl Check if we need the 32-bit Linux SSE2 error dialog
+ dnl ========================================================
+
+ AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR)
+
+ dnl ========================================================
+ dnl Check for pixman and cairo
+ dnl ========================================================
+diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
+--- a/toolkit/library/moz.build
++++ b/toolkit/library/moz.build
+@@ -226,16 +226,19 @@ if CONFIG['SERVO_TARGET_DIR']:
+ OS_LIBS += ['-L%s' % CONFIG['SERVO_TARGET_DIR'], '-lgeckoservo']
+
+ if CONFIG['MOZ_SYSTEM_JPEG']:
+ OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
+
+ if CONFIG['MOZ_SYSTEM_PNG']:
+ OS_LIBS += CONFIG['MOZ_PNG_LIBS']
+
++if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
++ OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS']
++
+ if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
+
+ if CONFIG['MOZ_SYSTEM_HUNSPELL']:
+ OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
+
+ if CONFIG['MOZ_SYSTEM_LIBEVENT']:
+ OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
+diff --git a/toolkit/moz.configure b/toolkit/moz.configure
+--- a/toolkit/moz.configure
++++ b/toolkit/moz.configure
+@@ -312,16 +312,30 @@ def freetype2_combined_info(fontconfig_i
+ return namespace(
+ cflags=freetype2_info.cflags + fontconfig_info.cflags,
+ libs=freetype2_info.libs + fontconfig_info.libs,
+ )
+
+ add_old_configure_assignment('_HAVE_FREETYPE2',
+ depends_if(freetype2_info)(lambda _: True))
+
++# Graphite2
++# ==============================================================
++option('--with-system-graphite2',
++ help="Use system graphite2 (located with pkgconfig)")
++
++@depends('--with-system-graphite2')
++def check_for_graphite2(value):
++ return bool(value)
++
++system_graphite2 = pkg_check_modules('MOZ_GRAPHITE2', 'graphite2',
++ when=check_for_graphite2)
++
++set_config('MOZ_SYSTEM_GRAPHITE2', depends_if(system_graphite2)(lambda _:
True))
++
+ # HarfBuzz
+ # ==============================================================
+ option('--with-system-harfbuzz',
+ help="Use system harfbuzz (located with pkgconfig)")
+
+ system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.4.2',
+ when='--with-system-harfbuzz')
+
diff --git a/http/firefox/patches/2001_system_harfbuzz.patch
b/http/firefox/patches/2001_system_harfbuzz.patch
deleted file mode 100644
index 1157b98..0000000
--- a/http/firefox/patches/2001_system_harfbuzz.patch
+++ /dev/null
@@ -1,281 +0,0 @@
-From: Jan Beich <jbeich AT FreeBSD.org>
-
-Add ability to use system-harfbuzz instead of bundled.
-
-https://bugzilla.mozilla.org/show_bug.cgi?id=847568
-
-diff --git a/config/Makefile.in b/config/Makefile.in
---- a/config/Makefile.in
-+++ b/config/Makefile.in
-@@ -36,16 +36,17 @@ ifdef WRAP_SYSTEM_INCLUDES
- export-preqs = \
- $(call mkdir_deps,system_wrappers) \
- $(NULL)
-
- export:: $(export-preqs)
- $(PYTHON) -m mozbuild.action.preprocessor $(DEFINES) $(ACDEFINES) \
- -DMOZ_TREE_CAIRO=$(MOZ_TREE_CAIRO) \
- -DMOZ_TREE_PIXMAN=$(MOZ_TREE_PIXMAN) \
-+ -DMOZ_SYSTEM_HARFBUZZ=$(MOZ_SYSTEM_HARFBUZZ) \
- -DMOZ_SYSTEM_HUNSPELL=$(MOZ_SYSTEM_HUNSPELL) \
- -DMOZ_SYSTEM_BZ2=$(MOZ_SYSTEM_BZ2) \
- -DMOZ_SYSTEM_ZLIB=$(MOZ_SYSTEM_ZLIB) \
- -DMOZ_SYSTEM_PNG=$(MOZ_SYSTEM_PNG) \
- -DMOZ_SYSTEM_JPEG=$(MOZ_SYSTEM_JPEG) \
- -DMOZ_SYSTEM_LIBEVENT=$(MOZ_SYSTEM_LIBEVENT) \
- -DMOZ_SYSTEM_LIBVPX=$(MOZ_SYSTEM_LIBVPX) \
- -DMOZ_SYSTEM_ICU=$(MOZ_SYSTEM_ICU) \
-diff --git a/config/system-headers b/config/system-headers
---- a/config/system-headers
-+++ b/config/system-headers
-@@ -1262,16 +1262,21 @@ zlib.h
- #ifdef MOZ_ENABLE_STARTUP_NOTIFICATION
- libsn/sn.h
- libsn/sn-common.h
- libsn/sn-launchee.h
- libsn/sn-launcher.h
- libsn/sn-monitor.h
- libsn/sn-util.h
- #endif
-+#if MOZ_SYSTEM_HARFBUZZ==1
-+harfbuzz/hb-glib.h
-+harfbuzz/hb-ot.h
-+harfbuzz/hb.h
-+#endif
- #if MOZ_SYSTEM_HUNSPELL==1
- hunspell.hxx
- #endif
- #if MOZ_SYSTEM_BZ2==1
- bzlib.h
- #endif
- gio/gio.h
- #if MOZ_SYSTEM_LIBEVENT==1
-diff --git a/dom/base/moz.build b/dom/base/moz.build
---- a/dom/base/moz.build
-+++ b/dom/base/moz.build
-@@ -471,16 +471,19 @@ include('/ipc/chromium/chromium-config.m
- FINAL_LIBRARY = 'xul'
-
- if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']:
- DEFINES['HAVE_SIDEBAR'] = True
-
- if CONFIG['MOZ_X11']:
- CXXFLAGS += CONFIG['TK_CFLAGS']
-
-+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
-+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
-+
- GENERATED_FILES += [
- 'PropertyUseCounterMap.inc',
- 'UseCounterList.h',
- ]
-
- countermap = GENERATED_FILES['PropertyUseCounterMap.inc']
- countermap.script = 'gen-usecounters.py:property_map'
- countermap.inputs = ['UseCounters.conf']
-diff --git a/gfx/harfbuzz/README-mozilla b/gfx/harfbuzz/README-mozilla
---- a/gfx/harfbuzz/README-mozilla
-+++ b/gfx/harfbuzz/README-mozilla
-@@ -14,8 +14,13 @@ this file when updating harfbuzz, and ch
-
- The normal approach to updating harfbuzz, therefore, is to pull the latest
HB
- source into a scratch directory and do a local build; then copy the original
- sources AND the generated header mentioned above from the build directory
into
- the mozilla tree.
-
- If the collection of source files changes, manual updates to moz.build may
be
- needed, as we don't use the upstream makefiles.
-+
-+The in-tree copy may be omitted during build by --with-system-harfbuzz.
-+Make sure to keep pkg-config version check within toolkit/moz.configure in
sync
-+with checkout version or increment latest tag by one if it's not based
-+on upstream release.
-diff --git a/gfx/moz.build b/gfx/moz.build
---- a/gfx/moz.build
-+++ b/gfx/moz.build
-@@ -5,26 +5,28 @@
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- with Files('**'):
- BUG_COMPONENT = ('Core', 'Graphics')
-
- if CONFIG['MOZ_TREE_CAIRO']:
- DIRS += ['cairo']
-
-+if not CONFIG['MOZ_SYSTEM_HARFBUZZ']:
-+ DIRS += ['harfbuzz/src']
-+
- DIRS += [
- '2d',
- 'ycbcr',
- 'angle',
- 'src',
- 'qcms',
- 'gl',
- 'layers',
- 'graphite2/src',
-- 'harfbuzz/src',
- 'ots/src',
- 'thebes',
- 'ipc',
- 'vr',
- 'config',
- 'webrender_bindings',
- ]
-
-diff --git a/gfx/skia/generate_mozbuild.py b/gfx/skia/generate_mozbuild.py
---- a/gfx/skia/generate_mozbuild.py
-+++ b/gfx/skia/generate_mozbuild.py
-@@ -128,16 +128,19 @@ if CONFIG['GNU_CXX'] and not CONFIG['CLA
- if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
- CXXFLAGS += [
- '-Wno-implicit-fallthrough',
- '-Wno-inconsistent-missing-override',
- '-Wno-macro-redefined',
- '-Wno-unused-private-field',
- ]
-
-+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
-+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
-+
- if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android'):
- CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
- CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
-
- if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
- CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
-
- if CONFIG['MOZ_ENABLE_SKIA_PDF_SFNTLY']:
-diff --git a/gfx/skia/moz.build b/gfx/skia/moz.build
---- a/gfx/skia/moz.build
-+++ b/gfx/skia/moz.build
-@@ -770,16 +770,19 @@ if CONFIG['GNU_CXX'] and not CONFIG['CLA
- if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
- CXXFLAGS += [
- '-Wno-implicit-fallthrough',
- '-Wno-inconsistent-missing-override',
- '-Wno-macro-redefined',
- '-Wno-unused-private-field',
- ]
-
-+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
-+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
-+
- if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android'):
- CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
- CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
-
- if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
- CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
-
- if CONFIG['MOZ_ENABLE_SKIA_PDF_SFNTLY']:
-diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build
---- a/gfx/thebes/moz.build
-+++ b/gfx/thebes/moz.build
-@@ -268,11 +268,14 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('and
-
- if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
- CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
-
- LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
-
- DEFINES['GRAPHITE2_STATIC'] = True
-
-+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
-+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
-+
- if CONFIG['CLANG_CXX']:
- # Suppress warnings from Skia header files.
- SOURCES['gfxPlatform.cpp'].flags += ['-Wno-implicit-fallthrough']
-diff --git a/intl/unicharutil/util/moz.build
b/intl/unicharutil/util/moz.build
---- a/intl/unicharutil/util/moz.build
-+++ b/intl/unicharutil/util/moz.build
-@@ -24,9 +24,12 @@ UNIFIED_SOURCES += [
- 'nsUnicodeProperties.cpp',
- ]
-
- if CONFIG['ENABLE_INTL_API']:
- UNIFIED_SOURCES += [
- 'ICUUtils.cpp',
- ]
-
-+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
-+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
-+
- FINAL_LIBRARY = 'xul'
-diff --git a/netwerk/dns/moz.build b/netwerk/dns/moz.build
---- a/netwerk/dns/moz.build
-+++ b/netwerk/dns/moz.build
-@@ -64,16 +64,19 @@ etld_data = GENERATED_FILES['etld_data.i
- etld_data.script = 'prepare_tlds.py'
- etld_data.inputs = ['effective_tld_names.dat']
-
- # need to include etld_data.inc
- LOCAL_INCLUDES += [
- '/netwerk/base',
- ]
-
-+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
-+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
-+
- if CONFIG['ENABLE_INTL_API']:
- DEFINES['IDNA2008'] = True
- USE_LIBS += ['icu']
- else:
- UNIFIED_SOURCES += [
- 'nameprep.c',
- ]
-
-diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
---- a/toolkit/library/moz.build
-+++ b/toolkit/library/moz.build
-@@ -207,16 +207,19 @@ if CONFIG['SERVO_TARGET_DIR']:
- OS_LIBS += ['-L%s' % CONFIG['SERVO_TARGET_DIR'], '-lgeckoservo']
-
- if CONFIG['MOZ_SYSTEM_JPEG']:
- OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
-
- if CONFIG['MOZ_SYSTEM_PNG']:
- OS_LIBS += CONFIG['MOZ_PNG_LIBS']
-
-+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
-+ OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
-+
- if CONFIG['MOZ_SYSTEM_HUNSPELL']:
- OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
-
- if CONFIG['MOZ_SYSTEM_LIBEVENT']:
- OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
-
- if CONFIG['MOZ_SYSTEM_LIBVPX']:
- OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS']
-diff --git a/toolkit/moz.configure b/toolkit/moz.configure
---- a/toolkit/moz.configure
-+++ b/toolkit/moz.configure
-@@ -309,16 +309,26 @@ def freetype2_combined_info(fontconfig_i
- return namespace(
- cflags=freetype2_info.cflags + fontconfig_info.cflags,
- libs=freetype2_info.libs + fontconfig_info.libs,
- )
-
- add_old_configure_assignment('_HAVE_FREETYPE2',
- depends_if(freetype2_info)(lambda _: True))
-
-+# HarfBuzz
-+# ==============================================================
-+option('--with-system-harfbuzz',
-+ help="Use system harfbuzz (located with pkgconfig)")
-+
-+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.4.2',
-+ when='--with-system-harfbuzz')
-+
-+set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _:
True))
-+
- # Apple platform decoder support
- # ==============================================================
- @depends(toolkit)
- def applemedia(toolkit):
- if toolkit in ('cocoa', 'uikit'):
- return True
-
- set_config('MOZ_APPLEMEDIA', applemedia)
diff --git a/http/firefox/patches/2002_system_graphite2.patch
b/http/firefox/patches/2002_system_graphite2.patch
deleted file mode 100644
index a5431e0..0000000
--- a/http/firefox/patches/2002_system_graphite2.patch
+++ /dev/null
@@ -1,252 +0,0 @@
-From: Jan Beich <jbeich AT FreeBSD.org>
-
-Allow building against system-wide graphite2.
-
-https://bugzilla.mozilla.org/show_bug.cgi?id=847568
-
-diff --git a/config/Makefile.in b/config/Makefile.in
---- a/config/Makefile.in
-+++ b/config/Makefile.in
-@@ -36,16 +36,17 @@ ifdef WRAP_SYSTEM_INCLUDES
- export-preqs = \
- $(call mkdir_deps,system_wrappers) \
- $(NULL)
-
- export:: $(export-preqs)
- $(PYTHON) -m mozbuild.action.preprocessor $(DEFINES) $(ACDEFINES) \
- -DMOZ_TREE_CAIRO=$(MOZ_TREE_CAIRO) \
- -DMOZ_TREE_PIXMAN=$(MOZ_TREE_PIXMAN) \
-+ -DMOZ_SYSTEM_GRAPHITE2=$(MOZ_SYSTEM_GRAPHITE2) \
- -DMOZ_SYSTEM_HARFBUZZ=$(MOZ_SYSTEM_HARFBUZZ) \
- -DMOZ_SYSTEM_HUNSPELL=$(MOZ_SYSTEM_HUNSPELL) \
- -DMOZ_SYSTEM_BZ2=$(MOZ_SYSTEM_BZ2) \
- -DMOZ_SYSTEM_ZLIB=$(MOZ_SYSTEM_ZLIB) \
- -DMOZ_SYSTEM_PNG=$(MOZ_SYSTEM_PNG) \
- -DMOZ_SYSTEM_JPEG=$(MOZ_SYSTEM_JPEG) \
- -DMOZ_SYSTEM_LIBEVENT=$(MOZ_SYSTEM_LIBEVENT) \
- -DMOZ_SYSTEM_LIBVPX=$(MOZ_SYSTEM_LIBVPX) \
-diff --git a/config/system-headers b/config/system-headers
---- a/config/system-headers
-+++ b/config/system-headers
-@@ -1262,16 +1262,20 @@ zlib.h
- #ifdef MOZ_ENABLE_STARTUP_NOTIFICATION
- libsn/sn.h
- libsn/sn-common.h
- libsn/sn-launchee.h
- libsn/sn-launcher.h
- libsn/sn-monitor.h
- libsn/sn-util.h
- #endif
-+#if MOZ_SYSTEM_GRAPHITE2==1
-+graphite2/Font.h
-+graphite2/Segment.h
-+#endif
- #if MOZ_SYSTEM_HARFBUZZ==1
- harfbuzz/hb-glib.h
- harfbuzz/hb-ot.h
- harfbuzz/hb.h
- #endif
- #if MOZ_SYSTEM_HUNSPELL==1
- hunspell.hxx
- #endif
-diff --git a/gfx/graphite2/moz-gr-update.sh b/gfx/graphite2/moz-gr-update.sh
---- a/gfx/graphite2/moz-gr-update.sh
-+++ b/gfx/graphite2/moz-gr-update.sh
-@@ -1,11 +1,12 @@
- #!/bin/bash
-
- # Script used to update the Graphite2 library in the mozilla source tree
-+# and bump version for --with-system-graphite2
-
- # This script lives in gfx/graphite2, along with the library source,
- # but must be run from the top level of the mozilla-central tree.
-
- # Run as
- #
- # ./gfx/graphite2/moz-gr-update.sh RELEASE
- #
-@@ -32,22 +33,26 @@ echo "This directory contains the Graphi
- echo "$TARBALL" >> gfx/graphite2/README.mozilla
- echo ""
- echo "See" $0 "for update procedure." >> gfx/graphite2/README.mozilla
-
- # fix up includes because of bug 721839 (cstdio) and bug 803066 (Windows.h)
- #find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e
"s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
- #find gfx/graphite2/ -name "*.h" -exec perl -p -i -e
"s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
-
-+# chase version for --with-system-graphite2
-+perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$RELEASE/ and tr/./,/ \
-+ if /GR2_VERSION_REQUIRE/" old-configure.in
-+
- # summarize what's been touched
- echo Updated to $RELEASE.
- echo Here is what changed in the gfx/graphite2 directory:
- echo
-
--hg stat gfx/graphite2
-+hg stat old-configure.in gfx/graphite2
-
- echo
- echo If gfx/graphite2/src/files.mk has changed, please make corresponding
- echo changes to gfx/graphite2/src/moz.build
- echo
-
- echo
- echo Now use hg commands to create a patch for the mozilla tree.
-diff --git a/gfx/moz.build b/gfx/moz.build
---- a/gfx/moz.build
-+++ b/gfx/moz.build
-@@ -5,28 +5,30 @@
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- with Files('**'):
- BUG_COMPONENT = ('Core', 'Graphics')
-
- if CONFIG['MOZ_TREE_CAIRO']:
- DIRS += ['cairo']
-
-+if not CONFIG['MOZ_SYSTEM_GRAPHITE2']:
-+ DIRS += ['graphite2/src' ]
-+
- if not CONFIG['MOZ_SYSTEM_HARFBUZZ']:
- DIRS += ['harfbuzz/src']
-
- DIRS += [
- '2d',
- 'ycbcr',
- 'angle',
- 'src',
- 'qcms',
- 'gl',
- 'layers',
-- 'graphite2/src',
- 'ots/src',
- 'thebes',
- 'ipc',
- 'vr',
- 'config',
- 'webrender_bindings',
- ]
-
-diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build
---- a/gfx/thebes/moz.build
-+++ b/gfx/thebes/moz.build
-@@ -266,16 +266,19 @@ CFLAGS += CONFIG['TK_CFLAGS']
- if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android'):
- CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
-
- if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
- CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
-
- LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
-
--DEFINES['GRAPHITE2_STATIC'] = True
-+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
-+ CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS']
-+else:
-+ DEFINES['GRAPHITE2_STATIC'] = True
-
- if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
- CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
-
- if CONFIG['CLANG_CXX']:
- # Suppress warnings from Skia header files.
- SOURCES['gfxPlatform.cpp'].flags += ['-Wno-implicit-fallthrough']
-diff --git a/old-configure.in b/old-configure.in
---- a/old-configure.in
-+++ b/old-configure.in
-@@ -4378,16 +4378,37 @@ if test "$USE_FC_FREETYPE"; then
- CPPFLAGS="$CPPFLAGS $FT2_CFLAGS $XCFLAGS"
- MOZ_CHECK_HEADERS([fontconfig/fcfreetype.h], ,
- [AC_MSG_ERROR(Can't find header fontconfig/fcfreetype.h.)],
[#include <fontconfig/fontconfig.h>])
- CPPFLAGS="$_SAVE_CPPFLAGS"
- fi
- fi
-
- dnl ========================================================
-+dnl Check for graphite2
-+dnl ========================================================
-+if test -n "$MOZ_SYSTEM_GRAPHITE2"; then
-+ dnl graphite2.pc has bogus version, check manually
-+ _SAVE_CFLAGS=$CFLAGS
-+ CFLAGS="$CFLAGS $MOZ_GRAPHITE2_CFLAGS"
-+ AC_TRY_COMPILE([ #include <graphite2/Font.h>
-+ #define GR2_VERSION_REQUIRE(major,minor,bugfix) \
-+ ( GR2_VERSION_MAJOR * 10000 +
GR2_VERSION_MINOR \
-+ * 100 + GR2_VERSION_BUGFIX >= \
-+ (major) * 10000 + (minor) * 100 + (bugfix) )
-+ ], [
-+ #if !GR2_VERSION_REQUIRE(1,3,8)
-+ #error "Insufficient graphite2 version."
-+ #endif
-+ ], [],
-+ [AC_MSG_ERROR([--with-system-graphite2 requested but no
working libgraphite2 found])])
-+ CFLAGS=$_SAVE_CFLAGS
-+fi
-+
-+dnl ========================================================
- dnl Check if we need the 32-bit Linux SSE2 error dialog
- dnl ========================================================
-
- AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR)
-
- dnl ========================================================
- dnl Check for pixman and cairo
- dnl ========================================================
-diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
---- a/toolkit/library/moz.build
-+++ b/toolkit/library/moz.build
-@@ -207,16 +207,19 @@ if CONFIG['SERVO_TARGET_DIR']:
- OS_LIBS += ['-L%s' % CONFIG['SERVO_TARGET_DIR'], '-lgeckoservo']
-
- if CONFIG['MOZ_SYSTEM_JPEG']:
- OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
-
- if CONFIG['MOZ_SYSTEM_PNG']:
- OS_LIBS += CONFIG['MOZ_PNG_LIBS']
-
-+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
-+ OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS']
-+
- if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
- OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
-
- if CONFIG['MOZ_SYSTEM_HUNSPELL']:
- OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
-
- if CONFIG['MOZ_SYSTEM_LIBEVENT']:
- OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
-diff --git a/toolkit/moz.configure b/toolkit/moz.configure
---- a/toolkit/moz.configure
-+++ b/toolkit/moz.configure
-@@ -309,16 +309,30 @@ def freetype2_combined_info(fontconfig_i
- return namespace(
- cflags=freetype2_info.cflags + fontconfig_info.cflags,
- libs=freetype2_info.libs + fontconfig_info.libs,
- )
-
- add_old_configure_assignment('_HAVE_FREETYPE2',
- depends_if(freetype2_info)(lambda _: True))
-
-+# Graphite2
-+# ==============================================================
-+option('--with-system-graphite2',
-+ help="Use system graphite2 (located with pkgconfig)")
-+
-+@depends('--with-system-graphite2')
-+def check_for_graphite2(value):
-+ return bool(value)
-+
-+system_graphite2 = pkg_check_modules('MOZ_GRAPHITE2', 'graphite2',
-+ when=check_for_graphite2)
-+
-+set_config('MOZ_SYSTEM_GRAPHITE2', depends_if(system_graphite2)(lambda _:
True))
-+
- # HarfBuzz
- # ==============================================================
- option('--with-system-harfbuzz',
- help="Use system harfbuzz (located with pkgconfig)")
-
- system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.4.2',
- when='--with-system-harfbuzz')
-



  • [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (7e9c6369161b60da9cc49f3aed9231b38db2d132), Pavel Vinogradov, 01/23/2018

Archive powered by MHonArc 2.6.24.

Top of Page