FreeBSD Bugzilla – Attachment 254137 Details for
Bug 281985
www/librewolf: Update 129.0-1 → 131.0.2-1 (CVE-2024-9680)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch-bug847568
patch-bug847568 (text/plain), 8.78 KB, created by
Martin Filla
on 2024-10-10 14:08:45 UTC
(
hide
)
Description:
patch-bug847568
Filename:
MIME Type:
Creator:
Martin Filla
Created:
2024-10-10 14:08:45 UTC
Size:
8.78 KB
patch
obsolete
>Allow building against system-wide graphite2/harfbuzz > >diff --git config/system-headers.mozbuild config/system-headers.mozbuild >index af44c89057fc..c0ac271917fb 100644 >--- config/system-headers.mozbuild >+++ config/system-headers.mozbuild >@@ -1304,6 +1304,19 @@ if CONFIG["MOZ_ENABLE_LIBPROXY"]: > "proxy.h", > ] > >+if CONFIG['MOZ_SYSTEM_GRAPHITE2']: >+ system_headers += [ >+ 'graphite2/Font.h', >+ 'graphite2/Segment.h', >+ ] >+ >+if CONFIG['MOZ_SYSTEM_HARFBUZZ']: >+ system_headers += [ >+ 'harfbuzz/hb-glib.h', >+ 'harfbuzz/hb-ot.h', >+ 'harfbuzz/hb.h', >+ ] >+ > if CONFIG["MOZ_SYSTEM_ICU"]: > system_headers += [ > "unicode/calendar.h", >diff --git dom/base/moz.build dom/base/moz.build >index 170d19f09aa9..a47fc8b1193c 100644 >--- dom/base/moz.build >+++ dom/base/moz.build >@@ -620,6 +620,9 @@ FINAL_LIBRARY = "xul" > if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": > CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"] > >+if CONFIG["MOZ_SYSTEM_HARFBUZZ"]: >+ CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"] >+ > GeneratedFile( > "UseCounterList.h", > script="gen-usecounters.py", >diff --git gfx/graphite2/geckoextra/moz.build gfx/graphite2/geckoextra/moz.build >new file mode 100644 >index 000000000000..ed0323eba9d5 >--- /dev/null >+++ gfx/graphite2/geckoextra/moz.build >@@ -0,0 +1,21 @@ >+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- >+# vim: set filetype=python: >+# This Source Code Form is subject to the terms of the Mozilla Public >+# License, v. 2.0. If a copy of the MPL was not distributed with this >+# file, You can obtain one at http://mozilla.org/MPL/2.0/. >+ >+EXPORTS.graphite2 += [ >+ 'include/GraphiteExtra.h', >+ 'include/GraphiteStructsForRLBox.h', >+] >+ >+UNIFIED_SOURCES += [ >+ '../geckoextra/src/GraphiteExtra.cpp', >+] >+ >+CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS'] >+ >+# Match bundled graphite2 configuration >+AllowCompilerWarnings() >+ >+FINAL_LIBRARY = 'xul' >diff --git gfx/harfbuzz/README-mozilla.fbsd gfx/harfbuzz/README-mozilla.fbsd >new file mode 100644 >index 000000000000..2a10eb1e2b42 >--- /dev/null >+++ gfx/harfbuzz/README-mozilla.fbsd >@@ -0,0 +1,4 @@ >+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 gfx/moz.build gfx/moz.build >index 56ea317bedfc..07dd7f66f1bc 100644 >--- gfx/moz.build >+++ gfx/moz.build >@@ -10,6 +10,14 @@ with Files("**"): > with Files("wr/**"): > BUG_COMPONENT = ("Core", "Graphics: WebRender") > >+if CONFIG["MOZ_SYSTEM_GRAPHITE2"]: >+ DIRS += ["graphite2/geckoextra"] >+else: >+ DIRS += ["graphite2/src" ] >+ >+if not CONFIG["MOZ_SYSTEM_HARFBUZZ"]: >+ DIRS += ["harfbuzz/src"] >+ > DIRS += [ > "cairo", > "2d", >@@ -19,8 +27,6 @@ DIRS += [ > "qcms", > "gl", > "layers", >- "graphite2/src", >- "harfbuzz/src", > "ots/src", > "thebes", > "ipc", >diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py >index b589efde1c5c..47f49e10df70 100755 >--- gfx/skia/generate_mozbuild.py >+++ gfx/skia/generate_mozbuild.py >@@ -95,6 +95,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'): > '-Wno-unused-private-field', > ] > >+if CONFIG['MOZ_SYSTEM_HARFBUZZ']: >+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] >+ > if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk', 'android'): > LOCAL_INCLUDES += [ > "/gfx/cairo/cairo/src", >diff --git gfx/skia/moz.build gfx/skia/moz.build >index 7fee54534878..ba1a4038e4a0 100644 >--- gfx/skia/moz.build >+++ gfx/skia/moz.build >@@ -623,6 +623,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'): > '-Wno-unused-private-field', > ] > >+if CONFIG['MOZ_SYSTEM_HARFBUZZ']: >+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] >+ > if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk', 'android'): > LOCAL_INCLUDES += [ > "/gfx/cairo/cairo/src", >diff --git gfx/thebes/moz.build gfx/thebes/moz.build >index 48f2849e2025..7d0a161a91b4 100644 >--- gfx/thebes/moz.build >+++ gfx/thebes/moz.build >@@ -295,7 +295,13 @@ if CONFIG["MOZ_WAYLAND"]: > > 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"] > > CXXFLAGS += ["-Werror=switch"] > >diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build >index 2396210428ee..092baac6f79c 100644 >--- intl/unicharutil/util/moz.build >+++ intl/unicharutil/util/moz.build >@@ -24,6 +24,9 @@ UNIFIED_SOURCES += [ > "nsUnicodeProperties.cpp", > ] > >+if CONFIG["MOZ_SYSTEM_HARFBUZZ"]: >+ CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"] >+ > include("/ipc/chromium/chromium-config.mozbuild") > > GeneratedFile( >diff --git netwerk/dns/moz.build netwerk/dns/moz.build >index 1bb0430f01aa..0360e0f468c0 100644 >--- netwerk/dns/moz.build >+++ netwerk/dns/moz.build >@@ -111,6 +111,9 @@ GeneratedFile( > "etld_data.inc", script="prepare_tlds.py", inputs=["effective_tld_names.dat"] > ) > >+if CONFIG["MOZ_SYSTEM_HARFBUZZ"]: >+ CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"] >+ > # need to include etld_data.inc > LOCAL_INCLUDES += [ > "/netwerk/base", >diff --git old-configure.in old-configure.in >index 1af75c496b15..f1c7d7c48d28 100644 >--- old-configure.in >+++ old-configure.in >@@ -167,6 +167,27 @@ fi > AC_DEFINE_UNQUOTED(MOZ_MACBUNDLE_ID,$MOZ_MACBUNDLE_ID) > AC_SUBST(MOZ_MACBUNDLE_ID) > >+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,14) >+ #error "Insufficient graphite2 version." >+ #endif >+ ], [], >+ [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])]) >+ CFLAGS=$_SAVE_CFLAGS >+fi >+ > dnl ======================================================== > dnl = Child Process Name for IPC > dnl ======================================================== >diff --git security/rlbox/moz.build security/rlbox/moz.build >index 7ad8d076f0f1..835b9d905e03 100644 >--- security/rlbox/moz.build >+++ security/rlbox/moz.build >@@ -47,6 +47,8 @@ if CONFIG["MOZ_WASM_SANDBOXING_GRAPHITE"]: > for k, v in graphite_defines: > WASM_DEFINES[k] = v > LOCAL_INCLUDES += ["/gfx/graphite2/src"] >+ if CONFIG["MOZ_SYSTEM_GRAPHITE2"]: >+ WASM_CXXFLAGS += CONFIG["MOZ_GRAPHITE2_CFLAGS"] > > if CONFIG["MOZ_WASM_SANDBOXING_OGG"]: > include("/media/libogg/sources.mozbuild") >diff --git toolkit/library/moz.build toolkit/library/moz.build >index ee6051567c8e..c24a5a513bbc 100644 >--- toolkit/library/moz.build >+++ toolkit/library/moz.build >@@ -298,6 +298,12 @@ if CONFIG["MOZ_SYSTEM_PNG"]: > if CONFIG["MOZ_SYSTEM_WEBP"]: > OS_LIBS += CONFIG["MOZ_WEBP_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_LIBEVENT"]: > OS_LIBS += CONFIG["MOZ_LIBEVENT_LIBS"] > >diff --git toolkit/moz.configure toolkit/moz.configure >index 1f85d2831f2f..04ce56e2cc0b 100644 >--- toolkit/moz.configure >+++ toolkit/moz.configure >@@ -1397,6 +1397,26 @@ def enable_cairo_ft(target, tree_freetype, freetype2_info): > set_config("MOZ_ENABLE_CAIRO_FT", True, when=enable_cairo_ft) > set_config("CAIRO_FT_CFLAGS", ft2_info.cflags, when=enable_cairo_ft) > >+# Graphite2 >+# ============================================================== >+option("--with-system-graphite2", >+ help="Use system graphite2 (located with pkgconfig)") >+ >+system_graphite2 = pkg_check_modules("MOZ_GRAPHITE2", "graphite2", >+ when="--with-system-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 >= 2.7.4", >+ when="--with-system-harfbuzz") >+ >+set_config("MOZ_SYSTEM_HARFBUZZ", depends_if(system_harfbuzz)(lambda _: True)) >+ > > # WebDriver (HTTP / BiDi) > # ==============================================================
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 281985
:
254130
| 254137 |
254138
|
254145
|
254199
|
254222