From 91a560aa5cfe6590ff6ae615384a62cc70b11dc7 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 12 Apr 2013 09:00:52 -0300 Subject: iceweasel-libre: adding new changes to libre repo --- libre/iceweasel-libre/PKGBUILD | 74 ++++++++++++++++++++++++------------- libre/iceweasel-libre/mozconfig.pgo | 4 +- 2 files changed, 49 insertions(+), 29 deletions(-) (limited to 'libre/iceweasel-libre') 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' -- cgit v1.2.3-54-g00ecf