summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorIan Stakenvicius <axs@gentoo.org>2016-06-07 16:12:17 -0400
committerIan Stakenvicius <axs@gentoo.org>2016-06-07 22:12:12 -0400
commitb89433318e17e1a431201c39f8e2da993054b9bb (patch)
tree3a24e77d8ed3054686ddb919268d2ab92c8c08d0 /eclass
parentsys-cluster/torque: introduce v6.0.1 with cgroups support (diff)
downloadgentoo-b89433318e17e1a431201c39f8e2da993054b9bb.tar.gz
gentoo-b89433318e17e1a431201c39f8e2da993054b9bb.tar.bz2
gentoo-b89433318e17e1a431201c39f8e2da993054b9bb.zip
Mozilla eclass changes for new versions and to improve cross-builds
- mozcoreconf-v4 introduced to centralize toolchain and related build settings, and improve configuration settings related to toolchain usage. - mozconfig-v6.45 modified to inherit new mozcoreconf-v4 - mozconfig-v6.47 introduced, also inheriting mozcoreconf-v4 - removed old versions of mozconfig related to mozilla versions no longer in repo
Diffstat (limited to 'eclass')
-rw-r--r--eclass/mozconfig-v5.34.eclass232
-rw-r--r--eclass/mozconfig-v5.36.eclass232
-rw-r--r--eclass/mozconfig-v5.38.eclass231
-rw-r--r--eclass/mozconfig-v6.39.eclass240
-rw-r--r--eclass/mozconfig-v6.40.eclass263
-rw-r--r--eclass/mozconfig-v6.45.eclass2
-rw-r--r--eclass/mozconfig-v6.47.eclass (renamed from eclass/mozconfig-v6.44.eclass)150
-rw-r--r--eclass/mozcoreconf-v4.eclass277
8 files changed, 387 insertions, 1240 deletions
diff --git a/eclass/mozconfig-v5.34.eclass b/eclass/mozconfig-v5.34.eclass
deleted file mode 100644
index aa739660f17e..000000000000
--- a/eclass/mozconfig-v5.34.eclass
+++ /dev/null
@@ -1,232 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-#
-# @ECLASS: mozconfig-v5.33.eclass
-# @MAINTAINER:
-# mozilla team <mozilla@gentoo.org>
-# @BLURB: the new mozilla common configuration eclass for FF33 and newer, v5
-# @DESCRIPTION:
-# This eclass is used in mozilla ebuilds (firefox, thunderbird, seamonkey)
-# to provide a single common place for the common mozilla engine compoments.
-#
-# The eclass provides all common dependencies as well as common use flags.
-#
-# Some use flags which may be optional in particular mozilla packages can be
-# supported through setting eclass variables.
-#
-# This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3,
-# and so ebuilds inheriting this eclass do not need to inherit that.
-
-inherit multilib flag-o-matic toolchain-funcs mozcoreconf-v3
-
-case ${EAPI} in
- 0|1|2|3|4) die "EAPI=${EAPI} not supported"
-esac
-
-# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_WIFI
-# @DESCRIPTION:
-# Set this variable before the inherit line, when an ebuild needs to provide
-# optional necko-wifi support via IUSE="wifi". Currently this would include
-# ebuilds for firefox, and potentially seamonkey.
-#
-# Leave the variable UNSET if necko-wifi support should not be available.
-# Set the variable to "enabled" if the use flag should be enabled by default.
-# Set the variable to any value if the use flag should exist but not be default-enabled.
-
-# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_JIT
-# @DESCRIPTION:
-# Set this variable before the inherit line, when an ebuild needs to provide
-# optional necko-wifi support via IUSE="jit". Currently this would include
-# ebuilds for firefox, and potentially seamonkey.
-#
-# Leave the variable UNSET if optional jit support should not be available.
-# Set the variable to "enabled" if the use flag should be enabled by default.
-# Set the variable to any value if the use flag should exist but not be default-enabled.
-
-# use-flags common among all mozilla ebuilds
-IUSE="${IUSE} dbus debug gstreamer pulseaudio selinux startup-notification system-cairo system-icu system-jpeg system-sqlite system-libvpx"
-
-# some notes on deps:
-# gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14
-# media-libs/mesa needs to be 10.2 or above due to a bug with flash+vdpau
-
-RDEPEND=">=app-text/hunspell-1.2
- dev-libs/atk
- dev-libs/expat
- >=dev-libs/libevent-1.4.7
- >=x11-libs/cairo-1.10[X]
- >=x11-libs/gtk+-2.14:2
- x11-libs/gdk-pixbuf
- >=x11-libs/pango-1.22.0
- >=media-libs/libpng-1.6.13:0=[apng]
- >=media-libs/mesa-10.2:*
- media-libs/fontconfig
- >=media-libs/freetype-2.4.10
- kernel_linux? ( media-libs/alsa-lib )
- pulseaudio? ( media-sound/pulseaudio )
- virtual/freedesktop-icon-theme
- dbus? ( >=sys-apps/dbus-0.60
- >=dev-libs/dbus-glib-0.72 )
- startup-notification? ( >=x11-libs/startup-notification-0.8 )
- >=dev-libs/glib-2.26:2
- >=sys-libs/zlib-1.2.3
- virtual/libffi
- gstreamer? (
- >=media-libs/gstreamer-1.2.3:1.0
- >=media-libs/gst-plugins-base-1.2.3:1.0
- >=media-libs/gst-plugins-good-1.2.3:1.0
- >=media-plugins/gst-plugins-libav-1.1.0_pre20130128-r1:1.0
- )
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrender
- x11-libs/libXt
- system-cairo? ( >=x11-libs/cairo-1.12[X] >=x11-libs/pixman-0.19.2 )
- system-icu? ( >=dev-libs/icu-51.1:= )
- system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
- system-sqlite? ( >=dev-db/sqlite-3.8.6:3[secure-delete,debug=] )
- system-libvpx? ( =media-libs/libvpx-1.3.0*[postproc] )
-"
-
-if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]]; then
- if [[ ${MOZCONFIG_OPTIONAL_WIFI} = "enabled" ]]; then
- IUSE+=" +wifi"
- else
- IUSE+=" wifi"
- fi
- RDEPEND+="
- wifi? ( >=sys-apps/dbus-0.60
- >=dev-libs/dbus-glib-0.72
- net-wireless/wireless-tools )"
-fi
-if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then
- if [[ ${MOZCONFIG_OPTIONAL_JIT} = "enabled" ]]; then
- IUSE+=" +jit"
- else
- IUSE+=" jit"
- fi
-fi
-
-DEPEND="app-arch/zip
- app-arch/unzip
- >=sys-devel/binutils-2.16.1
- ${RDEPEND}"
-
-RDEPEND+="
- selinux? ( sec-policy/selinux-mozilla )"
-
-# @FUNCTION: mozconfig_config
-# @DESCRIPTION:
-# Set common configure options for mozilla packages.
-# Call this within src_configure() phase, after mozconfig_init
-#
-# Example:
-#
-# inherit mozconfig-v5.33
-#
-# src_configure() {
-# mozconfig_init
-# mozconfig_config
-# # ... misc ebuild-unique settings via calls to
-# # ... mozconfig_{annotate,use_with,use_enable}
-# mozconfig_final
-# }
-
-mozconfig_config() {
- # Migrated from mozcoreconf-2
- mozconfig_annotate 'system_libs' \
- --with-system-zlib \
- --enable-pango \
- --enable-svg \
- --with-system-bz2
-
- mozconfig_annotate '' --enable-default-toolkit=cairo-gtk2
-
- if has bindist ${IUSE}; then
- mozconfig_use_enable !bindist official-branding
- if [[ ${PN} == firefox ]] && use bindist ; then
- mozconfig_annotate '' --with-branding=browser/branding/aurora
- fi
- fi
-
- mozconfig_use_enable debug
- mozconfig_use_enable debug tests
-
- if ! use debug ; then
- mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
- else
- mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
- fi
-
- mozconfig_use_enable startup-notification
-
- if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]] ; then
- # wifi pulls in dbus so manage both here
- mozconfig_use_enable wifi necko-wifi
- if use wifi && ! use dbus; then
- echo "Enabling dbus support due to wifi request"
- mozconfig_annotate 'dbus required by necko-wifi' --enable-dbus
- else
- mozconfig_use_enable dbus
- fi
- else
- mozconfig_use_enable dbus
- mozconfig_annotate 'disabled' --disable-necko-wifi
- fi
-
- # These are forced-on for webm support
- mozconfig_annotate 'required' --enable-ogg
- mozconfig_annotate 'required' --enable-wave
-
- if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then
- mozconfig_use_enable jit ion
- mozconfig_use_enable jit yarr-jit
- fi
-
- # These are enabled by default in all mozilla applications
- mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${EPREFIX}"/usr
- mozconfig_annotate '' --with-system-nss --with-nss-prefix="${EPREFIX}"/usr
- mozconfig_annotate '' --x-includes="${EPREFIX}"/usr/include --x-libraries="${EPREFIX}"/usr/$(get_libdir)
- mozconfig_annotate '' --with-system-libevent="${EPREFIX}"/usr
- mozconfig_annotate '' --prefix="${EPREFIX}"/usr
- mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
- mozconfig_annotate 'Gentoo default' --enable-system-hunspell
- mozconfig_annotate '' --disable-gnomevfs
- mozconfig_annotate '' --disable-gnomeui
- mozconfig_annotate '' --enable-gio
- mozconfig_annotate '' --disable-crashreporter
- mozconfig_annotate 'Gentoo default' --with-system-png
- mozconfig_annotate '' --enable-system-ffi
- mozconfig_annotate 'Gentoo default to honor system linker' --disable-gold
- mozconfig_annotate '' --disable-gconf
-
- # Use jemalloc unless libc is not glibc >= 2.4
- # at this time the minimum glibc in the tree is 2.9 so we should be safe.
- if use elibc_glibc; then
- # We must force-enable jemalloc 3 via .mozconfig
- echo "export MOZ_JEMALLOC3=1" >> "${S}"/.mozconfig || die
- mozconfig_annotate '' --enable-jemalloc
- mozconfig_annotate '' --enable-replace-malloc
- fi
-
- mozconfig_annotate '' --target="${CTARGET:-${CHOST}}"
- mozconfig_annotate '' --build="${CTARGET:-${CHOST}}"
-
- if use gstreamer; then
- mozconfig_annotate '+gstreamer' --enable-gstreamer=1.0
- else
- mozconfig_annotate '' --disable-gstreamer
- fi
- mozconfig_use_enable pulseaudio
-
- mozconfig_use_enable system-cairo
- mozconfig_use_enable system-sqlite
- mozconfig_use_with system-jpeg
- mozconfig_use_with system-icu
- mozconfig_use_enable system-icu intl-api
- mozconfig_use_with system-libvpx
-}
diff --git a/eclass/mozconfig-v5.36.eclass b/eclass/mozconfig-v5.36.eclass
deleted file mode 100644
index d86fe55cc8ed..000000000000
--- a/eclass/mozconfig-v5.36.eclass
+++ /dev/null
@@ -1,232 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-#
-# @ECLASS: mozconfig-v5.33.eclass
-# @MAINTAINER:
-# mozilla team <mozilla@gentoo.org>
-# @BLURB: the new mozilla common configuration eclass for FF33 and newer, v5
-# @DESCRIPTION:
-# This eclass is used in mozilla ebuilds (firefox, thunderbird, seamonkey)
-# to provide a single common place for the common mozilla engine compoments.
-#
-# The eclass provides all common dependencies as well as common use flags.
-#
-# Some use flags which may be optional in particular mozilla packages can be
-# supported through setting eclass variables.
-#
-# This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3,
-# and so ebuilds inheriting this eclass do not need to inherit that.
-
-inherit multilib flag-o-matic toolchain-funcs mozcoreconf-v3
-
-case ${EAPI} in
- 0|1|2|3|4) die "EAPI=${EAPI} not supported"
-esac
-
-# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_WIFI
-# @DESCRIPTION:
-# Set this variable before the inherit line, when an ebuild needs to provide
-# optional necko-wifi support via IUSE="wifi". Currently this would include
-# ebuilds for firefox, and potentially seamonkey.
-#
-# Leave the variable UNSET if necko-wifi support should not be available.
-# Set the variable to "enabled" if the use flag should be enabled by default.
-# Set the variable to any value if the use flag should exist but not be default-enabled.
-
-# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_JIT
-# @DESCRIPTION:
-# Set this variable before the inherit line, when an ebuild needs to provide
-# optional necko-wifi support via IUSE="jit". Currently this would include
-# ebuilds for firefox, and potentially seamonkey.
-#
-# Leave the variable UNSET if optional jit support should not be available.
-# Set the variable to "enabled" if the use flag should be enabled by default.
-# Set the variable to any value if the use flag should exist but not be default-enabled.
-
-# use-flags common among all mozilla ebuilds
-IUSE="${IUSE} dbus debug gstreamer pulseaudio selinux startup-notification system-cairo system-icu system-jpeg system-sqlite system-libvpx"
-
-# some notes on deps:
-# gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14
-# media-libs/mesa needs to be 10.2 or above due to a bug with flash+vdpau
-
-RDEPEND=">=app-text/hunspell-1.2
- dev-libs/atk
- dev-libs/expat
- >=dev-libs/libevent-1.4.7
- >=x11-libs/cairo-1.10[X]
- >=x11-libs/gtk+-2.18:2
- x11-libs/gdk-pixbuf
- >=x11-libs/pango-1.22.0
- >=media-libs/libpng-1.6.14:0=[apng]
- >=media-libs/mesa-10.2:*
- media-libs/fontconfig
- >=media-libs/freetype-2.4.10
- kernel_linux? ( media-libs/alsa-lib )
- pulseaudio? ( media-sound/pulseaudio )
- virtual/freedesktop-icon-theme
- dbus? ( >=sys-apps/dbus-0.60
- >=dev-libs/dbus-glib-0.72 )
- startup-notification? ( >=x11-libs/startup-notification-0.8 )
- >=dev-libs/glib-2.26:2
- >=sys-libs/zlib-1.2.3
- >=virtual/libffi-3.0.10
- gstreamer? (
- >=media-libs/gstreamer-1.2.3:1.0
- >=media-libs/gst-plugins-base-1.2.3:1.0
- >=media-libs/gst-plugins-good-1.2.3:1.0
- >=media-plugins/gst-plugins-libav-1.1.0_pre20130128-r1:1.0
- )
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrender
- x11-libs/libXt
- system-cairo? ( >=x11-libs/cairo-1.12[X] >=x11-libs/pixman-0.19.2 )
- system-icu? ( >=dev-libs/icu-51.1:= )
- system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
- system-sqlite? ( >=dev-db/sqlite-3.8.7.4:3[secure-delete,debug=] )
- system-libvpx? ( >=media-libs/libvpx-1.3.0:0=[postproc] )
-"
-
-if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]]; then
- if [[ ${MOZCONFIG_OPTIONAL_WIFI} = "enabled" ]]; then
- IUSE+=" +wifi"
- else
- IUSE+=" wifi"
- fi
- RDEPEND+="
- wifi? ( >=sys-apps/dbus-0.60
- >=dev-libs/dbus-glib-0.72
- net-wireless/wireless-tools )"
-fi
-if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then
- if [[ ${MOZCONFIG_OPTIONAL_JIT} = "enabled" ]]; then
- IUSE+=" +jit"
- else
- IUSE+=" jit"
- fi
-fi
-
-DEPEND="app-arch/zip
- app-arch/unzip
- >=sys-devel/binutils-2.16.1
- ${RDEPEND}"
-
-RDEPEND+="
- selinux? ( sec-policy/selinux-mozilla )"
-
-# @FUNCTION: mozconfig_config
-# @DESCRIPTION:
-# Set common configure options for mozilla packages.
-# Call this within src_configure() phase, after mozconfig_init
-#
-# Example:
-#
-# inherit mozconfig-v5.33
-#
-# src_configure() {
-# mozconfig_init
-# mozconfig_config
-# # ... misc ebuild-unique settings via calls to
-# # ... mozconfig_{annotate,use_with,use_enable}
-# mozconfig_final
-# }
-
-mozconfig_config() {
- # Migrated from mozcoreconf-2
- mozconfig_annotate 'system_libs' \
- --with-system-zlib \
- --enable-pango \
- --enable-svg \
- --with-system-bz2
-
- mozconfig_annotate '' --enable-default-toolkit=cairo-gtk2
-
- if has bindist ${IUSE}; then
- mozconfig_use_enable !bindist official-branding
- if [[ ${PN} == firefox ]] && use bindist ; then
- mozconfig_annotate '' --with-branding=browser/branding/aurora
- fi
- fi
-
- mozconfig_use_enable debug
- mozconfig_use_enable debug tests
-
- if ! use debug ; then
- mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
- else
- mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
- fi
-
- mozconfig_use_enable startup-notification
-
- if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]] ; then
- # wifi pulls in dbus so manage both here
- mozconfig_use_enable wifi necko-wifi
- if use wifi && ! use dbus; then
- echo "Enabling dbus support due to wifi request"
- mozconfig_annotate 'dbus required by necko-wifi' --enable-dbus
- else
- mozconfig_use_enable dbus
- fi
- else
- mozconfig_use_enable dbus
- mozconfig_annotate 'disabled' --disable-necko-wifi
- fi
-
- # These are forced-on for webm support
- mozconfig_annotate 'required' --enable-ogg
- mozconfig_annotate 'required' --enable-wave
-
- if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then
- mozconfig_use_enable jit ion
- mozconfig_use_enable jit yarr-jit
- fi
-
- # These are enabled by default in all mozilla applications
- mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${EPREFIX}"/usr
- mozconfig_annotate '' --with-system-nss --with-nss-prefix="${EPREFIX}"/usr
- mozconfig_annotate '' --x-includes="${EPREFIX}"/usr/include --x-libraries="${EPREFIX}"/usr/$(get_libdir)
- mozconfig_annotate '' --with-system-libevent="${EPREFIX}"/usr
- mozconfig_annotate '' --prefix="${EPREFIX}"/usr
- mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
- mozconfig_annotate 'Gentoo default' --enable-system-hunspell
- mozconfig_annotate '' --disable-gnomevfs
- mozconfig_annotate '' --disable-gnomeui
- mozconfig_annotate '' --enable-gio
- mozconfig_annotate '' --disable-crashreporter
- mozconfig_annotate 'Gentoo default' --with-system-png
- mozconfig_annotate '' --enable-system-ffi
- mozconfig_annotate 'Gentoo default to honor system linker' --disable-gold
- mozconfig_annotate '' --disable-gconf
-
- # Use jemalloc unless libc is not glibc >= 2.4
- # at this time the minimum glibc in the tree is 2.9 so we should be safe.
- if use elibc_glibc; then
- # We must force-enable jemalloc 3 via .mozconfig
- echo "export MOZ_JEMALLOC3=1" >> "${S}"/.mozconfig || die
- mozconfig_annotate '' --enable-jemalloc
- mozconfig_annotate '' --enable-replace-malloc
- fi
-
- mozconfig_annotate '' --target="${CTARGET:-${CHOST}}"
- mozconfig_annotate '' --build="${CTARGET:-${CHOST}}"
-
- if use gstreamer; then
- mozconfig_annotate '+gstreamer' --enable-gstreamer=1.0
- else
- mozconfig_annotate '' --disable-gstreamer
- fi
- mozconfig_use_enable pulseaudio
-
- mozconfig_use_enable system-cairo
- mozconfig_use_enable system-sqlite
- mozconfig_use_with system-jpeg
- mozconfig_use_with system-icu
- mozconfig_use_enable system-icu intl-api
- mozconfig_use_with system-libvpx
-}
diff --git a/eclass/mozconfig-v5.38.eclass b/eclass/mozconfig-v5.38.eclass
deleted file mode 100644
index 2882b8bd1639..000000000000
--- a/eclass/mozconfig-v5.38.eclass
+++ /dev/null
@@ -1,231 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-#
-# @ECLASS: mozconfig-v5.33.eclass
-# @MAINTAINER:
-# mozilla team <mozilla@gentoo.org>
-# @BLURB: the new mozilla common configuration eclass for FF33 and newer, v5
-# @DESCRIPTION:
-# This eclass is used in mozilla ebuilds (firefox, thunderbird, seamonkey)
-# to provide a single common place for the common mozilla engine compoments.
-#
-# The eclass provides all common dependencies as well as common use flags.
-#
-# Some use flags which may be optional in particular mozilla packages can be
-# supported through setting eclass variables.
-#
-# This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3,
-# and so ebuilds inheriting this eclass do not need to inherit that.
-
-inherit multilib flag-o-matic toolchain-funcs mozcoreconf-v3
-
-case ${EAPI} in
- 0|1|2|3|4) die "EAPI=${EAPI} not supported"
-esac
-
-# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_WIFI
-# @DESCRIPTION:
-# Set this variable before the inherit line, when an ebuild needs to provide
-# optional necko-wifi support via IUSE="wifi". Currently this would include
-# ebuilds for firefox, and potentially seamonkey.
-#
-# Leave the variable UNSET if necko-wifi support should not be available.
-# Set the variable to "enabled" if the use flag should be enabled by default.
-# Set the variable to any value if the use flag should exist but not be default-enabled.
-
-# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_JIT
-# @DESCRIPTION:
-# Set this variable before the inherit line, when an ebuild needs to provide
-# optional necko-wifi support via IUSE="jit". Currently this would include
-# ebuilds for firefox, and potentially seamonkey.
-#
-# Leave the variable UNSET if optional jit support should not be available.
-# Set the variable to "enabled" if the use flag should be enabled by default.
-# Set the variable to any value if the use flag should exist but not be default-enabled.
-
-# use-flags common among all mozilla ebuilds
-IUSE="${IUSE} dbus debug gstreamer +jemalloc3 pulseaudio selinux startup-notification system-cairo system-icu system-jpeg system-sqlite system-libvpx"
-
-# some notes on deps:
-# gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14
-# media-libs/mesa needs to be 10.2 or above due to a bug with flash+vdpau
-
-RDEPEND=">=app-text/hunspell-1.2
- dev-libs/atk
- dev-libs/expat
- >=dev-libs/libevent-1.4.7
- >=x11-libs/cairo-1.10[X]
- >=x11-libs/gtk+-2.18:2
- x11-libs/gdk-pixbuf
- >=x11-libs/pango-1.22.0
- >=media-libs/libpng-1.6.16:0=[apng]
- >=media-libs/mesa-10.2:*
- media-libs/fontconfig
- >=media-libs/freetype-2.4.10
- kernel_linux? ( media-libs/alsa-lib )
- pulseaudio? ( media-sound/pulseaudio )
- virtual/freedesktop-icon-theme
- dbus? ( >=sys-apps/dbus-0.60
- >=dev-libs/dbus-glib-0.72 )
- startup-notification? ( >=x11-libs/startup-notification-0.8 )
- >=dev-libs/glib-2.26:2
- >=sys-libs/zlib-1.2.3
- >=virtual/libffi-3.0.10
- gstreamer? (
- >=media-libs/gstreamer-1.2.3:1.0
- >=media-libs/gst-plugins-base-1.2.3:1.0
- >=media-libs/gst-plugins-good-1.2.3:1.0
- >=media-plugins/gst-plugins-libav-1.1.0_pre20130128-r1:1.0
- )
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrender
- x11-libs/libXt
- system-cairo? ( >=x11-libs/cairo-1.12[X] >=x11-libs/pixman-0.19.2 )
- system-icu? ( >=dev-libs/icu-51.1:= )
- system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
- system-sqlite? ( >=dev-db/sqlite-3.8.8.2:3[secure-delete,debug=] )
- system-libvpx? ( >=media-libs/libvpx-1.3.0:0=[postproc] )
-"
-
-if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]]; then
- if [[ ${MOZCONFIG_OPTIONAL_WIFI} = "enabled" ]]; then
- IUSE+=" +wifi"
- else
- IUSE+=" wifi"
- fi
- RDEPEND+="
- wifi? ( >=sys-apps/dbus-0.60
- >=dev-libs/dbus-glib-0.72
- net-wireless/wireless-tools )"
-fi
-if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then
- if [[ ${MOZCONFIG_OPTIONAL_JIT} = "enabled" ]]; then
- IUSE+=" +jit"
- else
- IUSE+=" jit"
- fi
-fi
-
-DEPEND="app-arch/zip
- app-arch/unzip
- >=sys-devel/binutils-2.16.1
- ${RDEPEND}"
-
-RDEPEND+="
- selinux? ( sec-policy/selinux-mozilla )"
-
-# @FUNCTION: mozconfig_config
-# @DESCRIPTION:
-# Set common configure options for mozilla packages.
-# Call this within src_configure() phase, after mozconfig_init
-#
-# Example:
-#
-# inherit mozconfig-v5.33
-#
-# src_configure() {
-# mozconfig_init
-# mozconfig_config
-# # ... misc ebuild-unique settings via calls to
-# # ... mozconfig_{annotate,use_with,use_enable}
-# mozconfig_final
-# }
-
-mozconfig_config() {
- # Migrated from mozcoreconf-2
- mozconfig_annotate 'system_libs' \
- --with-system-zlib \
- --enable-pango \
- --enable-svg \
- --with-system-bz2
-
- mozconfig_annotate '' --enable-default-toolkit=cairo-gtk2
-
- if has bindist ${IUSE}; then
- mozconfig_use_enable !bindist official-branding
- if [[ ${PN} == firefox ]] && use bindist ; then
- mozconfig_annotate '' --with-branding=browser/branding/aurora
- fi
- fi
-
- mozconfig_use_enable debug
- mozconfig_use_enable debug tests
-
- if ! use debug ; then
- mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
- else
- mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
- fi
-
- mozconfig_use_enable startup-notification
-
- if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]] ; then
- # wifi pulls in dbus so manage both here
- mozconfig_use_enable wifi necko-wifi
- if use wifi && ! use dbus; then
- echo "Enabling dbus support due to wifi request"
- mozconfig_annotate 'dbus required by necko-wifi' --enable-dbus
- else
- mozconfig_use_enable dbus
- fi
- else
- mozconfig_use_enable dbus
- mozconfig_annotate 'disabled' --disable-necko-wifi
- fi
-
- # These are forced-on for webm support
- mozconfig_annotate 'required' --enable-ogg
- mozconfig_annotate 'required' --enable-wave
-
- if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then
- mozconfig_use_enable jit ion
- fi
-
- # These are enabled by default in all mozilla applications
- mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${EPREFIX}"/usr
- mozconfig_annotate '' --with-system-nss --with-nss-prefix="${EPREFIX}"/usr
- mozconfig_annotate '' --x-includes="${EPREFIX}"/usr/include --x-libraries="${EPREFIX}"/usr/$(get_libdir)
- mozconfig_annotate '' --with-system-libevent="${EPREFIX}"/usr
- mozconfig_annotate '' --prefix="${EPREFIX}"/usr
- mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
- mozconfig_annotate 'Gentoo default' --enable-system-hunspell
- mozconfig_annotate '' --disable-gnomevfs
- mozconfig_annotate '' --disable-gnomeui
- mozconfig_annotate '' --enable-gio
- mozconfig_annotate '' --disable-crashreporter
- mozconfig_annotate 'Gentoo default' --with-system-png
- mozconfig_annotate '' --enable-system-ffi
- mozconfig_annotate 'Gentoo default to honor system linker' --disable-gold
- mozconfig_annotate '' --disable-gconf
-
- # Use jemalloc unless libc is not glibc >= 2.4
- # at this time the minimum glibc in the tree is 2.9 so we should be safe.
- if use elibc_glibc && use jemalloc3; then
- # We must force-enable jemalloc 3 via .mozconfig
- echo "export MOZ_JEMALLOC3=1" >> "${S}"/.mozconfig || die
- mozconfig_annotate '' --enable-jemalloc
- mozconfig_annotate '' --enable-replace-malloc
- fi
-
- mozconfig_annotate '' --target="${CTARGET:-${CHOST}}"
- mozconfig_annotate '' --build="${CTARGET:-${CHOST}}"
-
- if use gstreamer; then
- mozconfig_annotate '+gstreamer' --enable-gstreamer=1.0
- else
- mozconfig_annotate '' --disable-gstreamer
- fi
- mozconfig_use_enable pulseaudio
-
- mozconfig_use_enable system-cairo
- mozconfig_use_enable system-sqlite
- mozconfig_use_with system-jpeg
- mozconfig_use_with system-icu
- mozconfig_use_enable system-icu intl-api
- mozconfig_use_with system-libvpx
-}
diff --git a/eclass/mozconfig-v6.39.eclass b/eclass/mozconfig-v6.39.eclass
deleted file mode 100644
index 7f7d3533e395..000000000000
--- a/eclass/mozconfig-v6.39.eclass
+++ /dev/null
@@ -1,240 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-#
-# @ECLASS: mozconfig-v5.33.eclass
-# @MAINTAINER:
-# mozilla team <mozilla@gentoo.org>
-# @BLURB: the new mozilla common configuration eclass for FF33 and newer, v5
-# @DESCRIPTION:
-# This eclass is used in mozilla ebuilds (firefox, thunderbird, seamonkey)
-# to provide a single common place for the common mozilla engine compoments.
-#
-# The eclass provides all common dependencies as well as common use flags.
-#
-# Some use flags which may be optional in particular mozilla packages can be
-# supported through setting eclass variables.
-#
-# This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3,
-# and so ebuilds inheriting this eclass do not need to inherit that.
-
-inherit multilib flag-o-matic toolchain-funcs mozcoreconf-v3
-
-case ${EAPI} in
- 0|1|2|3|4) die "EAPI=${EAPI} not supported"
-esac
-
-# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_WIFI
-# @DESCRIPTION:
-# Set this variable before the inherit line, when an ebuild needs to provide
-# optional necko-wifi support via IUSE="wifi". Currently this would include
-# ebuilds for firefox, and potentially seamonkey.
-#
-# Leave the variable UNSET if necko-wifi support should not be available.
-# Set the variable to "enabled" if the use flag should be enabled by default.
-# Set the variable to any value if the use flag should exist but not be default-enabled.
-
-# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_JIT
-# @DESCRIPTION:
-# Set this variable before the inherit line, when an ebuild needs to provide
-# optional necko-wifi support via IUSE="jit". Currently this would include
-# ebuilds for firefox, and potentially seamonkey.
-#
-# Leave the variable UNSET if optional jit support should not be available.
-# Set the variable to "enabled" if the use flag should be enabled by default.
-# Set the variable to any value if the use flag should exist but not be default-enabled.
-
-# use-flags common among all mozilla ebuilds
-IUSE="${IUSE} dbus debug gstreamer gstreamer-0 +jemalloc3 pulseaudio selinux startup-notification system-cairo system-icu system-jpeg system-sqlite system-libvpx"
-
-# some notes on deps:
-# gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14
-# media-libs/mesa needs to be 10.2 or above due to a bug with flash+vdpau
-
-RDEPEND=">=app-text/hunspell-1.2
- dev-libs/atk
- dev-libs/expat
- >=dev-libs/libevent-1.4.7
- >=x11-libs/cairo-1.10[X]
- >=x11-libs/gtk+-2.18:2
- x11-libs/gdk-pixbuf
- >=x11-libs/pango-1.22.0
- >=media-libs/libpng-1.6.16:0=[apng]
- >=media-libs/mesa-10.2:*
- media-libs/fontconfig
- >=media-libs/freetype-2.4.10
- kernel_linux? ( media-libs/alsa-lib )
- pulseaudio? ( media-sound/pulseaudio )
- virtual/freedesktop-icon-theme
- dbus? ( >=sys-apps/dbus-0.60
- >=dev-libs/dbus-glib-0.72 )
- startup-notification? ( >=x11-libs/startup-notification-0.8 )
- >=dev-libs/glib-2.26:2
- >=sys-libs/zlib-1.2.3
- >=virtual/libffi-3.0.10
- gstreamer? (
- >=media-libs/gstreamer-1.4.5:1.0
- >=media-libs/gst-plugins-base-1.4.5:1.0
- >=media-libs/gst-plugins-good-1.4.5:1.0
- >=media-plugins/gst-plugins-libav-1.4.5:1.0
- )
- gstreamer-0? (
- >=media-libs/gstreamer-0.10.25:0.10
- media-plugins/gst-plugins-meta:0.10[ffmpeg]
- )
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrender
- x11-libs/libXt
- system-cairo? ( >=x11-libs/cairo-1.12[X] >=x11-libs/pixman-0.19.2 )
- system-icu? ( >=dev-libs/icu-51.1:= )
- system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
- system-sqlite? ( >=dev-db/sqlite-3.8.9:3[secure-delete,debug=] )
- system-libvpx? ( >=media-libs/libvpx-1.3.0:0=[postproc] )
-"
-
-if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]]; then
- if [[ ${MOZCONFIG_OPTIONAL_WIFI} = "enabled" ]]; then
- IUSE+=" +wifi"
- else
- IUSE+=" wifi"
- fi
- RDEPEND+="
- wifi? ( >=sys-apps/dbus-0.60
- >=dev-libs/dbus-glib-0.72
- net-wireless/wireless-tools )"
-fi
-if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then
- if [[ ${MOZCONFIG_OPTIONAL_JIT} = "enabled" ]]; then
- IUSE+=" +jit"
- else
- IUSE+=" jit"
- fi
-fi
-
-DEPEND="app-arch/zip
- app-arch/unzip
- >=sys-devel/binutils-2.16.1
- ${RDEPEND}"
-
-RDEPEND+="
- selinux? ( sec-policy/selinux-mozilla )"
-
-# only one of gstreamer and gstreamer-0 can be enabled at a time, so set REQUIRED_USE to signify this
-REQUIRED_USE="?? ( gstreamer gstreamer-0 )"
-
-# @FUNCTION: mozconfig_config
-# @DESCRIPTION:
-# Set common configure options for mozilla packages.
-# Call this within src_configure() phase, after mozconfig_init
-#
-# Example:
-#
-# inherit mozconfig-v5.33
-#
-# src_configure() {
-# mozconfig_init
-# mozconfig_config
-# # ... misc ebuild-unique settings via calls to
-# # ... mozconfig_{annotate,use_with,use_enable}
-# mozconfig_final
-# }
-
-mozconfig_config() {
- # Migrated from mozcoreconf-2
- mozconfig_annotate 'system_libs' \
- --with-system-zlib \
- --enable-pango \
- --enable-svg \
- --with-system-bz2
-
- mozconfig_annotate '' --enable-default-toolkit=cairo-gtk2
-
- if has bindist ${IUSE}; then
- mozconfig_use_enable !bindist official-branding
- if [[ ${PN} == firefox ]] && use bindist ; then
- mozconfig_annotate '' --with-branding=browser/branding/aurora
- fi
- fi
-
- mozconfig_use_enable debug
- mozconfig_use_enable debug tests
-
- if ! use debug ; then
- mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
- else
- mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
- fi
-
- mozconfig_use_enable startup-notification
-
- if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]] ; then
- # wifi pulls in dbus so manage both here
- mozconfig_use_enable wifi necko-wifi
- if use wifi && ! use dbus; then
- echo "Enabling dbus support due to wifi request"
- mozconfig_annotate 'dbus required by necko-wifi' --enable-dbus
- else
- mozconfig_use_enable dbus
- fi
- else
- mozconfig_use_enable dbus
- mozconfig_annotate 'disabled' --disable-necko-wifi
- fi
-
- # These are forced-on for webm support
- mozconfig_annotate 'required' --enable-ogg
- mozconfig_annotate 'required' --enable-wave
-
- if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then
- mozconfig_use_enable jit ion
- fi
-
- # These are enabled by default in all mozilla applications
- mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${EPREFIX}"/usr
- mozconfig_annotate '' --with-system-nss --with-nss-prefix="${EPREFIX}"/usr
- mozconfig_annotate '' --x-includes="${EPREFIX}"/usr/include --x-libraries="${EPREFIX}"/usr/$(get_libdir)
- mozconfig_annotate '' --with-system-libevent="${EPREFIX}"/usr
- mozconfig_annotate '' --prefix="${EPREFIX}"/usr
- mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
- mozconfig_annotate 'Gentoo default' --enable-system-hunspell
- mozconfig_annotate '' --disable-gnomevfs
- mozconfig_annotate '' --disable-gnomeui
- mozconfig_annotate '' --enable-gio
- mozconfig_annotate '' --disable-crashreporter
- mozconfig_annotate 'Gentoo default' --with-system-png
- mozconfig_annotate '' --enable-system-ffi
- mozconfig_annotate 'Gentoo default to honor system linker' --disable-gold
- mozconfig_annotate '' --disable-gconf
-
- # Use jemalloc unless libc is not glibc >= 2.4
- # at this time the minimum glibc in the tree is 2.9 so we should be safe.
- if use elibc_glibc && use jemalloc3; then
- # We must force-enable jemalloc 3 via .mozconfig
- echo "export MOZ_JEMALLOC3=1" >> "${S}"/.mozconfig || die
- mozconfig_annotate '' --enable-jemalloc
- mozconfig_annotate '' --enable-replace-malloc
- fi
-
- mozconfig_annotate '' --target="${CTARGET:-${CHOST}}"
- mozconfig_annotate '' --build="${CTARGET:-${CHOST}}"
-
- if use gstreamer ; then
- mozconfig_annotate '+gstreamer' --enable-gstreamer=1.0
- elif use gstreamer-0 ; then
- mozconfig_annotate '+gstreamer-0' --enable-gstreamer=0.10
- else
- mozconfig_annotate '' --disable-gstreamer
- fi
- mozconfig_use_enable pulseaudio
-
- mozconfig_use_enable system-cairo
- mozconfig_use_enable system-sqlite
- mozconfig_use_with system-jpeg
- mozconfig_use_with system-icu
- mozconfig_use_with system-icu intl-api
- mozconfig_use_with system-libvpx
-}
diff --git a/eclass/mozconfig-v6.40.eclass b/eclass/mozconfig-v6.40.eclass
deleted file mode 100644
index f763a3400ee8..000000000000
--- a/eclass/mozconfig-v6.40.eclass
+++ /dev/null
@@ -1,263 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-#
-# @ECLASS: mozconfig-v6.40.eclass
-# @MAINTAINER:
-# mozilla team <mozilla@gentoo.org>
-# @BLURB: the new mozilla common configuration eclass for FF33 and newer, v6
-# @DESCRIPTION:
-# This eclass is used in mozilla ebuilds (firefox, thunderbird, seamonkey)
-# to provide a single common place for the common mozilla engine compoments.
-#
-# The eclass provides all common dependencies as well as common use flags.
-#
-# Some use flags which may be optional in particular mozilla packages can be
-# supported through setting eclass variables.
-#
-# This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3,
-# and so ebuilds inheriting this eclass do not need to inherit that.
-
-inherit multilib flag-o-matic toolchain-funcs mozcoreconf-v3
-
-case ${EAPI} in
- 0|1|2|3|4) die "EAPI=${EAPI} not supported"
-esac
-
-# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_WIFI
-# @DESCRIPTION:
-# Set this variable before the inherit line, when an ebuild needs to provide
-# optional necko-wifi support via IUSE="wifi". Currently this would include
-# ebuilds for firefox, and potentially seamonkey.
-#
-# Leave the variable UNSET if necko-wifi support should not be available.
-# Set the variable to "enabled" if the use flag should be enabled by default.
-# Set the variable to any value if the use flag should exist but not be default-enabled.
-
-# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_JIT
-# @DESCRIPTION:
-# Set this variable before the inherit line, when an ebuild needs to provide
-# optional necko-wifi support via IUSE="jit". Currently this would include
-# ebuilds for firefox, and potentially seamonkey.
-#
-# Leave the variable UNSET if optional jit support should not be available.
-# Set the variable to "enabled" if the use flag should be enabled by default.
-# Set the variable to any value if the use flag should exist but not be default-enabled.
-
-# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_GTK3
-# @DESCRIPTION:
-# Set this variable before the inherit line, when an ebuild can provide
-# optional gtk3 support via IUSE="gtk3". Currently this would include
-# ebuilds for firefox, but thunderbird and seamonkey could follow in the future.
-#
-# Leave the variable UNSET if gtk3 support should not be available.
-# Set the variable to "enabled" if the use flag should be enabled by default.
-# Set the variable to any value if the use flag should exist but not be default-enabled.
-
-# use-flags common among all mozilla ebuilds
-IUSE="${IUSE} dbus debug gstreamer gstreamer-0 +jemalloc3 pulseaudio selinux startup-notification system-cairo system-icu system-jpeg system-sqlite system-libvpx"
-
-# some notes on deps:
-# gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14
-# media-libs/mesa needs to be 10.2 or above due to a bug with flash+vdpau
-
-RDEPEND=">=app-text/hunspell-1.2
- dev-libs/atk
- dev-libs/expat
- >=dev-libs/libevent-1.4.7
- >=x11-libs/cairo-1.10[X]
- >=x11-libs/gtk+-2.18:2
- x11-libs/gdk-pixbuf
- >=x11-libs/pango-1.22.0
- >=media-libs/libpng-1.6.17:0=[apng]
- >=media-libs/mesa-10.2:*
- media-libs/fontconfig
- >=media-libs/freetype-2.4.10
- kernel_linux? ( media-libs/alsa-lib )
- pulseaudio? ( media-sound/pulseaudio )
- virtual/freedesktop-icon-theme
- dbus? ( >=sys-apps/dbus-0.60
- >=dev-libs/dbus-glib-0.72 )
- startup-notification? ( >=x11-libs/startup-notification-0.8 )
- >=dev-libs/glib-2.26:2
- >=sys-libs/zlib-1.2.3
- >=virtual/libffi-3.0.10
- gstreamer? (
- >=media-libs/gstreamer-1.4.5:1.0
- >=media-libs/gst-plugins-base-1.4.5:1.0
- >=media-libs/gst-plugins-good-1.4.5:1.0
- >=media-plugins/gst-plugins-libav-1.4.5:1.0
- )
- gstreamer-0? (
- >=media-libs/gstreamer-0.10.25:0.10
- media-plugins/gst-plugins-meta:0.10[ffmpeg]
- )
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrender
- x11-libs/libXt
- system-cairo? ( >=x11-libs/cairo-1.12[X] >=x11-libs/pixman-0.19.2 )
- system-icu? ( >=dev-libs/icu-51.1:= )
- system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
- system-sqlite? ( >=dev-db/sqlite-3.8.9:3[secure-delete,debug=] )
- system-libvpx? ( >=media-libs/libvpx-1.3.0:0=[postproc] )
-"
-
-if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then
- if [[ ${MOZCONFIG_OPTIONAL_GTK3} = "enabled" ]]; then
- IUSE+=" +gtk3"
- else
- IUSE+=" gtk3"
- fi
- RDEPEND+="
- gtk3? ( >=x11-libs/gtk+-3.14.0:3 )"
-fi
-if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]]; then
- if [[ ${MOZCONFIG_OPTIONAL_WIFI} = "enabled" ]]; then
- IUSE+=" +wifi"
- else
- IUSE+=" wifi"
- fi
- RDEPEND+="
- wifi? ( >=sys-apps/dbus-0.60
- >=dev-libs/dbus-glib-0.72
- net-wireless/wireless-tools )"
-fi
-if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then
- if [[ ${MOZCONFIG_OPTIONAL_JIT} = "enabled" ]]; then
- IUSE+=" +jit"
- else
- IUSE+=" jit"
- fi
-fi
-
-DEPEND="app-arch/zip
- app-arch/unzip
- >=sys-devel/binutils-2.16.1
- ${RDEPEND}"
-
-RDEPEND+="
- selinux? ( sec-policy/selinux-mozilla )"
-
-# only one of gstreamer and gstreamer-0 can be enabled at a time, so set REQUIRED_USE to signify this
-REQUIRED_USE="?? ( gstreamer gstreamer-0 )"
-
-# @FUNCTION: mozconfig_config
-# @DESCRIPTION:
-# Set common configure options for mozilla packages.
-# Call this within src_configure() phase, after mozconfig_init
-#
-# Example:
-#
-# inherit mozconfig-v5.33
-#
-# src_configure() {
-# mozconfig_init
-# mozconfig_config
-# # ... misc ebuild-unique settings via calls to
-# # ... mozconfig_{annotate,use_with,use_enable}
-# mozconfig_final
-# }
-
-mozconfig_config() {
- # Migrated from mozcoreconf-2
- mozconfig_annotate 'system_libs' \
- --with-system-zlib \
- --enable-pango \
- --enable-svg \
- --with-system-bz2
-
- if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then
- mozconfig_annotate 'gtk3 use flag' --enable-default-toolkit=$(usex gtk3 cairo-gtk3 cairo-gtk2)
- else
- mozconfig_annotate '' --enable-default-toolkit=cairo-gtk2
- fi
-
- if has bindist ${IUSE}; then
- mozconfig_use_enable !bindist official-branding
- if [[ ${PN} == firefox ]] && use bindist ; then
- mozconfig_annotate '' --with-branding=browser/branding/aurora
- fi
- fi
-
- mozconfig_use_enable debug
- mozconfig_use_enable debug tests
-
- if ! use debug ; then
- mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
- else
- mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
- fi
-
- mozconfig_use_enable startup-notification
-
- if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]] ; then
- # wifi pulls in dbus so manage both here
- mozconfig_use_enable wifi necko-wifi
- if use wifi && ! use dbus; then
- echo "Enabling dbus support due to wifi request"
- mozconfig_annotate 'dbus required by necko-wifi' --enable-dbus
- else
- mozconfig_use_enable dbus
- fi
- else
- mozconfig_use_enable dbus
- mozconfig_annotate 'disabled' --disable-necko-wifi
- fi
-
- # These are forced-on for webm support
- mozconfig_annotate 'required' --enable-ogg
- mozconfig_annotate 'required' --enable-wave
-
- if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then
- mozconfig_use_enable jit ion
- fi
-
- # These are enabled by default in all mozilla applications
- mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${EPREFIX}"/usr
- mozconfig_annotate '' --with-system-nss --with-nss-prefix="${EPREFIX}"/usr
- mozconfig_annotate '' --x-includes="${EPREFIX}"/usr/include --x-libraries="${EPREFIX}"/usr/$(get_libdir)
- mozconfig_annotate '' --with-system-libevent="${EPREFIX}"/usr
- mozconfig_annotate '' --prefix="${EPREFIX}"/usr
- mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
- mozconfig_annotate 'Gentoo default' --enable-system-hunspell
- mozconfig_annotate '' --disable-gnomevfs
- mozconfig_annotate '' --disable-gnomeui
- mozconfig_annotate '' --enable-gio
- mozconfig_annotate '' --disable-crashreporter
- mozconfig_annotate 'Gentoo default' --with-system-png
- mozconfig_annotate '' --enable-system-ffi
- mozconfig_annotate 'Gentoo default to honor system linker' --disable-gold
- mozconfig_annotate '' --disable-gconf
-
- # Use jemalloc unless libc is not glibc >= 2.4
- # at this time the minimum glibc in the tree is 2.9 so we should be safe.
- if use elibc_glibc && use jemalloc3; then
- # We must force-enable jemalloc 3 via .mozconfig
- echo "export MOZ_JEMALLOC3=1" >> "${S}"/.mozconfig || die
- mozconfig_annotate '' --enable-jemalloc
- mozconfig_annotate '' --enable-replace-malloc
- fi
-
- mozconfig_annotate '' --target="${CTARGET:-${CHOST}}"
- mozconfig_annotate '' --build="${CTARGET:-${CHOST}}"
-
- if use gstreamer ; then
- mozconfig_annotate '+gstreamer' --enable-gstreamer=1.0
- elif use gstreamer-0 ; then
- mozconfig_annotate '+gstreamer-0' --enable-gstreamer=0.10
- else
- mozconfig_annotate '' --disable-gstreamer
- fi
- mozconfig_use_enable pulseaudio
-
- mozconfig_use_enable system-cairo
- mozconfig_use_enable system-sqlite
- mozconfig_use_with system-jpeg
- mozconfig_use_with system-icu
- mozconfig_use_enable system-icu intl-api
- mozconfig_use_with system-libvpx
-}
diff --git a/eclass/mozconfig-v6.45.eclass b/eclass/mozconfig-v6.45.eclass
index 7ff0f9d00ee2..e92f7693c198 100644
--- a/eclass/mozconfig-v6.45.eclass
+++ b/eclass/mozconfig-v6.45.eclass
@@ -27,7 +27,7 @@ case ${EAPI} in
;;
esac
-inherit flag-o-matic toolchain-funcs mozcoreconf-v3
+inherit flag-o-matic toolchain-funcs mozcoreconf-v4
# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_WIFI
# @DESCRIPTION:
diff --git a/eclass/mozconfig-v6.44.eclass b/eclass/mozconfig-v6.47.eclass
index a833e9179f80..263f4c0eb643 100644
--- a/eclass/mozconfig-v6.44.eclass
+++ b/eclass/mozconfig-v6.47.eclass
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
#
-# @ECLASS: mozconfig-v6.44.eclass
+# @ECLASS: mozconfig-v6.46.eclass
# @MAINTAINER:
# mozilla team <mozilla@gentoo.org>
# @BLURB: the new mozilla common configuration eclass for FF33 and newer, v6
@@ -18,12 +18,17 @@
# This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3,
# and so ebuilds inheriting this eclass do not need to inherit that.
-inherit multilib flag-o-matic toolchain-funcs mozcoreconf-v3
-
case ${EAPI} in
- 0|1|2|3|4) die "EAPI=${EAPI} not supported"
+ 0|1|2|3|4)
+ die "EAPI=${EAPI} not supported"
+ ;;
+ 5)
+ inherit multilib
+ ;;
esac
+inherit flag-o-matic toolchain-funcs mozcoreconf-v4
+
# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_WIFI
# @DESCRIPTION:
# Set this variable before the inherit line, when an ebuild needs to provide
@@ -54,6 +59,19 @@ esac
# Set the variable to "enabled" if the use flag should be enabled by default.
# Set the variable to any value if the use flag should exist but not be default-enabled.
+# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_GTK2ONLY
+# @DESCRIPTION:
+# Set this variable before the inherit line, when an ebuild can provide
+# optional gtk2-only support via IUSE="gtk2".
+#
+# Note that this option conflicts directly with MOZCONFIG_OPTIONAL_GTK3, both
+# variables cannot be set at the same time and this variable will be ignored if
+# MOZCONFIG_OPTIONAL_GTK3 is set.
+#
+# Leave the variable UNSET if gtk2-only support should not be available.
+# Set the variable to "enabled" if the use flag should be enabled by default.
+# Set the variable to any value if the use flag should exist but not be default-enabled.
+
# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_QT5
# @DESCRIPTION:
# Set this variable before the inherit line, when an ebuild can provide
@@ -65,8 +83,8 @@ esac
# Set the variable to any value if the use flag should exist but not be default-enabled.
# use-flags common among all mozilla ebuilds
-IUSE="${IUSE} dbus debug ffmpeg +gstreamer gstreamer-0 +jemalloc3 neon pulseaudio selinux startup-notification system-cairo
- system-icu system-jpeg system-libevent system-sqlite system-libvpx"
+IUSE="${IUSE} dbus debug +jemalloc3 neon pulseaudio selinux startup-notification system-cairo
+ system-harfbuzz system-icu system-jpeg system-libevent system-sqlite system-libvpx"
# some notes on deps:
# gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14
@@ -75,12 +93,11 @@ IUSE="${IUSE} dbus debug ffmpeg +gstreamer gstreamer-0 +jemalloc3 neon pulseaudi
RDEPEND=">=app-text/hunspell-1.2
dev-libs/atk
dev-libs/expat
- >=dev-libs/libevent-1.4.7
>=x11-libs/cairo-1.10[X]
>=x11-libs/gtk+-2.18:2
x11-libs/gdk-pixbuf
>=x11-libs/pango-1.22.0
- >=media-libs/libpng-1.6.17:0=[apng]
+ >=media-libs/libpng-1.6.21:0=[apng]
>=media-libs/mesa-10.2:*
media-libs/fontconfig
>=media-libs/freetype-2.4.10
@@ -93,17 +110,7 @@ RDEPEND=">=app-text/hunspell-1.2
>=dev-libs/glib-2.26:2
>=sys-libs/zlib-1.2.3
>=virtual/libffi-3.0.10
- ffmpeg? ( virtual/ffmpeg )
- gstreamer? (
- >=media-libs/gstreamer-1.4.5:1.0
- >=media-libs/gst-plugins-base-1.4.5:1.0
- >=media-libs/gst-plugins-good-1.4.5:1.0
- >=media-plugins/gst-plugins-libav-1.4.5:1.0
- )
- gstreamer-0? (
- >=media-libs/gstreamer-0.10.25:0.10
- media-plugins/gst-plugins-meta:0.10[ffmpeg]
- )
+ virtual/ffmpeg
x11-libs/libX11
x11-libs/libXcomposite
x11-libs/libXdamage
@@ -114,12 +121,14 @@ RDEPEND=">=app-text/hunspell-1.2
system-cairo? ( >=x11-libs/cairo-1.12[X,xcb] >=x11-libs/pixman-0.19.2 )
system-icu? ( >=dev-libs/icu-51.1:= )
system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
- system-libevent? ( =dev-libs/libevent-2.0* )
- system-sqlite? ( >=dev-db/sqlite-3.9.1:3[secure-delete,debug=] )
- system-libvpx? ( >=media-libs/libvpx-1.3.0:0=[postproc] )
+ system-libevent? ( =dev-libs/libevent-2.0*:0= )
+ system-sqlite? ( >=dev-db/sqlite-3.11.0:3[secure-delete,debug=] )
+ system-libvpx? ( >=media-libs/libvpx-1.5.0:0=[postproc] )
+ system-harfbuzz? ( >=media-libs/harfbuzz-1.2.2:0=[graphite,icu] >=media-gfx/graphite2-1.3.8 )
"
if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then
+ MOZCONFIG_OPTIONAL_GTK2ONLY=
if [[ ${MOZCONFIG_OPTIONAL_GTK3} = "enabled" ]]; then
IUSE+=" +gtk3"
else
@@ -127,6 +136,14 @@ if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then
fi
RDEPEND+="
gtk3? ( >=x11-libs/gtk+-3.4.0:3 )"
+elif [[ -n ${MOZCONFIG_OPTIONAL_GTK2ONLY} ]]; then
+ if [[ ${MOZCONFIG_OPTIONAL_GTK2ONLY} = "enabled" ]]; then
+ IUSE+=" +gtk2"
+ else
+ IUSE+=" gtk2"
+ fi
+ RDEPEND+="
+ !gtk2? ( >=x11-libs/gtk+-3.4.0:3 )"
fi
if [[ -n ${MOZCONFIG_OPTIONAL_QT5} ]]; then
inherit qmake-utils
@@ -175,13 +192,18 @@ DEPEND="app-arch/zip
RDEPEND+="
selinux? ( sec-policy/selinux-mozilla )"
-# only one of gstreamer and gstreamer-0 can be enabled at a time, so set REQUIRED_USE to signify this
-REQUIRED_USE="?? ( gstreamer gstreamer-0 )"
+# force system-icu if system-harfbuzz is selected, to avoid potential ABI issues
+REQUIRED_USE="
+ system-harfbuzz? ( system-icu )"
# only one of gtk3 or qt5 should be permitted to be selected, since only one will be used.
[[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]] && [[ -n ${MOZCONFIG_OPTIONAL_QT5} ]] && \
REQUIRED_USE+=" ?? ( gtk3 qt5 )"
+# only one of gtk2 or qt5 should be permitted to be selected, since only one will be used.
+[[ -n ${MOZCONFIG_OPTIONAL_GTK2ONLY} ]] && [[ -n ${MOZCONFIG_OPTIONAL_QT5} ]] && \
+ REQUIRED_USE+=" ?? ( gtk2 qt5 )"
+
# @FUNCTION: mozconfig_config
# @DESCRIPTION:
# Set common configure options for mozilla packages.
@@ -189,7 +211,7 @@ REQUIRED_USE="?? ( gstreamer gstreamer-0 )"
#
# Example:
#
-# inherit mozconfig-v5.33
+# inherit mozconfig-v6.46
#
# src_configure() {
# mozconfig_init
@@ -248,11 +270,11 @@ mozconfig_config() {
fi
# These are enabled by default in all mozilla applications
- mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${EPREFIX}"/usr
- mozconfig_annotate '' --with-system-nss --with-nss-prefix="${EPREFIX}"/usr
- mozconfig_annotate '' --x-includes="${EPREFIX}"/usr/include --x-libraries="${EPREFIX}"/usr/$(get_libdir)
+ mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${SYSROOT}${EPREFIX}"/usr
+ mozconfig_annotate '' --with-system-nss --with-nss-prefix="${SYSROOT}${EPREFIX}"/usr
+ mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include --x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
if use system-libevent; then
- mozconfig_annotate '' --with-system-libevent="${EPREFIX}"/usr
+ mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
fi
mozconfig_annotate '' --prefix="${EPREFIX}"/usr
mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
@@ -276,6 +298,13 @@ mozconfig_config() {
toolkit_comment="gtk3 use flag"
fi
fi
+ if [[ -n ${MOZCONFIG_OPTIONAL_GTK2ONLY} ]]; then
+ if ! use gtk2 ; then
+ toolkit="cairo-gtk3"
+ else
+ toolkit_comment="gtk2 use flag"
+ fi
+ fi
if [[ -n ${MOZCONFIG_OPTIONAL_QT5} ]]; then
if use qt5; then
toolkit="cairo-qt"
@@ -302,19 +331,15 @@ mozconfig_config() {
mozconfig_annotate '' --enable-replace-malloc
fi
- mozconfig_annotate '' --target="${CTARGET:-${CHOST}}"
- mozconfig_annotate '' --build="${CTARGET:-${CHOST}}"
-
- use ffmpeg || mozconfig_annotate '-ffmpeg' --disable-ffmpeg
- if use gstreamer ; then
- use ffmpeg && einfo "${PN} will not use ffmpeg unless gstreamer:1.0 is not available at runtime"
- mozconfig_annotate '+gstreamer' --enable-gstreamer=1.0
- elif use gstreamer-0 ; then
- use ffmpeg && einfo "${PN} will not use ffmpeg unless gstreamer:0.10 is not available at runtime"
- mozconfig_annotate '+gstreamer-0' --enable-gstreamer=0.10
- else
- mozconfig_annotate '' --disable-gstreamer
+ # Instead of the standard --build= and --host=, mozilla uses --host instead
+ # of --build, and --target intstead of --host.
+ # Note, mozilla also has --build but it does not do what you think it does.
+ mozconfig_annotate '' --target="${CHOST}"
+ if [[ "${CBUILD:-${CHOST}}" != "${CHOST}" ]]; then
+ # set --host only when cross-compiling
+ mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
fi
+
mozconfig_use_enable pulseaudio
mozconfig_use_enable system-cairo
@@ -322,6 +347,8 @@ mozconfig_config() {
mozconfig_use_with system-jpeg
mozconfig_use_with system-icu
mozconfig_use_with system-libvpx
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
# Modifications to better support ARM, bug 553364
if use neon ; then
@@ -339,3 +366,44 @@ mozconfig_config() {
fi
fi
}
+
+# @FUNCTION: mozconfig_install_prefs
+# @DESCRIPTION:
+# Set preferences into the prefs.js file specified as a parameter to
+# the function. This sets both some common prefs to all mozilla
+# packages, and any prefs that may relate to the use flags administered
+# by mozconfig_config().
+#
+# Call this within src_install() phase, after copying the template
+# prefs file (if any) from ${FILESDIR}
+#
+# Example:
+#
+# inherit mozconfig-v6.46
+#
+# src_install() {
+# cp "${FILESDIR}"/gentoo-default-prefs.js \
+# "${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"
+#
+# ...
+# }
+
+mozconfig_install_prefs() {
+ local prefs_file="${1}"
+
+ einfo "Adding prefs from mozconfig to ${prefs_file}"
+
+ # set dictionary path, to use system hunspell
+ echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
+ >>"${prefs_file}" || die
+
+ # force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it
+ if use system-harfbuzz ; then
+ echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
+ >>"${prefs_file}" || die
+ fi
+}
diff --git a/eclass/mozcoreconf-v4.eclass b/eclass/mozcoreconf-v4.eclass
new file mode 100644
index 000000000000..88f7b4b8fe84
--- /dev/null
+++ b/eclass/mozcoreconf-v4.eclass
@@ -0,0 +1,277 @@
+# 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
+
+# @ECLASS-VARIABLE: MOZILLA_FIVE_HOME
+# @DESCCRIPTION:
+# This is an eclass-generated variable that defines the rpath that the mozilla
+# product will be installed in. Read-only
+
+if [[ ! ${_MOZCORECONF_V3} ]]; then
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE='ncurses,sqlite,ssl,threads'
+
+inherit multilib toolchain-funcs 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 we use correct toolchain
+ tc-export CC CXX LD PKG_CONFIG
+
+ # 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
+
+ # set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # 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"
+
+ # Use the MOZILLA_FIVE_HOME for the rpath
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}"
+ # Set MOZILLA_FIVE_HOME in mozconfig
+ mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}
+
+ ####################################
+ #
+ # 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