firefox-17.0-r1.ebuild added.

This commit is contained in:
Kolan Sh 2012-11-28 19:22:59 +04:00
parent 93740821d9
commit 474cc0c2d4
2 changed files with 380 additions and 0 deletions

View File

@ -66,6 +66,7 @@ DIST firefox-17.0-nn-NO.xpi 287844 SHA256 12977d65fb9403b3a0f0a810117d3273c73c2b
DIST firefox-17.0-nso.xpi 288150 SHA256 f0235a8a61d5d1cf0a90646ab6ee460212a26c73c31811414a51928cc106a216 SHA512 6f90b1305687b16cba0c85c0bdf9b755bfda38578c310643bae2c6124b157166ff9c5f246bbef3246f1bf3e0553bab77c183d9a324fa5f0f2618eadf2c76efde WHIRLPOOL 8fd699c8cf7d8d580129fb27b2fb29421d9acfbc212c1e9b0a66352ae917039979e1bcefcd58c9b3d99d96a411e54bdfa1d21ca2ebae036bd67273552d3b4ef6
DIST firefox-17.0-or.xpi 329684 SHA256 710e72d3e49a942ef2f98dad2e2861a45a842d8ab28e7bf5159ab72d855eea9a SHA512 822b5f1b9e1298e27c18944beb6f192f78b058882dbf06c599210395f0ccb5085ca9c8c066101aa94cadc7b5817612f92643ba28c0505f6a22784bee4eb4eab4 WHIRLPOOL cdc92448fab7f33e5545e1ad1bc95547e34a8b443de3d67f3db49259afd89c356ce3808a433e42580d432d3b9128a35877036c7e40e9b86e5e57cf8486eef3e2
DIST firefox-17.0-pa-IN.xpi 318503 SHA256 7ee5f6cee04f9abab8f163d8bde119e41e48458323d20821f3444b6842276023 SHA512 e6c235e7618266ecb34544fbd1d6e6a3891195e42bdd869bb870c33a8d56fe2211cdf8c56c7ad0c81c8f85f450b8602860317dd887cda56938a068d4b952d00a WHIRLPOOL e2e2cd58eebabfa895496d4d9988996e40817e8747130ebd6dee6ff0bff4eff533673c5e5a86230285cf92587d07c858272f0c7c9676ab36769a9dcb62f1de7f
DIST firefox-17.0-patches-0.1.tar.xz 9920 SHA256 71e2391c98ac4d699c6fee51d507143f08e874cd7eca7a35d1001ff2ec2811f5 SHA512 b5e08cec9671f6a8226a76e383b6d1b2cc20a35ffb524c0736533098121e9eeece2706675ef7b34f6a851b10ebc19a79390aba0a8ea427c25252222e21ec7e29 WHIRLPOOL 879a1d35b24fbb4d1918d784d76bf884f88e8473dc794eef882f81d14c5e8b7f7f35fceecff1fbf9a4bfd238a5361c3dccb98c777677b7723db72bebf316b6b8
DIST firefox-17.0-pl.xpi 301035 SHA256 13dc5db2ee1625ef52a9865f538dd7259fbdbd82d8c5825b1a4c6cc3fabcfd55 SHA512 b00abc27494170b75283f5b6c0fdb5b7839c38c5b13874792f6e7eb64362c257fa3af645737ffec0d254639944fe758c0365d7c8383b2fd1ff8ab7e068459ac7 WHIRLPOOL f3c0d1a8a787b72ec350dc83718748aae12eba6b22347d84fdc3ba906c977d898a92e8a1f7de031483d538c306e471dd10f3218c0d9eb1f9e5b3a9f9ef69e938
DIST firefox-17.0-pt-BR.xpi 289243 SHA256 e2d85d9153fd606fb1f49e07591ce43742ee20e717acb2b63e0f3db647cb5660 SHA512 e8e6f356d964f210f7e4d2323f7c387565e60a2086242fbafdc9db8eb40ee2297470cbf0afffe6fc1a1f5f75fe476e5cc507eb0eb7db01f36ef205eb263cfc1b WHIRLPOOL efb39b4a05077fa2c7fafb09861e358b4c91994ff1642aad187eb2b36d584e62d788bb03ad61b5848b1fd98097df4d710ff804a02ca71c4d6d3ff3b5e8cd23c5
DIST firefox-17.0-pt-PT.xpi 291457 SHA256 50e25ab3af372def18af0070bbda5c212bcf488b73783d12435b7055c449126b SHA512 dc8bf6ed5031f7d2c4f2a2b396f6e107305bfac6eef203070511042171eeefad09da7b0a8313a88137370202232d35e86853543844b61b6be40ce9553b041ba0 WHIRLPOOL a9ab208802566c05ad26a1cc06760d92dffba9998a40bb4db648b513fd8eef66cfc8dec90c4dc42136120df0dccde04ab1a45eb1feb641543ffdbc65cf01614f
@ -90,4 +91,5 @@ DIST firefox-17.0-zh-CN.xpi 304250 SHA256 111256e6a6960aaf8c737d24a024b5c2613196
DIST firefox-17.0-zh-TW.xpi 305437 SHA256 a11e96586b0e880a04a3d32f6a9251e8555b61eede0faa32b8c2365bb821ad76 SHA512 a0c898909c3eba9d3284ee867135d12d1fabd1345bcd8bb6f4dc33d60984d9727a4a948232c643567985c8321f3fb093e95f03f09a034342bff6e0ff4a954b77 WHIRLPOOL 250faef25402876df45c84e3ed579643175fec217187bfa1b949817aed337d538c78ca61d857dee27a4697732eefc925e79f448c5a29a0b16fad493d48f033dd
DIST firefox-17.0-zu.xpi 296594 SHA256 52a3f87725cda80949d9d57c47f59d066ae7cf833de047681851401b97401229 SHA512 d75937a4d31321527b6b3682f73bbacb94fd7721f88151b8ee93f3e4dbb7eaffc459e6e0f9ff2a38734d9f0b10b7fff2d0f032f0d1dd7260bfb2ada2d880887b WHIRLPOOL 0d4a421a44eabf46168a328dda6edc1d90aab77bee64a5b1992ee49ce2c9b08935300fdace8a7f86db11eebff094b3d097782583c374bcd65bd16b8faf26d96b
DIST firefox-17.0.source.tar.bz2 90780755 SHA256 7f05658701be88505747ea3537546b98a1c0e74ba23ba428d754ea838a192348 SHA512 2f5d4242d4cb2488d35a961bfd62a87cfdda7b119c8c502ce9cff54b0ce71f1f34016f30383284b424e8904c9c75a543cfcae0e2d40b7eed7cd0e4e55fdf6f55 WHIRLPOOL e837fc455ae55f045cc8d3e67683c52da6b3f71d0867b13e9d7d78b709127d0dd1e9a25832f64fb84880dc391433f7acde49067210093b6286059eb683a6e7cb
EBUILD firefox-17.0-r1.ebuild 11809 SHA256 2eee062af8330e20f1ee035cbdfaeae17dcd72f6c1a4b45e19c432d9baa94330 SHA512 d40e05941e88fd30d2ee3e96c500f6d5f329c28edb0eab6197ac62fb9d9dfcd26fe4409b326f5b49c1f9e93443ce6624fdb0678da5cf392d575607f9afb192bf WHIRLPOOL 045e359f43be0dbd6f80ad59a294245395b926ca64f99bbeefee84837f4ed2d3f86e4d2d38b0d70fee68b2fd08006eccd73669122718c7920a5f576d735cd289
EBUILD firefox-17.0.ebuild 11811 SHA256 6ae3742634a93e458ebfc0b84c93762af5d932a37189134ad6e64c7f0581b503 SHA512 68c24a99237f84110927fce3e8864ee93628ad846420cbbd239add23448547494319c43cfcf26bb2b825d2caba29e1b3a99351fbae08556625d12e4a8a32276b WHIRLPOOL 357f5006cce9ecf855b2596513ac7056b73179a688e6cade51c307f485218d445b55f14cd38e98b0e71f67afce75312aca9affcaea6966be30454c6224287631

View File

@ -0,0 +1,378 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-17.0-r1.ebuild,v 1.1 2012/11/25 12:20:27 anarchy Exp $
EAPI="3"
VIRTUALX_REQUIRED="pgo"
WANT_AUTOCONF="2.1"
MOZ_ESR=""
# This list can be updated with scripts/get_langs.sh from the mozilla overlay
MOZ_LANGS=(af ak 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
lg lt lv mai mk ml mr nb-NO nl nn-NO nso or pa-IN pl pt-BR pt-PT rm ro
ru si sk sl son sq sr sv-SE ta ta-LK te th tr uk vi 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}-17.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/"
inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils mozconfig-3 multilib pax-utils fdo-mime autotools python virtualx nsplugins mozlinguas
DESCRIPTION="Firefox Web Browser"
HOMEPAGE="http://www.mozilla.com/firefox"
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
SLOT="0"
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
IUSE="bindist gstreamer +ipc +jit +minimal pgo selinux system-sqlite +webm"
# More URIs appended below...
SRC_URI="${SRC_URI}
http://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCH}.tar.xz
http://dev.gentoo.org/~nirbheek/mozilla/patchsets/${PATCH}.tar.xz"
ASM_DEPEND=">=dev-lang/yasm-1.1"
# Mesa 7.10 needed for WebGL + bugfixes
RDEPEND="
>=sys-devel/binutils-2.16.1
>=dev-libs/nss-3.13.6
>=dev-libs/nspr-4.9.2
>=dev-libs/glib-2.26:2
>=media-libs/mesa-7.10
>=media-libs/libpng-1.5.11[apng]
virtual/libffi
gstreamer? (
>=media-libs/gstreamer-0.10.33:0.10
>=media-libs/gst-plugins-base-0.10.33:0.10 )
system-sqlite? ( >=dev-db/sqlite-3.7.13[fts3,secure-delete,threadsafe,unlock-notify,debug=] )
webm? ( >=media-libs/libvpx-1.0.0
media-libs/alsa-lib )
selinux? ( sec-policy/selinux-mozilla )"
# We don't use PYTHON_DEPEND/PYTHON_USE_WITH for some silly reason
DEPEND="${RDEPEND}
dev-python/pysqlite
virtual/pkgconfig
pgo? (
=dev-lang/python-2*[sqlite]
>=sys-devel/gcc-4.5 )
webm? ( x86? ( ${ASM_DEPEND} )
amd64? ( ${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"
else
SRC_URI="${SRC_URI}
${MOZ_FTP_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
# 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
EPATCH_SUFFIX="patch" \
EPATCH_FORCE="yes" \
epatch "${WORKDIR}/firefox"
# 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
# Disable gnomevfs extension
sed -i -e "s:gnomevfs::" "${S}/"browser/confvars.sh \
-e "s:gnomevfs::" "${S}/"xulrunner/confvars.sh \
|| die "Failed to remove gnomevfs extension"
# Ensure that are plugins dir is enabled as default
sed -i -e "s:/usr/lib/mozilla/plugins:/usr/$(get_libdir)/nsbrowser/plugins:" \
"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path!"
# Fix sandbox violations during make clean, bug 372817
sed -e "s:\(/no-such-file\):${T}\1:g" \
-i "${S}"/config/rules.mk \
-i "${S}"/js/src/config/rules.mk \
-i "${S}"/nsprpub/configure{.in,} \
|| die
#Fix compilation with curl-7.21.7 bug 376027
sed -e '/#include <curl\/types.h>/d' \
-i "${S}"/toolkit/crashreporter/google-breakpad/src/common/linux/http_upload.cc \
-i "${S}"/toolkit/crashreporter/google-breakpad/src/common/linux/libcurl_wrapper.cc \
-i "${S}"/config/system-headers \
-i "${S}"/js/src/config/system-headers || die "Sed failed"
# 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
}
src_configure() {
MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
MEXTENSIONS="default"
####################################
#
# 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"
# We must force enable jemalloc 3 threw .mozconfig
echo "export MOZ_JEMALLOC=1" >> ${S}/.mozconfig
mozconfig_annotate '' --prefix="${EPREFIX}"/usr
mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
mozconfig_annotate '' --disable-gconf
mozconfig_annotate '' --disable-mailnews
mozconfig_annotate '' --enable-canvas
mozconfig_annotate '' --enable-safe-browsing
mozconfig_annotate '' --with-system-png
mozconfig_annotate '' --enable-system-ffi
# Other ff-specific settings
mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}
mozconfig_annotate '' --target="${CTARGET:-${CHOST}}"
mozconfig_annotate '' --build="${CTARGET:-${CHOST}}"
mozconfig_use_enable gstreamer
mozconfig_use_enable system-sqlite
# Both methodjit and tracejit conflict with PaX
mozconfig_use_enable jit methodjit
mozconfig_use_enable jit tracejit
# 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 -n "${cards}"; then
# FOSS drivers are fine
addpredict "${cards}"
else
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
CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
MOZ_MAKE_FLAGS="${MAKEOPTS}" \
Xemake -f client.mk profiledbuild || die "Xemake failed"
else
CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
MOZ_MAKE_FLAGS="${MAKEOPTS}" \
emake -f client.mk || die "emake failed"
fi
}
src_install() {
MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
# 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}"
# Without methodjit and tracejit there's no conflict with PaX
if use jit; then
# Pax mark xpcshell for hardened support, only used for startupcache creation.
pax-mark m "${S}/${obj_dir}"/dist/bin/xpcshell
fi
# Add our default prefs for firefox
cp "${FILESDIR}"/gentoo-default-prefs.js-1 \
"${S}/${obj_dir}/dist/bin/defaults/preferences/all-gentoo.js" || die
MOZ_MAKE_FLAGS="${MAKEOPTS}" \
emake DESTDIR="${D}" install || die "emake install failed"
# 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" || die
done
# The 128x128 icon has a different name
insinto "/usr/share/icons/hicolor/128x128/apps"
newins "${icon_path}/mozicon128.png" "${icon}.png" || die
# Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
newicon "${icon_path}/content/icon48.png" "${icon}.png" || die
newmenu "${FILESDIR}/icon/${PN}.desktop" "${PN}.desktop" || die
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"
fi
# Without methodjit and tracejit there's no conflict with PaX
if use jit; then
# Required in order to use plugins and even run firefox on hardened.
pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/{firefox,firefox-bin}
fi
# Plugin-container needs to be pax-marked for hardened to ensure plugins such as flash
# continue to work as expected.
pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/plugin-container
# Plugins dir
share_plugins_dir
if use minimal; then
rm -rf "${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"; }
}
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
}