diff options
author | Figue | 2016-06-06 13:35:28 +0200 |
---|---|---|
committer | Figue | 2016-06-06 13:35:28 +0200 |
commit | 6421090806ef28dfe9893e8c7391521bd2d39079 (patch) | |
tree | 01b137f7013d3bdb5c146690be07d5eefb349686 | |
parent | 686e10c60b8c25eacc062527f279e177f8e2f975 (diff) | |
download | aur-6421090806ef28dfe9893e8c7391521bd2d39079.tar.gz |
Update to 38.8.0. GCC6 is not officially supported and lot of patches should be added. Also there is a PKGBUILD.gcc5 to build IceCat with gcc5
-rw-r--r-- | .SRCINFO | 32 | ||||
-rw-r--r-- | PKGBUILD | 65 | ||||
-rw-r--r-- | PKGBUILD.gcc5 | 116 | ||||
-rw-r--r-- | firefox-gcc-6.0.patch | 26 | ||||
-rw-r--r-- | gcc6-fix-compilation-for-IceCat.patch | 37 | ||||
-rw-r--r-- | harfbuzz-1.1.3.patch.gz | bin | 0 -> 177218 bytes | |||
-rw-r--r-- | mozconfig | 18 | ||||
-rw-r--r-- | mozilla-1228540-1.patch | 84 |
8 files changed, 325 insertions, 53 deletions
@@ -1,8 +1,8 @@ # Generated by mksrcinfo v8 -# Fri Apr 8 23:02:04 UTC 2016 +# Mon Jun 6 11:33:21 UTC 2016 pkgbase = icecat pkgdesc = GNU version of the Firefox browser. - pkgver = 38.7.1 + pkgver = 38.8.0 pkgrel = 1 url = http://www.gnu.org/software/gnuzilla/ install = icecat.install @@ -18,6 +18,7 @@ pkgbase = icecat makedepends = yasm makedepends = mesa makedepends = imake + makedepends = gconf makedepends = libpulse makedepends = gst-plugins-base-libs makedepends = inetutils @@ -28,34 +29,39 @@ pkgbase = icecat depends = mime-types depends = dbus-glib depends = alsa-lib + depends = ffmpeg depends = desktop-file-utils - depends = hicolor-icon-theme depends = libvpx depends = icu depends = libevent depends = nss depends = hunspell depends = sqlite - depends = pango - depends = freetype2 - depends = libxft - depends = libx11 + depends = ttf-font optdepends = networkmanager: Location detection via available WiFi networks - optdepends = gst-plugins-good: h.264 video - optdepends = gst-libav: h.264 video optdepends = upower: Battery API - source = http://ftpmirror.gnu.org/gnuzilla/38.7.1/icecat-38.7.1-gnu1.tar.bz2 - source = http://ftpmirror.gnu.org/gnuzilla/38.7.1/icecat-38.7.1-gnu1.tar.bz2.sig + options = !emptydirs + options = !makeflags + source = http://ftpmirror.gnu.org/gnuzilla/38.8.0/icecat-38.8.0-gnu1.tar.bz2 + source = http://ftpmirror.gnu.org/gnuzilla/38.8.0/icecat-38.8.0-gnu1.tar.bz2.sig source = mozconfig source = icecat.desktop source = icecat-safe.desktop source = vendor.js - sha256sums = 0f65fc8a4fc2a4e73fe97249c24edeb5a84335e22d2868d0334365ada069b5f1 + source = gcc6-fix-compilation-for-IceCat.patch + source = firefox-gcc-6.0.patch + source = harfbuzz-1.1.3.patch.gz + source = mozilla-1228540-1.patch + sha256sums = 97f76e85cc6f98463f0e0b0e845826816032770f9b589db69ece6b1cff21936c sha256sums = SKIP - sha256sums = 4602066304f0bb10bdaea75405570d500dae3199b77b04a45167d423fdf9bf6f + sha256sums = 0cb85fed7abe38c5b667d009b73029168f8ffed7c895c06b51d61f01fc7aebaf sha256sums = c44eab35f71dd3028a74632463710d674b2e8a0682e5e887535e3233a3b7bbb3 sha256sums = 190577ad917bccfc89a9bcafbc331521f551b6f54e190bb6216eada48dcb1303 sha256sums = 4b50e9aec03432e21b44d18c4c97b2630bace606b033f7d556c9d3e3eb0f4fa4 + sha256sums = 329cf6753d29ae64a4336a8a76ee71f0d331a39132159401e4d11de65b708a07 + sha256sums = 4d1e1ddabc9e975ed39f49e134559a29e01cd49439e358233f1ede43bf5a52bf + sha256sums = 5524bc65045d5f0794936f87730b122e8e6fb6260a0e41094586eb311bcdbbc9 + sha256sums = d1ccbaf0973615c57f7893355e5cd3a89efb4e91071d0ec376e429b50cf6ed19 pkgname = icecat @@ -6,8 +6,8 @@ # Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com> pkgname=icecat -pkgver=38.7.1 -_pkgver=38.7.1-gnu1 +pkgver=38.8.0 +_pkgver=38.8.0-gnu1 _pkgverbase=${pkgver%%.*} pkgrel=1 pkgdesc="GNU version of the Firefox browser." @@ -15,16 +15,13 @@ arch=(i686 x86_64) url="http://www.gnu.org/software/gnuzilla/" license=('GPL' 'MPL' 'LGPL') depends=('gtk2' 'mozilla-common' 'libxt' 'startup-notification' 'mime-types' - 'dbus-glib' 'alsa-lib' 'desktop-file-utils' 'hicolor-icon-theme' - 'libvpx' 'icu' 'libevent' 'nss' 'hunspell' 'sqlite' 'pango' 'freetype2' 'libxft' 'libx11') - -makedepends=('unzip' 'zip' 'diffutils' 'python2' 'yasm' 'mesa' 'imake' + 'dbus-glib' 'alsa-lib' 'ffmpeg' 'desktop-file-utils' + 'libvpx' 'icu' 'libevent' 'nss' 'hunspell' 'sqlite' 'ttf-font') +makedepends=('unzip' 'zip' 'diffutils' 'python2' 'yasm' 'mesa' 'imake' 'gconf' 'libpulse' 'gst-plugins-base-libs' 'inetutils') optdepends=('networkmanager: Location detection via available WiFi networks' - 'gst-plugins-good: h.264 video' - 'gst-libav: h.264 video' 'upower: Battery API') - +options=('!emptydirs' '!makeflags') install=icecat.install source=(http://ftpmirror.gnu.org/gnuzilla/${pkgver}/${pkgname}-${_pkgver}.tar.bz2{,.sig} #source=(https://ftp.gnu.org/gnu/gnuzilla/${pkgver}/${pkgname}-${_pkgver}.tar.bz2{,.sig} ## Main upstream download site @@ -33,14 +30,22 @@ source=(http://ftpmirror.gnu.org/gnuzilla/${pkgver}/${pkgname}-${_pkgver}.tar.bz mozconfig icecat.desktop icecat-safe.desktop - vendor.js) + vendor.js + gcc6-fix-compilation-for-IceCat.patch + firefox-gcc-6.0.patch + harfbuzz-1.1.3.patch.gz + mozilla-1228540-1.patch) -sha256sums=('0f65fc8a4fc2a4e73fe97249c24edeb5a84335e22d2868d0334365ada069b5f1' +sha256sums=('97f76e85cc6f98463f0e0b0e845826816032770f9b589db69ece6b1cff21936c' 'SKIP' - '4602066304f0bb10bdaea75405570d500dae3199b77b04a45167d423fdf9bf6f' + '0cb85fed7abe38c5b667d009b73029168f8ffed7c895c06b51d61f01fc7aebaf' 'c44eab35f71dd3028a74632463710d674b2e8a0682e5e887535e3233a3b7bbb3' '190577ad917bccfc89a9bcafbc331521f551b6f54e190bb6216eada48dcb1303' - '4b50e9aec03432e21b44d18c4c97b2630bace606b033f7d556c9d3e3eb0f4fa4') + '4b50e9aec03432e21b44d18c4c97b2630bace606b033f7d556c9d3e3eb0f4fa4' + '329cf6753d29ae64a4336a8a76ee71f0d331a39132159401e4d11de65b708a07' + '4d1e1ddabc9e975ed39f49e134559a29e01cd49439e358233f1ede43bf5a52bf' + '5524bc65045d5f0794936f87730b122e8e6fb6260a0e41094586eb311bcdbbc9' + 'd1ccbaf0973615c57f7893355e5cd3a89efb4e91071d0ec376e429b50cf6ed19') validpgpkeys=(A57369A8BABC2542B5A0368C3C76EED7D7E04784) # Ruben Rodriguez (GNU IceCat releases key) <ruben@gnu.org> @@ -52,6 +57,14 @@ prepare() { sed -e 's;$(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION);$(libdir)/$(MOZ_APP_NAME);g' -i config/baseconfig.mk sed -e 's;$(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION);$(libdir)/$(MOZ_APP_NAME)-devel;g' -i config/baseconfig.mk + # Compilation fix (FS#49243 and FS#49363), internet and Thunderbird package + patch -Np1 -i $srcdir/gcc6-fix-compilation-for-IceCat.patch + patch -Np1 -i $srcdir/firefox-gcc-6.0.patch + + # Update to harfbuzz 1.1.3 (following Thunderbird in [extra]) + patch -Np0 -i $srcdir/harfbuzz-1.1.3.patch + patch -Np1 -i $srcdir/mozilla-1228540-1.patch + msg2 "Starting build..." cp -v ${srcdir}/mozconfig .mozconfig @@ -59,7 +72,6 @@ prepare() { # WebRTC build tries to execute "python" and expects Python 2 mkdir "$srcdir/path" ln -s /usr/bin/python2 "$srcdir/path/python" - } build() { @@ -67,27 +79,19 @@ build() { cd "${srcdir}/${pkgname}-${pkgver}" ICECATDIR="/usr/lib/${pkgname}" && export ICECATDIR - # Workaround to build 31.0. Fails otherwise. - unset CPPFLAGS + # _FORTIFY_SOURCE causes configure failures + CPPFLAGS+=" -O2" + + # Hardening + LDFLAGS+=" -Wl,-z,now" - # Default Arch flags - if [ "${CARCH}" = 'x86_64' ]; then - export CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong" - export CXXFLAGS="$CFLAGS" - elif [ "${CARCH}" = 'i686' ]; then - export CFLAGS="-march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong" - export CXXFLAGS="$CFLAGS" - fi + # GCC 6 + CFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2" + CXXFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2" export PATH="$srcdir/path:$PATH" - export LDFLAGS="$LDFLAGS -Wl,-rpath,$ICECATDIR" - export MOZ_MAKE_FLAGS="$MAKEFLAGS" - export PYTHON=python2 make -f client.mk build -# ./configure --with-l10n-base="${srcdir}/${pkgname}-${pkgver}"/l10n -std=gnu89 -# make - } package () { @@ -95,7 +99,6 @@ package () { cd "${srcdir}/${pkgname}-${pkgver}" make -f client.mk DESTDIR="${pkgdir}" install -# make DESTDIR="${pkgdir}" install msg2 "Finishing..." install -m755 -d ${pkgdir}/usr/share/applications diff --git a/PKGBUILD.gcc5 b/PKGBUILD.gcc5 new file mode 100644 index 000000000000..bd1283d96ae4 --- /dev/null +++ b/PKGBUILD.gcc5 @@ -0,0 +1,116 @@ +# Maintainer: Figue <ffigue at gmail> +# Contributor: Figue <ffigue at gmail> +# Contributor (Parabola): fauno <fauno@kiwwwi.com.ar> +# Thank you very much to the older contributors: +# Contributor: evr <evanroman at gmail> +# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com> + +pkgname=icecat +pkgver=38.8.0 +_pkgver=38.8.0-gnu1 +_pkgverbase=${pkgver%%.*} +pkgrel=1 +pkgdesc="GNU version of the Firefox browser." +arch=(i686 x86_64) +url="http://www.gnu.org/software/gnuzilla/" +license=('GPL' 'MPL' 'LGPL') +depends=('gtk2' 'mozilla-common' 'libxt' 'startup-notification' 'mime-types' + 'dbus-glib' 'alsa-lib' 'ffmpeg' 'desktop-file-utils' + 'libvpx' 'icu' 'libevent' 'nss' 'hunspell' 'sqlite' 'ttf-font') +makedepends=('gcc5' 'unzip' 'zip' 'diffutils' 'python2' 'yasm' 'mesa' 'imake' 'gconf' + 'libpulse' 'gst-plugins-base-libs' 'inetutils') +optdepends=('networkmanager: Location detection via available WiFi networks' + 'upower: Battery API') +options=('!emptydirs' '!makeflags') +install=icecat.install +source=(http://ftpmirror.gnu.org/gnuzilla/${pkgver}/${pkgname}-${_pkgver}.tar.bz2{,.sig} +#source=(https://ftp.gnu.org/gnu/gnuzilla/${pkgver}/${pkgname}-${_pkgver}.tar.bz2{,.sig} ## Main upstream download site +#source=(https://mirrors.kernel.org/gnu/gnuzilla/${pkgver}/${pkgname}-${_pkgver}.tar.bz2 ## Good mirror +#source=(http://jenkins.trisquel.info/icecat/${pkgname}-${_pkgver}.tar.bz2 ## Official developer (Ruben Rodriguez) site. Probably only has developer releases. + mozconfig + icecat.desktop + icecat-safe.desktop + vendor.js) + +sha256sums=('97f76e85cc6f98463f0e0b0e845826816032770f9b589db69ece6b1cff21936c' + 'SKIP' + '96c07883b62dc52768603bedad7e37980410b7c13b63e63880e915c872e39eea' + 'c44eab35f71dd3028a74632463710d674b2e8a0682e5e887535e3233a3b7bbb3' + '190577ad917bccfc89a9bcafbc331521f551b6f54e190bb6216eada48dcb1303' + '4b50e9aec03432e21b44d18c4c97b2630bace606b033f7d556c9d3e3eb0f4fa4') + +validpgpkeys=(A57369A8BABC2542B5A0368C3C76EED7D7E04784) # Ruben Rodriguez (GNU IceCat releases key) <ruben@gnu.org> + +prepare() { + + cd "${srcdir}/${pkgname}-${pkgver}" + + # Patch to move files directly to /usr/lib/icecat. No more symlinks. + sed -e 's;$(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION);$(libdir)/$(MOZ_APP_NAME);g' -i config/baseconfig.mk + sed -e 's;$(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION);$(libdir)/$(MOZ_APP_NAME)-devel;g' -i config/baseconfig.mk + + msg2 "Starting build..." + + cp -v ${srcdir}/mozconfig .mozconfig + + # WebRTC build tries to execute "python" and expects Python 2 + mkdir "$srcdir/path" + ln -s /usr/bin/python2 "$srcdir/path/python" + +} + +build() { + + cd "${srcdir}/${pkgname}-${pkgver}" + ICECATDIR="/usr/lib/${pkgname}" && export ICECATDIR + + # _FORTIFY_SOURCE causes configure failures + CPPFLAGS+=" -O2" + + # Default Arch flags +# if [ "${CARCH}" = 'x86_64' ]; then +# export CFLAGS="-march=x86-64 -mtune=generic -82 -pipe -fstack-protector-strong" +# export CXXFLAGS="$CFLAGS" +# elif [ "${CARCH}" = 'i686' ]; then +# export CFLAGS="-march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong" +# export CXXFLAGS="$CFLAGS" +# fi + + export PATH="$srcdir/path:$PATH" +# export LDFLAGS="$LDFLAGS -Wl,-rpath,$ICECATDIR" +# export MOZ_MAKE_FLAGS="$MAKEFLAGS" +# export PYTHON=python2 + + make CXX=g++-5 CC=gcc-5 -f client.mk build +# ./configure --with-l10n-base="${srcdir}/${pkgname}-${pkgver}"/l10n -std=gnu89 +# make + +} + +package () { + + cd "${srcdir}/${pkgname}-${pkgver}" + + make CXX=g++-5 CC=gcc-5 -f client.mk DESTDIR="${pkgdir}" install +# make DESTDIR="${pkgdir}" install + + msg2 "Finishing..." + install -m755 -d ${pkgdir}/usr/share/applications + install -m755 -d ${pkgdir}/usr/share/pixmaps + + for i in 16 32 48; do + install -Dm644 ${srcdir}/${pkgname}-${pkgver}/browser/branding/official/default${i}.png \ + "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/icecat.png" + done + install -Dm644 ${srcdir}/${pkgname}-${pkgver}/browser/branding/official/default48.png ${pkgdir}/usr/share/pixmaps/icecat.png + install -Dm644 ${srcdir}/icecat.desktop ${pkgdir}/usr/share/applications/ + install -Dm644 ${srcdir}/icecat-safe.desktop ${pkgdir}/usr/share/applications/ + + # implement vendor.js setting the locale to match the os don't disable our languages extensions + # https://projects.archlinux.org/svntogit/packages.git/commit/trunk/PKGBUILD?h=packages/firefox&id=281a95c2cca0db88904603d7808936f52797a690 + install -Dm644 "${srcdir}"/vendor.js "${pkgdir}${ICECATDIR}/browser/defaults/preferences/vendor.js" + + # We don't want the development stuff + rm -rv "$pkgdir"/usr/{include,lib/icecat-devel,share/idl} +} + diff --git a/firefox-gcc-6.0.patch b/firefox-gcc-6.0.patch new file mode 100644 index 000000000000..0a74d3616e3f --- /dev/null +++ b/firefox-gcc-6.0.patch @@ -0,0 +1,26 @@ +diff -up firefox-44.0/nsprpub/config/make-system-wrappers.pl.back firefox-44.0/nsprpub/config/make-system-wrappers.pl +--- firefox-44.0/nsprpub/config/make-system-wrappers.pl.back 2016-01-24 00:23:49.000000000 +0100 ++++ firefox-44.0/nsprpub/config/make-system-wrappers.pl 2016-02-02 14:58:45.064112655 +0100 +@@ -19,7 +19,9 @@ while (<STDIN>) { + open OUT, ">$output_dir/$_"; + print OUT "#pragma GCC system_header\n"; # suppress include_next warning + print OUT "#pragma GCC visibility push(default)\n"; ++ print OUT "#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS\n"; + print OUT "#include_next \<$_\>\n"; ++ print OUT "#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS\n"; + print OUT "#pragma GCC visibility pop\n"; + close OUT; + } +diff -up firefox-44.0/mozglue/build/arm.cpp.old firefox-44.0/mozglue/build/arm.cpp +--- firefox-44.0/mozglue/build/arm.cpp.old 2016-02-03 10:07:29.879526500 +0100 ++++ firefox-44.0/mozglue/build/arm.cpp 2016-02-03 10:08:11.062697517 +0100 +@@ -104,7 +104,9 @@ check_neon(void) + + # elif defined(__linux__) || defined(ANDROID) + # include <stdio.h> ++#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS + # include <stdlib.h> ++#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS + # include <string.h> + + enum{ diff --git a/gcc6-fix-compilation-for-IceCat.patch b/gcc6-fix-compilation-for-IceCat.patch new file mode 100644 index 000000000000..2c291567c116 --- /dev/null +++ b/gcc6-fix-compilation-for-IceCat.patch @@ -0,0 +1,37 @@ +--- a/config/gcc-stl-wrapper.template.h 2016-05-10 22:26:46.000000000 +0200 ++++ b/config/gcc-stl-wrapper.template.h 2016-05-23 23:48:21.137431360 +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 <new>; break the cycle by always explicitly + // including <new> 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 <new> ++# include_next <new> + + // 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/harfbuzz-1.1.3.patch.gz b/harfbuzz-1.1.3.patch.gz Binary files differnew file mode 100644 index 000000000000..568a65cf5692 --- /dev/null +++ b/harfbuzz-1.1.3.patch.gz diff --git a/mozconfig b/mozconfig index ff729dcdf0fb..ffc9e3ee4946 100644 --- a/mozconfig +++ b/mozconfig @@ -2,36 +2,36 @@ ac_add_options --prefix=/usr ac_add_options --libdir=/usr/lib - -#ac_add_options --enable-official-branding +ac_add_options --enable-gold +ac_add_options --enable-pie # System libraries ac_add_options --with-system-nspr ac_add_options --with-system-nss +ac_add_options --with-system-icu ac_add_options --with-system-jpeg ac_add_options --with-system-zlib ac_add_options --with-system-bz2 -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 --enable-system-hunspell ac_add_options --enable-system-sqlite ac_add_options --enable-system-ffi -#ac_add_options --enable-system-cairo ac_add_options --enable-system-pixman # Features +ac_add_options --enable-optimize --disable-debug ac_add_options --enable-startup-notification -ac_add_options --enable-pulseaudio -ac_add_options --enable-gstreamer=1.0 - -ac_add_options --disable-crashreporter +ac_add_options --disable-gstreamer ac_add_options --disable-updater +ac_add_options --disable-crashreporter ac_add_options --disable-installer +ac_add_options --disable-telemetry ac_add_options --disable-debug-symbols ac_add_options --with-app-basename=icecat ac_add_options --with-app-name=icecat +STRIP_FLAGS="--strip-debug" + # vim:set ft=sh: diff --git a/mozilla-1228540-1.patch b/mozilla-1228540-1.patch new file mode 100644 index 000000000000..be6ffc3169f8 --- /dev/null +++ b/mozilla-1228540-1.patch @@ -0,0 +1,84 @@ +# HG changeset patch +# User Jonathan Kew <jkew@mozilla.com> +# Date 1452675061 0 +# Wed Jan 13 08:51:01 2016 +0000 +# Node ID cf699e95e98829b465b64a7e0281d95ec851ce8c +# Parent 3c9f357598e86c2f593e9895d5725bf3498f8f5a +Bug 1228540 - pt 2 - Remove our HBGetGlyphHOrigin callback, as the default behavior is sufficient. + +diff --git a/gfx/thebes/gfxHarfBuzzShaper.cpp b/gfx/thebes/gfxHarfBuzzShaper.cpp +--- a/gfx/thebes/gfxHarfBuzzShaper.cpp ++++ b/gfx/thebes/gfxHarfBuzzShaper.cpp +@@ -349,27 +349,16 @@ gfxHarfBuzzShaper::HBGetGlyphVAdvance(hb + static_cast<const gfxHarfBuzzShaper::FontCallbackData*>(font_data); + // Currently, we don't offer gfxFont subclasses a method to override this + // and provide hinted platform-specific vertical advances (analogous to the + // GetGlyphWidth method for horizontal advances). If that proves necessary, + // we'll add a new gfxFont method and call it from here. + return fcd->mShaper->GetGlyphVAdvance(glyph); + } + +-/* static */ +-hb_bool_t +-gfxHarfBuzzShaper::HBGetGlyphHOrigin(hb_font_t *font, void *font_data, +- hb_codepoint_t glyph, +- hb_position_t *x, hb_position_t *y, +- void *user_data) +-{ +- // We work in horizontal coordinates, so no origin adjustment needed here. +- return true; +-} +- + struct VORG { + AutoSwap_PRUint16 majorVersion; + AutoSwap_PRUint16 minorVersion; + AutoSwap_PRInt16 defaultVertOriginY; + AutoSwap_PRUint16 numVertOriginYMetrics; + }; + + struct VORGrec { +@@ -1262,19 +1251,16 @@ gfxHarfBuzzShaper::Initialize() + hb_font_funcs_set_glyph_func(sHBFontFuncs, HBGetGlyph, + nullptr, nullptr); + hb_font_funcs_set_glyph_h_advance_func(sHBFontFuncs, + HBGetGlyphHAdvance, + nullptr, nullptr); + hb_font_funcs_set_glyph_v_advance_func(sHBFontFuncs, + HBGetGlyphVAdvance, + nullptr, nullptr); +- hb_font_funcs_set_glyph_h_origin_func(sHBFontFuncs, +- HBGetGlyphHOrigin, +- nullptr, nullptr); + hb_font_funcs_set_glyph_v_origin_func(sHBFontFuncs, + HBGetGlyphVOrigin, + nullptr, nullptr); + hb_font_funcs_set_glyph_extents_func(sHBFontFuncs, + HBGetGlyphExtents, + nullptr, nullptr); + hb_font_funcs_set_glyph_contour_point_func(sHBFontFuncs, + HBGetContourPoint, +diff --git a/gfx/thebes/gfxHarfBuzzShaper.h b/gfx/thebes/gfxHarfBuzzShaper.h +--- a/gfx/thebes/gfxHarfBuzzShaper.h ++++ b/gfx/thebes/gfxHarfBuzzShaper.h +@@ -56,21 +56,16 @@ public: + hb_codepoint_t glyph, void *user_data); + + // get harfbuzz vertical advance in 16.16 fixed point format. + static hb_position_t + HBGetGlyphVAdvance(hb_font_t *font, void *font_data, + hb_codepoint_t glyph, void *user_data); + + static hb_bool_t +- HBGetGlyphHOrigin(hb_font_t *font, void *font_data, +- hb_codepoint_t glyph, +- hb_position_t *x, hb_position_t *y, +- void *user_data); +- static hb_bool_t + HBGetGlyphVOrigin(hb_font_t *font, void *font_data, + hb_codepoint_t glyph, + hb_position_t *x, hb_position_t *y, + void *user_data); + + hb_position_t GetHKerning(uint16_t aFirstGlyph, + uint16_t aSecondGlyph) const; + |