freebsd-ports/www/firefox-esr/files/patch-z-bug847568
Beat Gaetzi b6e8f8d98d - Update Firefox to 29.0
- Update Firefox ESR to 24.5.0
- Update Thunderbird to 24.5.0
- Update NSS to 3.16
- Use port dependency for soundtouch library
- Require recent graphite2 version explicitly [1]
- Require gst-libav version that doesn't crash on seeking [2]
  and doesn't error out on plugin load [3]
- Remove gstreamer note in pkg-message for www/firefox, [3] may still
  happen with www/firefox-esr but only until it tracks esr31 (ca 2014-09-01)
- Fix USE_XPI in mail/thunderbird-i18n [4]

Security:	http://www.vuxml.org/freebsd/985d4d6c-cfbd-11e3-a003-b4b52fce4ce8.html
PR:		ports/187939 [1]
PR:		ports/188133 [2]
PR:		ports/181964 [3]
PR:		ports/188984 [4]
Submitted by:	Toomas Aas <toomas.aas@raad.tartu.ee> [1]
Submitted by:	Jakub Lach <jakub_lach@mailplus.pl> [2]
Submitted by:	Jan Beich [3] and this update!
Submitted by:	Toni Ballesta <mustelator@yahoo.es> [4]
Approved by:	portmgr (bdrewery, security update to non-staged port)
2014-04-29 20:35:24 +00:00

255 lines
7.6 KiB
Text

# Allow building against system-wide graphite2/harfbuzz.
diff --git config/Makefile.in config/Makefile.in
index 14bfc0d..5383399 100644
--- config/Makefile.in
+++ config/Makefile.in
@@ -77,6 +77,8 @@ export:: $(export-preqs)
-DMOZ_NATIVE_LIBEVENT=$(MOZ_NATIVE_LIBEVENT) \
-DMOZ_NATIVE_LIBVPX=$(MOZ_NATIVE_LIBVPX) \
-DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \
+ -DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \
+ -DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \
$(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers
$(INSTALL) system_wrappers $(DIST)
diff --git config/system-headers config/system-headers
index 18e8703..bdc5f82 100644
--- config/system-headers
+++ config/system-headers
@@ -1145,3 +1145,11 @@ unicode/utypes.h
#endif
libutil.h
unwind.h
+#if MOZ_NATIVE_GRAPHITE2==1
+graphite2/Font.h
+graphite2/Segment.h
+#endif
+#if MOZ_NATIVE_HARFBUZZ==1
+harfbuzz/hb-ot.h
+harfbuzz/hb.h
+#endif
diff --git configure.in configure.in
index ac38f40..87536b7 100644
--- configure.in
+++ configure.in
@@ -8032,6 +8032,56 @@ if test "$USE_FC_FREETYPE"; then
fi
dnl ========================================================
+dnl Check for harfbuzz
+dnl ========================================================
+
+MOZ_ARG_WITH_BOOL(system-harfbuzz,
+[ --with-system-harfbuzz Use system harfbuzz (located with pkgconfig)],
+MOZ_NATIVE_HARFBUZZ=1,
+MOZ_NATIVE_HARFBUZZ=)
+
+if test -n "$MOZ_NATIVE_HARFBUZZ"; then
+ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 0.9.16)
+else
+ MOZ_HARFBUZZ_LIBS='$(DEPTH)/gfx/harfbuzz/src/$(LIB_PREFIX)mozharfbuzz.$(LIB_SUFFIX)'
+fi
+
+AC_SUBST(MOZ_NATIVE_HARFBUZZ)
+AC_SUBST(MOZ_HARFBUZZ_CFLAGS)
+AC_SUBST(MOZ_HARFBUZZ_LIBS)
+
+dnl ========================================================
+dnl Check for graphite2
+dnl ========================================================
+MOZ_ARG_WITH_BOOL(system-graphite2,
+[ --with-system-graphite2 Use system graphite2 (located with pkgconfig)],
+MOZ_NATIVE_GRAPHITE2=1,
+MOZ_NATIVE_GRAPHITE2=)
+
+if test -n "$MOZ_NATIVE_GRAPHITE2"; then
+ PKG_CHECK_MODULES(MOZ_GRAPHITE, graphite2)
+
+ dnl graphite2.pc has bogus version, check manually
+ 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,2,3)
+ #error "Insufficient graphite2 version."
+ #endif
+ ], [],
+ [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])])
++else
++ MOZ_GRAPHITE_LIBS='$(DEPTH)/gfx/graphite2/src/$(LIB_PREFIX)mozgraphite2.$(LIB_SUFFIX)'
+fi
+
+AC_SUBST(MOZ_NATIVE_GRAPHITE2)
+AC_SUBST(MOZ_GRAPHITE_CFLAGS)
+AC_SUBST(MOZ_GRAPHITE_LIBS)
+
+dnl ========================================================
dnl Check for pixman and cairo
dnl ========================================================
@@ -8379,18 +8412,6 @@ QCMS_LIBS='$(DEPTH)/gfx/qcms/$(LIB_PREFI
AC_SUBST(QCMS_LIBS)
dnl ========================================================
-dnl HarfBuzz
-dnl ========================================================
-MOZ_HARFBUZZ_LIBS='$(DEPTH)/gfx/harfbuzz/src/$(LIB_PREFIX)mozharfbuzz.$(LIB_SUFFIX)'
-AC_SUBST(MOZ_HARFBUZZ_LIBS)
-
-dnl ========================================================
-dnl SIL Graphite
-dnl ========================================================
-MOZ_GRAPHITE_LIBS='$(DEPTH)/gfx/graphite2/src/$(LIB_PREFIX)mozgraphite2.$(LIB_SUFFIX)'
-AC_SUBST(MOZ_GRAPHITE_LIBS)
-
-dnl ========================================================
dnl OTS
dnl ========================================================
MOZ_OTS_LIBS='$(DEPTH)/gfx/ots/src/$(LIB_PREFIX)mozots.$(LIB_SUFFIX)'
diff --git content/base/src/Makefile.in content/base/src/Makefile.in
index a618096..596901a 100644
--- content/base/src/Makefile.in
+++ content/base/src/Makefile.in
@@ -5,6 +5,10 @@
include $(topsrcdir)/config/rules.mk
+ifdef MOZ_NATIVE_HARFBUZZ
+nsContentUtils.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS)
+endif
+
# gcc requires -msse2 for this file since it uses SSE2 intrinsics. (See bug
# 585538 comment 12.)
ifneq (,$(INTEL_ARCHITECTURE))
diff --git gfx/moz.build gfx/moz.build
index 519aa46..6929751 100644
--- gfx/moz.build
+++ gfx/moz.build
@@ -7,6 +7,12 @@
if CONFIG['MOZ_TREE_CAIRO']:
DIRS += ['cairo']
+if not CONFIG['MOZ_NATIVE_GRAPHITE2']:
+ DIRS += ['graphite2/src' ]
+
+if not CONFIG['MOZ_NATIVE_HARFBUZZ']:
+ DIRS += ['harfbuzz/src']
+
DIRS += [
'2d',
'ycbcr',
@@ -15,8 +21,6 @@ DIRS += [
'qcms',
'gl',
'layers',
- 'graphite2/src',
- 'harfbuzz/src',
'ots/src',
'thebes',
'ipc',
diff --git gfx/skia/Makefile.in gfx/skia/Makefile.in
index ee0efb2..98e169d6f 100644
--- gfx/skia/Makefile.in
+++ gfx/skia/Makefile.in
@@ -15,6 +15,10 @@ ifeq (qt,$(MOZ_WIDGET_TOOLKIT))
OS_CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PANGO_CFLAGS) $(CAIRO_FT_CFLAGS)
endif
+ifdef MOZ_NATIVE_HARFBUZZ
+OS_CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
+endif
+
include $(topsrcdir)/config/rules.mk
ifeq ($(CPU_ARCH)_$(GNU_CC),arm_1)
diff --git gfx/thebes/Makefile.in gfx/thebes/Makefile.in
index 45c36ae..79d32cf 100644
--- gfx/thebes/Makefile.in
+++ gfx/thebes/Makefile.in
@@ -13,6 +13,14 @@ DEFINES := $(filter-out -DUNICODE,$(DEFINES))
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
CFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
+ifdef MOZ_NATIVE_GRAPHITE2
+CXXFLAGS += $(MOZ_GRAPHITE_CFLAGS)
+endif
+
+ifdef MOZ_NATIVE_HARFBUZZ
+CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
+endif
+
ifeq ($(MOZ_WIDGET_TOOLKIT),android)
CXXFLAGS += $(CAIRO_FT_CFLAGS)
endif
diff --git intl/unicharutil/util/Makefile.in intl/unicharutil/util/Makefile.in
index f6b9f7c..60863f4 100644
--- intl/unicharutil/util/Makefile.in
+++ intl/unicharutil/util/Makefile.in
@@ -21,3 +21,7 @@ ifdef _MSC_VER
OS_COMPILE_CXXFLAGS += -Zl
OS_COMPILE_CFLAGS += -Zl
endif
+
+ifdef MOZ_NATIVE_HARFBUZZ
+CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
+endif
diff --git layout/media/Makefile.in layout/media/Makefile.in
index 1cacbd7..a8cd156 100644
--- layout/media/Makefile.in
+++ layout/media/Makefile.in
@@ -18,10 +18,16 @@ endif
SHARED_LIBRARY_LIBS = \
$(MOZ_OTS_LIBS) \
$(QCMS_LIBS) \
- $(MOZ_GRAPHITE_LIBS) \
- $(MOZ_HARFBUZZ_LIBS) \
$(NULL)
+ifndef MOZ_NATIVE_GRAPHITE2
+SHARED_LIBRARY_LIBS += $(MOZ_GRAPHITE_LIBS)
+endif
+
+ifndef MOZ_NATIVE_HARFBUZZ
+SHARED_LIBRARY_LIBS += $(MOZ_HARFBUZZ_LIBS)
+endif
+
ifdef MOZ_TREE_CAIRO
SHARED_LIBRARY_LIBS += $(MOZ_CAIRO_LIBS)
endif
diff --git netwerk/dns/Makefile.in netwerk/dns/Makefile.in
index 1cacbd7..f5d72bb 100644
--- netwerk/dns/Makefile.in
+++ netwerk/dns/Makefile.in
@@ -5,6 +5,10 @@
include $(topsrcdir)/config/rules.mk
+ifdef MOZ_NATIVE_HARFBUZZ
+CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
+endif
+
# Generate the include file containing compact, static definitions
# for effective TLD data.
etld_data.inc: $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat
diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in
index 67f0db9..d42137a 100644
--- toolkit/library/Makefile.in
+++ toolkit/library/Makefile.in
@@ -89,6 +89,14 @@ ifndef MOZ_TREE_PIXMAN
EXTRA_DSO_LDOPTS += $(MOZ_PIXMAN_LIBS)
endif
+ifdef MOZ_NATIVE_GRAPHITE2
+EXTRA_DSO_LDOPTS += $(MOZ_GRAPHITE_LIBS)
+endif
+
+ifdef MOZ_NATIVE_HARFBUZZ
+EXTRA_DSO_LDOPTS += $(MOZ_HARFBUZZ_LIBS)
+endif
+
ifdef MOZ_DMD
EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,dmd,$(DIST)/lib)
endif