summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFigue2016-06-06 13:35:28 +0200
committerFigue2016-06-06 13:35:28 +0200
commit6421090806ef28dfe9893e8c7391521bd2d39079 (patch)
tree01b137f7013d3bdb5c146690be07d5eefb349686
parent686e10c60b8c25eacc062527f279e177f8e2f975 (diff)
downloadaur-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--.SRCINFO32
-rw-r--r--PKGBUILD65
-rw-r--r--PKGBUILD.gcc5116
-rw-r--r--firefox-gcc-6.0.patch26
-rw-r--r--gcc6-fix-compilation-for-IceCat.patch37
-rw-r--r--harfbuzz-1.1.3.patch.gzbin0 -> 177218 bytes
-rw-r--r--mozconfig18
-rw-r--r--mozilla-1228540-1.patch84
8 files changed, 325 insertions, 53 deletions
diff --git a/.SRCINFO b/.SRCINFO
index eac6ea964ce1..337f717c59b3 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 433bfe6c3d30..b66813a226ee 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
new file mode 100644
index 000000000000..568a65cf5692
--- /dev/null
+++ b/harfbuzz-1.1.3.patch.gz
Binary files differ
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;
+