Gentoo Archives: gentoo-commits

From: Ian Stakenvicius <axs@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/mozilla:master commit in: mail-client/thunderbird/, www-client/firefox/
Date: Mon, 27 Aug 2018 13:29:03
Message-Id: 1534440091.38ea4d5b3f48d4c0e8bb002b19aba008edc84265.axs@gentoo
1 commit: 38ea4d5b3f48d4c0e8bb002b19aba008edc84265
2 Author: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
3 AuthorDate: Thu Aug 16 17:21:31 2018 +0000
4 Commit: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
5 CommitDate: Thu Aug 16 17:21:31 2018 +0000
6 URL: https://gitweb.gentoo.org/proj/mozilla.git/commit/?id=38ea4d5b
7
8 Merge mozconfig-v6.60.eclass into firefox-60 and thunderbird-60
9
10 As the constant eclass bumping has become more and more undesireable,
11 mozconfig is going away and so each ebuild will contain its configuration
12 and dependencies.
13
14 mail-client/thunderbird/thunderbird-60.0-r1.ebuild | 210 +++++++++++++++++----
15 www-client/firefox/firefox-60.1.0.ebuild | 202 +++++++++++++++++---
16 2 files changed, 352 insertions(+), 60 deletions(-)
17
18 diff --git a/mail-client/thunderbird/thunderbird-60.0-r1.ebuild b/mail-client/thunderbird/thunderbird-60.0-r1.ebuild
19 index f87cfb2..6c739b7 100644
20 --- a/mail-client/thunderbird/thunderbird-60.0-r1.ebuild
21 +++ b/mail-client/thunderbird/thunderbird-60.0-r1.ebuild
22 @@ -28,10 +28,9 @@ if [[ ${MOZ_ESR} == 1 ]]; then
23 fi
24 MOZ_P="${PN}-${MOZ_PV}"
25
26 -MOZCONFIG_OPTIONAL_WIFI=1
27 #MOZ_GENERATE_LANGPACKS=1
28
29 -inherit check-reqs flag-o-matic toolchain-funcs gnome2-utils mozconfig-v6.60 pax-utils xdg-utils autotools mozlinguas-v2
30 +inherit check-reqs flag-o-matic toolchain-funcs gnome2-utils mozcoreconf-v6 pax-utils xdg-utils autotools mozlinguas-v2
31
32 DESCRIPTION="Thunderbird Mail Client"
33 HOMEPAGE="http://www.mozilla.com/en-US/thunderbird/"
34 @@ -39,7 +38,8 @@ HOMEPAGE="http://www.mozilla.com/en-US/thunderbird/"
35 KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
36 SLOT="0"
37 LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
38 -IUSE="bindist crypt hardened lightning +minimal mozdom rust selinux"
39 +IUSE="bindist crypt dbus debug hardened lightning mozdom pulseaudio selinux startup-notification
40 + system-harfbuzz system-icu system-jpeg system-libevent system-sqlite system-libvpx wifi"
41 RESTRICT="!bindist? ( bindist )"
42
43 PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c}/mozilla/patchsets/{${PATCHTB},${PATCHFF}}.tar.xz )
44 @@ -54,16 +54,72 @@ ASM_DEPEND=">=dev-lang/yasm-1.1"
45 CDEPEND="
46 >=dev-libs/nss-3.28.3
47 >=dev-libs/nspr-4.13.1
48 + >=app-text/hunspell-1.5.4:=
49 + dev-libs/atk
50 + dev-libs/expat
51 + >=x11-libs/cairo-1.10[X]
52 + >=x11-libs/gtk+-2.18:2
53 + >=x11-libs/gtk+-3.4.0:3
54 + x11-libs/gdk-pixbuf
55 + >=x11-libs/pango-1.22.0
56 + >=media-libs/libpng-1.6.34:0=[apng]
57 + >=media-libs/mesa-10.2:*
58 + media-libs/fontconfig
59 + >=media-libs/freetype-2.4.10
60 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
61 + virtual/freedesktop-icon-theme
62 + dbus? ( >=sys-apps/dbus-0.60
63 + >=dev-libs/dbus-glib-0.72 )
64 + startup-notification? ( >=x11-libs/startup-notification-0.8 )
65 + >=x11-libs/pixman-0.19.2
66 + >=dev-libs/glib-2.26:2
67 + >=sys-libs/zlib-1.2.3
68 + >=virtual/libffi-3.0.10
69 + virtual/ffmpeg
70 + x11-libs/libX11
71 + x11-libs/libXcomposite
72 + x11-libs/libXdamage
73 + x11-libs/libXext
74 + x11-libs/libXfixes
75 + x11-libs/libXrender
76 + x11-libs/libXt
77 + system-icu? ( >=dev-libs/icu-59.1:= )
78 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
79 + system-libevent? ( >=dev-libs/libevent-2.0:0= )
80 + system-sqlite? ( >=dev-db/sqlite-3.20.1:3[secure-delete,debug=] )
81 + system-libvpx? ( >=media-libs/libvpx-1.5.0:0=[postproc] )
82 + system-harfbuzz? ( >=media-libs/harfbuzz-1.4.2:0= >=media-gfx/graphite2-1.3.9-r1 )
83 + wifi? ( kernel_linux? ( >=sys-apps/dbus-0.60
84 + >=dev-libs/dbus-glib-0.72
85 + net-misc/networkmanager ) )
86 "
87
88 -DEPEND="rust? ( dev-lang/rust )
89 - amd64? ( ${ASM_DEPEND}
90 - virtual/opengl )
91 - x86? ( ${ASM_DEPEND}
92 - virtual/opengl )"
93 +DEPEND="${CDEPEND}
94 + app-arch/zip
95 + app-arch/unzip
96 + >=sys-devel/binutils-2.16.1
97 + sys-apps/findutils
98 + pulseaudio? ( media-sound/pulseaudio )
99 + elibc_glibc? ( || (
100 + ( >=dev-lang/rust-1.24.0[-extended(-)] >=dev-util/cargo-0.25.0 )
101 + >=dev-lang/rust-1.24.0[extended]
102 + ( >=dev-lang/rust-bin-1.24.0 >=dev-util/cargo-0.25.0 )
103 + ) )
104 + elibc_musl? ( || ( >=dev-lang/rust-1.24.0
105 + >=dev-util/cargo-0.25.0
106 + ) )
107 +
108 + >=sys-devel/llvm-4.0.1
109 + >=sys-devel/clang-4.0.1
110 + amd64? ( ${ASM_DEPEND} virtual/opengl )
111 + x86? ( ${ASM_DEPEND} virtual/opengl )"
112
113 RDEPEND="${CDEPEND}
114 - selinux? ( sec-policy/selinux-thunderbird )
115 + pulseaudio? ( || ( media-sound/pulseaudio
116 + >=media-sound/apulse-0.1.9 ) )
117 + selinux? ( sec-policy/selinux-mozilla
118 + sec-policy/selinux-thunderbird
119 + )
120 crypt? ( >=x11-plugins/enigmail-1.9.8.3-r1 )
121 "
122
123 @@ -129,13 +185,6 @@ src_prepare() {
124 sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
125 -i "${S}"/comm/mail/installer/Makefile.in || die
126
127 - # Shell scripts sometimes contain DOS line endings; bug 391889
128 -# grep -rlZ --include="*.sh" $'\r$' . |
129 -# while read -r -d $'\0' file ; do
130 -# einfo edos2unix "${file}"
131 -# edos2unix "${file}"
132 -# done
133 -
134 # Apply our Thunderbird patchset
135 pushd "${S}"/comm &>/dev/null || doe
136 eapply "${WORKDIR}"/thunderbird
137 @@ -174,7 +223,23 @@ src_configure() {
138 ####################################
139
140 mozconfig_init
141 - mozconfig_config
142 + # common config components
143 + mozconfig_annotate 'system_libs' \
144 + --with-system-zlib \
145 + --with-system-bz2
146 +
147 + # Stylo is only broken on x86 builds
148 + use x86 && mozconfig_annotate 'Upstream bug 1341234' --disable-stylo
149 +
150 + # Must pass release in order to properly select linker
151 + mozconfig_annotate 'Enable by Gentoo' --enable-release
152 +
153 + # Must pass --enable-gold if using ld.gold
154 + if tc-ld-is-gold ; then
155 + mozconfig_annotate 'tc-ld-is-gold=true' --enable-gold
156 + else
157 + mozconfig_annotate 'tc-ld-is-gold=false' --disable-gold
158 + fi
159
160 # It doesn't compile on alpha without this LDFLAGS
161 use alpha && append-ldflags "-Wl,--no-relax"
162 @@ -182,14 +247,82 @@ src_configure() {
163 # Add full relro support for hardened
164 use hardened && append-ldflags "-Wl,-z,relro,-z,now"
165
166 - mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
167 - mozconfig_annotate '' --enable-calendar
168 + # Modifications to better support ARM, bug 553364
169 + if use neon ; then
170 + mozconfig_annotate '' --with-fpu=neon
171 + mozconfig_annotate '' --with-thumb=yes
172 + mozconfig_annotate '' --with-thumb-interwork=no
173 + fi
174 + if [[ ${CHOST} == armv* ]] ; then
175 + mozconfig_annotate '' --with-float-abi=hard
176 + if ! use system-libvpx ; then
177 + sed -i -e "s|softfp|hard|" \
178 + "${S}"/media/libvpx/moz.build
179 + fi
180 + fi
181 +
182 + mozconfig_use_enable !bindist official-branding
183 + # Enable position independent executables
184 + mozconfig_annotate 'enabled by Gentoo' --enable-pie
185 +
186 + mozconfig_use_enable debug
187 + mozconfig_use_enable debug tests
188 + if ! use debug ; then
189 + mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
190 + else
191 + mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
192 + fi
193 + # These are enabled by default in all mozilla applications
194 + mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${SYSROOT}${EPREFIX}"/usr
195 + mozconfig_annotate '' --with-system-nss --with-nss-prefix="${SYSROOT}${EPREFIX}"/usr
196 + mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include \
197 + --x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
198 + mozconfig_annotate '' --prefix="${EPREFIX}"/usr
199 + mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
200 + mozconfig_annotate 'Gentoo default' --enable-system-hunspell
201 + mozconfig_annotate '' --disable-crashreporter
202 + mozconfig_annotate 'Gentoo default' --with-system-png
203 + mozconfig_annotate '' --enable-system-ffi
204 + mozconfig_annotate '' --disable-gconf
205 + mozconfig_annotate '' --with-intl-api
206 + mozconfig_annotate '' --enable-system-pixman
207 + # Instead of the standard --build= and --host=, mozilla uses --host instead
208 + # of --build, and --target intstead of --host.
209 + # Note, mozilla also has --build but it does not do what you think it does.
210 + # Set both --target and --host as mozilla uses python to guess values otherwise
211 + mozconfig_annotate '' --target="${CHOST}"
212 + mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
213 + if use system-libevent; then
214 + mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
215 + fi
216 +
217 + # skia has no support for big-endian platforms
218 + if [[ $(tc-endian) == "big" ]]; then
219 + mozconfig_annotate 'big endian target' --disable-skia
220 + else
221 + mozconfig_annotate '' --enable-skia
222 + fi
223 +
224 + # use the gtk3 toolkit (the only one supported at this point)
225 + mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3
226 +
227 + mozconfig_use_enable startup-notification
228 + mozconfig_use_enable system-sqlite
229 + mozconfig_use_with system-jpeg
230 + mozconfig_use_with system-icu
231 + mozconfig_use_with system-libvpx
232 + mozconfig_use_with system-harfbuzz
233 + mozconfig_use_with system-harfbuzz system-graphite2
234 + mozconfig_use_enable pulseaudio
235 + # force the deprecated alsa sound code if pulseaudio is disabled
236 + if use kernel_linux && ! use pulseaudio ; then
237 + mozconfig_annotate '-pulseaudio' --enable-alsa
238 + fi
239 +
240
241 # Other tb-specific settings
242 mozconfig_annotate '' --with-user-appdir=.thunderbird
243
244 - # Disabling ldap support causes build failures with 60.0b10
245 - #mozconfig_use_enable ldap
246 mozconfig_annotate '' --enable-ldap
247 if use hardened; then
248 append-ldflags "-Wl,-z,relro,-z,now"
249 @@ -203,13 +336,13 @@ src_configure() {
250 MEXTENSIONS="${MEXTENSIONS},inspector"
251 fi
252
253 + mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
254 + mozconfig_annotate '' --enable-calendar
255 +
256 # Use an objdir to keep things organized.
257 echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
258 echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
259
260 - # Default mozilla_five_home no longer valid option
261 - sed '/with-default-mozilla-five-home=/d' -i "${S}"/.mozconfig
262 -
263 # Finalize and report settings
264 mozconfig_final
265
266 @@ -248,18 +381,32 @@ src_install() {
267 "${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
268 || die
269
270 - mozconfig_install_prefs \
271 - "${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js"
272 +
273 + # set dictionary path, to use system hunspell
274 + echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
275 + >>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
276 +
277 + # force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it
278 + if use system-harfbuzz ; then
279 + echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
280 + >>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
281 + fi
282 +
283 + # force cairo as the canvas renderer on platforms without skia support
284 + if [[ $(tc-endian) == "big" ]] ; then
285 + echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
286 + >>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
287 + echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
288 + >>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
289 + fi
290
291 # dev-db/sqlite does not have FTS3_TOKENIZER support.
292 # gloda needs it to function, and bad crashes happen when its enabled and doesn't work
293 - if in_iuse system-sqlite && use system-sqlite ; then
294 + if use system-sqlite ; then
295 echo "sticky_pref(\"mailnews.database.global.indexer.enabled\", false);" \
296 >>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
297 fi
298
299 -# MOZ_MAKE_FLAGS="${MAKEOPTS}" \
300 -# emake DESTDIR="${D}" install
301 cd "${S}" || die
302 MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
303 DESTDIR="${D}" ./mach install
304 @@ -320,11 +467,6 @@ src_install() {
305
306 # Required in order to use plugins and even run thunderbird on hardened.
307 pax-mark pm "${ED}"${MOZILLA_FIVE_HOME}/{thunderbird,thunderbird-bin,plugin-container}
308 -
309 -# if use minimal; then
310 -# rm -r "${ED}"/usr/include "${ED}"${MOZILLA_FIVE_HOME}/{idl,include,lib,sdk} || \
311 -# die "Failed to remove sdk and headers"
312 -# fi
313 }
314
315 pkg_preinst() {
316
317 diff --git a/www-client/firefox/firefox-60.1.0.ebuild b/www-client/firefox/firefox-60.1.0.ebuild
318 index f808822..8f2df81 100644
319 --- a/www-client/firefox/firefox-60.1.0.ebuild
320 +++ b/www-client/firefox/firefox-60.1.0.ebuild
321 @@ -27,10 +27,8 @@ fi
322 PATCH="${PN}-60.0-patches-02"
323 MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases"
324
325 -MOZCONFIG_OPTIONAL_WIFI=1
326 -
327 inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils llvm \
328 - mozconfig-v6.60 pax-utils xdg-utils autotools mozlinguas-v2
329 + mozcoreconf-v6 pax-utils xdg-utils autotools mozlinguas-v2
330
331 DESCRIPTION="Firefox Web Browser"
332 HOMEPAGE="http://www.mozilla.com/firefox"
333 @@ -39,32 +37,84 @@ KEYWORDS="~amd64 ~x86"
334
335 SLOT="0"
336 LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
337 -IUSE="bindist eme-free +gmp-autoupdate hardened hwaccel jack +screenshot selinux test"
338 +IUSE="bindist dbus debug eme-free +gmp-autoupdate hardened hwaccel jack neon
339 + pulseaudio +screenshot selinux startup-notification system-harfbuzz system-icu
340 + system-jpeg system-libevent system-sqlite system-libvpx test wifi"
341 RESTRICT="!bindist? ( bindist )"
342
343 -SRCHASH=239e434d6d2b8e1e2b697c3416d1e96d48fe98e5
344 -SDIR="release"
345 -[[ ${PV} = *_beta* ]] && SDIR="beta"
346 -
347 PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c}/mozilla/patchsets/${PATCH}.tar.xz )
348 SRC_URI="${SRC_URI}
349 ${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz
350 ${PATCH_URIS[@]}"
351
352 -ASM_DEPEND=">=dev-lang/yasm-1.1"
353 -
354 -RDEPEND="
355 - system-icu? ( >=dev-libs/icu-60.2 )
356 - jack? ( virtual/jack )
357 +CDEPEND="
358 >=dev-libs/nss-3.36.1
359 >=dev-libs/nspr-4.19
360 + >=app-text/hunspell-1.5.4:=
361 + dev-libs/atk
362 + dev-libs/expat
363 + >=x11-libs/cairo-1.10[X]
364 + >=x11-libs/gtk+-2.18:2
365 + >=x11-libs/gtk+-3.4.0:3
366 + x11-libs/gdk-pixbuf
367 + >=x11-libs/pango-1.22.0
368 + >=media-libs/libpng-1.6.34:0=[apng]
369 + >=media-libs/mesa-10.2:*
370 + media-libs/fontconfig
371 + >=media-libs/freetype-2.4.10
372 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
373 + virtual/freedesktop-icon-theme
374 + dbus? ( >=sys-apps/dbus-0.60
375 + >=dev-libs/dbus-glib-0.72 )
376 + startup-notification? ( >=x11-libs/startup-notification-0.8 )
377 + >=x11-libs/pixman-0.19.2
378 + >=dev-libs/glib-2.26:2
379 + >=sys-libs/zlib-1.2.3
380 + >=virtual/libffi-3.0.10
381 + virtual/ffmpeg
382 + x11-libs/libX11
383 + x11-libs/libXcomposite
384 + x11-libs/libXdamage
385 + x11-libs/libXext
386 + x11-libs/libXfixes
387 + x11-libs/libXrender
388 + x11-libs/libXt
389 + system-icu? ( >=dev-libs/icu-60.2:= )
390 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
391 + system-libevent? ( >=dev-libs/libevent-2.0:0= )
392 + system-sqlite? ( >=dev-db/sqlite-3.20.1:3[secure-delete,debug=] )
393 + system-libvpx? ( >=media-libs/libvpx-1.5.0:0=[postproc] )
394 + system-harfbuzz? ( >=media-libs/harfbuzz-1.4.2:0= >=media-gfx/graphite2-1.3.9-r1 )
395 + wifi? ( kernel_linux? ( >=sys-apps/dbus-0.60
396 + >=dev-libs/dbus-glib-0.72
397 + net-misc/networkmanager ) )
398 + jack? ( virtual/jack )
399 selinux? ( sec-policy/selinux-mozilla )"
400
401 -DEPEND="${RDEPEND}
402 +RDEPEND="${CDEPEND}
403 + jack? ( virtual/jack )
404 + pulseaudio? ( || ( media-sound/pulseaudio
405 + >=media-sound/apulse-0.1.9 ) )
406 + selinux? ( sec-policy/selinux-mozilla )"
407 +
408 +DEPEND="${CDEPEND}
409 + app-arch/zip
410 + app-arch/unzip
411 + >=sys-devel/binutils-2.16.1
412 + sys-apps/findutils
413 + pulseaudio? ( media-sound/pulseaudio )
414 + elibc_glibc? ( || (
415 + ( >=dev-lang/rust-1.24.0[-extended(-)] >=dev-util/cargo-0.25.0 )
416 + >=dev-lang/rust-1.24.0[extended]
417 + ( >=dev-lang/rust-bin-1.24.0 >=dev-util/cargo-0.25.0 )
418 + ) )
419 + elibc_musl? ( || ( >=dev-lang/rust-1.24.0
420 + >=dev-util/cargo-0.25.0
421 + ) )
422 >=sys-devel/llvm-4.0.1
423 >=sys-devel/clang-4.0.1
424 - amd64? ( ${ASM_DEPEND} virtual/opengl )
425 - x86? ( ${ASM_DEPEND} virtual/opengl )"
426 + amd64? ( >=dev-lang/yasm-1.1 virtual/opengl )
427 + x86? ( >=dev-lang/yasm-1.1 virtual/opengl )"
428
429 S="${WORKDIR}/firefox-${PV%_*}"
430
431 @@ -192,13 +242,23 @@ src_configure() {
432 ####################################
433
434 mozconfig_init
435 - mozconfig_config
436 + # common config components
437 + mozconfig_annotate 'system_libs' \
438 + --with-system-zlib \
439 + --with-system-bz2
440
441 - # enable JACK, bug 600002
442 - mozconfig_use_enable jack
443 + # Stylo is only broken on x86 builds
444 + use x86 && mozconfig_annotate 'Upstream bug 1341234' --disable-stylo
445
446 - # Enable/Disable eme support
447 - use eme-free && mozconfig_annotate '+eme-free' --disable-eme
448 + # Must pass release in order to properly select linker
449 + mozconfig_annotate 'Enable by Gentoo' --enable-release
450 +
451 + # Must pass --enable-gold if using ld.gold
452 + if tc-ld-is-gold ; then
453 + mozconfig_annotate 'tc-ld-is-gold=true' --enable-gold
454 + else
455 + mozconfig_annotate 'tc-ld-is-gold=false' --disable-gold
456 + fi
457
458 # It doesn't compile on alpha without this LDFLAGS
459 use alpha && append-ldflags "-Wl,--no-relax"
460 @@ -209,6 +269,84 @@ src_configure() {
461 mozconfig_use_enable hardened hardening
462 fi
463
464 + # Modifications to better support ARM, bug 553364
465 + if use neon ; then
466 + mozconfig_annotate '' --with-fpu=neon
467 + mozconfig_annotate '' --with-thumb=yes
468 + mozconfig_annotate '' --with-thumb-interwork=no
469 + fi
470 + if [[ ${CHOST} == armv* ]] ; then
471 + mozconfig_annotate '' --with-float-abi=hard
472 + if ! use system-libvpx ; then
473 + sed -i -e "s|softfp|hard|" \
474 + "${S}"/media/libvpx/moz.build
475 + fi
476 + fi
477 +
478 + mozconfig_use_enable !bindist official-branding
479 + # Enable position independent executables
480 + mozconfig_annotate 'enabled by Gentoo' --enable-pie
481 +
482 + mozconfig_use_enable debug
483 + mozconfig_use_enable debug tests
484 + if ! use debug ; then
485 + mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
486 + else
487 + mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
488 + fi
489 + # These are enabled by default in all mozilla applications
490 + mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${SYSROOT}${EPREFIX}"/usr
491 + mozconfig_annotate '' --with-system-nss --with-nss-prefix="${SYSROOT}${EPREFIX}"/usr
492 + mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include \
493 + --x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
494 + mozconfig_annotate '' --prefix="${EPREFIX}"/usr
495 + mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
496 + mozconfig_annotate 'Gentoo default' --enable-system-hunspell
497 + mozconfig_annotate '' --disable-crashreporter
498 + mozconfig_annotate 'Gentoo default' --with-system-png
499 + mozconfig_annotate '' --enable-system-ffi
500 + mozconfig_annotate '' --disable-gconf
501 + mozconfig_annotate '' --with-intl-api
502 + mozconfig_annotate '' --enable-system-pixman
503 + # Instead of the standard --build= and --host=, mozilla uses --host instead
504 + # of --build, and --target intstead of --host.
505 + # Note, mozilla also has --build but it does not do what you think it does.
506 + # Set both --target and --host as mozilla uses python to guess values otherwise
507 + mozconfig_annotate '' --target="${CHOST}"
508 + mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
509 + if use system-libevent; then
510 + mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
511 + fi
512 +
513 + # skia has no support for big-endian platforms
514 + if [[ $(tc-endian) == "big" ]]; then
515 + mozconfig_annotate 'big endian target' --disable-skia
516 + else
517 + mozconfig_annotate '' --enable-skia
518 + fi
519 +
520 + # use the gtk3 toolkit (the only one supported at this point)
521 + mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3
522 +
523 + mozconfig_use_enable startup-notification
524 + mozconfig_use_enable system-sqlite
525 + mozconfig_use_with system-jpeg
526 + mozconfig_use_with system-icu
527 + mozconfig_use_with system-libvpx
528 + mozconfig_use_with system-harfbuzz
529 + mozconfig_use_with system-harfbuzz system-graphite2
530 + mozconfig_use_enable pulseaudio
531 + # force the deprecated alsa sound code if pulseaudio is disabled
532 + if use kernel_linux && ! use pulseaudio ; then
533 + mozconfig_annotate '-pulseaudio' --enable-alsa
534 + fi
535 +
536 + # enable JACK, bug 600002
537 + mozconfig_use_enable jack
538 +
539 + # Enable/Disable eme support
540 + use eme-free && mozconfig_annotate '+eme-free' --disable-eme
541 +
542 # Setup api key for location services
543 echo -n "${_google_api_key}" > "${S}"/google-api-key
544 mozconfig_annotate '' --with-google-api-keyfile="${S}/google-api-key"
545 @@ -218,9 +356,6 @@ src_configure() {
546 echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
547 echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
548
549 - # Default mozilla_five_home no longer valid option
550 - sed '/with-default-mozilla-five-home=/d' -i "${S}"/.mozconfig
551 -
552 # Finalize and report settings
553 mozconfig_final
554
555 @@ -245,8 +380,23 @@ src_install() {
556 "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
557 || die
558
559 - mozconfig_install_prefs \
560 - "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js"
561 + # set dictionary path, to use system hunspell
562 + echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
563 + >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
564 +
565 + # force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it
566 + if use system-harfbuzz ; then
567 + echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
568 + >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
569 + fi
570 +
571 + # force cairo as the canvas renderer on platforms without skia support
572 + if [[ $(tc-endian) == "big" ]] ; then
573 + echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
574 + >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
575 + echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
576 + >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
577 + fi
578
579 # Augment this with hwaccel prefs
580 if use hwaccel ; then