Gentoo Archives: gentoo-commits

From: Ian Stakenvicius <axs@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: eclass/
Date: Wed, 15 Feb 2017 21:06:36
Message-Id: 1487192637.92e680426b2cf61242e1e16e09b41e026c4c68a0.axs@gentoo
1 commit: 92e680426b2cf61242e1e16e09b41e026c4c68a0
2 Author: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
3 AuthorDate: Wed Feb 15 21:03:57 2017 +0000
4 Commit: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
5 CommitDate: Wed Feb 15 21:03:57 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92e68042
7
8 mozconfig.eclass: remove old/unused v5.31, v6.38, v6.42
9
10 eclass/mozconfig-v5.31.eclass | 218 --------------------------------
11 eclass/mozconfig-v6.38.eclass | 256 --------------------------------------
12 eclass/mozconfig-v6.42.eclass | 282 ------------------------------------------
13 3 files changed, 756 deletions(-)
14
15 diff --git a/eclass/mozconfig-v5.31.eclass b/eclass/mozconfig-v5.31.eclass
16 deleted file mode 100644
17 index a9b72fa409..0000000000
18 --- a/eclass/mozconfig-v5.31.eclass
19 +++ /dev/null
20 @@ -1,218 +0,0 @@
21 -# Copyright 1999-2015 Gentoo Foundation
22 -# Distributed under the terms of the GNU General Public License v2
23 -# $Id$
24 -#
25 -# @ECLASS: mozconfig-v5.31.eclass
26 -# @MAINTAINER:
27 -# mozilla team <mozilla@g.o>
28 -# @BLURB: the new mozilla common configuration eclass for FF31 and newer, v5
29 -# @DESCRIPTION:
30 -# This eclass is used in mozilla ebuilds (firefox, thunderbird, seamonkey)
31 -# to provide a single common place for the common mozilla engine compoments.
32 -#
33 -# The eclass provides all common dependencies as well as common use flags.
34 -#
35 -# Some use flags which may be optional in particular mozilla packages can be
36 -# supported through setting eclass variables.
37 -#
38 -# This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3,
39 -# and so ebuilds inheriting this eclass do not need to inherit that.
40 -
41 -inherit multilib flag-o-matic toolchain-funcs mozcoreconf-v3
42 -
43 -case ${EAPI} in
44 - 0|1|2|3|4) die "EAPI=${EAPI} not supported"
45 -esac
46 -
47 -# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_WIFI
48 -# @DESCRIPTION:
49 -# Set this variable before the inherit line, when an ebuild needs to provide
50 -# optional necko-wifi support via IUSE="wifi". Currently this would include
51 -# ebuilds for firefox, and potentially seamonkey.
52 -#
53 -# Leave the variable UNSET if necko-wifi support should not be available.
54 -# Set the variable to "enabled" if the use flag should be enabled by default.
55 -# Set the variable to any value if the use flag should exist but not be default-enabled.
56 -
57 -# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_JIT
58 -# @DESCRIPTION:
59 -# Set this variable before the inherit line, when an ebuild needs to provide
60 -# optional necko-wifi support via IUSE="jit". Currently this would include
61 -# ebuilds for firefox, and potentially seamonkey.
62 -#
63 -# Leave the variable UNSET if optional jit support should not be available.
64 -# Set the variable to "enabled" if the use flag should be enabled by default.
65 -# Set the variable to any value if the use flag should exist but not be default-enabled.
66 -
67 -# use-flags common among all mozilla ebuilds
68 -IUSE="${IUSE} dbus debug gstreamer pulseaudio startup-notification system-cairo system-icu system-jpeg system-sqlite system-libvpx"
69 -
70 -# some notes on deps:
71 -# gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14
72 -# media-libs/mesa needs to be 10.2 or above due to a bug with flash+vdpau
73 -
74 -RDEPEND=">=app-text/hunspell-1.2:=
75 - dev-libs/atk
76 - dev-libs/expat
77 - >=dev-libs/libevent-1.4.7
78 - >=x11-libs/cairo-1.10[X]
79 - >=x11-libs/gtk+-2.14:2
80 - x11-libs/gdk-pixbuf
81 - >=x11-libs/pango-1.22.0
82 - >=media-libs/libpng-1.6.10:0=[apng]
83 - >=media-libs/mesa-10.2:*
84 - media-libs/fontconfig
85 - >=media-libs/freetype-2.4.10
86 - kernel_linux? ( media-libs/alsa-lib )
87 - pulseaudio? ( media-sound/pulseaudio )
88 - >=sys-libs/zlib-1.2.3
89 - virtual/freedesktop-icon-theme
90 - dbus? ( >=sys-apps/dbus-0.60
91 - >=dev-libs/dbus-glib-0.72 )
92 - startup-notification? ( >=x11-libs/startup-notification-0.8 )
93 - >=dev-libs/glib-2.26:2
94 - virtual/libffi
95 - gstreamer? ( media-plugins/gst-plugins-meta:1.0[ffmpeg] )
96 - x11-libs/libX11
97 - x11-libs/libXext
98 - x11-libs/libXrender
99 - x11-libs/libXt
100 - system-cairo? ( >=x11-libs/cairo-1.12[X] >=x11-libs/pixman-0.19.2 )
101 - system-icu? ( >=dev-libs/icu-51.1:= )
102 - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
103 - system-sqlite? ( >=dev-db/sqlite-3.8.4.2:3[secure-delete,debug=] )
104 -"
105 -
106 -# firefox-31.0-patches-0.3 and above carry a patch making newer libvpx compatible
107 -case ${PATCHFF##*31.0-patches-} in
108 - 0.3) RDEPEND+=" system-libvpx? ( >=media-libs/libvpx-1.3.0:0= )" ;;
109 - *) RDEPEND+=" system-libvpx? ( =media-libs/libvpx-1.3.0* )" ;;
110 -esac
111 -
112 -if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]]; then
113 - if [[ ${MOZCONFIG_OPTIONAL_WIFI} = "enabled" ]]; then
114 - IUSE+=" +wifi"
115 - else
116 - IUSE+=" wifi"
117 - fi
118 - RDEPEND+="
119 - wifi? ( >=sys-apps/dbus-0.60
120 - >=dev-libs/dbus-glib-0.72
121 - net-wireless/wireless-tools )"
122 -fi
123 -if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then
124 - if [[ ${MOZCONFIG_OPTIONAL_JIT} = "enabled" ]]; then
125 - IUSE+=" +jit"
126 - else
127 - IUSE+=" jit"
128 - fi
129 -fi
130 -
131 -DEPEND="app-arch/zip
132 - app-arch/unzip
133 - >=sys-devel/binutils-2.16.1
134 - ${RDEPEND}"
135 -
136 -# @FUNCTION: mozconfig_config
137 -# @DESCRIPTION:
138 -# Set common configure options for mozilla packages.
139 -# Call this within src_configure() phase, after mozconfig_init
140 -#
141 -# Example:
142 -#
143 -# inherit mozconfig-v5.31
144 -#
145 -# src_configure() {
146 -# mozconfig_init
147 -# mozconfig_config
148 -# # ... misc ebuild-unique settings via calls to
149 -# # ... mozconfig_{annotate,use_with,use_enable}
150 -# mozconfig_final
151 -# }
152 -
153 -mozconfig_config() {
154 - # Migrated from mozcoreconf-2
155 - mozconfig_annotate 'system_libs' \
156 - --with-system-zlib \
157 - --enable-pango \
158 - --enable-svg
159 -
160 - mozconfig_annotate '' --enable-default-toolkit=cairo-gtk2
161 -
162 - if has bindist ${IUSE}; then
163 - mozconfig_use_enable !bindist official-branding
164 - if [[ ${PN} == firefox ]] && use bindist ; then
165 - mozconfig_annotate '' --with-branding=browser/branding/aurora
166 - fi
167 - fi
168 -
169 - mozconfig_use_enable debug
170 - mozconfig_use_enable debug tests
171 -
172 - if ! use debug ; then
173 - mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
174 - fi
175 -
176 - mozconfig_use_enable startup-notification
177 -
178 - if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]] ; then
179 - # wifi pulls in dbus so manage both here
180 - mozconfig_use_enable wifi necko-wifi
181 - if use wifi && ! use dbus; then
182 - echo "Enabling dbus support due to wifi request"
183 - mozconfig_annotate 'dbus required by necko-wifi' --enable-dbus
184 - else
185 - mozconfig_use_enable dbus
186 - fi
187 - else
188 - mozconfig_use_enable dbus
189 - mozconfig_annotate 'disabled' --disable-necko-wifi
190 - fi
191 -
192 - mozconfig_annotate 'required' --enable-ogg
193 - mozconfig_annotate 'required' --enable-wave
194 -
195 - if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then
196 - mozconfig_use_enable jit ion
197 - mozconfig_use_enable jit yarr-jit
198 - fi
199 -
200 - # These are enabled by default in all mozilla applications
201 - mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${EPREFIX}"/usr
202 - mozconfig_annotate '' --with-system-nss --with-nss-prefix="${EPREFIX}"/usr
203 - mozconfig_annotate '' --x-includes="${EPREFIX}"/usr/include --x-libraries="${EPREFIX}"/usr/$(get_libdir)
204 - mozconfig_annotate '' --with-system-libevent="${EPREFIX}"/usr
205 - mozconfig_annotate '' --prefix="${EPREFIX}"/usr
206 - mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
207 - mozconfig_annotate '' --enable-system-hunspell
208 - mozconfig_annotate '' --disable-gnomevfs
209 - mozconfig_annotate '' --disable-gnomeui
210 - mozconfig_annotate '' --enable-gio
211 - mozconfig_annotate '' --disable-crashreporter
212 - mozconfig_annotate '' --with-system-png
213 - mozconfig_annotate '' --enable-system-ffi
214 - mozconfig_annotate '' --disable-gold
215 - mozconfig_annotate '' --disable-gconf
216 -
217 - # We must force enable jemalloc 3 threw .mozconfig
218 - echo "export MOZ_JEMALLOC=1" >> "${S}"/.mozconfig || die
219 - mozconfig_annotate '' --enable-jemalloc
220 - mozconfig_annotate '' --enable-replace-malloc
221 -
222 - mozconfig_annotate '' --target="${CTARGET:-${CHOST}}"
223 - mozconfig_annotate '' --build="${CTARGET:-${CHOST}}"
224 -
225 - if use gstreamer; then
226 - mozconfig_annotate '+gstreamer' --enable-gstreamer=1.0
227 - else
228 - mozconfig_annotate '' --disable-gstreamer
229 - fi
230 - mozconfig_use_enable pulseaudio
231 -
232 - mozconfig_use_enable system-cairo
233 - mozconfig_use_enable system-sqlite
234 - mozconfig_use_with system-jpeg
235 - mozconfig_use_with system-icu
236 - mozconfig_use_with system-icu intl-api
237 - mozconfig_use_with system-libvpx
238 -}
239
240 diff --git a/eclass/mozconfig-v6.38.eclass b/eclass/mozconfig-v6.38.eclass
241 deleted file mode 100644
242 index 7f70597c8e..0000000000
243 --- a/eclass/mozconfig-v6.38.eclass
244 +++ /dev/null
245 @@ -1,256 +0,0 @@
246 -# Copyright 1999-2015 Gentoo Foundation
247 -# Distributed under the terms of the GNU General Public License v2
248 -# $Id$
249 -#
250 -# @ECLASS: mozconfig-v5.33.eclass
251 -# @MAINTAINER:
252 -# mozilla team <mozilla@g.o>
253 -# @BLURB: the new mozilla common configuration eclass for FF33 and newer, v5
254 -# @DESCRIPTION:
255 -# This eclass is used in mozilla ebuilds (firefox, thunderbird, seamonkey)
256 -# to provide a single common place for the common mozilla engine compoments.
257 -#
258 -# The eclass provides all common dependencies as well as common use flags.
259 -#
260 -# Some use flags which may be optional in particular mozilla packages can be
261 -# supported through setting eclass variables.
262 -#
263 -# This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3,
264 -# and so ebuilds inheriting this eclass do not need to inherit that.
265 -
266 -inherit multilib flag-o-matic toolchain-funcs mozcoreconf-v3
267 -
268 -case ${EAPI} in
269 - 0|1|2|3|4) die "EAPI=${EAPI} not supported"
270 -esac
271 -
272 -# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_WIFI
273 -# @DESCRIPTION:
274 -# Set this variable before the inherit line, when an ebuild needs to provide
275 -# optional necko-wifi support via IUSE="wifi". Currently this would include
276 -# ebuilds for firefox, and potentially seamonkey.
277 -#
278 -# Leave the variable UNSET if necko-wifi support should not be available.
279 -# Set the variable to "enabled" if the use flag should be enabled by default.
280 -# Set the variable to any value if the use flag should exist but not be default-enabled.
281 -
282 -# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_JIT
283 -# @DESCRIPTION:
284 -# Set this variable before the inherit line, when an ebuild needs to provide
285 -# optional necko-wifi support via IUSE="jit". Currently this would include
286 -# ebuilds for firefox, and potentially seamonkey.
287 -#
288 -# Leave the variable UNSET if optional jit support should not be available.
289 -# Set the variable to "enabled" if the use flag should be enabled by default.
290 -# Set the variable to any value if the use flag should exist but not be default-enabled.
291 -
292 -# use-flags common among all mozilla ebuilds
293 -IUSE="${IUSE} dbus debug gstreamer gstreamer-0 +jemalloc3 neon pulseaudio selinux startup-notification system-cairo system-icu system-jpeg system-sqlite system-libvpx"
294 -
295 -# some notes on deps:
296 -# gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14
297 -# media-libs/mesa needs to be 10.2 or above due to a bug with flash+vdpau
298 -
299 -RDEPEND=">=app-text/hunspell-1.2:=
300 - dev-libs/atk
301 - dev-libs/expat
302 - >=dev-libs/libevent-1.4.7
303 - >=x11-libs/cairo-1.10[X]
304 - >=x11-libs/gtk+-2.18:2
305 - x11-libs/gdk-pixbuf
306 - >=x11-libs/pango-1.22.0
307 - >=media-libs/libpng-1.6.16:0=[apng]
308 - >=media-libs/mesa-10.2:*
309 - media-libs/fontconfig
310 - >=media-libs/freetype-2.4.10
311 - kernel_linux? ( media-libs/alsa-lib )
312 - pulseaudio? ( media-sound/pulseaudio )
313 - virtual/freedesktop-icon-theme
314 - dbus? ( >=sys-apps/dbus-0.60
315 - >=dev-libs/dbus-glib-0.72 )
316 - startup-notification? ( >=x11-libs/startup-notification-0.8 )
317 - >=dev-libs/glib-2.26:2
318 - >=sys-libs/zlib-1.2.3
319 - >=virtual/libffi-3.0.10
320 - gstreamer? (
321 - >=media-libs/gstreamer-1.4.5:1.0
322 - >=media-libs/gst-plugins-base-1.4.5:1.0
323 - >=media-libs/gst-plugins-good-1.4.5:1.0
324 - >=media-plugins/gst-plugins-libav-1.4.5:1.0
325 - )
326 - gstreamer-0? (
327 - media-plugins/gst-plugins-meta:0.10[ffmpeg]
328 - )
329 - x11-libs/libX11
330 - x11-libs/libXcomposite
331 - x11-libs/libXdamage
332 - x11-libs/libXext
333 - x11-libs/libXfixes
334 - x11-libs/libXrender
335 - x11-libs/libXt
336 - system-cairo? ( >=x11-libs/cairo-1.12[X] >=x11-libs/pixman-0.19.2 )
337 - system-icu? ( >=dev-libs/icu-51.1:= )
338 - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
339 - system-sqlite? ( >=dev-db/sqlite-3.8.8.2:3[secure-delete,debug=] )
340 - system-libvpx? ( >=media-libs/libvpx-1.3.0:0=[postproc] )
341 -"
342 -
343 -if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]]; then
344 - if [[ ${MOZCONFIG_OPTIONAL_WIFI} = "enabled" ]]; then
345 - IUSE+=" +wifi"
346 - else
347 - IUSE+=" wifi"
348 - fi
349 - RDEPEND+="
350 - wifi? ( >=sys-apps/dbus-0.60
351 - >=dev-libs/dbus-glib-0.72
352 - net-wireless/wireless-tools )"
353 -fi
354 -if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then
355 - if [[ ${MOZCONFIG_OPTIONAL_JIT} = "enabled" ]]; then
356 - IUSE+=" +jit"
357 - else
358 - IUSE+=" jit"
359 - fi
360 -fi
361 -
362 -DEPEND="app-arch/zip
363 - app-arch/unzip
364 - >=sys-devel/binutils-2.16.1
365 - ${RDEPEND}"
366 -
367 -RDEPEND+="
368 - selinux? ( sec-policy/selinux-mozilla )"
369 -
370 -# only one of gstreamer and gstreamer-0 can be enabled at a time, so set REQUIRED_USE to signify this
371 -REQUIRED_USE="?? ( gstreamer gstreamer-0 )"
372 -
373 -# @FUNCTION: mozconfig_config
374 -# @DESCRIPTION:
375 -# Set common configure options for mozilla packages.
376 -# Call this within src_configure() phase, after mozconfig_init
377 -#
378 -# Example:
379 -#
380 -# inherit mozconfig-v5.33
381 -#
382 -# src_configure() {
383 -# mozconfig_init
384 -# mozconfig_config
385 -# # ... misc ebuild-unique settings via calls to
386 -# # ... mozconfig_{annotate,use_with,use_enable}
387 -# mozconfig_final
388 -# }
389 -
390 -mozconfig_config() {
391 - # Migrated from mozcoreconf-2
392 - mozconfig_annotate 'system_libs' \
393 - --with-system-zlib \
394 - --enable-pango \
395 - --enable-svg \
396 - --with-system-bz2
397 -
398 - mozconfig_annotate '' --enable-default-toolkit=cairo-gtk2
399 -
400 - if has bindist ${IUSE}; then
401 - mozconfig_use_enable !bindist official-branding
402 - if [[ ${PN} == firefox ]] && use bindist ; then
403 - mozconfig_annotate '' --with-branding=browser/branding/aurora
404 - fi
405 - fi
406 -
407 - mozconfig_use_enable debug
408 - mozconfig_use_enable debug tests
409 -
410 - if ! use debug ; then
411 - mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
412 - else
413 - mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
414 - fi
415 -
416 - mozconfig_use_enable startup-notification
417 -
418 - if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]] ; then
419 - # wifi pulls in dbus so manage both here
420 - mozconfig_use_enable wifi necko-wifi
421 - if use wifi && ! use dbus; then
422 - echo "Enabling dbus support due to wifi request"
423 - mozconfig_annotate 'dbus required by necko-wifi' --enable-dbus
424 - else
425 - mozconfig_use_enable dbus
426 - fi
427 - else
428 - mozconfig_use_enable dbus
429 - mozconfig_annotate 'disabled' --disable-necko-wifi
430 - fi
431 -
432 - # These are forced-on for webm support
433 - mozconfig_annotate 'required' --enable-ogg
434 - mozconfig_annotate 'required' --enable-wave
435 -
436 - if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then
437 - mozconfig_use_enable jit ion
438 - fi
439 -
440 - # These are enabled by default in all mozilla applications
441 - mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${EPREFIX}"/usr
442 - mozconfig_annotate '' --with-system-nss --with-nss-prefix="${EPREFIX}"/usr
443 - mozconfig_annotate '' --x-includes="${EPREFIX}"/usr/include --x-libraries="${EPREFIX}"/usr/$(get_libdir)
444 - mozconfig_annotate '' --with-system-libevent="${EPREFIX}"/usr
445 - mozconfig_annotate '' --prefix="${EPREFIX}"/usr
446 - mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
447 - mozconfig_annotate 'Gentoo default' --enable-system-hunspell
448 - mozconfig_annotate '' --disable-gnomevfs
449 - mozconfig_annotate '' --disable-gnomeui
450 - mozconfig_annotate '' --enable-gio
451 - mozconfig_annotate '' --disable-crashreporter
452 - mozconfig_annotate 'Gentoo default' --with-system-png
453 - mozconfig_annotate '' --enable-system-ffi
454 - mozconfig_annotate 'Gentoo default to honor system linker' --disable-gold
455 - mozconfig_annotate '' --disable-gconf
456 - mozconfig_annotate 'Gentoo default' --disable-skia
457 - mozconfig_annotate '' --with-intl-api
458 -
459 - # Use jemalloc unless libc is not glibc >= 2.4
460 - # at this time the minimum glibc in the tree is 2.9 so we should be safe.
461 - if use elibc_glibc && use jemalloc3; then
462 - # We must force-enable jemalloc 3 via .mozconfig
463 - echo "export MOZ_JEMALLOC3=1" >> "${S}"/.mozconfig || die
464 - mozconfig_annotate '' --enable-jemalloc
465 - mozconfig_annotate '' --enable-replace-malloc
466 - fi
467 -
468 - mozconfig_annotate '' --target="${CTARGET:-${CHOST}}"
469 - mozconfig_annotate '' --build="${CTARGET:-${CHOST}}"
470 -
471 - if use gstreamer ; then
472 - mozconfig_annotate '+gstreamer' --enable-gstreamer=1.0
473 - elif use gstreamer-0 ; then
474 - mozconfig_annotate '+gstreamer-0' --enable-gstreamer=0.10
475 - else
476 - mozconfig_annotate '' --disable-gstreamer
477 - fi
478 - mozconfig_use_enable pulseaudio
479 -
480 - mozconfig_use_enable system-cairo
481 - mozconfig_use_enable system-sqlite
482 - mozconfig_use_with system-jpeg
483 - mozconfig_use_with system-icu
484 - mozconfig_use_with system-libvpx
485 -
486 - # Modifications to better support ARM, bug 553364
487 - if use neon ; then
488 - mozconfig_annotate '' --with-fpu=neon
489 - mozconfig_annotate '' --with-thumb=yes
490 - mozconfig_annotate '' --with-thumb-interwork=no
491 - fi
492 - if [[ ${CHOST} == armv* ]] ; then
493 - mozconfig_annotate '' --with-float-abi=hard
494 - mozconfig_annotate '' --enable-skia
495 -
496 - if ! use system-libvpx ; then
497 - sed -i -e "s|softfp|hard|" \
498 - "${S}"/media/libvpx/moz.build
499 - fi
500 - fi
501 -}
502
503 diff --git a/eclass/mozconfig-v6.42.eclass b/eclass/mozconfig-v6.42.eclass
504 deleted file mode 100644
505 index 29a75f9972..0000000000
506 --- a/eclass/mozconfig-v6.42.eclass
507 +++ /dev/null
508 @@ -1,282 +0,0 @@
509 -# Copyright 1999-2015 Gentoo Foundation
510 -# Distributed under the terms of the GNU General Public License v2
511 -# $Id$
512 -#
513 -# @ECLASS: mozconfig-v6.40.eclass
514 -# @MAINTAINER:
515 -# mozilla team <mozilla@g.o>
516 -# @BLURB: the new mozilla common configuration eclass for FF33 and newer, v6
517 -# @DESCRIPTION:
518 -# This eclass is used in mozilla ebuilds (firefox, thunderbird, seamonkey)
519 -# to provide a single common place for the common mozilla engine compoments.
520 -#
521 -# The eclass provides all common dependencies as well as common use flags.
522 -#
523 -# Some use flags which may be optional in particular mozilla packages can be
524 -# supported through setting eclass variables.
525 -#
526 -# This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3,
527 -# and so ebuilds inheriting this eclass do not need to inherit that.
528 -
529 -inherit multilib flag-o-matic toolchain-funcs mozcoreconf-v3
530 -
531 -case ${EAPI} in
532 - 0|1|2|3|4) die "EAPI=${EAPI} not supported"
533 -esac
534 -
535 -# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_WIFI
536 -# @DESCRIPTION:
537 -# Set this variable before the inherit line, when an ebuild needs to provide
538 -# optional necko-wifi support via IUSE="wifi". Currently this would include
539 -# ebuilds for firefox, and potentially seamonkey.
540 -#
541 -# Leave the variable UNSET if necko-wifi support should not be available.
542 -# Set the variable to "enabled" if the use flag should be enabled by default.
543 -# Set the variable to any value if the use flag should exist but not be default-enabled.
544 -
545 -# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_JIT
546 -# @DESCRIPTION:
547 -# Set this variable before the inherit line, when an ebuild needs to provide
548 -# optional necko-wifi support via IUSE="jit". Currently this would include
549 -# ebuilds for firefox, and potentially seamonkey.
550 -#
551 -# Leave the variable UNSET if optional jit support should not be available.
552 -# Set the variable to "enabled" if the use flag should be enabled by default.
553 -# Set the variable to any value if the use flag should exist but not be default-enabled.
554 -
555 -# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_GTK3
556 -# @DESCRIPTION:
557 -# Set this variable before the inherit line, when an ebuild can provide
558 -# optional gtk3 support via IUSE="gtk3". Currently this would include
559 -# ebuilds for firefox, but thunderbird and seamonkey could follow in the future.
560 -#
561 -# Leave the variable UNSET if gtk3 support should not be available.
562 -# Set the variable to "enabled" if the use flag should be enabled by default.
563 -# Set the variable to any value if the use flag should exist but not be default-enabled.
564 -
565 -# use-flags common among all mozilla ebuilds
566 -IUSE="${IUSE} dbus debug +gstreamer gstreamer-0 +jemalloc3 neon pulseaudio selinux startup-notification system-cairo system-icu system-jpeg system-sqlite system-libvpx"
567 -
568 -# some notes on deps:
569 -# gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14
570 -# media-libs/mesa needs to be 10.2 or above due to a bug with flash+vdpau
571 -
572 -RDEPEND=">=app-text/hunspell-1.2:=
573 - dev-libs/atk
574 - dev-libs/expat
575 - >=dev-libs/libevent-1.4.7
576 - >=x11-libs/cairo-1.10[X]
577 - >=x11-libs/gtk+-2.18:2
578 - x11-libs/gdk-pixbuf
579 - >=x11-libs/pango-1.22.0
580 - >=media-libs/libpng-1.6.17:0=[apng]
581 - >=media-libs/mesa-10.2:*
582 - media-libs/fontconfig
583 - >=media-libs/freetype-2.4.10
584 - kernel_linux? ( media-libs/alsa-lib )
585 - pulseaudio? ( media-sound/pulseaudio )
586 - virtual/freedesktop-icon-theme
587 - dbus? ( >=sys-apps/dbus-0.60
588 - >=dev-libs/dbus-glib-0.72 )
589 - startup-notification? ( >=x11-libs/startup-notification-0.8 )
590 - >=dev-libs/glib-2.26:2
591 - >=sys-libs/zlib-1.2.3
592 - >=virtual/libffi-3.0.10
593 - gstreamer? (
594 - >=media-libs/gstreamer-1.4.5:1.0
595 - >=media-libs/gst-plugins-base-1.4.5:1.0
596 - >=media-libs/gst-plugins-good-1.4.5:1.0
597 - >=media-plugins/gst-plugins-libav-1.4.5:1.0
598 - )
599 - gstreamer-0? (
600 - >=media-libs/gstreamer-0.10.25:0.10
601 - media-plugins/gst-plugins-meta:0.10[ffmpeg]
602 - )
603 - x11-libs/libX11
604 - x11-libs/libXcomposite
605 - x11-libs/libXdamage
606 - x11-libs/libXext
607 - x11-libs/libXfixes
608 - x11-libs/libXrender
609 - x11-libs/libXt
610 - system-cairo? ( >=x11-libs/cairo-1.12[X,xcb] >=x11-libs/pixman-0.19.2 )
611 - system-icu? ( >=dev-libs/icu-51.1:= )
612 - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
613 - system-sqlite? ( >=dev-db/sqlite-3.8.11.1:3[secure-delete,debug=] )
614 - system-libvpx? ( >=media-libs/libvpx-1.3.0:0=[postproc] )
615 -"
616 -
617 -if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then
618 - if [[ ${MOZCONFIG_OPTIONAL_GTK3} = "enabled" ]]; then
619 - IUSE+=" +gtk3"
620 - else
621 - IUSE+=" gtk3"
622 - fi
623 - RDEPEND+="
624 - gtk3? ( >=x11-libs/gtk+-3.14.0:3 )"
625 -fi
626 -if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]]; then
627 - if [[ ${MOZCONFIG_OPTIONAL_WIFI} = "enabled" ]]; then
628 - IUSE+=" +wifi"
629 - else
630 - IUSE+=" wifi"
631 - fi
632 - RDEPEND+="
633 - wifi? (
634 - kernel_linux? ( >=sys-apps/dbus-0.60
635 - >=dev-libs/dbus-glib-0.72
636 - net-misc/networkmanager )
637 - )"
638 -fi
639 -if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then
640 - if [[ ${MOZCONFIG_OPTIONAL_JIT} = "enabled" ]]; then
641 - IUSE+=" +jit"
642 - else
643 - IUSE+=" jit"
644 - fi
645 -fi
646 -
647 -DEPEND="app-arch/zip
648 - app-arch/unzip
649 - >=sys-devel/binutils-2.16.1
650 - ${RDEPEND}"
651 -
652 -RDEPEND+="
653 - selinux? ( sec-policy/selinux-mozilla )"
654 -
655 -# only one of gstreamer and gstreamer-0 can be enabled at a time, so set REQUIRED_USE to signify this
656 -REQUIRED_USE="?? ( gstreamer gstreamer-0 )"
657 -
658 -# @FUNCTION: mozconfig_config
659 -# @DESCRIPTION:
660 -# Set common configure options for mozilla packages.
661 -# Call this within src_configure() phase, after mozconfig_init
662 -#
663 -# Example:
664 -#
665 -# inherit mozconfig-v5.33
666 -#
667 -# src_configure() {
668 -# mozconfig_init
669 -# mozconfig_config
670 -# # ... misc ebuild-unique settings via calls to
671 -# # ... mozconfig_{annotate,use_with,use_enable}
672 -# mozconfig_final
673 -# }
674 -
675 -mozconfig_config() {
676 - # Migrated from mozcoreconf-2
677 - mozconfig_annotate 'system_libs' \
678 - --with-system-zlib \
679 - --enable-pango \
680 - --enable-svg \
681 - --with-system-bz2
682 -
683 - if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then
684 - mozconfig_annotate 'gtk3 use flag' --enable-default-toolkit=$(usex gtk3 cairo-gtk3 cairo-gtk2)
685 - else
686 - mozconfig_annotate '' --enable-default-toolkit=cairo-gtk2
687 - fi
688 -
689 - if has bindist ${IUSE}; then
690 - mozconfig_use_enable !bindist official-branding
691 - if [[ ${PN} == firefox ]] && use bindist ; then
692 - mozconfig_annotate '' --with-branding=browser/branding/aurora
693 - fi
694 - fi
695 -
696 - mozconfig_use_enable debug
697 - mozconfig_use_enable debug tests
698 -
699 - if ! use debug ; then
700 - mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
701 - else
702 - mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
703 - fi
704 -
705 - mozconfig_use_enable startup-notification
706 -
707 - if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]] ; then
708 - # wifi pulls in dbus so manage both here
709 - mozconfig_use_enable wifi necko-wifi
710 - if use kernel_linux && use wifi && ! use dbus; then
711 - echo "Enabling dbus support due to wifi request"
712 - mozconfig_annotate 'dbus required by necko-wifi on linux' --enable-dbus
713 - else
714 - mozconfig_use_enable dbus
715 - fi
716 - else
717 - mozconfig_use_enable dbus
718 - mozconfig_annotate 'disabled' --disable-necko-wifi
719 - fi
720 -
721 - # These are forced-on for webm support
722 - mozconfig_annotate 'required' --enable-ogg
723 - mozconfig_annotate 'required' --enable-wave
724 -
725 - if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then
726 - mozconfig_use_enable jit ion
727 - fi
728 -
729 - # These are enabled by default in all mozilla applications
730 - mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${EPREFIX}"/usr
731 - mozconfig_annotate '' --with-system-nss --with-nss-prefix="${EPREFIX}"/usr
732 - mozconfig_annotate '' --x-includes="${EPREFIX}"/usr/include --x-libraries="${EPREFIX}"/usr/$(get_libdir)
733 - mozconfig_annotate '' --with-system-libevent="${EPREFIX}"/usr
734 - mozconfig_annotate '' --prefix="${EPREFIX}"/usr
735 - mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
736 - mozconfig_annotate 'Gentoo default' --enable-system-hunspell
737 - mozconfig_annotate '' --disable-gnomevfs
738 - mozconfig_annotate '' --disable-gnomeui
739 - mozconfig_annotate '' --enable-gio
740 - mozconfig_annotate '' --disable-crashreporter
741 - mozconfig_annotate 'Gentoo default' --with-system-png
742 - mozconfig_annotate '' --enable-system-ffi
743 - mozconfig_annotate 'Gentoo default to honor system linker' --disable-gold
744 - mozconfig_annotate 'Gentoo default' --disable-skia
745 - mozconfig_annotate '' --disable-gconf
746 - mozconfig_annotate '' --with-intl-api
747 -
748 - # Use jemalloc unless libc is not glibc >= 2.4
749 - # at this time the minimum glibc in the tree is 2.9 so we should be safe.
750 - if use elibc_glibc && use jemalloc3; then
751 - # We must force-enable jemalloc 3 via .mozconfig
752 - echo "export MOZ_JEMALLOC3=1" >> "${S}"/.mozconfig || die
753 - mozconfig_annotate '' --enable-jemalloc
754 - mozconfig_annotate '' --enable-replace-malloc
755 - fi
756 -
757 - mozconfig_annotate '' --target="${CTARGET:-${CHOST}}"
758 - mozconfig_annotate '' --build="${CTARGET:-${CHOST}}"
759 -
760 - if use gstreamer ; then
761 - mozconfig_annotate '+gstreamer' --enable-gstreamer=1.0
762 - elif use gstreamer-0 ; then
763 - mozconfig_annotate '+gstreamer-0' --enable-gstreamer=0.10
764 - else
765 - mozconfig_annotate '' --disable-gstreamer
766 - fi
767 - mozconfig_use_enable pulseaudio
768 -
769 - mozconfig_use_enable system-cairo
770 - mozconfig_use_enable system-sqlite
771 - mozconfig_use_with system-jpeg
772 - mozconfig_use_with system-icu
773 - mozconfig_use_with system-libvpx
774 -
775 - # Modifications to better support ARM, bug 553364
776 - if use neon ; then
777 - mozconfig_annotate '' --with-fpu=neon
778 - mozconfig_annotate '' --with-thumb=yes
779 - mozconfig_annotate '' --with-thumb-interwork=no
780 - fi
781 - if [[ ${CHOST} == armv* ]] ; then
782 - mozconfig_annotate '' --with-float-abi=hard
783 - mozconfig_annotate '' --enable-skia
784 -
785 - if ! use system-libvpx ; then
786 - sed -i -e "s|softfp|hard|" \
787 - "${S}"/media/libvpx/moz.build
788 - fi
789 - fi
790 -}