summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO20
-rw-r--r--PKGBUILD38
-rw-r--r--harfbuzz-1.1.3.patch.gzbin0 -> 42054 bytes
-rw-r--r--mozilla-1245076-1.patch49
4 files changed, 89 insertions, 18 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 7b583c2f731b..8cf452ede6f1 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,8 @@
# Generated by mksrcinfo v8
-# Wed May 4 05:59:20 UTC 2016
+# Wed Jun 8 23:44:42 UTC 2016
pkgbase = firefox-esr
pkgdesc = Standalone web browser from mozilla.org, Extended Support Release
- pkgver = 45.1.1
+ pkgver = 45.2.0
pkgrel = 1
url = https://www.mozilla.org/en-US/firefox/organizations/
arch = i686
@@ -18,9 +18,10 @@ pkgbase = firefox-esr
makedepends = mesa
makedepends = imake
makedepends = gconf
- makedepends = xorg-server-xvfb
makedepends = libpulse
makedepends = inetutils
+ makedepends = xorg-server-xvfb
+ makedepends = autoconf2.13
depends = gtk3
depends = gtk2
depends = mozilla-common
@@ -30,32 +31,35 @@ pkgbase = firefox-esr
depends = dbus-glib
depends = alsa-lib
depends = ffmpeg
- depends = desktop-file-utils
depends = libvpx
- depends = icu
depends = libevent
depends = nss
depends = hunspell
depends = sqlite
depends = ttf-font
+ depends = icu
optdepends = networkmanager: Location detection via available WiFi networks
optdepends = upower: Battery API
provides = firefox
conflicts = firefox
options = !emptydirs
options = !makeflags
- source = https://ftp.mozilla.org/pub/firefox/releases/45.1.1esr/source/firefox-45.1.1esr.source.tar.xz
+ source = https://ftp.mozilla.org/pub/firefox/releases/45.2.0esr/source/firefox-45.2.0esr.source.tar.xz
source = mozconfig
source = firefox.desktop
source = firefox-install-dir.patch
source = vendor.js
+ source = mozilla-1245076-1.patch
source = no-libnotify.patch
- sha256sums = a27e36aa1ccebddfe5a113f7f15b09a61e35644be58029b00b0d996a00d04562
- sha256sums = 083de691a0e88b8829a110cc783de3cc8d6523be62ae4ea9180c44856d8e24f5
+ source = harfbuzz-1.1.3.patch.gz
+ sha256sums = 1a729774034231c919dc5a556e17d3342792d5347c755d8d0a4f67a07374804b
+ sha256sums = ee8f508442147ad5afcd9c9e60d50d22659ad8c246d35ce8c97aa4463be3a9bc
sha256sums = c202e5e18da1eeddd2e1d81cb3436813f11e44585ca7357c4c5f1bddd4bec826
sha256sums = d86e41d87363656ee62e12543e2f5181aadcff448e406ef3218e91865ae775cd
sha256sums = 4b50e9aec03432e21b44d18c4c97b2630bace606b033f7d556c9d3e3eb0f4fa4
+ sha256sums = 6e7cba25c52b246da183b8309e7b56208bd991d1a7adb40063c5702a6f3722ea
sha256sums = e4ebdd14096d177d264a7993dbd5df46463605ff45f783732c26d30b9caa53a7
+ sha256sums = 3a61b517aedd54b25d2cfc96455cac0ec92033697f735885ecacbbf4b75f38a8
pkgname = firefox-esr
diff --git a/PKGBUILD b/PKGBUILD
index 00aec16000cb..f1136245173d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,17 +5,17 @@
# Contributor: Jakub Schmidtke <sjakub@gmail.com>
pkgname=firefox-esr
-pkgver=45.1.1
+pkgver=45.2.0
pkgrel=1
pkgdesc="Standalone web browser from mozilla.org, Extended Support Release"
arch=('i686' 'x86_64')
license=('MPL' 'GPL' 'LGPL')
url="https://www.mozilla.org/en-US/firefox/organizations/"
depends=('gtk3' 'gtk2' 'mozilla-common' 'libxt' 'startup-notification' 'mime-types'
- 'dbus-glib' 'alsa-lib' 'ffmpeg' 'desktop-file-utils'
- 'libvpx' 'icu' 'libevent' 'nss' 'hunspell' 'sqlite' 'ttf-font')
+ 'dbus-glib' 'alsa-lib' 'ffmpeg' 'libvpx' 'libevent' 'nss' 'hunspell'
+ 'sqlite' 'ttf-font' 'icu')
makedepends=('unzip' 'zip' 'diffutils' 'python2' 'yasm' 'mesa' 'imake' 'gconf'
- 'xorg-server-xvfb' 'libpulse' 'inetutils')
+ 'libpulse' 'inetutils' 'xorg-server-xvfb' 'autoconf2.13')
optdepends=('networkmanager: Location detection via available WiFi networks'
'upower: Battery API')
provides=(firefox)
@@ -23,13 +23,17 @@ conflicts=(firefox)
options=('!emptydirs' '!makeflags')
source=(https://ftp.mozilla.org/pub/firefox/releases/${pkgver}esr/source/firefox-${pkgver}esr.source.tar.xz
mozconfig firefox.desktop firefox-install-dir.patch vendor.js
- no-libnotify.patch)
-sha256sums=('a27e36aa1ccebddfe5a113f7f15b09a61e35644be58029b00b0d996a00d04562'
- '083de691a0e88b8829a110cc783de3cc8d6523be62ae4ea9180c44856d8e24f5'
+ mozilla-1245076-1.patch
+ no-libnotify.patch
+ harfbuzz-1.1.3.patch.gz)
+sha256sums=('1a729774034231c919dc5a556e17d3342792d5347c755d8d0a4f67a07374804b'
+ 'ee8f508442147ad5afcd9c9e60d50d22659ad8c246d35ce8c97aa4463be3a9bc'
'c202e5e18da1eeddd2e1d81cb3436813f11e44585ca7357c4c5f1bddd4bec826'
'd86e41d87363656ee62e12543e2f5181aadcff448e406ef3218e91865ae775cd'
'4b50e9aec03432e21b44d18c4c97b2630bace606b033f7d556c9d3e3eb0f4fa4'
- 'e4ebdd14096d177d264a7993dbd5df46463605ff45f783732c26d30b9caa53a7')
+ '6e7cba25c52b246da183b8309e7b56208bd991d1a7adb40063c5702a6f3722ea'
+ 'e4ebdd14096d177d264a7993dbd5df46463605ff45f783732c26d30b9caa53a7'
+ '3a61b517aedd54b25d2cfc96455cac0ec92033697f735885ecacbbf4b75f38a8')
validpgpkeys=('2B90598A745E992F315E22C58AB132963A06537A')
# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
@@ -44,10 +48,16 @@ prepare() {
cp ../mozconfig .mozconfig
patch -Np1 -i ../firefox-install-dir.patch
+ # GCC 6
+ patch -Np1 -i ../mozilla-1245076-1.patch
+
# Notifications with libnotify are broken
# https://bugzilla.mozilla.org/show_bug.cgi?id=1236150
patch -Np1 -i ../no-libnotify.patch
+ # Harfbuzz patch to v1.1.3
+ patch -Np1 -i ../harfbuzz-1.1.3.patch
+
echo -n "$_google_api_key" >google-api-key
echo "ac_add_options --with-google-api-keyfile=\"$PWD/google-api-key\"" >>.mozconfig
@@ -64,9 +74,17 @@ build() {
# _FORTIFY_SOURCE causes configure failures
CPPFLAGS+=" -O2"
+ # Hardening
+ LDFLAGS+=" -Wl,-z,now"
+
+ # 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"
+
# Do PGO
- xvfb-run -a -s "-extension GLX -screen 0 1280x1024x24" \
- make -f client.mk build MOZ_PGO=1
+# xvfb-run -a -s "-extension GLX -screen 0 1280x1024x24" \
+# make -f client.mk build MOZ_PGO=1
+ make -f client.mk build
}
package() {
diff --git a/harfbuzz-1.1.3.patch.gz b/harfbuzz-1.1.3.patch.gz
new file mode 100644
index 000000000000..321407fa9959
--- /dev/null
+++ b/harfbuzz-1.1.3.patch.gz
Binary files differ
diff --git a/mozilla-1245076-1.patch b/mozilla-1245076-1.patch
new file mode 100644
index 000000000000..dfc52c2cf7c4
--- /dev/null
+++ b/mozilla-1245076-1.patch
@@ -0,0 +1,49 @@
+diff --git a/config/gcc-stl-wrapper.template.h b/config/gcc-stl-wrapper.template.h
+--- a/config/gcc-stl-wrapper.template.h
++++ b/config/gcc-stl-wrapper.template.h
+@@ -12,33 +12,39 @@
+ // compiling ObjC.
+ #if defined(__EXCEPTIONS) && __EXCEPTIONS && !(__OBJC__ && __GNUC__ && XP_IOS)
+ # error "STL code can only be used with -fno-exceptions"
+ #endif
+
+ // Silence "warning: #include_next is a GCC extension"
+ #pragma GCC system_header
+
++#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:
+ //
+ // `#include_next' does not distinguish between <file> and "file"
+ // inclusion, nor does it check that the file you specify has the
+ // 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)
+ // Enable checked iterators and other goodies
+ //
+ // FIXME/bug 551254: gcc's debug STL implementation requires -frtti.
+ // Figure out how to resolve this with -fno-rtti. Maybe build with
+ // -frtti in DEBUG builds?
+