Gentoo Archives: gentoo-commits

From: Joonas Niilola <juippis@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/seamonkey/
Date: Sun, 29 Jan 2023 08:50:29
Message-Id: 1674982221.03cdb1202d4bf5fee46241992fa57b017557621a.juippis@gentoo
1 commit: 03cdb1202d4bf5fee46241992fa57b017557621a
2 Author: Myckel Habets <gentoo-bugs <AT> habets-dobben <DOT> nl>
3 AuthorDate: Fri Jan 27 13:41:25 2023 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Sun Jan 29 08:50:21 2023 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=03cdb120
7
8 www-client/seamonkey: Update to www-client/seamonkey-2.53.15
9
10 * Bump to version 2.35.15
11 * Adds "X" USE-flag requirement on the x11-libs/gtk+ dependency.
12
13 Closes: https://bugs.gentoo.org/892085
14 Signed-off-by: Myckel Habets <gentoo-bugs <AT> habets-dobben.nl>
15 Closes: https://bugs.gentoo.org/892309
16 Closes: https://github.com/gentoo/gentoo/pull/29301
17 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
18
19 www-client/seamonkey/Manifest | 3 +
20 www-client/seamonkey/seamonkey-2.53.15.ebuild | 538 ++++++++++++++++++++++++++
21 2 files changed, 541 insertions(+)
22
23 diff --git a/www-client/seamonkey/Manifest b/www-client/seamonkey/Manifest
24 index 040c7e539afe..eec655474352 100644
25 --- a/www-client/seamonkey/Manifest
26 +++ b/www-client/seamonkey/Manifest
27 @@ -1,3 +1,6 @@
28 DIST seamonkey-2.53.14-patches.tar.gz 64614 BLAKE2B b63a3ebfea69f27a3057a21871f64f5b3088e1050d8676577a3bdd4dbf290462665e8d4fcfa730ee89451f155c9893cbe9fecc2bfddc0c367cb46bd6c30f0a5d SHA512 52b19663881bf46a8303d64e9d315342b72ea5709f842ef62ce64dfefc334a05c814f1a3f1857bcb43ddbc3465bb6937e22452caead6677b95071fa83f677569
29 DIST seamonkey-2.53.14.source-l10n.tar.xz 13656176 BLAKE2B daa2697d51ea74ef085a5e610cdce35c256e2d052ff7c557af47d0204bfe49b08c62de963574c22427b6ccbdab484fc8b7f122eeb7f1dc171514c2626b3a794c SHA512 18cd269df9d603a319f83f9e8a90182fdcdb44c3f4fc606abe2d30a5706a0a00f8f488b574e59b1885eecd2b0490c679222ebaaf77b60aa432e2412a61d34dfc
30 DIST seamonkey-2.53.14.source.tar.xz 256277216 BLAKE2B baf48d89ae84d19c3accb0045658bad9e265e402ddbe7325a1df37682ea54bae1c09336e44312cf66dae037ec89672e8078ffb285e3f8588e42f6f484a7fd5c6 SHA512 19b35d7301b3a3c4cff41ea90bd401f9b41ec8ea1207e8ccd738eb2f52068cc39b4838eabb60a04596926035a143472656a291cab8adcea608bd569b30b5b7e3
31 +DIST seamonkey-2.53.15-patches.tar.gz 31196 BLAKE2B 58fb85091e1077fee1bd5c71cbfd90cf5f942e414bec5678c6f3c6e9b6355ded80455f38685b878eabdb76cd01b63f4aab96b2f98fdee1568162232c6a92772a SHA512 68beea38cb9e22e7ab503fb436209aabb049a61286fdc321a4feb96c47c8dae297185aa24248cf2c4ed76c8a1989fa2bff4c914cae7b74d85dee7f35afd5e3ed
32 +DIST seamonkey-2.53.15.source-l10n.tar.xz 13657060 BLAKE2B 128de12ad087be2f0c9f8e2622c837144bc2422f692f16babca7f69daf45432bb3ee547ec75cd3ddc1464818eb36ded09e6f3613a9d4f86b867328e4213e76f2 SHA512 91a3be1dfcd6c06953430afd2d07036c525b73e0132690575275430bca5ffe3082cb5c30df4cd921d961aa79333b6cefb6eace157fc65368254f4099ae879131
33 +DIST seamonkey-2.53.15.source.tar.xz 260787300 BLAKE2B 1efa2a0fd3e4b2fa4d264eb2f373ec1208d3009b69e907cafab216b539b69598948dd8646e4c6365caaf764a00d6212b870f23dfa33fe6fd87df757ff5f115f3 SHA512 f4735af98be0e27a935852de9d309317e1639a420189b0432cb7bdf9707bab706ceec65e96b94953a6e4285b4501dcd25745fb9250b8bf30845d2b855dcc8b13
34
35 diff --git a/www-client/seamonkey/seamonkey-2.53.15.ebuild b/www-client/seamonkey/seamonkey-2.53.15.ebuild
36 new file mode 100644
37 index 000000000000..e0134a6b5e84
38 --- /dev/null
39 +++ b/www-client/seamonkey/seamonkey-2.53.15.ebuild
40 @@ -0,0 +1,538 @@
41 +# Copyright 1999-2023 Gentoo Authors
42 +# Distributed under the terms of the GNU General Public License v2
43 +
44 +EAPI=8
45 +
46 +WANT_AUTOCONF="2.1"
47 +
48 +PYTHON_COMPAT=( python3_{9..10} )
49 +PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)'
50 +
51 +# This list can be updated with scripts/get_langs.sh from the mozilla overlay
52 +# note - could not roll langpacks for: ca fi
53 +#MOZ_LANGS=(ca cs de en-GB es-AR es-ES fi fr gl hu it ja lt nb-NO nl pl pt-PT
54 +# ru sk sv-SE tr uk zh-CN zh-TW)
55 +MOZ_LANGS=(cs de en-GB es-AR es-ES fr hu it ja lt nl pl pt-PT
56 + ru sk sv-SE zh-CN zh-TW)
57 +
58 +MOZ_PV="${PV/_pre*}"
59 +MOZ_PV="${MOZ_PV/_alpha/a}"
60 +MOZ_PV="${MOZ_PV/_beta/b}"
61 +MOZ_PV="${MOZ_PV/_rc/rc}"
62 +MOZ_P="${P}"
63 +MY_MOZ_P="${PN}-${MOZ_PV}"
64 +PATCH="${PN}-${PV}-patches"
65 +
66 +if [[ ${PV} == *_pre* ]] ; then
67 + MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/candidates/${MOZ_PV}-candidates/build${PV##*_pre}"
68 +else
69 + MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases/${MOZ_PV}"
70 +fi
71 +
72 +SRC_URI="${MOZ_HTTP_URI}/source/${MY_MOZ_P}.source.tar.xz -> ${P}.source.tar.xz
73 + ${MOZ_HTTP_URI}/source/${MY_MOZ_P}.source-l10n.tar.xz -> ${P}.source-l10n.tar.xz
74 + https://github.com/BioMike/gentoo-${PN}-patches/archive/refs/tags/${PV}.tar.gz -> ${PATCH}.tar.gz"
75 +
76 +S="${WORKDIR}/${MY_MOZ_P}"
77 +
78 +MOZ_GENERATE_LANGPACKS=1
79 +MOZ_L10N_SOURCEDIR="${S}/${P}-l10n"
80 +inherit autotools check-reqs desktop edos2unix flag-o-matic mozcoreconf-v6 mozlinguas-v2 pax-utils toolchain-funcs xdg-utils
81 +
82 +DESCRIPTION="Seamonkey Web Browser"
83 +HOMEPAGE="https://www.seamonkey-project.org/"
84 +
85 +LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
86 +SLOT="0"
87 +SYSTEM_IUSE=( +system-{av1,harfbuzz,icu,jpeg,libevent,libvpx,png,sqlite} )
88 +IUSE="+chatzilla cpu_flags_arm_neon dbus +gmp-autoupdate +ipc jack
89 +lto pulseaudio selinux startup-notification test webrtc wifi"
90 +IUSE+=" ${SYSTEM_IUSE[@]}"
91 +KEYWORDS="amd64 ~ppc64 x86"
92 +
93 +RESTRICT="!test? ( test )"
94 +
95 +BDEPEND="
96 + app-arch/unzip
97 + app-arch/zip
98 + >=dev-lang/nasm-2.13
99 + dev-lang/perl
100 + dev-util/cbindgen
101 + >=sys-devel/binutils-2.16.1
102 + virtual/pkgconfig
103 + virtual/rust
104 + amd64? ( >=dev-lang/yasm-1.1 )
105 + lto? ( sys-devel/binutils[gold] )
106 + x86? ( >=dev-lang/yasm-1.1 )
107 +"
108 +COMMON_DEPEND="
109 + app-arch/bzip2
110 + >=app-text/hunspell-1.5.4:=
111 + dev-libs/atk
112 + >=dev-libs/glib-2.26:2
113 + >=dev-libs/libffi-3.0.10:=
114 + >=dev-libs/nspr-4.23
115 + >=dev-libs/nss-3.47.1
116 + media-libs/fontconfig
117 + >=media-libs/freetype-2.4.10
118 + >=media-libs/mesa-10.2:=
119 + >=sys-libs/zlib-1.2.3
120 + >=x11-libs/cairo-1.10[X]
121 + x11-libs/gdk-pixbuf
122 + x11-libs/gtk+:3[X]
123 + x11-libs/libX11
124 + x11-libs/libXcomposite
125 + x11-libs/libXdamage
126 + x11-libs/libXext
127 + x11-libs/libXfixes
128 + x11-libs/libXrender
129 + x11-libs/libXt
130 + x11-libs/libxcb:=
131 + >=x11-libs/pango-1.22.0
132 + x11-libs/pixman
133 + media-video/ffmpeg
134 + virtual/freedesktop-icon-theme
135 + dbus? (
136 + >=dev-libs/dbus-glib-0.72
137 + >=sys-apps/dbus-0.60
138 + )
139 + jack? ( virtual/jack )
140 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
141 + pulseaudio? ( || (
142 + media-sound/pulseaudio
143 + >=media-sound/apulse-0.1.9
144 + ) )
145 + startup-notification? ( >=x11-libs/startup-notification-0.8 )
146 + system-av1? (
147 + >=media-libs/dav1d-0.3.0:=
148 + >=media-libs/libaom-1.0.0:=
149 + )
150 + system-harfbuzz? (
151 + >=media-gfx/graphite2-1.3.9-r1
152 + >=media-libs/harfbuzz-1.3.3:0=
153 + )
154 + system-icu? ( >=dev-libs/icu-59.1:= )
155 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
156 + system-libevent? ( >=dev-libs/libevent-2.0:0= )
157 + system-libvpx? ( >=media-libs/libvpx-1.8.0:0=[postproc] )
158 + system-png? ( >=media-libs/libpng-1.6.31:0=[apng] )
159 + system-sqlite? ( >=dev-db/sqlite-3.38.2:3[secure-delete] )
160 + wifi? (
161 + kernel_linux? (
162 + >=dev-libs/dbus-glib-0.72
163 + net-misc/networkmanager
164 + >=sys-apps/dbus-0.60
165 + )
166 + )
167 +"
168 +RDEPEND="${COMMON_DEPEND}
169 + selinux? ( sec-policy/selinux-mozilla )
170 +"
171 +DEPEND="${COMMON_DEPEND}
172 + amd64? ( virtual/opengl )
173 + x86? ( virtual/opengl )
174 +"
175 +
176 +# allow GMP_PLUGIN_LIST to be set in an eclass or
177 +# overridden in the enviromnent (advanced hackers only)
178 +[[ -z ${GMP_PLUGIN_LIST} ]] && GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
179 +
180 +BUILD_OBJ_DIR="${S}/seamonk"
181 +
182 +pkg_setup() {
183 + if [[ ${PV} == *_beta* ]] || [[ ${PV} == *_pre* ]] ; then
184 + ewarn
185 + ewarn "You're using an unofficial release of ${PN}. Don't file any bug in"
186 + ewarn "Gentoo's Bugtracker against this package in case it breaks for you."
187 + ewarn "Those belong to upstream: https://bugzilla.mozilla.org"
188 + fi
189 +
190 + moz_pkgsetup
191 +}
192 +
193 +pkg_pretend() {
194 + # Ensure we have enough disk space to compile
195 + if use lto || use test ; then
196 + CHECKREQS_DISK_BUILD="16G"
197 + else
198 + CHECKREQS_DISK_BUILD="12G"
199 + fi
200 + check-reqs_pkg_setup
201 +}
202 +
203 +spkg_setup() {
204 + # Ensure we have enough disk space to compile
205 + if use lto || use test ; then
206 + CHECKREQS_DISK_BUILD="16G"
207 + else
208 + CHECKREQS_DISK_BUILD="12G"
209 + fi
210 + check-reqs_pkg_setup
211 +}
212 +
213 +src_unpack() {
214 + local l10n_sources="${P}.source-l10n.tar.xz"
215 + unpack ${A/ ${l10n_sources}}
216 +
217 + mkdir "${S}/${P}-l10n" || die
218 + cd "${S}/${P}-l10n" || die
219 + unpack ${l10n_sources}
220 +}
221 +
222 +src_prepare() {
223 + # Apply our patches
224 + eapply "${WORKDIR}"/gentoo-${PN}-patches-${PV}/${PN}
225 +
226 + # Shell scripts sometimes contain DOS line endings; bug 391889
227 + grep -rlZ --include="*.sh" $'\r$' . |
228 + while read -r -d $'\0' file ; do
229 + einfo edos2unix "${file}"
230 + edos2unix "${file}"
231 + done
232 +
233 + use system-libvpx && eapply -p2 "${WORKDIR}"/gentoo-${PN}-patches-${PV}/USE_flag/1009_seamonkey-2.53.3-system_libvpx-1.8.patch
234 +
235 + # Allow user to apply any additional patches without modifing ebuild
236 + eapply_user
237 +
238 + # Fix wrong include, as suggested by SM upstream.
239 + sed -e 's|#include \"RemoteSpellCheckEngineChild.h\"|#include \"mozilla/RemoteSpellCheckEngineChild.h\"|' \
240 + -i extensions/spellcheck/src/mozSpellChecker.h || die
241 +
242 + # Ensure that are plugins dir is enabled as default
243 + sed -i -e "s:/usr/$(get_libdir)/mozilla/plugins:/usr/$(get_libdir)/${PN}/plugins:" \
244 + xpcom/io/nsAppFileLocationProvider.cpp || die
245 +
246 + # Don't exit with error when some libs are missing which we have in
247 + # system.
248 + sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
249 + -i comm/suite/installer/Makefile.in || die
250 + # Don't error out when there's no files to be removed:
251 + sed 's@\(xargs rm\)$@\1 -f@' \
252 + -i toolkit/mozapps/installer/packager.mk || die
253 +
254 + # Don't build libs-% locale files for chatzilla if we are not building chatzilla
255 + # (this is hard-coded in the build system at present rather than being based on configuration)
256 + if ! use chatzilla ; then
257 + sed '/extensions\/irc\/locales libs-/s@^@#@' \
258 + -i comm/suite/locales/Makefile.in || die
259 + fi
260 +
261 + eautoreconf old-configure.in
262 + cd js/src || die
263 + eautoconf old-configure.in
264 +}
265 +
266 +src_configure() {
267 + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
268 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
269 + # get your own set of keys.
270 + _google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
271 +
272 + ######################################
273 + #
274 + # mozconfig, CFLAGS and CXXFLAGS setup
275 + #
276 + ######################################
277 +
278 + mozconfig_init
279 +
280 + ##################################
281 + # Former mozconfig_config() part #
282 + ##################################
283 +
284 + # Migrated from mozcoreconf-2
285 + mozconfig_annotate 'system_libs' --with-system-bz2
286 + mozconfig_annotate 'system_libs' --with-system-zlib
287 + mozconfig_annotate 'system_libs' --enable-system-pixman
288 +
289 + # Disable for testing purposes only
290 + mozconfig_annotate 'Upstream bug 1341234' --disable-stylo
291 +
292 + # Must pass release in order to properly select linker via gold useflag
293 + mozconfig_annotate 'Enable by Gentoo' --enable-release
294 +
295 + # Broken on PPC64, but outdated and should not be used according to upstream.
296 + mozconfig_annotate 'Outdated and broken, disabled' --disable-jemalloc
297 +
298 + # Must pass --enable-gold if using ld.gold
299 + if tc-ld-is-gold ; then
300 + mozconfig_annotate 'tc-ld-is-gold=true' --enable-gold
301 + else
302 + mozconfig_annotate 'tc-ld-is-gold=false' --disable-gold
303 + fi
304 +
305 + # Enable position independent executables
306 + mozconfig_annotate 'enabled by Gentoo' --enable-pie
307 +
308 + # Debug is broken, disable debug symbols
309 + mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
310 +
311 + mozconfig_use_enable startup-notification
312 +
313 + # wifi pulls in dbus so manage both here
314 + mozconfig_use_enable wifi necko-wifi
315 + if use kernel_linux && use wifi && ! use dbus ; then
316 + echo "Enabling dbus support due to wifi request"
317 + mozconfig_annotate 'dbus required by necko-wifi on linux' --enable-dbus
318 + else
319 + mozconfig_use_enable dbus
320 + mozconfig_annotate 'disabled' --disable-necko-wifi
321 + fi
322 +
323 + # These are enabled by default in all mozilla applications
324 + mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${ESYSROOT}"/usr
325 + mozconfig_annotate '' --with-system-nss --with-nss-prefix="${ESYSROOT}"/usr
326 + mozconfig_annotate '' --x-includes="${ESYSROOT}"/usr/include --x-libraries="${ESYSROOT}"/usr/$(get_libdir)
327 + if use system-libevent ; then
328 + mozconfig_annotate '' --with-system-libevent="${ESYSROOT}"/usr
329 + fi
330 + mozconfig_annotate '' --prefix="${EPREFIX}"/usr
331 + mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
332 + mozconfig_annotate 'Gentoo default' --enable-system-hunspell
333 + mozconfig_annotate '' --disable-crashreporter
334 + mozconfig_annotate '' --enable-system-ffi
335 + mozconfig_annotate '' --disable-gconf
336 + mozconfig_annotate '' --with-intl-api
337 +
338 + # default toolkit is cairo-gtk3, optional use flags can change this
339 + mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3
340 +
341 + # Instead of the standard --build= and --host=, mozilla uses --host instead
342 + # of --build, and --target intstead of --host.
343 + # Note, mozilla also has --build but it does not do what you think it does.
344 + # Set both --target and --host as mozilla uses python to guess values otherwise
345 + mozconfig_annotate '' --target="${CHOST}"
346 + mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
347 +
348 + mozconfig_use_enable pulseaudio
349 + # force the deprecated alsa sound code if pulseaudio is disabled
350 + if use kernel_linux && ! use pulseaudio ; then
351 + mozconfig_annotate '-pulseaudio' --enable-alsa
352 + fi
353 +
354 + # For testing purpose only
355 + mozconfig_annotate 'Sandbox' --enable-content-sandbox
356 +
357 + mozconfig_use_enable system-sqlite
358 + mozconfig_use_with system-jpeg
359 + mozconfig_use_with system-icu
360 + mozconfig_use_with system-libvpx
361 + mozconfig_use_with system-png
362 + mozconfig_use_with system-harfbuzz
363 + mozconfig_use_with system-harfbuzz system-graphite2
364 + mozconfig_use_with system-av1
365 +
366 + # Modifications to better support ARM, bug 553364
367 + if use cpu_flags_arm_neon ; then
368 + mozconfig_annotate '' --with-fpu=neon
369 + mozconfig_annotate '' --with-thumb=yes
370 + mozconfig_annotate '' --with-thumb-interwork=no
371 + fi
372 + if [[ ${CHOST} == armv* ]] ; then
373 + mozconfig_annotate '' --with-float-abi=hard
374 + if ! use system-libvpx ; then
375 + sed -i -e "s|softfp|hard|" media/libvpx/moz.build || die
376 + fi
377 + fi
378 +
379 + if use lto ; then
380 + # Linking only works when using ld.gold when LTO is enabled
381 + mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold
382 + # ThinLTO is currently broken, see bmo#1644409
383 + mozconfig_annotate '+lto' --enable-lto=full
384 + else
385 + if tc-ld-is-gold ; then
386 + mozconfig_annotate "linker is set to gold" --enable-linker=gold
387 + else
388 + mozconfig_annotate "linker is set to bfd" --enable-linker=bfd
389 + fi
390 + fi
391 + # LTO flag was handled via configure
392 + filter-flags '-flto*'
393 +
394 + ##################################
395 + # Former mozconfig_config() end #
396 + ##################################
397 +
398 + # enable JACK, bug 600002
399 + mozconfig_use_enable jack
400 +
401 + # It doesn't compile on alpha without this LDFLAGS
402 + use alpha && append-ldflags "-Wl,--no-relax"
403 +
404 + # Linking fails without this due to memory exhaustion
405 + use x86 && append-ldflags "-Wl,--no-keep-memory"
406 +
407 + # Setup api key for location services
408 + printf '%s' "${_google_api_key}" > "${S}"/google-api-key
409 + mozconfig_annotate '' --with-google-location-service-api-keyfile="${S}/google-api-key"
410 + mozconfig_annotate '' --with-google-safebrowsing-api-keyfile="${S}/google-api-key"
411 +
412 + mozconfig_use_enable chatzilla irc
413 + mozconfig_annotate '' --enable-dominspector
414 +
415 + # use startup-cache for faster startup time
416 + mozconfig_annotate '' --enable-startupcache
417 +
418 + # Elf-hack is known to be broken on multiple archs.
419 + # Disable it by default, because on the archs that still work,
420 + # it also gives more problems than it solves.
421 + # https://bugs.gentoo.org/851933
422 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1706264
423 + if use x86 || use arm64 || use arm || use amd64 ; then
424 + mozconfig_annotate 'elf-hack is broken' --disable-elf-hack
425 + fi
426 +
427 + # Disabled by default. See bug 836319 , comment 17.
428 + if ! use webrtc ; then
429 + mozconfig_annotate "disabled by Gentoo" --disable-webrtc
430 + fi
431 +
432 + # Use an objdir to keep things organized.
433 + echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig || die
434 + echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig || die
435 +
436 + mozlinguas_mozconfig
437 +
438 + # Finalize and report settings
439 + mozconfig_final
440 +
441 + # Work around breakage in makeopts with --no-print-directory
442 + MAKEOPTS="${MAKEOPTS/--no-print-directory/}"
443 +
444 + if use amd64 || use x86 ; then
445 + append-flags -mno-avx
446 + fi
447 +
448 + # Pass $MAKEOPTS to build system
449 + export MOZ_MAKE_FLAGS="${MAKEOPTS}"
450 + # Use system's Python environment
451 + export MACH_USE_SYSTEM_PYTHON=1
452 + # Disable notification when build system has finished
453 + export MOZ_NOSPAM=1
454 +
455 + # workaround for funky/broken upstream configure...
456 + export SHELL="${SHELL:-${EPREFIX}/bin/bash}"
457 + #emake V=1 -f client.mk configure
458 + ./mach configure || die
459 +}
460 +
461 +src_compile() {
462 + #MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \
463 + #emake V=1 -f client.mk
464 + ./mach build --verbose || die
465 +
466 + mozlinguas_src_compile
467 +}
468 +
469 +src_install() {
470 + MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
471 + DICTPATH="\"${EPREFIX}/usr/share/myspell\""
472 +
473 + local emid
474 + pushd "${BUILD_OBJ_DIR}" &>/dev/null || die
475 +
476 + # Pax mark xpcshell for hardened support, only used for startupcache creation.
477 + pax-mark m dist/bin/xpcshell
478 +
479 + # Copy our preference before omnijar is created.
480 + sed "s|SEAMONKEY_PVR|${PVR}|" "${FILESDIR}"/all-gentoo-1.js > \
481 + dist/bin/defaults/pref/all-gentoo.js \
482 + || die
483 +
484 + # Set default path to search for dictionaries.
485 + echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \
486 + >> dist/bin/defaults/pref/all-gentoo.js \
487 + || die
488 +
489 + echo 'pref("extensions.autoDisableScopes", 3);' >> \
490 + dist/bin/defaults/pref/all-gentoo.js \
491 + || die
492 +
493 + local plugin
494 + if ! use gmp-autoupdate ; then
495 + for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
496 + echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
497 + dist/bin/defaults/pref/all-gentoo.js || die
498 + done
499 + fi
500 +
501 + popd &>/dev/null || die
502 +
503 + #MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
504 + #emake DESTDIR="${D}" install
505 + DESTDIR="${D}" ./mach install || die
506 + MOZ_P="${MY_MOZ_P}" mozlinguas_src_install
507 +
508 + cp "${FILESDIR}"/${PN}.desktop "${T}" || die
509 +
510 + sed 's|^\(MimeType=.*\)$|\1text/x-vcard;text/directory;application/mbox;message/rfc822;x-scheme-handler/mailto;|' \
511 + -i "${T}"/${PN}.desktop || die
512 + sed 's|^\(Categories=.*\)$|\1Email;|' -i "${T}"/${PN}.desktop \
513 + || die
514 +
515 + # Install icon and .desktop for menu entry
516 + newicon "${S}"/comm/suite/branding/${PN}/default64.png ${PN}.png
517 + domenu "${T}"/${PN}.desktop
518 +
519 + # Required in order to use plugins and even run seamonkey on hardened.
520 + pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/{seamonkey,seamonkey-bin,plugin-container}
521 +
522 + if use chatzilla ; then
523 + local emid='{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}'
524 +
525 + # remove the en_US-only xpi file so a version with all requested locales can be installed
526 + if [[ -e "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}.xpi ]] ; then
527 + rm -f "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}.xpi || die
528 + fi
529 +
530 + # merge the extra locales into the main extension
531 + mozlinguas_xpistage_langpacks dist/xpi-stage/chatzilla
532 +
533 + # install the merged extension
534 + mkdir -p "${T}/${emid}" || die
535 + cp -RLp -t "${T}/${emid}" dist/xpi-stage/chatzilla/* || die
536 + insinto ${MOZILLA_FIVE_HOME}/extensions
537 + doins -r "${T}/${emid}"
538 + fi
539 +
540 + # Provide a place for plugins
541 + keepdir "${MOZILLA_FIVE_HOME}/plugins"
542 +
543 + # revdep-rebuild entry
544 + insinto /etc/revdep-rebuild
545 + echo "SEARCH_DIRS_MASK=${MOZILLA_FIVE_HOME}*" >> "${T}"/11${PN} || die
546 + doins "${T}"/11${PN}
547 +}
548 +
549 +pkg_preinst() {
550 + SEAMONKEY_PLUGINS_DIR="${EROOT}/usr/$(get_libdir)/${PN}/plugins"
551 +
552 + if [[ -L "${SEAMONKEY_PLUGINS_DIR}" ]] ; then
553 + rm "${SEAMONKEY_PLUGINS_DIR}" || die
554 + fi
555 +}
556 +
557 +pkg_postinst() {
558 + # Update mimedb for the new .desktop file
559 + xdg_desktop_database_update
560 +
561 + if ! use gmp-autoupdate ; then
562 + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
563 + elog "installing into new profiles:"
564 + local plugin
565 + for plugin in "${GMP_PLUGIN_LIST[@]}"; do
566 + elog "\t ${plugin}" ;
567 + done
568 + fi
569 +
570 + if use chatzilla ; then
571 + elog "chatzilla is now an extension which can be en-/disabled and configured via"
572 + elog "the Add-on manager."
573 + fi
574 +}
575 +
576 +pkg_postrm() {
577 + xdg_desktop_database_update
578 +}