From: "Ian Stakenvicius" <axs@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/mozilla:master commit in: www-client/firefox/files/, www-client/firefox/
Date: Fri, 2 Sep 2016 13:55:32 +0000 (UTC) [thread overview]
Message-ID: <1472824491.7e4a744a2505db6f7f3e639e459537ad39d57346.axs@gentoo> (raw)
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", "firefox-devedition@mozilla.org");
+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
+}
next reply other threads:[~2016-09-02 13:55 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-02 13:55 Ian Stakenvicius [this message]
-- strict thread matches above, loose matches on Subject: below --
2021-12-17 10:56 [gentoo-commits] proj/mozilla:master commit in: www-client/firefox/files/, www-client/firefox/ Joonas Niilola
2020-04-08 2:01 Jory Pratt
2020-02-14 2:34 Jory Pratt
2019-09-14 20:35 Jory Pratt
2018-11-04 14:59 Thomas Deutschmann
2018-03-31 14:11 Lars Wendler
2017-06-06 4:39 Jory Pratt
2017-05-12 21:11 Ian Stakenvicius
2017-01-17 17:30 Jory Pratt
2017-01-13 16:38 Jory Pratt
2016-09-22 14:39 Ian Stakenvicius
2016-08-03 20:48 Ian Stakenvicius
2016-04-05 20:29 Ian Stakenvicius
2016-03-12 19:30 Ian Stakenvicius
2016-02-04 16:39 Ian Stakenvicius
2016-01-15 2:30 Jory Pratt
2015-12-23 21:30 [gentoo-commits] proj/mozilla:crossdev commit in: www-client/firefox/, www-client/firefox/files/ Ian Stakenvicius
2015-12-23 21:06 ` [gentoo-commits] proj/mozilla:master commit in: www-client/firefox/files/, www-client/firefox/ Ian Stakenvicius
2015-10-21 20:41 Ian Stakenvicius
2015-03-01 18:41 Ian Stakenvicius
2014-12-04 21:15 Ian Stakenvicius
2014-10-16 21:18 Ian Stakenvicius
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1472824491.7e4a744a2505db6f7f3e639e459537ad39d57346.axs@gentoo \
--to=axs@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox