fixup! www-client/firefox: Keep latest 44 revision, the latest that works on ARM
This commit is contained in:
parent
a1fa4e6f52
commit
0ddf1fbc45
261
eclass/mozcoreconf-v3.eclass
Normal file
261
eclass/mozcoreconf-v3.eclass
Normal file
@ -0,0 +1,261 @@
|
|||||||
|
# Copyright 1999-2015 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
# @ECLASS: mozcoreconf.eclass
|
||||||
|
# @MAINTAINER:
|
||||||
|
# Mozilla team <mozilla@gentoo.org>
|
||||||
|
# @BLURB: core options and configuration functions for mozilla
|
||||||
|
# @DESCRIPTION:
|
||||||
|
#
|
||||||
|
# inherit mozconfig-v5.* or above for mozilla configuration support
|
||||||
|
|
||||||
|
if [[ ! ${_MOZCORECONF_V3} ]]; then
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python2_7 )
|
||||||
|
PYTHON_REQ_USE='ncurses,sqlite,ssl,threads'
|
||||||
|
|
||||||
|
inherit multilib flag-o-matic python-any-r1 versionator
|
||||||
|
|
||||||
|
IUSE="${IUSE} custom-cflags custom-optimization"
|
||||||
|
|
||||||
|
DEPEND="virtual/pkgconfig
|
||||||
|
${PYTHON_DEPS}"
|
||||||
|
|
||||||
|
# @FUNCTION: mozconfig_annotate
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# add an annotated line to .mozconfig
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# mozconfig_annotate "building on ultrasparc" --enable-js-ultrasparc
|
||||||
|
# => ac_add_options --enable-js-ultrasparc # building on ultrasparc
|
||||||
|
mozconfig_annotate() {
|
||||||
|
declare reason=$1 x ; shift
|
||||||
|
[[ $# -gt 0 ]] || die "mozconfig_annotate missing flags for ${reason}\!"
|
||||||
|
for x in ${*}; do
|
||||||
|
echo "ac_add_options ${x} # ${reason}" >>.mozconfig
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# @FUNCTION: mozconfig_use_enable
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# add a line to .mozconfig based on a USE-flag
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# mozconfig_use_enable truetype freetype2
|
||||||
|
# => ac_add_options --enable-freetype2 # +truetype
|
||||||
|
mozconfig_use_enable() {
|
||||||
|
declare flag=$(use_enable "$@")
|
||||||
|
mozconfig_annotate "$(use $1 && echo +$1 || echo -$1)" "${flag}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# @FUNCTION mozconfig_use_with
|
||||||
|
# @DESCRIPTION
|
||||||
|
# add a line to .mozconfig based on a USE-flag
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# mozconfig_use_with kerberos gss-api /usr/$(get_libdir)
|
||||||
|
# => ac_add_options --with-gss-api=/usr/lib # +kerberos
|
||||||
|
mozconfig_use_with() {
|
||||||
|
declare flag=$(use_with "$@")
|
||||||
|
mozconfig_annotate "$(use $1 && echo +$1 || echo -$1)" "${flag}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# @FUNCTION mozconfig_use_extension
|
||||||
|
# @DESCRIPTION
|
||||||
|
# enable or disable an extension based on a USE-flag
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# mozconfig_use_extension gnome gnomevfs
|
||||||
|
# => ac_add_options --enable-extensions=gnomevfs
|
||||||
|
mozconfig_use_extension() {
|
||||||
|
declare minus=$(use $1 || echo -)
|
||||||
|
mozconfig_annotate "${minus:-+}$1" --enable-extensions=${minus}${2}
|
||||||
|
}
|
||||||
|
|
||||||
|
moz_pkgsetup() {
|
||||||
|
# Ensure we use C locale when building
|
||||||
|
export LANG="C"
|
||||||
|
export LC_ALL="C"
|
||||||
|
export LC_MESSAGES="C"
|
||||||
|
export LC_CTYPE="C"
|
||||||
|
|
||||||
|
# Ensure that we have a sane build enviroment
|
||||||
|
export MOZILLA_CLIENT=1
|
||||||
|
export BUILD_OPT=1
|
||||||
|
export NO_STATIC_LIB=1
|
||||||
|
export USE_PTHREADS=1
|
||||||
|
export ALDFLAGS=${LDFLAGS}
|
||||||
|
# ensure MOZCONFIG is not defined
|
||||||
|
eval unset MOZCONFIG
|
||||||
|
|
||||||
|
# nested configure scripts in mozilla products generate unrecognized options
|
||||||
|
# false positives when toplevel configure passes downwards.
|
||||||
|
export QA_CONFIGURE_OPTIONS=".*"
|
||||||
|
|
||||||
|
if [[ $(gcc-major-version) -eq 3 ]]; then
|
||||||
|
ewarn "Unsupported compiler detected, DO NOT file bugs for"
|
||||||
|
ewarn "outdated compilers. Bugs opened with gcc-3 will be closed"
|
||||||
|
ewarn "invalid."
|
||||||
|
fi
|
||||||
|
|
||||||
|
python-any-r1_pkg_setup
|
||||||
|
}
|
||||||
|
|
||||||
|
# @FUNCTION: mozconfig_init
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# Initialize mozilla configuration and populate with core settings.
|
||||||
|
# This should be called in src_configure before any other mozconfig_* functions.
|
||||||
|
mozconfig_init() {
|
||||||
|
declare enable_optimize pango_version myext x
|
||||||
|
declare XUL=$([[ ${PN} == xulrunner ]] && echo true || echo false)
|
||||||
|
declare FF=$([[ ${PN} == firefox ]] && echo true || echo false)
|
||||||
|
declare SM=$([[ ${PN} == seamonkey ]] && echo true || echo false)
|
||||||
|
declare TB=$([[ ${PN} == thunderbird ]] && echo true || echo false)
|
||||||
|
|
||||||
|
####################################
|
||||||
|
#
|
||||||
|
# Setup the initial .mozconfig
|
||||||
|
# See http://www.mozilla.org/build/configure-build.html
|
||||||
|
#
|
||||||
|
####################################
|
||||||
|
|
||||||
|
case ${PN} in
|
||||||
|
*xulrunner)
|
||||||
|
cp xulrunner/config/mozconfig .mozconfig \
|
||||||
|
|| die "cp xulrunner/config/mozconfig failed" ;;
|
||||||
|
*firefox)
|
||||||
|
cp browser/config/mozconfig .mozconfig \
|
||||||
|
|| die "cp browser/config/mozconfig failed" ;;
|
||||||
|
seamonkey)
|
||||||
|
# Must create the initial mozconfig to enable application
|
||||||
|
: >.mozconfig || die "initial mozconfig creation failed"
|
||||||
|
mozconfig_annotate "" --enable-application=suite ;;
|
||||||
|
*thunderbird)
|
||||||
|
# Must create the initial mozconfig to enable application
|
||||||
|
: >.mozconfig || die "initial mozconfig creation failed"
|
||||||
|
mozconfig_annotate "" --enable-application=mail ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
####################################
|
||||||
|
#
|
||||||
|
# CFLAGS setup and ARCH support
|
||||||
|
#
|
||||||
|
####################################
|
||||||
|
|
||||||
|
# Set optimization level
|
||||||
|
if [[ ${ARCH} == hppa ]]; then
|
||||||
|
mozconfig_annotate "more than -O0 causes a segfault on hppa" --enable-optimize=-O0
|
||||||
|
elif [[ ${ARCH} == x86 ]]; then
|
||||||
|
mozconfig_annotate "less then -O2 causes a segfault on x86" --enable-optimize=-O2
|
||||||
|
elif use custom-optimization || [[ ${ARCH} =~ (alpha|ia64) ]]; then
|
||||||
|
# Set optimization level based on CFLAGS
|
||||||
|
if is-flag -O0; then
|
||||||
|
mozconfig_annotate "from CFLAGS" --enable-optimize=-O0
|
||||||
|
elif [[ ${ARCH} == ppc ]] && has_version '>=sys-libs/glibc-2.8'; then
|
||||||
|
mozconfig_annotate "more than -O1 segfaults on ppc with glibc-2.8" --enable-optimize=-O1
|
||||||
|
elif is-flag -O3; then
|
||||||
|
mozconfig_annotate "from CFLAGS" --enable-optimize=-O3
|
||||||
|
elif is-flag -O1; then
|
||||||
|
mozconfig_annotate "from CFLAGS" --enable-optimize=-O1
|
||||||
|
elif is-flag -Os; then
|
||||||
|
mozconfig_annotate "from CFLAGS" --enable-optimize=-Os
|
||||||
|
else
|
||||||
|
mozconfig_annotate "Gentoo's default optimization" --enable-optimize=-O2
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Enable Mozilla's default
|
||||||
|
mozconfig_annotate "mozilla default" --enable-optimize
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Strip optimization so it does not end up in compile string
|
||||||
|
filter-flags '-O*'
|
||||||
|
|
||||||
|
# Strip over-aggressive CFLAGS
|
||||||
|
use custom-cflags || strip-flags
|
||||||
|
|
||||||
|
# Additional ARCH support
|
||||||
|
case "${ARCH}" in
|
||||||
|
alpha)
|
||||||
|
# Historically we have needed to add -fPIC manually for 64-bit.
|
||||||
|
# Additionally, alpha should *always* build with -mieee for correct math
|
||||||
|
# operation
|
||||||
|
append-flags -fPIC -mieee
|
||||||
|
;;
|
||||||
|
|
||||||
|
ia64)
|
||||||
|
# Historically we have needed to add this manually for 64-bit
|
||||||
|
append-flags -fPIC
|
||||||
|
;;
|
||||||
|
|
||||||
|
ppc64)
|
||||||
|
append-flags -fPIC -mminimal-toc
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Go a little faster; use less RAM
|
||||||
|
append-flags "$MAKEEDIT_FLAGS"
|
||||||
|
|
||||||
|
####################################
|
||||||
|
#
|
||||||
|
# mozconfig setup
|
||||||
|
#
|
||||||
|
####################################
|
||||||
|
|
||||||
|
mozconfig_annotate disable_update_strip \
|
||||||
|
--disable-pedantic \
|
||||||
|
--disable-updater \
|
||||||
|
--disable-strip \
|
||||||
|
--disable-install-strip \
|
||||||
|
--disable-installer \
|
||||||
|
--disable-strip-libs
|
||||||
|
|
||||||
|
if [[ ${PN} != seamonkey ]]; then
|
||||||
|
mozconfig_annotate basic_profile \
|
||||||
|
--disable-profilelocking \
|
||||||
|
--enable-single-profile \
|
||||||
|
--disable-profilesharing
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Here is a strange one...
|
||||||
|
if is-flag '-mcpu=ultrasparc*' || is-flag '-mtune=ultrasparc*'; then
|
||||||
|
mozconfig_annotate "building on ultrasparc" --enable-js-ultrasparc
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Currently --enable-elf-dynstr-gc only works for x86,
|
||||||
|
# thanks to Jason Wever <weeve@gentoo.org> for the fix.
|
||||||
|
if use x86 && [[ ${enable_optimize} != -O0 ]]; then
|
||||||
|
mozconfig_annotate "${ARCH} optimized build" --enable-elf-dynstr-gc
|
||||||
|
fi
|
||||||
|
|
||||||
|
# jemalloc won't build with older glibc
|
||||||
|
! has_version ">=sys-libs/glibc-2.4" && mozconfig_annotate "we have old glibc" --disable-jemalloc
|
||||||
|
}
|
||||||
|
|
||||||
|
# @FUNCTION: mozconfig_final
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# Display a table describing all configuration options paired
|
||||||
|
# with reasons, then clean up extensions list.
|
||||||
|
# This should be called in src_configure at the end of all other mozconfig_* functions.
|
||||||
|
mozconfig_final() {
|
||||||
|
declare ac opt hash reason
|
||||||
|
echo
|
||||||
|
echo "=========================================================="
|
||||||
|
echo "Building ${PF} with the following configuration"
|
||||||
|
grep ^ac_add_options .mozconfig | while read ac opt hash reason; do
|
||||||
|
[[ -z ${hash} || ${hash} == \# ]] \
|
||||||
|
|| die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
|
||||||
|
printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
|
||||||
|
done
|
||||||
|
echo "=========================================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Resolve multiple --enable-extensions down to one
|
||||||
|
declare exts=$(sed -n 's/^ac_add_options --enable-extensions=\([^ ]*\).*/\1/p' \
|
||||||
|
.mozconfig | xargs)
|
||||||
|
sed -i '/^ac_add_options --enable-extensions/d' .mozconfig
|
||||||
|
echo "ac_add_options --enable-extensions=${exts// /,}" >> .mozconfig
|
||||||
|
}
|
||||||
|
|
||||||
|
_MOZCORECONF_V3=1
|
||||||
|
fi
|
315
eclass/mozlinguas.eclass
Normal file
315
eclass/mozlinguas.eclass
Normal file
@ -0,0 +1,315 @@
|
|||||||
|
# Copyright 1999-2015 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
# @ECLASS: mozlinguas.eclass
|
||||||
|
# @MAINTAINER:
|
||||||
|
# mozilla@gentoo.org
|
||||||
|
# @AUTHOR:
|
||||||
|
# Nirbheek Chauhan <nirbheek@gentoo.org>
|
||||||
|
# Ian Stakenvicius <axs@gentoo.org>
|
||||||
|
# @BLURB: Handle language packs for mozilla products
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# Sets IUSE according to MOZ_LANGS (language packs available). Also exports
|
||||||
|
# src_unpack, src_compile and src_install for use in ebuilds, and provides
|
||||||
|
# supporting functions for langpack generation and installation.
|
||||||
|
|
||||||
|
inherit mozextension
|
||||||
|
|
||||||
|
case "${EAPI:-0}" in
|
||||||
|
0|1)
|
||||||
|
die "EAPI ${EAPI:-0} does not support the '->' SRC_URI operator";;
|
||||||
|
2|3|4|5|6)
|
||||||
|
EXPORT_FUNCTIONS src_unpack src_compile src_install;;
|
||||||
|
*)
|
||||||
|
die "EAPI ${EAPI} is not supported, contact eclass maintainers";;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# @ECLASS-VARIABLE: MOZ_LANGS
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# Array containing the list of language pack xpis available for
|
||||||
|
# this release. The list can be updated with scripts/get_langs.sh from the
|
||||||
|
# mozilla overlay.
|
||||||
|
: ${MOZ_LANGS:=()}
|
||||||
|
|
||||||
|
# @ECLASS-VARIABLE: MOZ_PV
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# Ebuild package version converted to equivalent upstream version.
|
||||||
|
# Defaults to ${PV}, and should be overridden for alphas, betas, and RCs
|
||||||
|
: ${MOZ_PV:="${PV}"}
|
||||||
|
|
||||||
|
# @ECLASS-VARIABLE: MOZ_PN
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# Ebuild package name converted to equivalent upstream name.
|
||||||
|
# Defaults to ${PN}, and should be overridden for binary ebuilds.
|
||||||
|
: ${MOZ_PN:="${PN}"}
|
||||||
|
|
||||||
|
# @ECLASS-VARIABLE: MOZ_P
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# Ebuild package name + version converted to upstream equivalent.
|
||||||
|
# Defaults to ${MOZ_PN}-${MOZ_PV}
|
||||||
|
: ${MOZ_P:="${MOZ_PN}-${MOZ_PV}"}
|
||||||
|
|
||||||
|
# @ECLASS-VARIABLE: MOZ_FTP_URI
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# The ftp URI prefix for the release tarballs and language packs.
|
||||||
|
: ${MOZ_FTP_URI:=""}
|
||||||
|
|
||||||
|
# @ECLASS-VARIABLE: MOZ_HTTP_URI
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# The http URI prefix for the release tarballs and language packs.
|
||||||
|
: ${MOZ_HTTP_URI:=""}
|
||||||
|
|
||||||
|
# @ECLASS-VARIABLE: MOZ_LANGPACK_PREFIX
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# The relative path till the lang code in the langpack file URI.
|
||||||
|
# Defaults to ${MOZ_PV}/linux-i686/xpi/
|
||||||
|
: ${MOZ_LANGPACK_PREFIX:="${MOZ_PV}/linux-i686/xpi/"}
|
||||||
|
|
||||||
|
# @ECLASS-VARIABLE: MOZ_LANGPACK_SUFFIX
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# The suffix after the lang code in the langpack file URI.
|
||||||
|
# Defaults to '.xpi'
|
||||||
|
: ${MOZ_LANGPACK_SUFFIX:=".xpi"}
|
||||||
|
|
||||||
|
# @ECLASS-VARIABLE: MOZ_LANGPACK_UNOFFICIAL
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# The status of the langpack, used to differentiate within
|
||||||
|
# Manifests and on Gentoo mirrors as to when the langpacks are
|
||||||
|
# generated officially by Mozilla or if they were generated
|
||||||
|
# unofficially by others (ie the Gentoo mozilla team). When
|
||||||
|
# this var is set, the distfile will have a .unofficial.xpi
|
||||||
|
# suffix.
|
||||||
|
: ${MOZ_LANGPACK_UNOFFICIAL:=""}
|
||||||
|
|
||||||
|
# @ECLASS-VARIABLE: MOZ_GENERATE_LANGPACKS
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# This flag specifies whether or not the langpacks should be
|
||||||
|
# generated directly during the build process, rather than
|
||||||
|
# being downloaded and installed from upstream pre-built
|
||||||
|
# extensions. Primarily it supports pre-release builds.
|
||||||
|
# Defaults to empty.
|
||||||
|
: ${MOZ_GENERATE_LANGPACKS:=""}
|
||||||
|
|
||||||
|
# @ECLASS-VARIABLE: MOZ_L10N_SOURCEDIR
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# The path that l10n sources can be found at, once unpacked.
|
||||||
|
# Defaults to ${WORKDIR}/l10n-sources
|
||||||
|
: ${MOZ_L10N_SOURCEDIR:="${WORKDIR}/l10n-sources"}
|
||||||
|
|
||||||
|
# @ECLASS-VARIABLE: MOZ_L10N_URI_PREFIX
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# The full URI prefix of the distfile for each l10n locale. The
|
||||||
|
# AB_CD and MOZ_L10N_URI_SUFFIX will be appended to this to complete the
|
||||||
|
# SRC_URI when MOZ_GENERATE_LANGPACKS is set. If empty, nothing will
|
||||||
|
# be added to SRC_URI.
|
||||||
|
# Defaults to empty.
|
||||||
|
: ${MOZ_L10N_URI_PREFIX:=""}
|
||||||
|
|
||||||
|
# @ECLASS-VARIABLE: MOZ_L10N_URI_SUFFIX
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# The suffix of l10n source distfiles.
|
||||||
|
# Defaults to '.tar.xz'
|
||||||
|
: ${MOZ_L10N_URI_SUFFIX:=".tar.xz"}
|
||||||
|
|
||||||
|
# Add linguas_* to IUSE according to available language packs
|
||||||
|
# No language packs for alphas and betas
|
||||||
|
if ! [[ -n ${MOZ_GENERATE_LANGPACKS} ]] ; then
|
||||||
|
if ! [[ ${PV} =~ alpha|beta ]] || { [[ ${PN} == seamonkey ]] && ! [[ ${PV} =~ alpha ]] ; } ; then
|
||||||
|
[[ -z ${MOZ_FTP_URI} ]] && [[ -z ${MOZ_HTTP_URI} ]] && die "No URI set to download langpacks, please set one of MOZ_{FTP,HTTP}_URI"
|
||||||
|
for x in "${MOZ_LANGS[@]}" ; do
|
||||||
|
# en and en_US are handled internally
|
||||||
|
if [[ ${x} == en ]] || [[ ${x} == en-US ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
SRC_URI+=" linguas_${x/-/_}? ("
|
||||||
|
[[ -n ${MOZ_FTP_URI} ]] && SRC_URI+="
|
||||||
|
${MOZ_FTP_URI}/${MOZ_LANGPACK_PREFIX}${x}${MOZ_LANGPACK_SUFFIX} -> ${MOZ_P}-${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}.xpi"
|
||||||
|
[[ -n ${MOZ_HTTP_URI} ]] && SRC_URI+="
|
||||||
|
${MOZ_HTTP_URI}/${MOZ_LANGPACK_PREFIX}${x}${MOZ_LANGPACK_SUFFIX} -> ${MOZ_P}-${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}.xpi"
|
||||||
|
SRC_URI+=" )"
|
||||||
|
IUSE+=" linguas_${x/-/_}"
|
||||||
|
# We used to do some magic if specific/generic locales were missing, but
|
||||||
|
# we stopped doing that due to bug 325195.
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
for x in "${MOZ_LANGS[@]}" ; do
|
||||||
|
# en and en_US are handled internally
|
||||||
|
if [[ ${x} == en ]] || [[ ${x} == en-US ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
# Do NOT grab l10n sources from hg tip at this time, since it is a moving target
|
||||||
|
# if [[ ${PV} =~ alpha ]]; then
|
||||||
|
# # Please note that this URI is not deterministic - digest breakage could occur
|
||||||
|
# SRC_URI+=" linguas_${x/-/_}? ( http://hg.mozilla.org/releases/l10n/mozilla-aurora/ach/archive/tip.tar.bz2 -> ${MOZ_P}-l10n-${x}.tar.bz2 )"
|
||||||
|
# elif [[ ${PV} =~ beta ]] && ! [[ ${PN} == seamonkey ]]; then
|
||||||
|
# # Please note that this URI is not deterministic - digest breakage could occur
|
||||||
|
# SRC_URI+=" linguas_${x/-/_}? ( http://hg.mozilla.org/releases/l10n/mozilla-beta/ach/archive/tip.tar.bz2 -> ${MOZ_P}-l10n-${x}.tar.bz2 )"
|
||||||
|
# elif [[ -n ${MOZ_L10N_URI_PREFIX} ]]; then
|
||||||
|
if [[ -n ${MOZ_L10N_URI_PREFIX} ]]; then
|
||||||
|
SRC_URI+=" linguas_${x/-/_}? ( ${MOZ_L10N_URI_PREFIX}${x}${MOZ_L10N_URI_SUFFIX} )"
|
||||||
|
fi
|
||||||
|
IUSE+=" linguas_${x/-/_}"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
unset x
|
||||||
|
|
||||||
|
# @FUNCTION: mozlinguas_export
|
||||||
|
# @INTERNAL
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# Generate the list of language packs called "mozlinguas"
|
||||||
|
# This list is used to unpack and install the xpi language packs
|
||||||
|
mozlinguas_export() {
|
||||||
|
if [[ ${PN} == seamonkey ]] ; then
|
||||||
|
[[ ${PV} =~ alpha ]] && ! [[ -n ${MOZ_GENERATE_LANGPACKS} ]] && return
|
||||||
|
else
|
||||||
|
[[ ${PV} =~ alpha|beta ]] && ! [[ -n ${MOZ_GENERATE_LANGPACKS} ]] && return
|
||||||
|
fi
|
||||||
|
local lingua
|
||||||
|
mozlinguas=()
|
||||||
|
for lingua in ${LINGUAS}; do
|
||||||
|
if has ${lingua} en en_US; then
|
||||||
|
# For mozilla products, en and en_US are handled internally
|
||||||
|
continue
|
||||||
|
# If this language is supported by ${P},
|
||||||
|
elif has ${lingua} "${MOZ_LANGS[@]//-/_}"; then
|
||||||
|
# Add the language to mozlinguas, if it isn't already there
|
||||||
|
has ${lingua//_/-} "${mozlinguas[@]}" || mozlinguas+=(${lingua//_/-})
|
||||||
|
continue
|
||||||
|
# For each short lingua that isn't in MOZ_LANGS,
|
||||||
|
# We used to add *all* long MOZ_LANGS to the mozlinguas list,
|
||||||
|
# but we stopped doing that due to bug 325195.
|
||||||
|
else
|
||||||
|
:
|
||||||
|
fi
|
||||||
|
ewarn "Sorry, but ${P} does not support the ${lingua} locale"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# @FUNCTION: mozlinguas_src_unpack
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# Unpack xpi language packs according to the user's LINGUAS settings
|
||||||
|
mozlinguas_src_unpack() {
|
||||||
|
local x
|
||||||
|
if ! [[ -n ${MOZ_GENERATE_LANGPACKS} ]]; then
|
||||||
|
mozlinguas_export
|
||||||
|
for x in "${mozlinguas[@]}"; do
|
||||||
|
# FIXME: Add support for unpacking xpis to portage
|
||||||
|
xpi_unpack "${MOZ_P}-${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}.xpi"
|
||||||
|
done
|
||||||
|
if [[ "${mozlinguas[*]}" != "" && "${mozlinguas[*]}" != "en" ]]; then
|
||||||
|
einfo "Selected language packs (first will be default): ${mozlinguas[*]}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# @FUNCTION: mozlinguas_mozconfig
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# if applicable, add the necessary flag to .mozconfig to support
|
||||||
|
# the generation of locales. Note that this function requires
|
||||||
|
# mozconfig_annontate to already be declared via an inherit of
|
||||||
|
# mozconfig or mozcoreconf.
|
||||||
|
mozlinguas_mozconfig() {
|
||||||
|
if [[ -n ${MOZ_GENERATE_LANGPACKS} ]]; then
|
||||||
|
if declare -f mozconfig_annotate >/dev/null ; then
|
||||||
|
mozconfig_annotate 'for building locales' --with-l10n-base=${MOZ_L10N_SOURCEDIR}
|
||||||
|
else
|
||||||
|
die "Could not configure l10n-base, mozconfig_annotate not declared -- missing inherit?"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# @FUNCTION: mozlinguas_src_compile
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# if applicable, build the selected locales.
|
||||||
|
mozlinguas_src_compile() {
|
||||||
|
if [[ -n ${MOZ_GENERATE_LANGPACKS} ]]; then
|
||||||
|
# leverage BUILD_OBJ_DIR if set otherwise assume PWD.
|
||||||
|
local x y targets=( "langpack" ) localedir="${BUILD_OBJ_DIR:-.}"
|
||||||
|
case ${PN} in
|
||||||
|
*firefox)
|
||||||
|
localedir+="/browser/locales"
|
||||||
|
;;
|
||||||
|
seamonkey)
|
||||||
|
localedir+="/suite/locales"
|
||||||
|
;;
|
||||||
|
*thunderbird)
|
||||||
|
localedir+="/mail/locales"
|
||||||
|
targets+=( "calendar-langpack" )
|
||||||
|
;;
|
||||||
|
*) die "Building locales for ${PN} is not supported."
|
||||||
|
esac
|
||||||
|
pushd "${localedir}" > /dev/null || die
|
||||||
|
mozlinguas_export
|
||||||
|
for x in "${mozlinguas[@]}"; do for y in "${targets[@]}"; do
|
||||||
|
emake ${y}-${x} LOCALE_MERGEDIR="./${y}-${x}"
|
||||||
|
done; done
|
||||||
|
popd > /dev/null || die
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# @FUNCTION: mozlinguas_xpistage_langpacks
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# Add extra langpacks to the xpi-stage dir for prebuilt plugins
|
||||||
|
#
|
||||||
|
# First argument is the path to the extension
|
||||||
|
# Second argument is the prefix of the source (same as first if unspecified)
|
||||||
|
# Remaining arguments are the modules in the extension that are localized
|
||||||
|
# (basename of first if unspecified)
|
||||||
|
#
|
||||||
|
# Example - installing extra langpacks for lightning:
|
||||||
|
# src_install() {
|
||||||
|
# ... # general installation steps
|
||||||
|
# mozlinguas_xpistage_langpacks \
|
||||||
|
# "${BUILD_OBJ_DIR}"/dist/xpi-stage/lightning \
|
||||||
|
# "${WORKDIR}"/lightning \
|
||||||
|
# lightning calendar
|
||||||
|
# ... # proceed with installation from the xpi-stage dir
|
||||||
|
# }
|
||||||
|
|
||||||
|
mozlinguas_xpistage_langpacks() {
|
||||||
|
local l c modpath="${1}" srcprefix="${1}" modules=( "${1##*/}" )
|
||||||
|
shift
|
||||||
|
if [[ -n ${1} ]] ; then srcprefix="${1}" ; shift ; fi
|
||||||
|
if [[ -n ${1} ]] ; then modules=( $@ ) ; fi
|
||||||
|
|
||||||
|
mozlinguas_export
|
||||||
|
mkdir -p "${modpath}/chrome" || die
|
||||||
|
for l in "${mozlinguas[@]}"; do for c in "${modules[@]}" ; do
|
||||||
|
if [[ -e "${srcprefix}-${l}/chrome/${c}-${l}" ]]; then
|
||||||
|
cp -RLp -t "${modpath}/chrome" "${srcprefix}-${l}/chrome/${c}-${l}" || die
|
||||||
|
grep "locale ${c} ${l} chrome/" "${srcprefix}-${l}/chrome.manifest" \
|
||||||
|
>>"${modpath}/chrome.manifest" || die
|
||||||
|
elif [[ -e "${srcprefix}/chrome/${c}-${l}" ]]; then
|
||||||
|
cp -RLp -t "${modpath}/chrome" "${srcprefix}/chrome/${c}-${l}" || die
|
||||||
|
grep "locale ${c} ${l} chrome/" "${srcprefix}/chrome.manifest" \
|
||||||
|
>>"${modpath}/chrome.manifest" || die
|
||||||
|
else
|
||||||
|
ewarn "Locale ${l} was not found for ${c}, skipping."
|
||||||
|
fi
|
||||||
|
done; done
|
||||||
|
}
|
||||||
|
|
||||||
|
# @FUNCTION: mozlinguas_src_install
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# Install xpi language packs according to the user's LINGUAS settings
|
||||||
|
# NOTE - uses ${BUILD_OBJ_DIR} or PWD if unset, for source-generated langpacks
|
||||||
|
mozlinguas_src_install() {
|
||||||
|
local x
|
||||||
|
mozlinguas_export
|
||||||
|
if [[ -n ${MOZ_GENERATE_LANGPACKS} ]]; then
|
||||||
|
local repopath="${WORKDIR}/${PN}-generated-langpacks"
|
||||||
|
mkdir -p "${repopath}"
|
||||||
|
pushd "${BUILD_OBJ_DIR:-.}"/dist/*/xpi > /dev/null || die
|
||||||
|
for x in "${mozlinguas[@]}"; do
|
||||||
|
cp "${MOZ_P}.${x}.langpack.xpi" \
|
||||||
|
"${repopath}/${MOZ_P}-${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}.xpi" || die
|
||||||
|
xpi_unpack "${repopath}/${MOZ_P}-${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}.xpi"
|
||||||
|
done
|
||||||
|
popd > /dev/null || die
|
||||||
|
fi
|
||||||
|
for x in "${mozlinguas[@]}"; do
|
||||||
|
xpi_install "${WORKDIR}/${MOZ_P}-${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}"
|
||||||
|
done
|
||||||
|
}
|
17
www-client/firefox/files/gentoo-default-prefs.js-1
Normal file
17
www-client/firefox/files/gentoo-default-prefs.js-1
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
pref("app.update.enabled", false);
|
||||||
|
pref("app.update.autoInstallEnabled", false);
|
||||||
|
pref("browser.display.use_system_colors", true);
|
||||||
|
pref("browser.link.open_external", 3);
|
||||||
|
pref("general.smoothScroll", true);
|
||||||
|
pref("general.autoScroll", false);
|
||||||
|
pref("browser.tabs.tabMinWidth", 15);
|
||||||
|
pref("browser.backspace_action", 0);
|
||||||
|
pref("browser.urlbar.hideGoButton", true);
|
||||||
|
pref("accessibility.typeaheadfind", true);
|
||||||
|
pref("browser.shell.checkDefaultBrowser", false);
|
||||||
|
pref("browser.EULA.override", true);
|
||||||
|
pref("general.useragent.vendor", "Gentoo");
|
||||||
|
pref("intl.locale.matchOS", true);
|
||||||
|
pref("general.useragent.locale", "chrome://global/locale/intl.properties");
|
||||||
|
pref("extensions.autoDisableScopes", 0);
|
||||||
|
pref("layout.css.dpi", 0);
|
2
www-client/firefox/files/gentoo-hwaccel-prefs.js-1
Normal file
2
www-client/firefox/files/gentoo-hwaccel-prefs.js-1
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
pref("layers.acceleration.force-enabled", true);
|
||||||
|
pref("webgl.force-enabled", true);
|
9
www-client/firefox/files/icon/firefox.desktop
Normal file
9
www-client/firefox/files/icon/firefox.desktop
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Name=@NAME@
|
||||||
|
Comment=Web Browser
|
||||||
|
Exec=firefox %u
|
||||||
|
Icon=@ICON@
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
|
||||||
|
Categories=Network;WebBrowser;
|
29
www-client/firefox/files/jit-none-branch64.patch
Normal file
29
www-client/firefox/files/jit-none-branch64.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User Nicolas B. Pierron <nicolas.b.pierron@mozilla.com>
|
||||||
|
|
||||||
|
Bug 1266366 - Add branch64 functions to the none-backend MacroAssembler. r=
|
||||||
|
|
||||||
|
diff --git a/js/src/jit/none/MacroAssembler-none.h b/js/src/jit/none/MacroAssembler-none.h
|
||||||
|
index 512ae81..4441d8d 100644
|
||||||
|
--- a/js/src/jit/none/MacroAssembler-none.h
|
||||||
|
+++ b/js/src/jit/none/MacroAssembler-none.h
|
||||||
|
@@ -254,16 +254,18 @@ class MacroAssemblerNone : public Assembler
|
||||||
|
template <typename T, typename S> void branchSub32(Condition, T, S, Label*) { MOZ_CRASH(); }
|
||||||
|
template <typename T, typename S> void branchPtr(Condition, T, S, Label*) { MOZ_CRASH(); }
|
||||||
|
template <typename T, typename S> void branchTestPtr(Condition, T, S, Label*) { MOZ_CRASH(); }
|
||||||
|
template <typename T, typename S> void branchDouble(DoubleCondition, T, S, Label*) { MOZ_CRASH(); }
|
||||||
|
template <typename T, typename S> void branchFloat(DoubleCondition, T, S, Label*) { MOZ_CRASH(); }
|
||||||
|
template <typename T, typename S> void branchPrivatePtr(Condition, T, S, Label*) { MOZ_CRASH(); }
|
||||||
|
template <typename T, typename S> void decBranchPtr(Condition, T, S, Label*) { MOZ_CRASH(); }
|
||||||
|
template <typename T, typename S> void branchTest64(Condition, T, T, S, Label*) { MOZ_CRASH(); }
|
||||||
|
+ template <typename T, typename S> void branch64(Condition, T, S, Label*) { MOZ_CRASH(); }
|
||||||
|
+ template <typename T, typename S> void branch64(Condition, T, T, S, Label*) { MOZ_CRASH(); }
|
||||||
|
template <typename T, typename S> void mov(T, S) { MOZ_CRASH(); }
|
||||||
|
template <typename T, typename S> void movq(T, S) { MOZ_CRASH(); }
|
||||||
|
template <typename T, typename S> void movePtr(T, S) { MOZ_CRASH(); }
|
||||||
|
template <typename T, typename S> void move32(T, S) { MOZ_CRASH(); }
|
||||||
|
template <typename T, typename S> void moveFloat32(T, S) { MOZ_CRASH(); }
|
||||||
|
template <typename T, typename S> void moveDouble(T, S) { MOZ_CRASH(); }
|
||||||
|
template <typename T, typename S> void move64(T, S) { MOZ_CRASH(); }
|
||||||
|
template <typename T> CodeOffset movWithPatch(T, Register) { MOZ_CRASH(); }
|
||||||
|
|
Loading…
Reference in New Issue
Block a user