summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Stakenvicius <axs@gentoo.org>2017-07-24 21:54:36 -0400
committerIan Stakenvicius <axs@gentoo.org>2017-07-24 21:55:03 -0400
commit22af282ad70d509a9f2f55e87a4b5fb3216a383f (patch)
treeb7fbe4fc8e05ab23e30df671aadad8708458143b
parentexport AR and RANLIB along with the other toolchain variables (diff)
downloadmozilla-22af282ad70d509a9f2f55e87a4b5fb3216a383f.tar.gz
mozilla-22af282ad70d509a9f2f55e87a4b5fb3216a383f.tar.bz2
mozilla-22af282ad70d509a9f2f55e87a4b5fb3216a383f.zip
Bump seamonkey to 2.49.2 out of thunderbird-52.2 sources
This package builds localization directly from sources. Locales are patched to support the latest chatzilla as a bug keeps incomplete locales from building. The plan going forward is to keep up with security patching by bumping seamonkey in this manner for every thunderbird release, at least for the remainder of the 52.x series.
-rw-r--r--www-client/seamonkey/Manifest6
-rw-r--r--www-client/seamonkey/seamonkey-2.49.2.0_p0.ebuild438
2 files changed, 443 insertions, 1 deletions
diff --git a/www-client/seamonkey/Manifest b/www-client/seamonkey/Manifest
index c5b6efb8..2cb54aac 100644
--- a/www-client/seamonkey/Manifest
+++ b/www-client/seamonkey/Manifest
@@ -1,5 +1,7 @@
-DIST enigmail-1.9.8.1.tar.gz 1776673 SHA256 4bcf2da00d96a67921b24dbec9f43930cba41112a2cd241b0952eb573c648a4d SHA512 af280040e96eb69529e723e52e65621e42743c974b0ed42598e73458004f0a59688da7257d2b556e95a56c4cad3ac48f527d4d9a7a54c9c92eaff132257e0cfd WHIRLPOOL 077c61b996c2ec45ecc3a037b61d167acda2ebdbde6536e2f2f2e180a064c9e540e09b48417454aa48f02af5f4c58c88f4ba456e6c5f113cfe474f2b82798ac0
+DIST chatzilla-SEA2_48_RELBRANCH.tar.bz2 440624 SHA256 267634b79b21fc5c78d3028620d2b844e5d09d43bd8a6f61c5416663201a6d53 SHA512 51a1eb638882a7feac3c6c854def2f81ba8fdaec91267ca94a41949c223743816ad5f548ca8c09be0328e9dcf9ea0170b9add42f09420c5fd4461c41bfcf74c1 WHIRLPOOL 11b9b487355134d981c60818a4bca02343a8254cda48144621dbf845288a154fe5b1b1cecfe54e6299e9c61c5292dfd00ea0c0f4cbe85fd7b489d9f0fb52c6df
+DIST dom-inspector-DOMI_2_0_17.tar.bz2 154940 SHA256 6559dd1492bcd83de647c0204d75e5f091c973dd3fa47b2750451c21b42cbef6 SHA512 1428d636a6618e834a7d6f4364e3772ac9baa7562351dff936b7cb0a0c306e72a62d60e20ea8a31e5384c322b93f3f09931cffc80983112eefaf191b66420e8f WHIRLPOOL 92481414dd1a407cf7bb160aad69d829b47883ac496d21e99a015cd23afe5909a19f7d0049bf6250ae27a0a83d5698be7828bd8e9379e2d0bbd1a37fbe70c701
DIST firefox-51.0-patches-06.tar.xz 9604 SHA256 cb813576d1e784b72e973fd18d809088c6fd2a0e557c9413cfb7f0ea22b58700 SHA512 5fdc3913e6e4fb1427a051ba12c459bb5330e0712d5775b38281115a78e45e22f200e969ca3e82ac1c1fcfe5d27795d82e16ce15b8c5893bc102892876b2636b WHIRLPOOL bdea0d2f72b96f94bdf2d9487c94cfabcff49a955ca780af74aa0dfc12228d54da73028a6cf6c757133e8a28347d2108aba8cd2b11ab70419b39c067cc48d8ff
+DIST firefox-52.2-patches-02.tar.xz 12584 SHA256 3714ebf55a11cec435a42dad0e351a6648f345cda947cfdcce5d163e86af9c27 SHA512 e16d014c60f9c665e5bf1a5e9b7940b101a38f6af26970bd7c71cf0764a11d65816ad2fef2050fd6fc7b10835161d1babcb64c1b10eba1b0c7b3310fc40b57ef WHIRLPOOL 487a383e3db49c57e40c31524faf4d94fcd925b0680eb2ba5e2456a545c494625048f8894e48d4271ef7452ab538a249ac11d826fcf09b8e210fa831580a3b6b
DIST seamonkey-2.46-patches-01.tar.xz 768 SHA256 461e59a07ddf1d58a835a2b831054f477d24582e73bcbabf1693db2b4ac91365 SHA512 2bbf09c8285f9f1ef5e194da7c43a8d1bbd4f2366ba182c78a7be4f0c36f549eb8cfee5e42d2eea87ea5d6920b36196e901b31ddca94e792aa2d3fb28de097ad WHIRLPOOL 8d5f95f9ea391863b1dadd335efbc3f589d911133b6355c94e481876f3ddc85d3e60f2973024107c70ec806eb8187825fb8d105af8b95d08c52fad34f08aa3a8
DIST seamonkey-2.48-cs.xpi 929570 SHA256 a8b955affee247a1c541bcca68fa383444fcf5db37659da045f47c0f6451d351 SHA512 edaf752c349eff6b0b49e4c63e93b64027b9183ad2c30aab43bd2159ef3e0ca61d6ba0cca7d222372bb051163d9b62377de017b31ecb29e34b95e9eabab7ea83 WHIRLPOOL 0400b151e39d0e6dacac68bc6a6c055f4188d238eb99bfc26d9507492705f4b52be6f9ef16e7e197ee06c7a656144ca0218bf3e6774b5d1a6557d635e19e4926
DIST seamonkey-2.48-de.xpi 937351 SHA256 66cf0338e5607582824dffbd71dd6d82954275501de50bca3ebe70a2462c2b8a SHA512 8a9ad75af63685b86e8c0a1191b83ea25d0c01870e700a2cf9b9a2c1f8793570320acae408f686699d19ec2467064582c8d5e4fa6220b40d02e928e7185a1797 WHIRLPOOL b7846922cc6cbed3ac566fc6e3324f507101cc5689ea061e17eb635281edfabc39cc0bf506b71a84918ad624977149ad383075553ff810c0d48bb025c46f09cf
@@ -20,3 +22,5 @@ DIST seamonkey-2.48-sv-SE.xpi 930510 SHA256 831a4b42faa31f4006984269e2d6d3472a0f
DIST seamonkey-2.48-zh-CN.xpi 934871 SHA256 991629043056dd722202116ef026aeb86a8615539aabf41a28b6a78da63eab7b SHA512 18485d34b90f3f619dde55c1772c5f4873a4efd5b828755eec28b20aa74d98050ccd206b19fa409ab6bea7f0053a94f2d684b54e19f763004fb752ad8e002d2c WHIRLPOOL cb8f4f34abd0eddd3f815c0b6d5efb30aa9cf7b29a2c1e948cd429befe732e6143bfb15b723cfab1c18eac7f18538ab33ee3ca4ba9c9eeae5ca8cd590cb78877
DIST seamonkey-2.48-zh-TW.xpi 991735 SHA256 bb41ee50948baca9e78ae1ba0174046bde21d7bb823c6b365e32d7a8c6a9c50f SHA512 d14be0b9da910e3c7014c4ac9e6fc8270eb43176623280c55eec9e63c5fd0ce9b83db781cdbcd1eae67281fd09ad6dc2218df479e66076878c6bda12c2f2eeb3 WHIRLPOOL cc9bda10829ad4149e28b82f59580bc5d2a8d91c00c0e153bdb130be60e57f155df72929029f92c61ef444b5cea48bb47e10aa48615af4686e2dfc8370565c09
DIST seamonkey-2.48.source.tar.xz 220412744 SHA256 6f9a07c86ba6474b44e5083f9d1315d01778c097937f7da4c5701debffab2631 SHA512 b1992a1dbaeb045aea10ff02aa214ec0c1725e3ad0844d2dffd1c0d0c26754fbd98b5fb5df25a2a490ebcb7a47037c61599b0a2e9240338b4e769e529faa33cf WHIRLPOOL ab0a2ee21efb8d446283ae1df6b2af8fe318fe5dbb41563c140f13f59780c8f252028019d9c181e0b0369201808dfe306058ac6fb5d7207cfbc241ba098ab7a6
+DIST seamonkey-2.49-l10n-sources-20170724.tar.xz 13871296 SHA256 7393d6ab237340704d3dd32d5dc3f98f4e15c2d41a48995c3d7944f37ffa6303 SHA512 a752d98ed280490caa26bd39e8c44608ea82078a9be17eb9ef51b00fd51aeade34305b206bea1f073a3114843a92f491a39a67320ca618f394ed1b5f22be8350 WHIRLPOOL 7963758ab0c62a5065dd90563fffbfced0d5b525e521a054f637eb34dd37c482794040cc43dd6197511d1127b23035a57365c80f154dc1e0ac883f3ef0f999c8
+DIST thunderbird-52.2.0.source.tar.xz 228453944 SHA256 c65c66244ac113996002bcfa9e387f14291163cfb7009a9126e3a8d4a970e72d SHA512 e5c2ad5f7bbea4fb9abca94db6c149ee459c1c35b756b7840ee87b5fb631ccbcd323c743a12cddf8d504e0175bb93378beb7fe100b185ea6ab03a4968859ea89 WHIRLPOOL 54fb8bb90613a8debe3d5710e4d62acac20ed64c430de28b2910629d81dad1cfe894e6768065bf4a10e321ed2ab8d31fa7bcba775512414b2bb50c4939c304c6
diff --git a/www-client/seamonkey/seamonkey-2.49.2.0_p0.ebuild b/www-client/seamonkey/seamonkey-2.49.2.0_p0.ebuild
new file mode 100644
index 00000000..34619716
--- /dev/null
+++ b/www-client/seamonkey/seamonkey-2.49.2.0_p0.ebuild
@@ -0,0 +1,438 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+WANT_AUTOCONF="2.1"
+
+# This list can be updated with scripts/get_langs.sh from the mozilla overlay
+# note - could not roll langpacks for: ca fi
+#MOZ_LANGS=(ca cs de en-GB es-AR es-ES fi fr gl hu it ja lt nb-NO nl pl pt-PT
+# ru sk sv-SE tr uk zh-CN zh-TW)
+MOZ_LANGS=(cs de en-GB es-AR es-ES fr hu it ja lt nl pl pt-PT
+ ru sk sv-SE zh-CN zh-TW)
+
+MOZ_PV="${PV/_pre*}"
+MOZ_PV="${MOZ_PV/_alpha/a}"
+MOZ_PV="${MOZ_PV/_beta/b}"
+MOZ_PV="${MOZ_PV/_rc/rc}"
+MOZ_PV="${MOZ_PV/_p[0-9]}"
+MOZ_P="${P}"
+MY_MOZ_P="${PN}-${MOZ_PV}"
+
+if [[ ${PV} == *_pre* ]] ; then
+# the following are for upstream build candidates
+ MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/candidates/${MOZ_PV}-candidates/build${PV##*_pre}"
+ MOZ_LANGPACK_PREFIX="linux-i686/xpi/"
+ SRC_URI+=" ${MOZ_HTTP_URI}/source/${MY_MOZ_P}.source.tar.xz -> ${P}.source.tar.xz"
+ S="${WORKDIR}/${MY_MOZ_P}"
+ # And the langpack stuff stays at eclass defaults
+# the following is for self-rolled releases
+ #MOZ_HTTP_URI="https://dev.gentoo.org/~axs/distfiles"
+ #MOZ_LANGPACK_PREFIX="${MY_MOZ_P}."
+ #MOZ_LANGPACK_SUFFIX=".langpack.xpi"
+ #SRC_URI="${SRC_URI}
+ #${MOZ_HTTP_URI}/${P}.source.tar.xz
+ #"
+elif [[ ${PV} == *_p[0-9] ]]; then
+ # gentoo-unofficial release using thunderbird distfiles to build seamonkey instead
+ TB_MAJOR=52
+ SMPV="${PV%.[0-9].*}"
+ MOZ_P="${PN}-${MOZ_PV}"
+ MOZ_HTTP_URI="https://archive.mozilla.org/pub/thunderbird/releases/${MOZ_PV/${SMPV}/${TB_MAJOR}}"
+ MOZ_GENERATE_LANGPACKS=1
+ S="${WORKDIR}/thunderbird-${MOZ_PV/${SMPV}/${TB_MAJOR}}"
+ CHATZILLA_VER="SEA2_48_RELBRANCH"
+ INSPECTOR_VER="DOMI_2_0_17"
+ SRC_URI="${SRC_URI}
+ ${MOZ_HTTP_URI}/source/thunderbird-${MOZ_PV/${SMPV}/${TB_MAJOR}}.source.tar.xz
+ https://dev.gentoo.org/~axs/distfiles/${PN}-${SMPV}-l10n-sources-20170724.tar.xz
+ https://hg.mozilla.org/chatzilla/archive/${CHATZILLA_VER}.tar.bz2 -> chatzilla-${CHATZILLA_VER}.tar.bz2
+ https://hg.mozilla.org/dom-inspector/archive/${INSPECTOR_VER}.tar.bz2 -> dom-inspector-${INSPECTOR_VER}.tar.bz2
+ "
+else
+ MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases/${MOZ_PV}"
+ MOZ_LANGPACK_PREFIX="langpack/${MY_MOZ_P}."
+ MOZ_LANGPACK_SUFFIX=".langpack.xpi"
+ S="${WORKDIR}/${PN}-${MOZ_PV}"
+ SRC_URI="${SRC_URI}
+ ${MOZ_HTTP_URI}/source/${MY_MOZ_P}.source.tar.xz -> ${P}.source.tar.xz
+ "
+fi
+
+MOZCONFIG_OPTIONAL_GTK3=1
+MOZCONFIG_OPTIONAL_WIFI=1
+inherit check-reqs flag-o-matic toolchain-funcs eutils mozconfig-v6.52 pax-utils xdg-utils autotools mozextension nsplugins mozlinguas-v2
+
+PATCHFF="firefox-52.2-patches-02"
+PATCH="${PN}-2.46-patches-01"
+
+DESCRIPTION="Seamonkey Web Browser"
+HOMEPAGE="http://www.seamonkey-project.org"
+KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~x86"
+
+SLOT="0"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="+calendar +chatzilla +crypt +gmp-autoupdate +ipc jack minimal pulseaudio +roaming selinux test"
+
+SRC_URI+="
+ https://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCHFF}.tar.xz
+ https://dev.gentoo.org/~axs/mozilla/patchsets/${PATCHFF}.tar.xz
+ https://dev.gentoo.org/~polynomial-c/mozilla/patchsets/${PATCHFF}.tar.xz
+ https://dev.gentoo.org/~axs/mozilla/patchsets/${PATCH}.tar.xz
+ https://dev.gentoo.org/~polynomial-c/mozilla/patchsets/${PATCH}.tar.xz
+"
+
+ASM_DEPEND=">=dev-lang/yasm-1.1"
+
+RDEPEND="
+ >=dev-libs/nss-3.28.1
+ >=dev-libs/nspr-4.13
+ crypt? ( || (
+ ( >=app-crypt/gnupg-2.0
+ || (
+ app-crypt/pinentry[gtk]
+ app-crypt/pinentry[qt5]
+ app-crypt/pinentry[qt4]
+ )
+ )
+ =app-crypt/gnupg-1.4* )
+ x11-plugins/enigmail
+ )
+ jack? ( virtual/jack )
+"
+
+DEPEND="
+ ${RDEPEND}
+ !elibc_glibc? ( !elibc_uclibc? ( !elibc_musl? ( dev-libs/libexecinfo ) ) )
+ crypt? ( dev-lang/perl )
+ amd64? ( ${ASM_DEPEND}
+ virtual/opengl )
+ x86? ( ${ASM_DEPEND}
+ virtual/opengl )
+"
+
+BUILD_OBJ_DIR="${S}/seamonk"
+
+# allow GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z $GMP_PLUGIN_LIST ]] ; then
+ GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+pkg_setup() {
+ if [[ ${PV} == *_pre* ]] ; then
+ ewarn "You're using an unofficial release of ${PN}. Don't file any bug in"
+ ewarn "Gentoo's Bugtracker against this package in case it breaks for you."
+ ewarn "Those belong to upstream: https://bugzilla.mozilla.org"
+ fi
+
+ moz_pkgsetup
+}
+
+pkg_pretend() {
+ # Ensure we have enough disk space to compile
+ if use debug || use test ; then
+ CHECKREQS_DISK_BUILD="8G"
+ else
+ CHECKREQS_DISK_BUILD="4G"
+ fi
+ check-reqs_pkg_setup
+}
+
+src_unpack() {
+ unpack ${A}
+
+ # Unpack language packs
+ mozlinguas_src_unpack
+
+ if [[ -n $TB_MAJOR ]]; then
+ # move the irc and inspector code into the correct locations
+ # when we are building from a thunderbird tarball
+ mv "${WORKDIR}"/chatzilla-${CHATZILLA_VER} \
+ "${S}"/mozilla/extensions/irc || die
+ mv "${WORKDIR}"/dom-inspector-${INSPECTOR_VER} \
+ "${S}"/mozilla/extensions/inspector || die
+ fi
+}
+
+src_prepare() {
+ # Apply our patches
+ eapply "${WORKDIR}"/seamonkey
+
+ # browser patches go here
+ pushd "${S}"/mozilla &>/dev/null || die
+ rm -f "${WORKDIR}"/firefox/1000_gentoo_install_dir.patch
+ eapply "${WORKDIR}"/firefox
+ popd &>/dev/null || die
+
+ if grep -q '^sdkdir.*$(MOZ_APP_NAME)-devel' mozilla/config/baseconfig.mk ; then
+ sed '/^sdkdir/s@-devel@@' \
+ -i mozilla/config/baseconfig.mk || die
+ else
+ einfo "baseconfig.mk hackery no longer needed."
+ fi
+
+ # Shell scripts sometimes contain DOS line endings; bug 391889
+ grep -rlZ --include="*.sh" $'\r$' . |
+ while read -r -d $'\0' file ; do
+ einfo edos2unix "${file}"
+ edos2unix "${file}"
+ done
+
+ # force a version update that matches the minor and patch version of thunderbird
+ if [[ -n ${TB_MAJOR} ]]; then
+ echo ${MOZ_PV} >"${S}"/suite/config/version.txt
+ fi
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ local ms="${S}/mozilla"
+
+ # Enable gnomebreakpad
+ if use debug ; then
+ sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
+ "${ms}"/build/unix/run-mozilla.sh || die "sed failed!"
+ fi
+
+ # Ensure that are plugins dir is enabled as default
+ sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
+ "${ms}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
+ sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
+ "${ms}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
+
+ # Don't exit with error when some libs are missing which we have in
+ # system.
+ sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
+ -i "${S}"/suite/installer/Makefile.in || die
+ # Don't error out when there's no files to be removed:
+ sed 's@\(xargs rm\)$@\1 -f@' \
+ -i "${ms}"/toolkit/mozapps/installer/packager.mk || die
+
+ eautoreconf old-configure.in
+ cd "${S}"/mozilla || die
+ eautoconf old-configure.in
+ cd "${S}"/mozilla/js/src || die
+ eautoconf old-configure.in
+ cd "${S}"/mozilla/memory/jemalloc/src || die
+ WANT_AUTOCONF= eautoconf
+}
+
+src_configure() {
+ MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+ MEXTENSIONS="default"
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ _google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
+
+ ####################################
+ #
+ # mozconfig, CFLAGS and CXXFLAGS setup
+ #
+ ####################################
+
+ mozconfig_init
+ mozconfig_config
+
+ # enable JACK, bug 600002
+ mozconfig_use_enable jack
+
+ # It doesn't compile on alpha without this LDFLAGS
+ use alpha && append-ldflags "-Wl,--no-relax"
+
+ if ! use chatzilla ; then
+ MEXTENSIONS+=",-irc"
+ fi
+ if ! use roaming ; then
+ MEXTENSIONS+=",-sroaming"
+ fi
+
+ # Setup api key for location services
+ echo -n "${_google_api_key}" > "${S}"/google-api-key
+ mozconfig_annotate '' --with-google-api-keyfile="${S}/google-api-key"
+
+ mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
+
+ # Other sm-specific settings
+ mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}
+ mozconfig_annotate '' --enable-safe-browsing
+ mozconfig_use_enable calendar
+
+ mozlinguas_mozconfig
+
+ # Use an objdir to keep things organized.
+ echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
+ echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
+
+ # Finalize and report settings
+ mozconfig_final
+
+ # Work around breakage in makeopts with --no-print-directory
+ MAKEOPTS="${MAKEOPTS/--no-print-directory/}"
+
+ if [[ $(gcc-major-version) -lt 4 ]] ; then
+ append-cxxflags -fno-stack-protector
+ elif [[ $(gcc-major-version) -gt 4 || $(gcc-minor-version) -gt 3 ]] ; then
+ if use amd64 || use x86 ; then
+ append-flags -mno-avx
+ fi
+ fi
+
+ # workaround for funky/broken upstream configure...
+ SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
+ emake V=1 -f client.mk configure
+}
+
+src_compile() {
+ MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \
+ emake V=1 -f client.mk
+
+ mozlinguas_src_compile
+}
+
+src_install() {
+ MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+ DICTPATH="\"${EPREFIX}/usr/share/myspell\""
+
+ local emid
+ cd "${BUILD_OBJ_DIR}" || die
+
+ # Pax mark xpcshell for hardened support, only used for startupcache creation.
+ pax-mark m "${BUILD_OBJ_DIR}/dist/bin/xpcshell"
+
+ # Copy our preference before omnijar is created.
+ sed "s|SEAMONKEY_PVR|${PVR}|" "${FILESDIR}"/all-gentoo-1.js > \
+ "${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
+ || die
+
+ # Set default path to search for dictionaries.
+ echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \
+ >> "${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
+ || die
+
+ echo 'pref("extensions.autoDisableScopes", 3);' >> \
+ "${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
+ || die
+
+ local plugin
+ if ! use gmp-autoupdate ; then
+ for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
+ echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
+ "${S}/${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || dir
+ done
+ fi
+
+ MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
+ emake DESTDIR="${D}" install
+ cp "${FILESDIR}"/${PN}.desktop "${T}" || die
+
+ sed 's|^\(MimeType=.*\)$|\1text/x-vcard;text/directory;application/mbox;message/rfc822;x-scheme-handler/mailto;|' \
+ -i "${T}"/${PN}.desktop || die
+ sed 's|^\(Categories=.*\)$|\1Email;|' -i "${T}"/${PN}.desktop \
+ || die
+
+ # Install language packs
+ mozlinguas_src_install
+
+ # Add StartupNotify=true bug 290401
+ if use startup-notification ; then
+ echo "StartupNotify=true" >> "${T}"/${PN}.desktop || die
+ fi
+
+ # Install icon and .desktop for menu entry
+ newicon "${S}"/suite/branding/nightly/content/icon64.png ${PN}.png
+ domenu "${T}"/${PN}.desktop
+
+ # Required in order to use plugins and even run seamonkey on hardened.
+ pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/{seamonkey,seamonkey-bin,plugin-container}
+
+ if use minimal ; then
+ rm -rf "${ED}"/usr/include "${ED}${MOZILLA_FIVE_HOME}"/{idl,include,lib,sdk}
+ fi
+
+ if use crypt ; then
+ emid=$(sed -n '/<em:id>/!d; s/.*\({.*}\).*/\1/; p; q' "${EROOT%/}"/usr/share/enigmail/install.rdf)
+ if [[ -n ${emid} ]]; then
+ dosym "${EPREFIX%/}"/usr/share/enigmail ${MOZILLA_FIVE_HOME}/extensions/${emid}
+ else
+ eerror "${EPREFIX%/}/usr/share/enigmail/install.rdf: No such file or directory"
+ die "<EM:ID> tag for x11-plugins/enigmail could not be found!"
+ fi
+ fi
+
+ if use chatzilla ; then
+ local emid='{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}'
+
+ # remove the en_US-only xpi file so a version with all requested locales can be installed
+ if [[ -e "${ED}"${MOZILLA_FIVE_HOME}/distribution/extensions/${emid}.xpi ]]; then
+ rm -f "${ED}"${MOZILLA_FIVE_HOME}/distribution/extensions/${emid}.xpi || die
+ fi
+
+ # merge the extra locales into the main extension
+ mozlinguas_xpistage_langpacks "${BUILD_OBJ_DIR}"/dist/xpi-stage/chatzilla
+
+ # install the merged extension
+ mkdir -p "${T}/${emid}" || die
+ cp -RLp -t "${T}/${emid}" "${BUILD_OBJ_DIR}"/dist/xpi-stage/chatzilla/* || die
+ insinto ${MOZILLA_FIVE_HOME}/distribution/extensions
+ doins -r "${T}/${emid}"
+ fi
+
+ # Handle plugins dir through nsplugins.eclass
+ share_plugins_dir
+
+ # revdep-rebuild entry
+ insinto /etc/revdep-rebuild
+ echo "SEARCH_DIRS_MASK=${MOZILLA_FIVE_HOME}*" >> ${T}/11${PN}
+ doins "${T}"/11${PN}
+}
+
+pkg_preinst() {
+ MOZILLA_FIVE_HOME="${ROOT}/usr/$(get_libdir)/${PN}"
+
+ if [ -d ${MOZILLA_FIVE_HOME}/plugins ] ; then
+ rm ${MOZILLA_FIVE_HOME}/plugins -rf
+ fi
+
+ # Because PM's dont seem to properly merge a symlink replacing a directory
+ if use crypt ; then
+ local emid=$(sed -n '/<em:id>/!d; s/.*\({.*}\).*/\1/; p; q' "${EROOT%/}"/usr/share/enigmail/install.rdf)
+ local emidpath="${EROOT%/}"${MOZILLA_FIVE_HOME}/extensions/${emid}
+ if [[ -z ${emid} ]]; then
+ eerror "${EROOT%/}/usr/share/enigmail/install.rdf: No such file or directory"
+ die "Could not find enigmail on disk during pkg_preinst()"
+ fi
+ if [[ ! -h "${emidpath}" ]] && [[ -d "${emidpath}" ]]; then
+ if ! rm -R --interactive=never "${emidpath}" ; then
+ eerror "Could not remove enigmail directory from previous installation,"
+ eerror "You must remove this by hand and rename the symbolic link yourself:"
+ eerror
+ eerror "\t cd ${EPREFIX%/}${MOZILLA_FIVE_HOME}/extensions"
+ eerror "\t rm -Rf ${emid}"
+ eerror "\t mv ${emid}.backup* ${emid}"
+ fi
+ fi
+ fi
+}
+
+pkg_postinst() {
+ MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # Update mimedb for the new .desktop file
+ xdg_desktop_database_update
+ #gnome2_icon_cache_update
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${GMP_PLUGIN_LIST[@]}"; do elog "\t ${plugin}" ; done
+ fi
+
+ if use chatzilla ; then
+ elog "chatzilla is now an extension which can be en-/disabled and configured via"
+ elog "the Add-on manager."
+ fi
+}