axs         15/02/26 21:54:23

  Modified:             firefox-31.4.0.ebuild firefox-24.3.0.ebuild
                        metadata.xml firefox-31.3.0.ebuild ChangeLog
  Added:                firefox-31.5.0.ebuild firefox-36.0.ebuild
  Removed:              firefox-24.8.0.ebuild firefox-35.0.ebuild
                        firefox-10.0.11.ebuild
  Log:
  version bump; removed old; fixed bug 541418
  
  (Portage version: 2.2.14/cvs/Linux x86_64, signed Manifest commit with key 
2B6559ED)

Revision  Changes    Path
1.8                  www-client/firefox/firefox-31.4.0.ebuild

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-31.4.0.ebuild?rev=1.8&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-31.4.0.ebuild?rev=1.8&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-31.4.0.ebuild?r1=1.7&r2=1.8

Index: firefox-31.4.0.ebuild
===================================================================
RCS file: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-31.4.0.ebuild,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- firefox-31.4.0.ebuild       23 Feb 2015 11:37:17 -0000      1.7
+++ firefox-31.4.0.ebuild       26 Feb 2015 21:54:23 -0000      1.8
@@ -1,6 +1,6 @@
 # Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-31.4.0.ebuild,v 
1.7 2015/02/23 11:37:17 ago Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-31.4.0.ebuild,v 
1.8 2015/02/26 21:54:23 axs Exp $
 
 EAPI="5"
 VIRTUALX_REQUIRED="pgo"
@@ -43,6 +43,7 @@
 SLOT="0"
 LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
 IUSE="bindist hardened +minimal pgo selinux test"
+RESTRICT="!bindist? ( bindist )"
 
 # More URIs appended below...
 SRC_URI="${SRC_URI}



1.10                 www-client/firefox/firefox-24.3.0.ebuild

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-24.3.0.ebuild?rev=1.10&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-24.3.0.ebuild?rev=1.10&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-24.3.0.ebuild?r1=1.9&r2=1.10

Index: firefox-24.3.0.ebuild
===================================================================
RCS file: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-24.3.0.ebuild,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- firefox-24.3.0.ebuild       20 Mar 2014 16:07:20 -0000      1.9
+++ firefox-24.3.0.ebuild       26 Feb 2015 21:54:23 -0000      1.10
@@ -1,6 +1,6 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-24.3.0.ebuild,v 
1.9 2014/03/20 16:07:20 polynomial-c Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-24.3.0.ebuild,v 
1.10 2015/02/26 21:54:23 axs Exp $
 
 EAPI="3"
 VIRTUALX_REQUIRED="pgo"
@@ -40,6 +40,7 @@
 SLOT="0"
 LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
 IUSE="bindist gstreamer +jit +minimal pgo pulseaudio selinux system-cairo 
system-icu system-jpeg system-sqlite"
+RESTRICT="!bindist? ( bindist )"
 
 # More URIs appended below...
 SRC_URI="${SRC_URI}



1.17                 www-client/firefox/metadata.xml

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/metadata.xml?rev=1.17&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/metadata.xml?rev=1.17&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/metadata.xml?r1=1.16&r2=1.17

Index: metadata.xml
===================================================================
RCS file: /var/cvsroot/gentoo-x86/www-client/firefox/metadata.xml,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- metadata.xml        4 Dec 2014 03:30:18 -0000       1.16
+++ metadata.xml        26 Feb 2015 21:54:23 -0000      1.17
@@ -9,8 +9,6 @@
                optimizations (-Os, -O0, -O1, -O2, -O3)</flag>
        <flag name="gmp-autoupdate">Allow Gecko Media Plugins (binary blobs) to 
be automatically
                downloaded and kept up-to-date in user profiles</flag>
-       <flag name="ipc">Use inter-process communication between tabs and 
plugins.
-               Allows for greater stability in case of plugin crashes</flag>
        <flag name="minimal"> Prevent sdk and headers from being 
installed</flag>
        <flag name="pgo">Add support for profile-guided optimization using 
gcc-4.5,
                for faster binaries. This option will double the compile 
time.</flag>
@@ -24,6 +22,5 @@
                instead of bundled.</flag>
        <flag name="system-sqlite">Use the system-wide <pkg>dev-db/sqlite</pkg>
                installation with secure-delete enabled</flag>
-       <flag name="webm">Support HTML5 WebM with <pkg>media-libs/libvpx</pkg> 
on firefox-10.</flag>
 </use>
 </pkgmetadata>



1.10                 www-client/firefox/firefox-31.3.0.ebuild

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-31.3.0.ebuild?rev=1.10&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-31.3.0.ebuild?rev=1.10&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-31.3.0.ebuild?r1=1.9&r2=1.10

Index: firefox-31.3.0.ebuild
===================================================================
RCS file: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-31.3.0.ebuild,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- firefox-31.3.0.ebuild       23 Feb 2015 11:35:43 -0000      1.9
+++ firefox-31.3.0.ebuild       26 Feb 2015 21:54:23 -0000      1.10
@@ -1,6 +1,6 @@
 # Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-31.3.0.ebuild,v 
1.9 2015/02/23 11:35:43 ago Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-31.3.0.ebuild,v 
1.10 2015/02/26 21:54:23 axs Exp $
 
 EAPI="5"
 VIRTUALX_REQUIRED="pgo"
@@ -43,6 +43,7 @@
 SLOT="0"
 LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
 IUSE="bindist hardened +minimal pgo selinux test"
+RESTRICT="!bindist? ( bindist )"
 
 # More URIs appended below...
 SRC_URI="${SRC_URI}



1.386                www-client/firefox/ChangeLog

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/ChangeLog?rev=1.386&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/ChangeLog?rev=1.386&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/ChangeLog?r1=1.385&r2=1.386

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/www-client/firefox/ChangeLog,v
retrieving revision 1.385
retrieving revision 1.386
diff -u -r1.385 -r1.386
--- ChangeLog   23 Feb 2015 11:37:17 -0000      1.385
+++ ChangeLog   26 Feb 2015 21:54:23 -0000      1.386
@@ -1,6 +1,15 @@
 # ChangeLog for www-client/firefox
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/ChangeLog,v 1.385 
2015/02/23 11:37:17 ago Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/ChangeLog,v 1.386 
2015/02/26 21:54:23 axs Exp $
+
+*firefox-31.5.0 (26 Feb 2015)
+*firefox-36.0 (26 Feb 2015)
+
+  26 Feb 2015; Ian Stakenvicius (_AxS_) <a...@gentoo.org> 
+firefox-31.5.0.ebuild,
+  +firefox-36.0.ebuild, -firefox-10.0.11.ebuild, -firefox-24.8.0.ebuild,
+  -firefox-35.0.ebuild, firefox-24.3.0.ebuild, firefox-31.3.0.ebuild,
+  firefox-31.4.0.ebuild, metadata.xml:
+  version bump; removed old; fixed bug 541418
 
   23 Feb 2015; Agostino Sarubbo <a...@gentoo.org> firefox-31.4.0.ebuild:
   Stable for ia64, wrt bug #536564



1.1                  www-client/firefox/firefox-31.5.0.ebuild

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-31.5.0.ebuild?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-31.5.0.ebuild?rev=1.1&content-type=text/plain

Index: firefox-31.5.0.ebuild
===================================================================
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-31.5.0.ebuild,v 
1.1 2015/02/26 21:54:23 axs Exp $

EAPI="5"
VIRTUALX_REQUIRED="pgo"
WANT_AUTOCONF="2.1"
MOZ_ESR="1"

# This list can be updated with scripts/get_langs.sh from the mozilla overlay
MOZ_LANGS=( af ar as ast be bg bn-BD bn-IN br bs ca cs csb cy da de el en
en-GB en-US en-ZA eo es-AR es-CL es-ES es-MX et eu fa fi fr fy-NL ga-IE gd
gl gu-IN he hi-IN hr hu hy-AM id is it ja kk km kn ko ku lt lv mai mk ml mr
nb-NO nl nn-NO or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv-SE ta te
th tr uk vi xh zh-CN zh-TW zu )

# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
MOZ_PV="${PV/_alpha/a}" # Handle alpha for SRC_URI
MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
MOZ_PV="${MOZ_PV/_rc/rc}" # Handle rc for SRC_URI

if [[ ${MOZ_ESR} == 1 ]]; then
        # ESR releases have slightly version numbers
        MOZ_PV="${MOZ_PV}esr"
fi

# Patch version
PATCH="${PN}-31.0-patches-0.2"
# Upstream ftp release URI that's used by mozlinguas.eclass
# We don't use the http mirror because it deletes old tarballs.
MOZ_FTP_URI="ftp://ftp.mozilla.org/pub/${PN}/releases/";
MOZ_HTTP_URI="http://ftp.mozilla.org/pub/${PN}/releases/";

MOZCONFIG_OPTIONAL_WIFI=1
MOZCONFIG_OPTIONAL_JIT="enabled"

inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils 
mozconfig-v5.31 multilib pax-utils fdo-mime autotools virtualx mozlinguas

DESCRIPTION="Firefox Web Browser"
HOMEPAGE="http://www.mozilla.com/firefox";

KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux 
~x86-linux"
SLOT="0"
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
IUSE="bindist hardened +minimal pgo selinux test"
RESTRICT="!bindist? ( bindist )"

# More URIs appended below...
SRC_URI="${SRC_URI}
        http://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCH}.tar.xz
        http://dev.gentoo.org/~axs/distfiles/${PATCH}.tar.xz";

ASM_DEPEND=">=dev-lang/yasm-1.1"

CDEPEND="
        >=dev-libs/nss-3.17.1
        >=dev-libs/nspr-4.10.6
"

DEPEND="${CDEPEND}
        pgo? (
                >=sys-devel/gcc-4.5 )
        amd64? ( ${ASM_DEPEND}
                virtual/opengl )
        x86? ( ${ASM_DEPEND}
                virtual/opengl )"

RDEPEND="${CDEPEND}
        selinux? ( sec-policy/selinux-mozilla )
"

# No source releases for alpha|beta
if [[ ${PV} =~ alpha ]]; then
        CHANGESET="8a3042764de7"
        SRC_URI="${SRC_URI}
                
http://dev.gentoo.org/~nirbheek/mozilla/firefox/firefox-${MOZ_PV}_${CHANGESET}.source.tar.bz2";
        S="${WORKDIR}/mozilla-aurora-${CHANGESET}"
elif [[ ${PV} =~ beta ]]; then
        S="${WORKDIR}/mozilla-beta"
        SRC_URI="${SRC_URI}
                ${MOZ_FTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2
                
${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2"
else
        SRC_URI="${SRC_URI}
                ${MOZ_FTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2
                
${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2"
        if [[ ${MOZ_ESR} == 1 ]]; then
                S="${WORKDIR}/mozilla-esr${PV%%.*}"
        else
                S="${WORKDIR}/mozilla-release"
        fi
fi

QA_PRESTRIPPED="usr/$(get_libdir)/${PN}/firefox"

pkg_setup() {
        moz_pkgsetup

        # Avoid PGO profiling problems due to enviroment leakage
        # These should *always* be cleaned up anyway
        unset DBUS_SESSION_BUS_ADDRESS \
                DISPLAY \
                ORBIT_SOCKETDIR \
                SESSION_MANAGER \
                XDG_SESSION_COOKIE \
                XAUTHORITY

        if ! use bindist; then
                einfo
                elog "You are enabling official branding. You may not 
redistribute this build"
                elog "to any users on your network or the internet. Doing so 
puts yourself into"
                elog "a legal problem with Mozilla Foundation"
                elog "You can disable it by emerging ${PN} _with_ the bindist 
USE-flag"
        fi

        if use pgo; then
                einfo
                ewarn "You will do a double build for profile guided 
optimization."
                ewarn "This will result in your build taking at least twice as 
long as before."
        fi
}

pkg_pretend() {
        # Ensure we have enough disk space to compile
        if use pgo || use debug || use test ; then
                CHECKREQS_DISK_BUILD="8G"
        else
                CHECKREQS_DISK_BUILD="4G"
        fi
        check-reqs_pkg_setup

        if use jit && [[ -n ${PROFILE_IS_HARDENED} ]]; then
                ewarn "You are emerging this package on a hardened profile with 
USE=jit enabled."
                ewarn "This is horribly insecure as it disables all PAGEEXEC 
restrictions."
                ewarn "Please ensure you know what you are doing.  If you 
don't, please consider"
                ewarn "emerging the package with USE=-jit"
        fi
}

src_unpack() {
        unpack ${A}

        # Unpack language packs
        mozlinguas_src_unpack
}

src_prepare() {
        # Apply our patches
        EPATCH_SUFFIX="patch" \
        EPATCH_FORCE="yes" \
        epatch "${WORKDIR}/firefox"

        epatch "${FILESDIR}"/${PN}-32.0-hppa-js-configure.patch # bug 524556

        # Allow user to apply any additional patches without modifing ebuild
        epatch_user

        # Enable gnomebreakpad
        if use debug ; then
                sed -i -e 
"s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
                        "${S}"/build/unix/run-mozilla.sh || die "sed failed!"
        fi

        # Ensure that our plugins dir is enabled as default
        sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
                "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed 
failed to replace plugin path for 32bit!"
        sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
                "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed 
failed to replace plugin path for 64bit!"

        # Fix sandbox violations during make clean, bug 372817
        sed -e "s:\(/no-such-file\):${T}\1:g" \
                -i "${S}"/config/rules.mk \
                -i "${S}"/nsprpub/configure{.in,} \
                || die

        # Don't exit with error when some libs are missing which we have in
        # system.
        sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
                -i "${S}"/browser/installer/Makefile.in || die

        # Don't error out when there's no files to be removed:
        sed 's@\(xargs rm\)$@\1 -f@' \
                -i "${S}"/toolkit/mozapps/installer/packager.mk || die

        eautoreconf

        # Must run autoconf in js/src
        cd "${S}"/js/src || die
        eautoconf
}

src_configure() {
        MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
        MEXTENSIONS="default"
        # Google API keys (see 
http://www.chromium.org/developers/how-tos/api-keys)
        # Note: These are for Gentoo Linux use ONLY. For your own distribution, 
please
        # get your own set of keys.
        _google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc

        ####################################
        #
        # mozconfig, CFLAGS and CXXFLAGS setup
        #
        ####################################

        mozconfig_init
        mozconfig_config

        # It doesn't compile on alpha without this LDFLAGS
        use alpha && append-ldflags "-Wl,--no-relax"

        # Add full relro support for hardened
        use hardened && append-ldflags "-Wl,-z,relro,-z,now"

        # Setup api key for location services
        echo -n "${_google_api_key}" > "${S}"/google-api-key
        mozconfig_annotate '' --with-google-api-keyfile="${S}/google-api-key"

        mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
        mozconfig_annotate '' --disable-mailnews

        # Other ff-specific settings
        mozconfig_annotate '' 
--with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}

        # Allow for a proper pgo build
        if use pgo; then
                echo "mk_add_options PROFILE_GEN_SCRIPT='\$(PYTHON) 
\$(OBJDIR)/_profile/pgo/profileserver.py'" >> "${S}"/.mozconfig
        fi

        # Finalize and report settings
        mozconfig_final

        if [[ $(gcc-major-version) -lt 4 ]]; then
                append-cxxflags -fno-stack-protector
        elif [[ $(gcc-major-version) -gt 4 || $(gcc-minor-version) -gt 3 ]]; 
then
                if use amd64 || use x86; then
                        append-flags -mno-avx
                fi
        fi
}

src_compile() {
        if use pgo; then
                addpredict /root
                addpredict /etc/gconf
                # Reset and cleanup environment variables used by GNOME/XDG
                gnome2_environment_reset

                # Firefox tries to use dri stuff when it's run, see bug 380283
                shopt -s nullglob
                cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
                if test -z "${cards}"; then
                        cards=$(echo -n /dev/ati/card* /dev/nvidiactl* | sed 
's/ /:/g')
                        if test -n "${cards}"; then
                                # Binary drivers seem to cause access 
violations anyway, so
                                # let's use indirect rendering so that the 
device files aren't
                                # touched at all. See bug 394715.
                                export LIBGL_ALWAYS_INDIRECT=1
                        fi
                fi
                shopt -u nullglob
                addpredict "${cards}"

                CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
                MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \
                Xemake -f client.mk profiledbuild || die "Xemake failed"
        else
                CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
                MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \
                emake -f client.mk
        fi

}

src_install() {
        MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
        DICTPATH="\"${EPREFIX}/usr/share/myspell\""

        # MOZ_BUILD_ROOT, and hence OBJ_DIR change depending on arch, compiler, 
pgo, etc.
        local obj_dir="$(echo */config.log)"
        obj_dir="${obj_dir%/*}"
        cd "${S}/${obj_dir}" || die

        # Pax mark xpcshell for hardened support, only used for startupcache 
creation.
        pax-mark m "${S}/${obj_dir}"/dist/bin/xpcshell

        # Add our default prefs for firefox
        cp "${FILESDIR}"/gentoo-default-prefs.js-1 \
                
"${S}/${obj_dir}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
                || die

        # Set default path to search for dictionaries.
        echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \
                >> 
"${S}/${obj_dir}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
                || die

        echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
                
"${S}/${obj_dir}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
                || die

        MOZ_MAKE_FLAGS="${MAKEOPTS}" \
        emake DESTDIR="${D}" install

        # Install language packs
        mozlinguas_src_install

        local size sizes icon_path icon name
        if use bindist; then
                sizes="16 32 48"
                icon_path="${S}/browser/branding/aurora"
                # Firefox's new rapid release cycle means no more codenames
                # Let's just stick with this one...
                icon="aurora"
                name="Aurora"
        else
                sizes="16 22 24 32 256"
                icon_path="${S}/browser/branding/official"
                icon="${PN}"
                name="Mozilla Firefox"
        fi

        # Install icons and .desktop for menu entry
        for size in ${sizes}; do
                insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
                newins "${icon_path}/default${size}.png" "${icon}.png"
        done
        # The 128x128 icon has a different name
        insinto "/usr/share/icons/hicolor/128x128/apps"
        newins "${icon_path}/mozicon128.png" "${icon}.png"
        # Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
        newicon "${icon_path}/content/icon48.png" "${icon}.png"
        newmenu "${FILESDIR}/icon/${PN}.desktop" "${PN}.desktop"
        sed -i -e "s:@NAME@:${name}:" -e "s:@ICON@:${icon}:" \
                "${ED}/usr/share/applications/${PN}.desktop" || die

        # Add StartupNotify=true bug 237317
        if use startup-notification ; then
                echo "StartupNotify=true"\
                         >> "${ED}/usr/share/applications/${PN}.desktop" \
                        || die
        fi

        # Required in order to use plugins and even run firefox on hardened.
        pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/plugin-container
        # Required in order for jit to work on hardened, as of firefox-31
        use jit && pax-mark pm "${ED}"${MOZILLA_FIVE_HOME}/{firefox,firefox-bin}

        if use minimal; then
                rm -r "${ED}"/usr/include 
"${ED}${MOZILLA_FIVE_HOME}"/{idl,include,lib,sdk} \
                        || die "Failed to remove sdk and headers"
        fi

        # very ugly hack to make firefox not sigbus on sparc
        # FIXME: is this still needed??
        use sparc && { sed -e 's/Firefox/FirefoxGentoo/g' \
                                         -i 
"${ED}/${MOZILLA_FIVE_HOME}/application.ini" \
                                        || die "sparc sed failed"; }

        # revdep-rebuild entry
        insinto /etc/revdep-rebuild
        echo "SEARCH_DIRS_MASK=${MOZILLA_FIVE_HOME}" >> ${T}/10firefox
        doins "${T}"/10${PN} || die
}

pkg_preinst() {
        gnome2_icon_savelist
}

pkg_postinst() {
        # Update mimedb for the new .desktop file
        fdo-mime_desktop_database_update
        gnome2_icon_cache_update
}

pkg_postrm() {
        gnome2_icon_cache_update
}



1.1                  www-client/firefox/firefox-36.0.ebuild

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-36.0.ebuild?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/firefox/firefox-36.0.ebuild?rev=1.1&content-type=text/plain

Index: firefox-36.0.ebuild
===================================================================
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-36.0.ebuild,v 1.1 
2015/02/26 21:54:23 axs Exp $

EAPI="5"
VIRTUALX_REQUIRED="pgo"
WANT_AUTOCONF="2.1"
MOZ_ESR=""

# This list can be updated with scripts/get_langs.sh from the mozilla overlay
# No official support as of fetch time
# csb
MOZ_LANGS=( af ar as ast be bg bn-BD bn-IN br bs ca cs cy da de el en
en-GB en-US en-ZA eo es-AR es-CL es-ES es-MX et eu fa fi fr fy-NL ga-IE gd
gl gu-IN he hi-IN hr hu hy-AM id is it ja kk km kn ko lt lv mai mk ml mr
nb-NO nl nn-NO or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv-SE ta te
th tr uk vi xh zh-CN zh-TW )

# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
MOZ_PV="${PV/_alpha/a}" # Handle alpha for SRC_URI
MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
MOZ_PV="${MOZ_PV/_rc/rc}" # Handle rc for SRC_URI

if [[ ${MOZ_ESR} == 1 ]]; then
        # ESR releases have slightly version numbers
        MOZ_PV="${MOZ_PV}esr"
fi

# Patch version
PATCH="${PN}-36.0-patches-0.1"
# Upstream ftp release URI that's used by mozlinguas.eclass
# We don't use the http mirror because it deletes old tarballs.
MOZ_FTP_URI="ftp://ftp.mozilla.org/pub/${PN}/releases/";
MOZ_HTTP_URI="http://ftp.mozilla.org/pub/${PN}/releases/";

MOZCONFIG_OPTIONAL_WIFI=1
MOZCONFIG_OPTIONAL_JIT="enabled"

inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils 
mozconfig-v5.36 multilib pax-utils fdo-mime autotools virtualx mozlinguas

DESCRIPTION="Firefox Web Browser"
HOMEPAGE="http://www.mozilla.com/firefox";

KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux 
~x86-linux"
SLOT="0"
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
IUSE="bindist hardened +minimal pgo selinux +gmp-autoupdate test"
RESTRICT="!bindist? ( bindist )"

# More URIs appended below...
SRC_URI="${SRC_URI}
        http://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCH}.tar.xz
        http://dev.gentoo.org/~axs/distfiles/${PATCH}.tar.xz";

ASM_DEPEND=">=dev-lang/yasm-1.1"

# Mesa 7.10 needed for WebGL + bugfixes
RDEPEND="
        >=dev-libs/nss-3.17.4
        >=dev-libs/nspr-4.10.7
        selinux? ( sec-policy/selinux-mozilla )"

DEPEND="${RDEPEND}
        pgo? (
                >=sys-devel/gcc-4.5 )
        amd64? ( ${ASM_DEPEND}
                virtual/opengl )
        x86? ( ${ASM_DEPEND}
                virtual/opengl )"

# No source releases for alpha|beta
if [[ ${PV} =~ alpha ]]; then
        CHANGESET="8a3042764de7"
        SRC_URI="${SRC_URI}
                
http://dev.gentoo.org/~nirbheek/mozilla/firefox/firefox-${MOZ_PV}_${CHANGESET}.source.tar.bz2";
        S="${WORKDIR}/mozilla-aurora-${CHANGESET}"
elif [[ ${PV} =~ beta ]]; then
        S="${WORKDIR}/mozilla-beta"
        SRC_URI="${SRC_URI}
                ${MOZ_FTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2
                
${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2"
else
        SRC_URI="${SRC_URI}
                ${MOZ_FTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2
                
${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2"
        if [[ ${MOZ_ESR} == 1 ]]; then
                S="${WORKDIR}/mozilla-esr${PV%%.*}"
        else
                S="${WORKDIR}/mozilla-release"
        fi
fi

QA_PRESTRIPPED="usr/$(get_libdir)/${PN}/firefox"

BUILD_OBJ_DIR="${S}/ff"

pkg_setup() {
        moz_pkgsetup

        # Avoid PGO profiling problems due to enviroment leakage
        # These should *always* be cleaned up anyway
        unset DBUS_SESSION_BUS_ADDRESS \
                DISPLAY \
                ORBIT_SOCKETDIR \
                SESSION_MANAGER \
                XDG_SESSION_COOKIE \
                XAUTHORITY

        if ! use bindist; then
                einfo
                elog "You are enabling official branding. You may not 
redistribute this build"
                elog "to any users on your network or the internet. Doing so 
puts yourself into"
                elog "a legal problem with Mozilla Foundation"
                elog "You can disable it by emerging ${PN} _with_ the bindist 
USE-flag"
        fi

        if use pgo; then
                einfo
                ewarn "You will do a double build for profile guided 
optimization."
                ewarn "This will result in your build taking at least twice as 
long as before."
        fi
}

pkg_pretend() {
        # Ensure we have enough disk space to compile
        if use pgo || use debug || use test ; then
                CHECKREQS_DISK_BUILD="8G"
        else
                CHECKREQS_DISK_BUILD="4G"
        fi
        check-reqs_pkg_setup

        if use jit && [[ -n ${PROFILE_IS_HARDENED} ]]; then
                ewarn "You are emerging this package on a hardened profile with 
USE=jit enabled."
                ewarn "This is horribly insecure as it disables all PAGEEXEC 
restrictions."
                ewarn "Please ensure you know what you are doing.  If you 
don't, please consider"
                ewarn "emerging the package with USE=-jit"
        fi
}

src_unpack() {
        unpack ${A}

        # Unpack language packs
        mozlinguas_src_unpack
}

src_prepare() {
        # Apply our patches
        EPATCH_SUFFIX="patch" \
        EPATCH_FORCE="yes" \
        epatch "${WORKDIR}/firefox"

        epatch "${FILESDIR}"/${PN}-35.0-gmp-clearkey-sprintf.patch

        # Allow user to apply any additional patches without modifing ebuild
        epatch_user

        # Enable gnomebreakpad
        if use debug ; then
                sed -i -e 
"s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
                        "${S}"/build/unix/run-mozilla.sh || die "sed failed!"
        fi

        # Ensure that our plugins dir is enabled as default
        sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
                "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed 
failed to replace plugin path for 32bit!"
        sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
                "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed 
failed to replace plugin path for 64bit!"

        # Fix sandbox violations during make clean, bug 372817
        sed -e "s:\(/no-such-file\):${T}\1:g" \
                -i "${S}"/config/rules.mk \
                -i "${S}"/nsprpub/configure{.in,} \
                || die

        # Don't exit with error when some libs are missing which we have in
        # system.
        sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
                -i "${S}"/browser/installer/Makefile.in || die

        # Don't error out when there's no files to be removed:
        sed 's@\(xargs rm\)$@\1 -f@' \
                -i "${S}"/toolkit/mozapps/installer/packager.mk || die

        eautoreconf

        # Must run autoconf in js/src
        cd "${S}"/js/src || die
        eautoconf

        # Need to update jemalloc's configure
        cd "${S}"/memory/jemalloc/src || die
        WANT_AUTOCONF= eautoconf
}

src_configure() {
        MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
        MEXTENSIONS="default"
        # Google API keys (see 
http://www.chromium.org/developers/how-tos/api-keys)
        # Note: These are for Gentoo Linux use ONLY. For your own distribution, 
please
        # get your own set of keys.
        _google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc

        ####################################
        #
        # mozconfig, CFLAGS and CXXFLAGS setup
        #
        ####################################

        mozconfig_init
        mozconfig_config

        # It doesn't compile on alpha without this LDFLAGS
        use alpha && append-ldflags "-Wl,--no-relax"

        # Add full relro support for hardened
        use hardened && append-ldflags "-Wl,-z,relro,-z,now"

        # Setup api key for location services
        echo -n "${_google_api_key}" > "${S}"/google-api-key
        mozconfig_annotate '' --with-google-api-keyfile="${S}/google-api-key"

        mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
        mozconfig_annotate '' --disable-mailnews

        # Other ff-specific settings
        mozconfig_annotate '' 
--with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}

        # Allow for a proper pgo build
        if use pgo; then
                echo "mk_add_options PROFILE_GEN_SCRIPT='\$(PYTHON) 
\$(OBJDIR)/_profile/pgo/profileserver.py'" >> "${S}"/.mozconfig
        fi

        echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig

        # Finalize and report settings
        mozconfig_final

        if [[ $(gcc-major-version) -lt 4 ]]; then
                append-cxxflags -fno-stack-protector
        elif [[ $(gcc-major-version) -gt 4 || $(gcc-minor-version) -gt 3 ]]; 
then
                if use amd64 || use x86; then
                        append-flags -mno-avx
                fi
        fi
}

src_compile() {
        if use pgo; then
                addpredict /root
                addpredict /etc/gconf
                # Reset and cleanup environment variables used by GNOME/XDG
                gnome2_environment_reset

                # Firefox tries to use dri stuff when it's run, see bug 380283
                shopt -s nullglob
                cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
                if test -z "${cards}"; then
                        cards=$(echo -n /dev/ati/card* /dev/nvidiactl* | sed 
's/ /:/g')
                        if test -n "${cards}"; then
                                # Binary drivers seem to cause access 
violations anyway, so
                                # let's use indirect rendering so that the 
device files aren't
                                # touched at all. See bug 394715.
                                export LIBGL_ALWAYS_INDIRECT=1
                        fi
                fi
                shopt -u nullglob
                addpredict "${cards}"

                CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
                MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \
                Xemake -f client.mk profiledbuild || die "Xemake failed"
        else
                CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
                MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \
                emake -f client.mk
        fi

}

src_install() {
        MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
        DICTPATH="\"${EPREFIX}/usr/share/myspell\""

        cd "${BUILD_OBJ_DIR}" || die

        # Pax mark xpcshell for hardened support, only used for startupcache 
creation.
        pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell

        # Add our default prefs for firefox
        cp "${FILESDIR}"/gentoo-default-prefs.js-1 \
                
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
                || die

        # Set default path to search for dictionaries.
        echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \
                >> 
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
                || die

        echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
                
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
                || die

        local plugin
        use gmp-autoupdate || for plugin in \
        gmp-gmpopenh264 ; do
                echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
                        
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
                        || die
        done

        MOZ_MAKE_FLAGS="${MAKEOPTS}" \
        emake DESTDIR="${D}" install

        # Install language packs
        mozlinguas_src_install

        local size sizes icon_path icon name
        if use bindist; then
                sizes="16 32 48"
                icon_path="${S}/browser/branding/aurora"
                # Firefox's new rapid release cycle means no more codenames
                # Let's just stick with this one...
                icon="aurora"
                name="Aurora"
        else
                sizes="16 22 24 32 256"
                icon_path="${S}/browser/branding/official"
                icon="${PN}"
                name="Mozilla Firefox"
        fi

        # Install icons and .desktop for menu entry
        for size in ${sizes}; do
                insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
                newins "${icon_path}/default${size}.png" "${icon}.png"
        done
        # The 128x128 icon has a different name
        insinto "/usr/share/icons/hicolor/128x128/apps"
        newins "${icon_path}/mozicon128.png" "${icon}.png"
        # Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
        newicon "${icon_path}/content/icon48.png" "${icon}.png"
        newmenu "${FILESDIR}/icon/${PN}.desktop" "${PN}.desktop"
        sed -i -e "s:@NAME@:${name}:" -e "s:@ICON@:${icon}:" \
                "${ED}/usr/share/applications/${PN}.desktop" || die

        # Add StartupNotify=true bug 237317
        if use startup-notification ; then
                echo "StartupNotify=true"\
                         >> "${ED}/usr/share/applications/${PN}.desktop" \
                        || die
        fi

        # Required in order to use plugins and even run firefox on hardened.
        if use jit; then
                pax-mark m 
"${ED}"${MOZILLA_FIVE_HOME}/{firefox,firefox-bin,plugin-container}
        else
                pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/plugin-container
        fi

        if use minimal; then
                rm -r "${ED}"/usr/include 
"${ED}${MOZILLA_FIVE_HOME}"/{idl,include,lib,sdk} \
                        || die "Failed to remove sdk and headers"
        fi

        # very ugly hack to make firefox not sigbus on sparc
        # FIXME: is this still needed??
        use sparc && { sed -e 's/Firefox/FirefoxGentoo/g' \
                                         -i 
"${ED}/${MOZILLA_FIVE_HOME}/application.ini" \
                                        || die "sparc sed failed"; }

        # revdep-rebuild entry
        insinto /etc/revdep-rebuild
        echo "SEARCH_DIRS_MASK=${MOZILLA_FIVE_HOME}" >> ${T}/10firefox
        doins "${T}"/10${PN} || die
}

pkg_preinst() {
        gnome2_icon_savelist
}

pkg_postinst() {
        # Update mimedb for the new .desktop file
        fdo-mime_desktop_database_update
        gnome2_icon_cache_update
}

pkg_postrm() {
        gnome2_icon_cache_update
}




Reply via email to