diff options
Diffstat (limited to 'mail-client')
-rw-r--r-- | mail-client/thunderbird/Manifest | 1 | ||||
-rw-r--r-- | mail-client/thunderbird/thunderbird-52.6.0-r1.ebuild | 342 |
2 files changed, 343 insertions, 0 deletions
diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest index 1284cf44c1d5..c0e264690655 100644 --- a/mail-client/thunderbird/Manifest +++ b/mail-client/thunderbird/Manifest @@ -5,6 +5,7 @@ DIST gdata-provider-3.3.tar.xz 85628 BLAKE2B 2ccde620b181a2d8678f50d7107373886f3 DIST lightning-4.7.8.tar.xz 1951252 BLAKE2B df8900cacfe660ad17454836893e7199b8590d47ef093699afd135e0a39201cb43dda8d581a36b5375a29c43bb55dd7cb9479dcaf02f52ee8f4a454fe3d426a0 SHA512 37decaf4010e48cf242e76c5d73caf96f7b1e34c67fd465fb8b33055a6986d5fa7b1557862526224ab4ac421df3441e974d297ec4a9454dd63a039683ec46fe6 DIST lightning-5.4.5.2.tar.xz 1896864 BLAKE2B 545db49edb693696440a48e1b4e0367580284815f918129fe148037312a9950887cfdbc4d41719f8cd8eb47ed193c8e29c10b49dfb919f8bc7d362e07b238ff6 SHA512 544961df074123548c7d71ae195835a17d861d74f838849666380ba6e2975179668d79c2e8053429eb9c52a6b315335e109c942ecf498f48f5729307334a174f DIST lightning-5.4.5.tar.xz 1898160 BLAKE2B ed8c2f54140444610fdcc91e375636d53d7ede9e70e114e072a55867278130e09bf54bb4e04cec789efa47ed8e92586b2217b53663e6057d6556df1a5a25f48f SHA512 621d21c20bd74271f83ce9eb89b1f65cb43ab6182793bb7b9b3ca04799644f6700d15a59c6b312459d0471f5f243c3b9f534d1adf4bc72c36c2bd04f2937e3d3 +DIST lightning-5.4.6.tar.xz 1862620 BLAKE2B a7d1d3dd1926844aba7c83378d672317e3ee01ea0d96d233471dcd64cd16af7f1d33c7b2d58ce7539f13874a93efb65edd3329b522eb69f088f734934c5a166f SHA512 10deb6990c260e9b64e08d4a562f6ca496299e5087037632ce082e063999e9af0b0f9fd45df592859b802c510b45818f123a091cde2105167985f99b63031abe DIST thunderbird-38.0-patches-0.1.tar.xz 684 BLAKE2B 5f55008421169da375e5cca5e3e4944c207e53b194b7d7b6bc0a589cbcb38695ffd4b06c1f9a8adec9c6affc41717f3a4f0e7da2d8aca647cf8164b6f4834a78 SHA512 52c83af301be959e861dfec55b3c4bc60035387c606976bd29232c4cba077230edcadef242491e699fba10027d0408dd4f33fa320bcf96727afe149166ca02de DIST thunderbird-45.8.0-ar.xpi 490775 BLAKE2B acd6914f3792b71a2245c8cdb14f143ff3c3b0f8f5176d2808fbaead0c0c57affbc82c26075d7e3c2c31658e29f038200252ca726a4b9ca0eb8fb8e934439301 SHA512 95adc2355a27d916f96c43bee0d4527990a1eba8cee9e4f85cd6da9202ea0ff4fb89fde127abce03962e185b272f5bbd1d8cfb032f6f32c7895bf3dde8d35a2c DIST thunderbird-45.8.0-ast.xpi 428059 BLAKE2B c5fae88f8f28689f663a29f260840a3926830085c2aef8f135e2b6b6b1b81f07673e30792a71edeb57be67cca642752f398de7f74cf338fe29d3ffa232a963cf SHA512 eccf877f29099445ef59c833929a50df7424aa475b1ceb432d6c10b28c71b4e25d840a4fedb1afb3106896da0afeb47a3af1b763553dc6ae40f7bda5b0d65040 diff --git a/mail-client/thunderbird/thunderbird-52.6.0-r1.ebuild b/mail-client/thunderbird/thunderbird-52.6.0-r1.ebuild new file mode 100644 index 000000000000..4d7fb31337cd --- /dev/null +++ b/mail-client/thunderbird/thunderbird-52.6.0-r1.ebuild @@ -0,0 +1,342 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +WANT_AUTOCONF="2.1" +MOZ_ESR="" +MOZ_LIGHTNING_VER="5.4.6" +MOZ_LIGHTNING_GDATA_VER="3.3" + +# This list can be updated using scripts/get_langs.sh from the mozilla overlay +MOZ_LANGS=(ar ast be bg bn-BD 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 pa-IN pl pt-BR pt-PT rm ro ru si sk sl sq sr sv-SE ta-LK 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 +PATCHFF="firefox-52.5-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}" + +MOZCONFIG_OPTIONAL_GTK2ONLY=1 +MOZCONFIG_OPTIONAL_WIFI=1 + +inherit flag-o-matic toolchain-funcs mozconfig-v6.52 autotools pax-utils check-reqs nsplugins mozlinguas-v2 xdg-utils gnome2-utils + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="http://www.mozilla.com/en-US/thunderbird/" + +KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux" +SLOT="0" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="bindist crypt hardened ldap lightning +minimal mozdom rust selinux" +RESTRICT="!bindist? ( bindist )" + +PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c}/mozilla/patchsets/${PATCHFF}.tar.xz ) +SRC_URI="${SRC_URI} + ${MOZ_HTTP_URI}/${MOZ_PV}/source/${MOZ_P}.source.tar.xz + https://dev.gentoo.org/~chutzpah/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.28.3 + >=dev-libs/nspr-4.13.1 + " + +DEPEND="rust? ( dev-lang/rust ) + amd64? ( ${ASM_DEPEND} + virtual/opengl ) + x86? ( ${ASM_DEPEND} + virtual/opengl )" + +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-thunderbird ) + crypt? ( >=x11-plugins/enigmail-1.9.8.3-r1 ) +" + +S="${WORKDIR}/${MOZ_P}" + +BUILD_OBJ_DIR="${S}/tbird" + +pkg_setup() { + moz_pkgsetup + + export MOZILLA_DIR="${S}/mozilla" + + 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 +} + +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 + + # this version of lightning is a .tar.xz, no xpi needed + #xpi_unpack lightning-${MOZ_LIGHTNING_VER}.xpi + + # this version of gdata-provider is a .tar.xz , no xpi needed + #use lightning && xpi_unpack gdata-provider-${MOZ_LIGHTNING_GDATA_VER}.xpi +} + +src_prepare() { + # Apply our Thunderbird patchset + epatch "${FILESDIR}"/1000_fix_gentoo_preferences.patch + + # Apply our patchset from firefox to thunderbird as well + rm -f "${WORKDIR}"/firefox/2007_fix_nvidia_latest.patch || die + pushd "${S}"/mozilla &>/dev/null || die + eapply "${WORKDIR}/firefox" + popd &>/dev/null || die + + # Ensure that are plugins dir is enabled as default + sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \ + "${S}"/mozilla/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}"/mozilla/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}"/mail/installer/Makefile.in || die + + # Don't error out when there's no files to be removed: + sed 's@\(xargs rm\)$@\1 -f@' \ + -i "${S}"/mozilla/toolkit/mozapps/installer/packager.mk || die + + # 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 + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Confirm the version of lightning being grabbed for langpacks is the same + # as that used in thunderbird + local THIS_MOZ_LIGHTNING_VER=$(python "${S}"/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 + + eautoreconf + # Ensure we run eautoreconf in mozilla to regenerate configure + cd "${S}"/mozilla || die + eautoconf + cd "${S}"/mozilla/js/src || die + eautoconf +} + +src_configure() { + MEXTENSIONS="default" + + #################################### + # + # mozconfig, CFLAGS and CXXFLAGS setup + # + #################################### + + mozconfig_init + mozconfig_config + + # It doesn't compile on alpha without this LDFLAGS + use alpha && append-ldflags "-Wl,--no-relax" + + # Add full relro support for hardened + use hardened && append-ldflags "-Wl,-z,relro,-z,now" + + mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}" + mozconfig_annotate '' --enable-calendar + + # Other tb-specific settings + mozconfig_annotate '' --with-user-appdir=.thunderbird + + mozconfig_use_enable ldap + mozconfig_use_enable rust + + mozlinguas_mozconfig + + # Bug #72667 + if use mozdom; then + MEXTENSIONS="${MEXTENSIONS},inspector" + 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}" \ + emake V=1 -f client.mk configure +} + +src_compile() { + MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" \ + emake V=1 -f client.mk +} + +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-1.js-1 \ + "${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \ + || die + + mozconfig_install_prefs \ + "${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" + + # 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 in_iuse system-sqlite && 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 + + MOZ_MAKE_FLAGS="${MAKEOPTS}" \ + emake DESTDIR="${D}" install + + # Install language packs + mozlinguas_src_install + + local size sizes icon_path icon + if ! use bindist; then + icon_path="${S}/other-licenses/branding/thunderbird" + icon="${PN}-icon" + + domenu "${FILESDIR}"/icon/${PN}.desktop + else + icon_path="${S}/mail/branding/aurora" + 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}"/mailicon48.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}/mailicon${size}.png" "${icon}.png" + done + + local emid + # stage extra locales for lightning and install over existing + mozlinguas_xpistage_langpacks "${BUILD_OBJ_DIR}"/dist/xpi-stage/lightning \ + "${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/xpi-stage/lightning/* || 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 + + # Required in order to use plugins and even run thunderbird on hardened. + pax-mark pm "${ED}"${MOZILLA_FIVE_HOME}/{thunderbird,thunderbird-bin,plugin-container} + + if use minimal; then + rm -r "${ED}"/usr/include "${ED}"${MOZILLA_FIVE_HOME}/{idl,include,lib,sdk} || \ + die "Failed to remove sdk and headers" + fi +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + xdg_desktop_database_update + gnome2_icon_cache_update + + if use crypt; then + elog + elog "USE=crypt will be dropped from thunderbird with version 52.6.0 as" + elog "x11-plugins/enigmail-1.9.8.3-r1 and above is now a fully standalone" + elog "package. For continued enigmail support in thunderbird please add" + elog "x11-plugins/enigmail to your @world set." + fi + + elog + elog "If you experience problems with plugins please issue the" + elog "following command : rm \${HOME}/.thunderbird/*/extensions.sqlite ," + elog "then restart thunderbird" + + if ! use lightning; then + elog + elog "If calendar fails to show up in extensions please open config editor" + elog "and set extensions.lastAppVersion to 38.0.0 to force a reload. If this" + elog "fails to show the calendar extension after restarting with above change" + elog "please file a bug report." + fi +} + +pkg_postrm() { + xdg_desktop_database_update + gnome2_icon_cache_update +} |