summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorIan Stakenvicius <axs@gentoo.org>2014-09-03 21:52:44 +0000
committerIan Stakenvicius <axs@gentoo.org>2014-09-03 21:52:44 +0000
commitde21a471b1d7ba21ee4cad7b6087ea3bf2f7ee71 (patch)
tree62a64d8720019971c0f9d4dc0ebfdd9fd6c683f3 /eclass
parentclean deps (bug #522082) (diff)
downloadgentoo-2-de21a471b1d7ba21ee4cad7b6087ea3bf2f7ee71.tar.gz
gentoo-2-de21a471b1d7ba21ee4cad7b6087ea3bf2f7ee71.tar.bz2
gentoo-2-de21a471b1d7ba21ee4cad7b6087ea3bf2f7ee71.zip
committed new eclass to support mozilla ebuilds
Diffstat (limited to 'eclass')
-rw-r--r--eclass/ChangeLog6
-rw-r--r--eclass/mozconfig-v4.1.eclass136
2 files changed, 141 insertions, 1 deletions
diff --git a/eclass/ChangeLog b/eclass/ChangeLog
index d08019c3202b..b19353c6966e 100644
--- a/eclass/ChangeLog
+++ b/eclass/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for eclass directory
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1363 2014/09/03 13:05:50 grknight Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1364 2014/09/03 21:52:44 axs Exp $
+
+ 03 Sep 2014; Ian Stakenvicius (_AxS_) <axs@gentoo.org>
+ +mozconfig-v4.1.eclass:
+ committed new eclass to support mozilla ebuilds
03 Sep 2014; Brian Evans <grknight@gentoo.org> mysql-multilib.eclass:
Fix libedit MULTILIB_USEDEP wrt bug 521964
diff --git a/eclass/mozconfig-v4.1.eclass b/eclass/mozconfig-v4.1.eclass
new file mode 100644
index 000000000000..7ac1ee77f9a1
--- /dev/null
+++ b/eclass/mozconfig-v4.1.eclass
@@ -0,0 +1,136 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/eclass/mozconfig-v4.1.eclass,v 1.1 2014/09/03 21:52:44 axs Exp $
+#
+# mozconfig-v4.1.eclass: the new mozilla.eclass
+
+inherit multilib flag-o-matic mozcoreconf-2
+
+# @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="dbus debug startup-notification"
+
+RDEPEND=">=app-text/hunspell-1.2
+ dev-libs/expat
+ >=dev-libs/libevent-1.4.7
+ >=x11-libs/cairo-1.12[X]
+ >=x11-libs/gtk+-2.10:2
+ >=x11-libs/pango-1.22.0
+ kernel_linux? ( media-libs/alsa-lib )
+ virtual/freedesktop-icon-theme
+ dbus? ( >=dev-libs/dbus-glib-0.72 )
+ startup-notification? ( >=x11-libs/startup-notification-0.8 )
+ >=dev-libs/glib-2.26:2"
+
+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
+ ${RDEPEND}"
+
+# @FUNCTION: mozconfig_config
+# @DESCRIPTION:
+# Set common configure options for mozilla packages.
+# Call this within src_configure() phase, after mozconfig_init
+#
+# Example:
+#
+# inherit mozconfig-v4
+#
+# src_configure() {
+# mozconfig_init
+# mozconfig_config
+# # ... misc ebuild-unique settings via calls to
+# # ... mozconfig_{annotate,use_with,use_enable}
+# mozconfig_final
+# }
+
+mozconfig_config() {
+
+ 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
+ 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
+
+ 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 '' --enable-system-hunspell
+ mozconfig_annotate '' --disable-gnomevfs
+ mozconfig_annotate '' --disable-gnomeui
+ mozconfig_annotate '' --enable-gio
+ mozconfig_annotate '' --disable-crashreporter
+}