diff options
author | Ian Stakenvicius <axs@gentoo.org> | 2016-06-07 16:12:17 -0400 |
---|---|---|
committer | Ian Stakenvicius <axs@gentoo.org> | 2016-06-07 22:12:12 -0400 |
commit | b89433318e17e1a431201c39f8e2da993054b9bb (patch) | |
tree | 3a24e77d8ed3054686ddb919268d2ab92c8c08d0 /eclass | |
parent | sys-cluster/torque: introduce v6.0.1 with cgroups support (diff) | |
download | gentoo-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.eclass | 232 | ||||
-rw-r--r-- | eclass/mozconfig-v5.36.eclass | 232 | ||||
-rw-r--r-- | eclass/mozconfig-v5.38.eclass | 231 | ||||
-rw-r--r-- | eclass/mozconfig-v6.39.eclass | 240 | ||||
-rw-r--r-- | eclass/mozconfig-v6.40.eclass | 263 | ||||
-rw-r--r-- | eclass/mozconfig-v6.45.eclass | 2 | ||||
-rw-r--r-- | eclass/mozconfig-v6.47.eclass (renamed from eclass/mozconfig-v6.44.eclass) | 150 | ||||
-rw-r--r-- | eclass/mozcoreconf-v4.eclass | 277 |
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 |