From 089010af2d7a3d13096f52f197495e3b22ebb7f2 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Tue, 21 Jun 2016 02:30:39 +0000 Subject: [PATCH] community/xulrunner to 41.0.2-5 --- .../xulrunner/LFS_graphite2_harfbuzz.patch | 212 ++++++++++++++++++ community/xulrunner/PKGBUILD | 21 +- community/xulrunner/gcc6.diff | 37 +++ community/xulrunner/mozconfig | 1 + 4 files changed, 267 insertions(+), 4 deletions(-) create mode 100644 community/xulrunner/LFS_graphite2_harfbuzz.patch create mode 100644 community/xulrunner/gcc6.diff diff --git a/community/xulrunner/LFS_graphite2_harfbuzz.patch b/community/xulrunner/LFS_graphite2_harfbuzz.patch new file mode 100644 index 000000000..06035686d --- /dev/null +++ b/community/xulrunner/LFS_graphite2_harfbuzz.patch @@ -0,0 +1,212 @@ +Submitted By: Ken Moffat +Date: 2016-06-13 +Initial Package Version: 47.0 +Upstream Status: Waiting for review +Origin: OpenBSD (found at gentoo, rediffed because of one offset > 1500 lines) +Description: Allow use of system versions of graphite2 and harfbuzz. This +should be regarded as experimental. Add the options --enable-system-graphite +and --enable-system-harfbuzz to use this (needs recent versions of both). + +diff -Naur ff47-vanilla/config/Makefile.in ff47-patched/config/Makefile.in +--- ff47-vanilla/config/Makefile.in 2016-06-01 05:11:40.000000000 +0100 ++++ ff47-patched/config/Makefile.in 2016-06-11 18:51:40.389876996 +0100 +@@ -49,6 +49,8 @@ + -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 -Naur ff47-vanilla/config/system-headers ff47-patched/config/system-headers +--- ff47-vanilla/config/system-headers 2016-06-01 05:11:40.000000000 +0100 ++++ ff47-patched/config/system-headers 2016-06-11 18:51:40.389876996 +0100 +@@ -1345,3 +1345,11 @@ + #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 -Naur ff47-vanilla/dom/base/moz.build ff47-patched/dom/base/moz.build +--- ff47-vanilla/dom/base/moz.build 2016-06-01 05:11:44.000000000 +0100 ++++ ff47-patched/dom/base/moz.build 2016-06-11 18:51:40.389876996 +0100 +@@ -482,6 +482,9 @@ + if CONFIG['MOZ_X11']: + CXXFLAGS += CONFIG['TK_CFLAGS'] + ++if CONFIG['MOZ_NATIVE_HARFBUZZ']: ++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] ++ + GENERATED_FILES += [ + 'PropertyUseCounterMap.inc', + 'UseCounterList.h', +diff -Naur ff47-vanilla/gfx/moz.build ff47-patched/gfx/moz.build +--- ff47-vanilla/gfx/moz.build 2016-05-12 18:13:06.000000000 +0100 ++++ ff47-patched/gfx/moz.build 2016-06-11 18:51:40.389876996 +0100 +@@ -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 @@ + 'qcms', + 'gl', + 'layers', +- 'graphite2/src', +- 'harfbuzz/src', + 'ots/src', + 'thebes', + 'ipc', +diff -Naur ff47-vanilla/gfx/skia/generate_mozbuild.py ff47-patched/gfx/skia/generate_mozbuild.py +--- ff47-vanilla/gfx/skia/generate_mozbuild.py 2016-06-01 05:11:44.000000000 +0100 ++++ ff47-patched/gfx/skia/generate_mozbuild.py 2016-06-11 18:51:40.389876996 +0100 +@@ -134,6 +134,9 @@ + '-Wno-unused-private-field', + ] + ++if CONFIG['MOZ_NATIVE_HARFBUZZ']: ++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] ++ + if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk', 'qt'): + CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] + CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] +diff -Naur ff47-vanilla/gfx/skia/moz.build ff47-patched/gfx/skia/moz.build +--- ff47-vanilla/gfx/skia/moz.build 2016-06-01 05:11:44.000000000 +0100 ++++ ff47-patched/gfx/skia/moz.build 2016-06-11 18:51:40.389876996 +0100 +@@ -752,6 +752,9 @@ + '-Wno-unused-private-field', + ] + ++if CONFIG['MOZ_NATIVE_HARFBUZZ']: ++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] ++ + if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk', 'qt'): + CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] + CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] +diff -Naur ff47-vanilla/gfx/thebes/moz.build ff47-patched/gfx/thebes/moz.build +--- ff47-vanilla/gfx/thebes/moz.build 2016-06-01 05:11:44.000000000 +0100 ++++ ff47-patched/gfx/thebes/moz.build 2016-06-11 18:51:40.389876996 +0100 +@@ -307,7 +307,14 @@ + + LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES'] + +-DEFINES['GRAPHITE2_STATIC'] = True ++if CONFIG['MOZ_NATIVE_HARFBUZZ']: ++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] ++ ++if CONFIG['MOZ_NATIVE_GRAPHITE2']: ++ CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS'] ++else: ++ DEFINES['GRAPHITE2_STATIC'] = True ++ + + if CONFIG['CLANG_CXX']: + # Suppress warnings from Skia header files. +diff -Naur ff47-vanilla/intl/unicharutil/util/moz.build ff47-patched/intl/unicharutil/util/moz.build +--- ff47-vanilla/intl/unicharutil/util/moz.build 2016-06-01 05:11:45.000000000 +0100 ++++ ff47-patched/intl/unicharutil/util/moz.build 2016-06-11 18:51:40.389876996 +0100 +@@ -44,4 +44,7 @@ + LOCAL_INCLUDES += CONFIG['MOZ_ICU_INCLUDES'] + USE_LIBS += ['icu'] + ++if CONFIG['MOZ_NATIVE_HARFBUZZ']: ++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] ++ + DIST_INSTALL = True +diff -Naur ff47-vanilla/netwerk/dns/moz.build ff47-patched/netwerk/dns/moz.build +--- ff47-vanilla/netwerk/dns/moz.build 2016-05-12 18:13:28.000000000 +0100 ++++ ff47-patched/netwerk/dns/moz.build 2016-06-11 18:51:40.389876996 +0100 +@@ -66,6 +66,9 @@ + '/netwerk/base', + ] + ++if CONFIG['MOZ_NATIVE_HARFBUZZ']: ++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] ++ + if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk' and CONFIG['ANDROID_VERSION'] > '19': + LOCAL_INCLUDES += ['%' + '%s/bionic/libc/dns/include' % CONFIG['ANDROID_SOURCE']] + +diff -Naur ff47-vanilla/configure.in ff47-patched/old-configure.in +--- ff47-vanilla/configure.in 2016-06-01 05:11:44.000000000 +0100 ++++ ff47-patched/configure.in 2016-06-11 18:51:40.389876996 +0100 +@@ -8013,6 +8013,49 @@ + 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 >= 1.1.3) ++fi ++ ++AC_SUBST(MOZ_NATIVE_HARFBUZZ) ++ ++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_GRAPHITE2, graphite2) ++ ++ dnl graphite2.pc has bogus version, check manually ++ AC_TRY_COMPILE([ #include ++ #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])]) ++fi ++ ++AC_SUBST(MOZ_NATIVE_GRAPHITE2) ++ ++dnl ======================================================== + dnl Check for pixman and cairo + dnl ======================================================== + +diff -Naur ff47-vanilla/toolkit/library/moz.build ff47-patched/toolkit/library/moz.build +--- ff47-vanilla/toolkit/library/moz.build 2016-06-01 05:11:43.000000000 +0100 ++++ ff47-patched/toolkit/library/moz.build 2016-06-11 18:51:40.389876996 +0100 +@@ -235,6 +235,12 @@ + if CONFIG['MOZ_ALSA']: + OS_LIBS += CONFIG['MOZ_ALSA_LIBS'] + ++if CONFIG['MOZ_NATIVE_GRAPHITE2']: ++ OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS'] ++ ++if CONFIG['MOZ_NATIVE_HARFBUZZ']: ++ OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS'] ++ + if CONFIG['HAVE_CLOCK_MONOTONIC']: + OS_LIBS += CONFIG['REALTIME_LIBS'] + diff --git a/community/xulrunner/PKGBUILD b/community/xulrunner/PKGBUILD index 7118956fb..cc817b760 100644 --- a/community/xulrunner/PKGBUILD +++ b/community/xulrunner/PKGBUILD @@ -12,7 +12,7 @@ highmem=1 pkgname=xulrunner pkgver=41.0.2 -pkgrel=4 +pkgrel=5 pkgdesc="Mozilla Runtime Environment" arch=('i686' 'x86_64') license=('MPL' 'GPL' 'LGPL') @@ -23,20 +23,28 @@ source=(https://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/$pkgver/sourc mozconfig freetype261.patch 0001-Bug-1233963-Work-around-recent-GNU-gold-behavior-wit.patch + LFS_graphite2_harfbuzz.patch mozilla-pkgconfig.patch - shared-libs.patch) + shared-libs.patch + gcc6.diff) options=('!emptydirs' 'staticlibs') replaces=('xulrunner-oss') sha256sums=('f7abb2e2989779305ab1f80d30caf9fc55d96c7e66d1394e2cc9639442e2b864' - '08e7c8e40ca3ab68f91b18b84a4fbbba00767c88d84c0cfcdd52fe5e36083207' + '4c195c0c101e05406464b283f71accd6b2bdfb73e8e0bbf7e40c9f0db37fa91a' '3aea9a83bf304da5525f34a911712cf42f8ded1c8b6becf0a2cf8a4b4f7facd6' '13a27a385fab88938ac7417f1e7ca7225ec6b88840bafe67e0f5642e5446554a' + 'afcd7d3f6113b0f9ead0cb1b47b3fccedadce56a16b4406c439411864bd11863' '1aa9ebe67542a2b8c28905d070829ada5b29438c6a7961f2b0cdd6b92d8b9f5c' - '59d9fc421bc10a5515b73e159f44a72365bf7b7e8b3fc8a8c46043ef40bd3a40') + '59d9fc421bc10a5515b73e159f44a72365bf7b7e8b3fc8a8c46043ef40bd3a40' + '0992d5dce883de760ff0445448466f096d0baa75fe5fd1e60bfd3cc13cb4d098') prepare() { cd "$srcdir/mozilla-release" cp "$srcdir/mozconfig" .mozconfig + + # GCC6 + patch -Np1 -i ../gcc6.diff + [[ $CARCH == "aarch64" ]] && echo "ac_add_options --disable-gold" >> .mozconfig # https://bugzilla.mozilla.org/show_bug.cgi?id=1194520 @@ -45,6 +53,11 @@ prepare() { # https://bugzilla.mozilla.org/show_bug.cgi?id=1233963 patch -Np1 -i ../0001-Bug-1233963-Work-around-recent-GNU-gold-behavior-wit.patch + # https://bugzilla.mozilla.org/show_bug.cgi?id=847568 + patch -Np1 -i ../LFS_graphite2_harfbuzz.patch + rm configure + autoconf-2.13 + # fix libdir/sdkdir - fedora patch -Np1 -i ../mozilla-pkgconfig.patch patch -Np1 -i ../shared-libs.patch diff --git a/community/xulrunner/gcc6.diff b/community/xulrunner/gcc6.diff new file mode 100644 index 000000000..ed465407a --- /dev/null +++ b/community/xulrunner/gcc6.diff @@ -0,0 +1,37 @@ +--- mozilla-release/config/gcc-stl-wrapper.template.h 2015-10-14 23:40:56.000000000 +0200 ++++ mozilla-release/config/gcc-stl-wrapper.template.h.new 2016-06-14 19:40:50.542435101 +0200 +@@ -22,6 +22,11 @@ + #define NOMINMAX 1 + #endif + ++// Don't include mozalloc for cstdlib. See bug 1245076. ++#ifndef moz_dont_include_mozalloc_for_cstdlib ++# define moz_dont_include_mozalloc_for_cstdlib ++#endif ++#ifndef moz_dont_include_mozalloc_for_${HEADER} + // mozalloc.h wants ; break the cycle by always explicitly + // including here. NB: this is a tad sneaky. Sez the gcc docs: + // +@@ -30,15 +35,17 @@ + // same name as the current file. It simply looks for the file + // named, starting with the directory in the search path after the + // one where the current file was found. +-#include_next ++# include_next + + // See if we're in code that can use mozalloc. NB: this duplicates + // code in nscore.h because nscore.h pulls in prtypes.h, and chromium + // can't build with that being included before base/basictypes.h. +-#if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC) +-# include "mozilla/mozalloc.h" +-#else +-# error "STL code can only be used with infallible ::operator new()" ++# if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC) ++# include "mozilla/mozalloc.h" ++# else ++# error "STL code can only be used with infallible ::operator new()" ++# endif ++ + #endif + + #if defined(DEBUG) && !defined(_GLIBCXX_DEBUG) diff --git a/community/xulrunner/mozconfig b/community/xulrunner/mozconfig index b49f440b2..8ae988126 100644 --- a/community/xulrunner/mozconfig +++ b/community/xulrunner/mozconfig @@ -18,6 +18,7 @@ ac_add_options --with-system-png ac_add_options --with-system-libevent ac_add_options --with-system-libvpx ac_add_options --with-system-icu +ac_add_options --with-system-graphite2 ac_add_options --enable-system-hunspell ac_add_options --enable-system-sqlite ac_add_options --enable-system-ffi