commit:     7e4a744a2505db6f7f3e639e459537ad39d57346
Author:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Fri Sep  2 13:54:51 2016 +0000
Commit:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Fri Sep  2 13:54:51 2016 +0000
URL:        https://gitweb.gentoo.org/proj/mozilla.git/commit/?id=7e4a744a

www-client/firefox-49.0: committing initial ebuild with beta8 codebase

 www-client/firefox/Manifest                     |   2 +
 www-client/firefox/files/firefox-48.0-pgo.patch |  12 +
 www-client/firefox/firefox-49.0_beta8.ebuild    | 369 ++++++++++++++++++++++++
 3 files changed, 383 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 33bd4b1..4ac58ab 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -177,3 +177,5 @@ DIST firefox-48.0-xh.xpi 443336 SHA256 
c16a47017795844456d029dbac215cec71cd09c8f
 DIST firefox-48.0-zh-CN.xpi 469205 SHA256 
5e6008806e9e2351aa25ed4158ec5b2756fa0a72ea8c544707391540f2083fa4 SHA512 
b4bb864f18c527e6d3e252a45fcfb3ff5eafde67a85792ae8c862af63d6abaece612316615f4b89b73b76ada734c5f8764a75ec633b830fc128eb8d79a4773bd
 WHIRLPOOL 
fcd85686cba910a0fab8225d4607620f68b0ffd2ee82fab7c64660b82bda13be3b198c8e84df747ccd62b0b8cc47bcaaf6001bbed5d3f4335004027a41d22b46
 DIST firefox-48.0-zh-TW.xpi 471419 SHA256 
e012cd3a41acd21206f76326f2b08e2f458785d826e58300c354e5db3354b98c SHA512 
d74cb21838de35e6324a8af43a5f24bc469e5becfaa2a2efb8caf09aaba3b86484f3168d14189031fd8225c1cf469ee60a57ada984d9850a395e819e784e8112
 WHIRLPOOL 
81f730bf571066d87caa0a4213f446d0827a68a1cdbbe94e6bd2e0d1caf0a81f32760685802d4115a05676ffdf82fc13f6c928128e6f854a0a19a7c13c0c632e
 DIST firefox-48.0.source.tar.xz 188339876 SHA256 
f474113a1ee75a01d43e270bf438ba78b9f7f2e397a66652b43603235fa76e21 SHA512 
51bbb1954920b4d0e49e2834939748e596ed27c09a45adeea2be2cfbd32898dae41f13db17318e9699fa96c41fb50fba9966df1f88deeadc0ae3bdd679bd79c5
 WHIRLPOOL 
f37b1b3ae7d775c5ce12bb7d2abf4983adad498e73e317e5f96a164783d1deadebce5ada3ee38916dab7c86d71b52ebbb10a5dc703af5d5d4ff42af1d4abeefa
+DIST firefox-49.0-patches-01.tar.xz 12264 SHA256 
18824e451fd2a842d03d4cd067f87e28cd45e74cc119a83cb98f002ba0827373 SHA512 
4062c548142e9b16d9a7be68879276b584df52aff61a7d3fc92e36f4c6a289115f45714de79e9d176792b197ada99560e0d21b85068d815653b87341bdf03f8d
 WHIRLPOOL 
58cc6c60ea34c64595497606b1fd18486d11ccc61220c27671d13eebc89cca709a448ac884a55d089e008012a2221de7d8ee350bd235eb13cfae9e1da62a2d0d
+DIST firefox-49.0b8.source.tar.xz 189272336 SHA256 
52fe6d7cb2eca42f3e55ace2de02c99f450901f53e6213a4394fc83e3d0ec988 SHA512 
c24c490bf4fc84a3fe7ed216179421eca83f997b6bdccfbf72d0a2e2be71bb8d91d35ca2c8c7ded0eed52ab6f5000a60062684173d4bf7e9e0290b3ca9b61862
 WHIRLPOOL 
82f35a82955f7c8fffadf18d8582c62a95f9df8d893f881bb94111a022a0f3ecc1e0a5b1237d0850500d2427d65c09e1f5d57f473f191f897f79ff2251595225

diff --git a/www-client/firefox/files/firefox-48.0-pgo.patch 
b/www-client/firefox/files/firefox-48.0-pgo.patch
new file mode 100644
index 0000000..645c008
--- /dev/null
+++ b/www-client/firefox/files/firefox-48.0-pgo.patch
@@ -0,0 +1,12 @@
+--- firefox-47.0.1/Makefile.in.orig    2016-06-01 07:11:37.000000000 +0300
++++ firefox-47.0.1/Makefile.in 2016-08-06 16:45:14.442699244 +0300
+@@ -55,6 +55,9 @@
+ endif
+ endif
+ 
++pgo-profile-run:
++      $(PYTHON) $(topsrcdir)/build/pgo/profileserver.py $(EXTRA_TEST_ARGS)
++
+ ifdef JS_STANDALONE
+ .PHONY: CLOBBER
+ CLOBBER:

diff --git a/www-client/firefox/firefox-49.0_beta8.ebuild 
b/www-client/firefox/firefox-49.0_beta8.ebuild
new file mode 100644
index 0000000..181f1b2
--- /dev/null
+++ b/www-client/firefox/firefox-49.0_beta8.ebuild
@@ -0,0 +1,369 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+VIRTUALX_REQUIRED="pgo"
+WANT_AUTOCONF="2.1"
+MOZ_ESR=""
+
+# This list can be updated with scripts/get_langs.sh from the mozilla overlay
+# Excluding cak, dsb, ff, gn, lij as they arent on the gentoo list
+MOZ_LANGS=( ach af an ar as ast az 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 hsb hu hy-AM id is it ja kk km kn ko lt
+lv mai mk ml mr ms 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 uz 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 different version numbers
+       MOZ_PV="${MOZ_PV}esr"
+fi
+
+# Patch version
+PATCH="${PN}-49.0-patches-01"
+MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases";
+
+#MOZCONFIG_OPTIONAL_QT5=1 -- fails to build so leave it off until the code can 
be patched
+MOZCONFIG_OPTIONAL_GTK2ONLY=1
+MOZCONFIG_OPTIONAL_WIFI=1
+MOZCONFIG_OPTIONAL_JIT="enabled"
+
+inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils 
mozconfig-v6.48 pax-utils fdo-mime autotools virtualx mozlinguas-v2
+
+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 egl hardened +hwaccel pgo selinux +gmp-autoupdate test"
+RESTRICT="!bindist? ( bindist )"
+
+PATCH_URIS=( 
https://dev.gentoo.org/~{anarchy,axs,polynomial-c}/mozilla/patchsets/${PATCH}.tar.xz
 )
+SRC_URI="${SRC_URI}
+       ${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz
+       ${PATCH_URIS[@]}"
+
+ASM_DEPEND=">=dev-lang/yasm-1.1"
+
+RDEPEND="
+       >=dev-libs/nss-3.24
+       >=dev-libs/nspr-4.12
+       selinux? ( sec-policy/selinux-mozilla )"
+
+DEPEND="${RDEPEND}
+       pgo? ( >=sys-devel/gcc-4.5 )
+       amd64? ( ${ASM_DEPEND} virtual/opengl )
+       x86? ( ${ASM_DEPEND} virtual/opengl )"
+
+S="${WORKDIR}/firefox-${MOZ_PV}"
+
+QA_PRESTRIPPED="usr/lib*/${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
+}
+
+src_unpack() {
+       unpack ${A}
+
+       # Unpack language packs
+       mozlinguas_src_unpack
+}
+
+src_prepare() {
+       # Apply our patches
+       eapply "${WORKDIR}/firefox" \
+               "${FILESDIR}"/${PN}-48.0-pgo.patch
+#              "${FILESDIR}"/${PN}-45-qt-widget-fix.patch
+
+       if ! tc-ld-is-gold && has_version ">=sys-devel/binutils-2.26" ; then
+               eapply "${FILESDIR}"/xpcom-components-binutils-26.patch
+       fi
+
+       # 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
+
+       # Keep codebase the same even if not using official branding
+       sed '/^MOZ_DEV_EDITION=1/d' \
+               -i "${S}"/browser/branding/aurora/configure.sh || die
+
+       # Allow user to apply any additional patches without modifing ebuild
+       eapply_user
+
+       # Autotools configure is now called old-configure.in
+       # This works because there is still a configure.in that happens to be 
for the
+       # shell wrapper configure script
+       eautoreconf old-configure.in
+
+       # Must run autoconf in js/src
+       cd "${S}"/js/src || die
+#      /usr/bin/autoconf-2.13 -l ${SYSROOT}/usr/share/aclocal old-configure.in
+       eautoconf old-configure.in
+
+       # Need to update jemalloc's configure
+       cd "${S}"/memory/jemalloc/src || die
+       WANT_AUTOCONF= eautoconf
+}
+
+src_configure() {
+       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"
+
+       # Only available on mozilla-overlay for experimentation -- Removed in 
Gentoo repo per bug 571180
+       use egl && mozconfig_annotate 'Enable EGL as GL provider' 
--with-gl-provider=EGL
+
+       # 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}"
+
+       # Allow for a proper pgo build
+       if use pgo; then
+               echo "mk_add_options PROFILE_GEN_SCRIPT='EXTRA_TEST_ARGS=10 
\$(MAKE) -C \$(MOZ_OBJDIR) pgo-profile-run'" >> "${S}"/.mozconfig
+       fi
+
+       echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
+       echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
+
+       # Finalize and report settings
+       mozconfig_final
+
+       if [[ $(gcc-major-version) -lt 4 ]]; then
+               append-cxxflags -fno-stack-protector
+       fi
+
+       # workaround for funky/broken upstream configure...
+       SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
+       emake -f client.mk configure
+}
+
+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}"
+
+               MOZ_MAKE_FLAGS="${MAKEOPTS}" 
SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
+               virtx emake -f client.mk profiledbuild || die "virtx emake 
failed"
+       else
+               MOZ_MAKE_FLAGS="${MAKEOPTS}" 
SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
+               emake -f client.mk realbuild
+       fi
+
+}
+
+src_install() {
+       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
+
+       mozconfig_install_prefs \
+               
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js"
+
+       # Augment this with hwaccel prefs
+       if use hwaccel ; then
+               cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-1 >> \
+               
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+               || die
+       fi
+
+       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"
+
+               # Override preferences to set the MOZ_DEV_EDITION defaults, 
since we
+               # don't define MOZ_DEV_EDITION to avoid profile debaucles.
+               # (source: browser/app/profile/firefox.js)
+               cat 
>>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" 
<<PROFILE_EOF
+pref("app.feedback.baseURL", 
"https://input.mozilla.org/%LOCALE%/feedback/firefoxdev/%VERSION%/";);
+sticky_pref("lightweightThemes.selectedThemeID", 
"[email protected]");
+sticky_pref("browser.devedition.theme.enabled", true);
+sticky_pref("devtools.theme", "dark");
+PROFILE_EOF
+
+       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, 
with jit useflag.
+       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
+
+       # 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"; }
+}
+
+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