summaryrefslogtreecommitdiff
path: root/libre/iceweasel-libre
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <emulatorman@lavabit.com>2013-04-12 09:00:52 -0300
committerAndré Fabian Silva Delgado <emulatorman@lavabit.com>2013-04-12 09:00:52 -0300
commit91a560aa5cfe6590ff6ae615384a62cc70b11dc7 (patch)
tree32fb6e8f518357af40580e3f69f55026a21b51b4 /libre/iceweasel-libre
parent58e1a98a566187947644099439a36b3570cad210 (diff)
iceweasel-libre: adding new changes to libre repo
Diffstat (limited to 'libre/iceweasel-libre')
-rw-r--r--libre/iceweasel-libre/PKGBUILD74
-rw-r--r--libre/iceweasel-libre/mozconfig.pgo4
2 files changed, 49 insertions, 29 deletions
diff --git a/libre/iceweasel-libre/PKGBUILD b/libre/iceweasel-libre/PKGBUILD
index 0c9520b17..920a70c83 100644
--- a/libre/iceweasel-libre/PKGBUILD
+++ b/libre/iceweasel-libre/PKGBUILD
@@ -14,7 +14,7 @@ _pgo=true
# We're getting this from Debian Experimental
_debname=iceweasel
-_debver=20.0
+_debver=20.0.1
_debrel=1
_debrepo=http://ftp.debian.org/debian/pool/main/
debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
@@ -22,16 +22,16 @@ debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
_pkgname=iceweasel
pkgname=iceweasel-libre
pkgver=$_debver.$_debrel
-pkgrel=2
+pkgrel=1
pkgdesc="A libre version of Debian Iceweasel, the standalone web browser based on Mozilla Firefox."
-arch=('i686' 'x86_64' 'mips64el')
-license=('MPL' 'GPL' 'LGPL')
-depends=('alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hicolor-icon-theme' 'hunspell' 'libevent' 'libnotify' 'libvpx' 'libxt' 'mime-types' 'mozilla-common' 'mozilla-searchplugins' 'nss>=3.14.1' 'sqlite3' 'startup-notification')
-makedepends=( 'autoconf2.13' 'diffutils' 'imagemagick' 'libidl2' 'librsvg' 'libxslt' 'mesa' 'pkg-config' 'python2' 'quilt' 'unzip' 'zip')
+arch=(i686 x86_64 mips64el)
+license=(MPL GPL LGPL)
+depends=(alsa-lib dbus-glib desktop-file-utils gtk2 hicolor-icon-theme hunspell libevent libnotify libvpx libxt mime-types mozilla-common mozilla-searchplugins nss sqlite startup-notification)
+makedepends=(autoconf2.13 diffutils imagemagick libidl2 librsvg libxslt mesa pkg-config python2 quilt unzip zip)
[ "$CARCH" != "mips64el" ] && makedepends+=('yasm')
if $_pgo; then
- makedepends+=('xorg-server-xvfb')
+ makedepends+=(xorg-server-xvfb)
options=(!ccache)
fi
@@ -55,7 +55,7 @@ source=("$_debrepo/`debfile $_debname`_$_debver.orig.tar.bz2"
md5sums=('22daa24b6490c654f131550cbf20fad3'
'0c70ab52f35701558081df3d360361a2'
'f90c6a70d0a6d0a9e7f9a0eed6aeffd3'
- 'dfeb4ab2c96aae3356a4c347eee0b97b'
+ '383e8e2a97a8b13fe56d153adb6878b6'
'5addd418bf32b673fdfe80c8fefbea1a'
'7b9e5996dd9fe0b186a43a297db1c6b5'
'abf5ecb74caa857abb42bcfbb3442d9c'
@@ -64,20 +64,12 @@ md5sums=('22daa24b6490c654f131550cbf20fad3'
'a8fc4658d45b6bf9350023e5c3f34e56'
'd0e1f2625cd9f7234abdeb55aee00529')
-build() {
- # WebRTC build tries to execute "python" and expects Python 2
- # Workaround taken from chromium PKGBUILD on Archlinux
- mkdir "$srcdir/python2-path"
- ln -s /usr/bin/python2 "$srcdir/python2-path/python"
- export PATH="$srcdir/python2-path:$PATH"
-
- export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$_pkgname"
- export PYTHON="/usr/bin/python2"
+prepare() {
+ export DEBIAN_BUILD="mozilla-release"
export QUILT_PATCHES=debian/patches
export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
export QUILT_DIFF_ARGS='--no-timestamps'
- export DEBIAN_BUILD="mozilla-release"
mv debian "$srcdir/$DEBIAN_BUILD"
cd "$srcdir/$DEBIAN_BUILD"
@@ -125,10 +117,6 @@ build() {
echo "ac_add_options --disable-tracejit" >> .mozconfig
fi
- # Fix PRE_RELEASE_SUFFIX
- sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \
- browser/base/Makefile.in
-
# This is a bug, we should fix it
if [ "$CARCH" = "mips64el" ]; then
# Fix MIPS N32 support.
@@ -143,16 +131,50 @@ build() {
echo 'ac_add_options --disable-jemalloc' >> .mozconfig
fi
+ # Fix PRE_RELEASE_SUFFIX
+ sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \
+ browser/base/Makefile.in
+
+ mkdir "$srcdir/path"
+
+ # WebRTC build tries to execute "python" and expects Python 2
+ ln -s /usr/bin/python2 "$srcdir/path/python"
+
+ # Use gold, as Mozilla can use some of its features, such as safe ICF
+ ln -s /usr/bin/ld.gold "$srcdir/path/ld"
+
# configure script misdetects the preprocessor without an optimization level
# https://bugs.archlinux.org/task/34644
sed -i '/ac_cpp=/s/$CPPFLAGS/& -O2/' configure
+}
+
+build() {
+ cd "$srcdir/$DEBIAN_BUILD"
+
+ export PATH="$srcdir/path:$PATH"
+ export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$_pkgname"
+ export PYTHON="/usr/bin/python2"
+ export MOZ_MAKE_FLAGS="$MAKEFLAGS"
+ unset MAKEFLAGS
if $_pgo; then
- LD_PRELOAD="" /usr/bin/Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 :99 &
- LD_PRELOAD="" DISPLAY=:99 make -j1 -f client.mk profiledbuild MOZ_MAKE_FLAGS="$MAKEFLAGS"
- kill $! || true
+ # Enable PGO for x86_64 and mips64el only. i686 currently has problems:
+ # Either segfaults since gcc 4.8, or the linker runs out of memory
+ # If you discover that PGO again works on i686, please file a bug
+ if [[ $CARCH != i686 ]]; then
+ export DISPLAY=:99
+ Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 $DISPLAY &
+ _fail=0
+
+ make -f client.mk build MOZ_PGO=1 || _fail=1
+
+ kill $! || true
+ return $_fail
+ else
+ make -f client.mk build
+ fi
else
- LD_PRELOAD="" make -j1 -f client.mk build MOZ_MAKE_FLAGS="$MAKEFLAGS"
+ make -f client.mk build
fi
}
diff --git a/libre/iceweasel-libre/mozconfig.pgo b/libre/iceweasel-libre/mozconfig.pgo
index 30464c38c..2f4ebe32b 100644
--- a/libre/iceweasel-libre/mozconfig.pgo
+++ b/libre/iceweasel-libre/mozconfig.pgo
@@ -1,5 +1,3 @@
# PGO
-ac_add_options --enable-profile-guided-optimization
-mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py'
-mk_add_options PYTHONPATH='$(OBJDIR)/_profile/pgo'
+mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py 10'