commit:     88610f0bebc7914926e2bedcafee21e8991a89e9
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 27 22:21:16 2018 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Thu Sep 27 22:21:16 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=88610f0b

mail-client/thunderbird: ebuild rewritten

- Ebuild no longer uses mozconfig-v6.60 eclass

- Lots of changes/fixes from firefox-60.x ebuild backported

Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
Package-Manager: Portage-2.3.50, Repoman-2.3.11

 .../files/thunderbird-60.0-blessings-TERM.patch    |  70 +++
 mail-client/thunderbird/thunderbird-60.0-r3.ebuild | 563 +++++++++++++++++++++
 2 files changed, 633 insertions(+)

diff --git 
a/mail-client/thunderbird/files/thunderbird-60.0-blessings-TERM.patch 
b/mail-client/thunderbird/files/thunderbird-60.0-blessings-TERM.patch
new file mode 100644
index 00000000000..975e0cf6fe7
--- /dev/null
+++ b/mail-client/thunderbird/files/thunderbird-60.0-blessings-TERM.patch
@@ -0,0 +1,70 @@
+https://github.com/erikrose/blessings/pull/137
+
+Fixes: https://bugs.gentoo.org/654316
+
+From 5fefc65c306cf9ec492e7b422d6bb4842385afbc Mon Sep 17 00:00:00 2001
+From: Jay Kamat <[email protected]>
+Date: Fri, 24 Aug 2018 11:11:57 -0700
+Subject: [PATCH 1/2] Fix error when TERM is unset or improperly set
+
+---
+ blessings/__init__.py | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/blessings/__init__.py b/blessings/__init__.py
+index 98b75c3..3872b5f 100644
+--- a/third_party/python/blessings/blessings/__init__.py
++++ b/third_party/python/blessings/blessings/__init__.py
+@@ -94,8 +94,13 @@ def __init__(self, kind=None, stream=None, 
force_styling=False):
+             # init sequences to the stream if it has a file descriptor, and
+             # send them to stdout as a fallback, since they have to go
+             # somewhere.
+-            setupterm(kind or environ.get('TERM', 'unknown'),
+-                      self._init_descriptor)
++            try:
++                setupterm(kind or environ.get('TERM', 'dumb') or 'dumb',
++                          self._init_descriptor)
++            except:
++                # There was an error setting up the terminal, either curses is
++                # not supported or TERM is incorrectly set. Fall back to dumb.
++                self._does_styling = False
+ 
+         self.stream = stream
+ 
+
+From d885df78c6f931abf3259343aaaa897e16c8cba1 Mon Sep 17 00:00:00 2001
+From: Jay Kamat <[email protected]>
+Date: Sat, 1 Sep 2018 13:20:32 -0700
+Subject: [PATCH 2/2] Explicitly catch curses.error
+
+---
+ blessings/__init__.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/blessings/__init__.py b/blessings/__init__.py
+index 3872b5f..fdceb09 100644
+--- a/third_party/python/blessings/blessings/__init__.py
++++ b/third_party/python/blessings/blessings/__init__.py
+@@ -97,7 +97,7 @@ def __init__(self, kind=None, stream=None, 
force_styling=False):
+             try:
+                 setupterm(kind or environ.get('TERM', 'dumb'),
+                           self._init_descriptor)
+-            except:
++            except curses.error:
+                 # There was an error setting up the terminal, either curses is
+                 # not supported or TERM is incorrectly set. Fall back to dumb.
+                 self._does_styling = False
+
+
+--- a/python/mach/mach/logging.py
++++ b/python/mach/mach/logging.py
+@@ -93,7 +93,7 @@
+ 
+     def set_terminal(self, terminal):
+         self.terminal = terminal
+-        self._sgr0 = blessings.tigetstr('sgr0') or '' if terminal and 
blessings else ''
++        self._sgr0 = terminal.normal if terminal and blessings else ''
+ 
+     def format(self, record):
+         f = record.msg.format(**record.params)
+ 

diff --git a/mail-client/thunderbird/thunderbird-60.0-r3.ebuild 
b/mail-client/thunderbird/thunderbird-60.0-r3.ebuild
new file mode 100644
index 00000000000..98e373db77a
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-60.0-r3.ebuild
@@ -0,0 +1,563 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIRTUALX_REQUIRED="pgo"
+WANT_AUTOCONF="2.1"
+MOZ_ESR=""
+MOZ_LIGHTNING_VER="6.2"
+MOZ_LIGHTNING_GDATA_VER="4.4.1"
+
+# This list can be updated using scripts/get_langs.sh from the mozilla overlay
+MOZ_LANGS=(ar ast be bg br ca cs cy da de el en en-GB en-US es-AR
+es-ES et eu fi fr fy-NL ga-IE gd gl he hr hsb hu hy-AM id is it ja ko lt
+nb-NO nl nn-NO pl pt-BR pt-PT rm ro ru si sk sl sq sr sv-SE tr
+uk vi zh-CN zh-TW )
+
+# Convert the ebuild version to the upstream mozilla version, used by 
mozlinguas
+MOZ_PV="${PV/_beta/b}"
+
+# Patches
+PATCHTB="thunderbird-60.0-patches-0"
+PATCHFF="firefox-60.0-patches-02"
+
+MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases";
+
+# ESR releases have slightly version numbers
+if [[ ${MOZ_ESR} == 1 ]]; then
+       MOZ_PV="${MOZ_PV}esr"
+fi
+MOZ_P="${PN}-${MOZ_PV}"
+
+inherit check-reqs flag-o-matic toolchain-funcs gnome2-utils llvm 
mozcoreconf-v6 pax-utils xdg-utils autotools mozlinguas-v2
+
+DESCRIPTION="Thunderbird Mail Client"
+HOMEPAGE="https://www.mozilla.org/thunderbird";
+
+KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+SLOT="0"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="bindist clang dbus debug hardened jack lightning mozdom neon pulseaudio
+       selinux startup-notification system-harfbuzz system-icu system-jpeg
+       system-libevent system-libvpx system-sqlite wifi"
+RESTRICT="!bindist? ( bindist )"
+
+PATCH_URIS=( 
https://dev.gentoo.org/~{anarchy,axs,polynomial-c}/mozilla/patchsets/{${PATCHTB},${PATCHFF}}.tar.xz
 )
+SRC_URI="${SRC_URI}
+       ${MOZ_HTTP_URI}/${MOZ_PV}/source/${MOZ_P}.source.tar.xz
+       
https://dev.gentoo.org/~axs/distfiles/lightning-${MOZ_LIGHTNING_VER}.tar.xz
+       lightning? ( 
https://dev.gentoo.org/~axs/distfiles/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}.tar.xz
 )
+       ${PATCH_URIS[@]}"
+
+ASM_DEPEND=">=dev-lang/yasm-1.1"
+
+CDEPEND="
+       >=dev-libs/nss-3.36.4
+       >=dev-libs/nspr-4.19
+       >=app-text/hunspell-1.5.4:=
+       dev-libs/atk
+       dev-libs/expat
+       >=x11-libs/cairo-1.10[X]
+       >=x11-libs/gtk+-2.18:2
+       >=x11-libs/gtk+-3.4.0:3
+       x11-libs/gdk-pixbuf
+       >=x11-libs/pango-1.22.0
+       >=media-libs/libpng-1.6.34:0=[apng]
+       >=media-libs/mesa-10.2:*
+       media-libs/fontconfig
+       >=media-libs/freetype-2.4.10
+       kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
+       virtual/freedesktop-icon-theme
+       dbus? (
+               >=sys-apps/dbus-0.60
+               >=dev-libs/dbus-glib-0.72
+       )
+       startup-notification? ( >=x11-libs/startup-notification-0.8 )
+       >=x11-libs/pixman-0.19.2
+       >=dev-libs/glib-2.26:2
+       >=sys-libs/zlib-1.2.3
+       >=virtual/libffi-3.0.10
+       virtual/ffmpeg
+       x11-libs/libX11
+       x11-libs/libXcomposite
+       x11-libs/libXdamage
+       x11-libs/libXext
+       x11-libs/libXfixes
+       x11-libs/libXrender
+       x11-libs/libXt
+       system-harfbuzz? (
+               >=media-libs/harfbuzz-1.4.2:0=
+               >=media-gfx/graphite2-1.3.9-r1
+       )
+       system-icu? ( >=dev-libs/icu-59.1:= )
+       system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= )
+       system-libevent? ( >=dev-libs/libevent-2.0:0= )
+       system-libvpx? ( >=media-libs/libvpx-1.5.0:0=[postproc] )
+       system-sqlite? ( >=dev-db/sqlite-3.23.1:3[secure-delete,debug=] )
+       wifi? (
+               kernel_linux? (
+                       >=sys-apps/dbus-0.60
+                       >=dev-libs/dbus-glib-0.72
+                       net-misc/networkmanager
+               )
+       )
+       jack? ( virtual/jack )"
+
+DEPEND="${CDEPEND}
+       app-arch/zip
+       app-arch/unzip
+       >=sys-devel/binutils-2.30
+       sys-apps/findutils
+       >=sys-devel/llvm-4.0.1
+       >=sys-devel/clang-4.0.1
+       clang? (
+               >=sys-devel/llvm-4.0.1[gold]
+               >=sys-devel/lld-4.0.1
+       )
+       pulseaudio? ( media-sound/pulseaudio )
+       elibc_glibc? (
+               virtual/cargo
+               virtual/rust
+       )
+       elibc_musl? (
+               virtual/cargo
+               virtual/rust
+       )
+       amd64? (
+               ${ASM_DEPEND}
+               virtual/opengl
+       )
+       x86? (
+               ${ASM_DEPEND}
+               virtual/opengl
+       )"
+
+RDEPEND="${CDEPEND}
+       pulseaudio? (
+               || (
+                       media-sound/pulseaudio
+                       >=media-sound/apulse-0.1.9
+               )
+       )
+       selinux? (
+               sec-policy/selinux-mozilla
+               sec-policy/selinux-thunderbird
+       )"
+
+REQUIRED_USE="wifi? ( dbus )"
+
+S="${WORKDIR}/${MOZ_P%b[0-9]*}"
+
+BUILD_OBJ_DIR="${S}/tbird"
+
+pkg_setup() {
+       moz_pkgsetup
+
+       # Avoid PGO profiling problems due to enviroment leakage
+       # These should *always* be cleaned up anyway
+       unset DBUS_SESSION_BUS_ADDRESS \
+               DISPLAY \
+               ORBIT_SOCKETDIR \
+               SESSION_MANAGER \
+               XDG_SESSION_COOKIE \
+               XAUTHORITY
+
+       if ! use bindist ; then
+               elog "You are enabling official branding. You may not 
redistribute this build"
+               elog "to any users on your network or the internet. Doing so 
puts yourself into"
+               elog "a legal problem with Mozilla Foundation"
+               elog "You can disable it by emerging ${PN} _with_ the bindist 
USE-flag"
+               elog
+       fi
+
+       addpredict /proc/self/oom_score_adj
+
+       llvm_pkg_setup
+}
+
+pkg_pretend() {
+       # Ensure we have enough disk space to compile
+       CHECKREQS_DISK_BUILD="4G"
+       check-reqs_pkg_setup
+}
+
+src_unpack() {
+       unpack ${A}
+
+       # Unpack language packs
+       mozlinguas_src_unpack
+}
+
+src_prepare() {
+       # Apply our patchset from firefox to thunderbird as well
+       rm -f   "${WORKDIR}"/firefox/2007_fix_nvidia_latest.patch \
+               "${WORKDIR}"/firefox/2005_ffmpeg4.patch \
+               || die
+       eapply "${WORKDIR}/firefox"
+       eapply "${FILESDIR}"/${PN}-60.0-blessings-TERM.patch # 654316
+
+       # Ensure that are plugins dir is enabled as default
+       sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
+               "${S}"/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:" \
+               "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed 
failed to replace plugin path for 64bit!"
+
+       # Don't error out when there's no files to be removed:
+       sed 's@\(xargs rm\)$@\1 -f@' \
+               -i "${S}"/toolkit/mozapps/installer/packager.mk || die
+
+       # 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}"/comm/mail/installer/Makefile.in || die
+
+       # Apply our Thunderbird patchset
+       pushd "${S}"/comm &>/dev/null || doe
+       eapply "${WORKDIR}"/thunderbird
+
+       # simulate old directory structure just in case it helps eapply_user
+       ln -s .. mozilla || die
+       # Allow user to apply any additional patches without modifing ebuild
+       eapply_user
+       # remove the symlink
+       rm -f mozilla
+
+       # Confirm the version of lightning being grabbed for langpacks is the 
same
+       # as that used in thunderbird
+       local THIS_MOZ_LIGHTNING_VER=$(${PYTHON} 
calendar/lightning/build/makeversion.py ${PV})
+       if [[ ${MOZ_LIGHTNING_VER} != ${THIS_MOZ_LIGHTNING_VER} ]]; then
+               eqawarn "The version of lightning used for localization differs 
from the version"
+               eqawarn "in thunderbird.  Please update MOZ_LIGHTNING_VER in 
the ebuild from ${MOZ_LIGHTNING_VER}"
+               eqawarn "to ${THIS_MOZ_LIGHTNING_VER}"
+       fi
+
+       popd &>/dev/null || die
+
+       eautoreconf old-configure.in
+       # Ensure we run eautoreconf in spidermonkey to regenerate configure
+       cd "${S}"/js/src || die
+       eautoconf old-configure.in
+}
+
+src_configure() {
+       MEXTENSIONS="default"
+
+       # Add information about TERM to output (build.log) to aid debugging
+       # blessings problems
+       if [[ -n "${TERM}" ]] ; then
+               einfo "TERM is set to: \"${TERM}\""
+       else
+               einfo "TERM is unset."
+       fi
+
+       if use clang && ! tc-is-clang ; then
+               # Force clang
+               einfo "Enforcing the use of clang due to USE=clang ..."
+               CC=${CHOST}-clang
+               CXX=${CHOST}-clang++
+               strip-unsupported-flags
+       elif ! use clang && ! tc-is-gcc ; then
+               # Force gcc
+               einfo "Enforcing the use of gcc due to USE=-clang ..."
+               CC=${CHOST}-gcc
+               CXX=${CHOST}-gcc++
+               strip-unsupported-flags
+       fi
+
+       ####################################
+       #
+       # mozconfig, CFLAGS and CXXFLAGS setup
+       #
+       ####################################
+
+       mozconfig_init
+       # common config components
+       mozconfig_annotate 'system_libs' \
+               --with-system-zlib \
+               --with-system-bz2
+
+       # Must pass release in order to properly select linker
+       mozconfig_annotate 'Enable by Gentoo' --enable-release
+
+       # Avoid auto-magic on linker
+       if use clang ; then
+               # This is upstream's default
+               mozconfig_annotate "forcing ld=lld due to USE=clang" 
--enable-linker=lld
+       elif tc-ld-is-gold ; then
+               mozconfig_annotate "linker is set to gold" --enable-linker=gold
+       else
+               mozconfig_annotate "linker is set to bfd" --enable-linker=bfd
+       fi
+
+       # It doesn't compile on alpha without this LDFLAGS
+       use alpha && append-ldflags "-Wl,--no-relax"
+
+       # Add full relro support for hardened
+       if use hardened; then
+               append-ldflags "-Wl,-z,relro,-z,now"
+               mozconfig_use_enable hardened hardening
+       fi
+
+       # Modifications to better support ARM, bug 553364
+       if use neon ; then
+               mozconfig_annotate '' --with-fpu=neon
+
+               if ! tc-is-clang ; then
+                       # thumb options aren't supported when using clang, bug 
666966
+                       mozconfig_annotate '' --with-thumb=yes
+                       mozconfig_annotate '' --with-thumb-interwork=no
+               fi
+       fi
+       if [[ ${CHOST} == armv*h* ]] ; then
+               mozconfig_annotate '' --with-float-abi=hard
+               if ! use system-libvpx ; then
+                       sed -i -e "s|softfp|hard|" \
+                               "${S}"/media/libvpx/moz.build
+               fi
+       fi
+
+       mozconfig_use_enable !bindist official-branding
+       # Enable position independent executables
+       mozconfig_annotate 'enabled by Gentoo' --enable-pie
+
+       mozconfig_use_enable debug
+       mozconfig_use_enable debug tests
+       if ! use debug ; then
+               mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
+       else
+               mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
+       fi
+       # These are enabled by default in all mozilla applications
+       mozconfig_annotate '' --with-system-nspr 
--with-nspr-prefix="${SYSROOT}${EPREFIX}"/usr
+       mozconfig_annotate '' --with-system-nss 
--with-nss-prefix="${SYSROOT}${EPREFIX}"/usr
+       mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include \
+               --x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
+       mozconfig_annotate '' --prefix="${EPREFIX}"/usr
+       mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
+       mozconfig_annotate 'Gentoo default' --enable-system-hunspell
+       mozconfig_annotate '' --disable-crashreporter
+       mozconfig_annotate 'Gentoo default' --with-system-png
+       mozconfig_annotate '' --enable-system-ffi
+       mozconfig_annotate '' --disable-gconf
+       mozconfig_annotate '' --with-intl-api
+       mozconfig_annotate '' --enable-system-pixman
+       # Instead of the standard --build= and --host=, mozilla uses --host 
instead
+       # of --build, and --target intstead of --host.
+       # Note, mozilla also has --build but it does not do what you think it 
does.
+       # Set both --target and --host as mozilla uses python to guess values 
otherwise
+       mozconfig_annotate '' --target="${CHOST}"
+       mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
+       if use system-libevent; then
+               mozconfig_annotate '' 
--with-system-libevent="${SYSROOT}${EPREFIX}"/usr
+       fi
+
+       # skia has no support for big-endian platforms
+       if [[ $(tc-endian) == "big" ]]; then
+               mozconfig_annotate 'big endian target' --disable-skia
+       else
+               mozconfig_annotate '' --enable-skia
+       fi
+
+       # use the gtk3 toolkit (the only one supported at this point)
+       mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3
+
+       mozconfig_use_enable startup-notification
+       mozconfig_use_enable system-sqlite
+       mozconfig_use_with system-jpeg
+       mozconfig_use_with system-icu
+       mozconfig_use_with system-libvpx
+       mozconfig_use_with system-harfbuzz
+       mozconfig_use_with system-harfbuzz system-graphite2
+       mozconfig_use_enable pulseaudio
+       # force the deprecated alsa sound code if pulseaudio is disabled
+       if use kernel_linux && ! use pulseaudio ; then
+               mozconfig_annotate '-pulseaudio' --enable-alsa
+       fi
+
+       mozconfig_use_enable dbus
+
+       mozconfig_use_enable wifi necko-wifi
+
+       # enable JACK, bug 600002
+       mozconfig_use_enable jack
+
+       # Other tb-specific settings
+       mozconfig_annotate '' --with-user-appdir=.thunderbird
+
+       mozconfig_annotate '' --enable-ldap
+
+       # Bug #72667
+       if use mozdom; then
+               MEXTENSIONS="${MEXTENSIONS},inspector"
+       fi
+
+       mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
+
+       mozconfig_annotate '' --enable-calendar
+
+       # Disable built-in ccache support to avoid sandbox violation, #665420
+       # Use FEATURES=ccache instead!
+       mozconfig_annotate '' --without-ccache
+       sed -i -e 's/ccache_stats = None/return None/' \
+               python/mozbuild/mozbuild/controller/building.py || \
+               die "Failed to disable ccache stats call"
+
+       # Stylo is only broken on x86 builds
+       use x86 && mozconfig_annotate 'Upstream bug 1341234' --disable-stylo
+
+       # Stylo is horribly broken on arm, renders GUI unusable
+       use arm && mozconfig_annotate 'breaks UI on arm' --disable-stylo
+
+       if use clang ; then
+               # libprldap60.so: terminate called after throwing an instance 
of 'std::runtime_error', bug 667186
+               mozconfig_annotate 'elf-hack is broken when using clang' 
--disable-elf-hack
+       elif use arm ; then
+               mozconfig_annotate 'elf-hack is broken on arm' 
--disable-elf-hack
+       fi
+
+       # 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
+
+       ####################################
+       #
+       #  Configure and build
+       #
+       ####################################
+
+       # Disable no-print-directory
+       MAKEOPTS=${MAKEOPTS/--no-print-directory/}
+
+       if [[ $(gcc-major-version) -lt 4 ]]; then
+               append-cxxflags -fno-stack-protector
+       fi
+
+       # workaround for funky/broken upstream configure...
+       SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
+       ./mach configure || die
+}
+
+src_compile() {
+       MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" 
MOZ_NOSPAM=1 \
+       ./mach build --verbose || die
+}
+
+src_install() {
+       declare 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.
+       cp "${FILESDIR}"/thunderbird-gentoo-default-prefs.js-2 \
+               "${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
+               || die
+
+       # set dictionary path, to use system hunspell
+       echo "pref(\"spellchecker.dictionary_path\", 
\"${EPREFIX}/usr/share/myspell\");" \
+               >>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
+
+       # force the graphite pref if system-harfbuzz is enabled, since the pref 
cant disable it
+       if use system-harfbuzz ; then
+               echo 
"sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
+                       
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
+       fi
+
+       # force cairo as the canvas renderer on platforms without skia support
+       if [[ $(tc-endian) == "big" ]] ; then
+               echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
+                       
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
+               echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
+                       
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
+       fi
+
+       # dev-db/sqlite does not have FTS3_TOKENIZER support.
+       # gloda needs it to function, and bad crashes happen when its enabled 
and doesn't work
+       if use system-sqlite ; then
+               echo "sticky_pref(\"mailnews.database.global.indexer.enabled\", 
false);" \
+                       
>>"${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" || die
+       fi
+
+       cd "${S}" || die
+       MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" 
MOZ_NOSPAM=1 \
+       DESTDIR="${D}" ./mach install || die
+
+       # Install language packs
+       MOZ_INSTALL_L10N_XPIFILE="1" mozlinguas_src_install
+
+       local size sizes icon_path icon
+       if ! use bindist; then
+               icon_path="${S}/comm/mail/branding/thunderbird"
+               icon="${PN}-icon"
+
+               domenu "${FILESDIR}"/icon/${PN}.desktop
+       else
+               icon_path="${S}/comm/mail/branding/nightly"
+               icon="${PN}-icon-unbranded"
+
+               newmenu "${FILESDIR}"/icon/${PN}-unbranded.desktop \
+                       ${PN}.desktop
+
+               sed -i -e "s:Mozilla\ Thunderbird:EarlyBird:g" \
+                       "${ED}"/usr/share/applications/${PN}.desktop
+       fi
+
+       # Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
+       newicon "${icon_path}"/default48.png "${icon}".png
+       # Install icons for menu entry
+       sizes="16 22 24 32 48 256"
+       for size in ${sizes}; do
+               newicon -s ${size} "${icon_path}/default${size}.png" 
"${icon}.png"
+       done
+
+       local emid
+       # stage extra locales for lightning and install over existing
+       rm -f "${ED}"/${MOZILLA_FIVE_HOME}/distribution/extensions/${emid}.xpi 
|| die
+       mozlinguas_xpistage_langpacks 
"${BUILD_OBJ_DIR}"/dist/bin/distribution/extensions/${emid} \
+               "${WORKDIR}"/lightning-${MOZ_LIGHTNING_VER} lightning calendar
+
+       emid='{e2fda1a4-762b-4020-b5ad-a41df1933103}'
+       mkdir -p "${T}/${emid}" || die
+       cp -RLp -t "${T}/${emid}" 
"${BUILD_OBJ_DIR}"/dist/bin/distribution/extensions/${emid}/* || die
+       insinto ${MOZILLA_FIVE_HOME}/distribution/extensions
+       doins -r "${T}/${emid}"
+
+       if use lightning; then
+               # move lightning out of distribution/extensions and into 
extensions for app-global install
+               mv 
"${ED}"/${MOZILLA_FIVE_HOME}/{distribution,}/extensions/${emid} || die
+
+               # stage extra locales for gdata-provider and install app-global
+               mozlinguas_xpistage_langpacks 
"${BUILD_OBJ_DIR}"/dist/xpi-stage/gdata-provider \
+                       "${WORKDIR}"/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}
+               emid='{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}'
+               mkdir -p "${T}/${emid}" || die
+               cp -RLp -t "${T}/${emid}" 
"${BUILD_OBJ_DIR}"/dist/xpi-stage/gdata-provider/* || die
+               insinto ${MOZILLA_FIVE_HOME}/extensions
+               doins -r "${T}/${emid}"
+       fi
+
+       # thunderbird and thunderbird-bin are identical
+       rm "${ED%/}"${MOZILLA_FIVE_HOME}/thunderbird-bin || die
+       dosym thunderbird ${MOZILLA_FIVE_HOME}/thunderbird-bin
+
+       # Required in order to use plugins and even run thunderbird on hardened.
+       pax-mark pm "${ED%/}"${MOZILLA_FIVE_HOME}/{thunderbird,plugin-container}
+}
+
+pkg_preinst() {
+       gnome2_icon_savelist
+}
+
+pkg_postinst() {
+       gnome2_icon_cache_update
+       xdg_desktop_database_update
+}
+
+pkg_postrm() {
+       gnome2_icon_cache_update
+       xdg_desktop_database_update
+}

Reply via email to