commit:     597eb16e27b4e1349cbbaf5f65cc8bb4c655057e
Author:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 28 20:39:53 2017 +0000
Commit:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Wed Nov 29 17:44:26 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=597eb16e

x11-plugins/enigmail: install extension so that it will be dynamically loaded

Instead of installing files in a generic location that then requires
compile-time support from thunderbird or seamonkey to integrate, starting with
v1.9.8.3-r1 enigmail now installs in a path that relevant mozilla products will
load from on startup.  This means that USE=crypt on seamonkey and thunderbird
will be going away, as the installation of enigmail now only requires adding
this package to @world.

Package-Manager: Portage-2.3.13, Repoman-2.3.3

 x11-plugins/enigmail/Manifest                   |  6 +-
 x11-plugins/enigmail/enigmail-1.9.8.3-r1.ebuild | 74 +++++++++++++++++++++++++
 x11-plugins/enigmail/enigmail-9999.ebuild       | 19 ++++++-
 3 files changed, 94 insertions(+), 5 deletions(-)

diff --git a/x11-plugins/enigmail/Manifest b/x11-plugins/enigmail/Manifest
index fc386fa4b6e..bcb874c9e8d 100644
--- a/x11-plugins/enigmail/Manifest
+++ b/x11-plugins/enigmail/Manifest
@@ -1,4 +1,4 @@
-DIST enigmail-1.9.6.1.tar.gz 1745021 SHA256 
3874331e981aed864443d3c965d856e003fd84f73e5a89fd5004ced9dc29b96f SHA512 
e6ab69734a39a4953e0167e07b06f0d5c83fb42956515392319a1cd9d665ca274f6a12b4141e2dfa373ef074f0526f3d7330a48d29d600fc38f724d26518ff84
 WHIRLPOOL 
e89b0e5857564cc2f7ebf3ab46b110c6bbb1b16e7c0e045750119fd02e693b9bd9667c2932e7a65f9c8fb2c7c835ed048f6df2613d12b25d961894f47f67cf48
-DIST enigmail-1.9.8.1.tar.gz 1776673 SHA256 
4bcf2da00d96a67921b24dbec9f43930cba41112a2cd241b0952eb573c648a4d SHA512 
af280040e96eb69529e723e52e65621e42743c974b0ed42598e73458004f0a59688da7257d2b556e95a56c4cad3ac48f527d4d9a7a54c9c92eaff132257e0cfd
 WHIRLPOOL 
077c61b996c2ec45ecc3a037b61d167acda2ebdbde6536e2f2f2e180a064c9e540e09b48417454aa48f02af5f4c58c88f4ba456e6c5f113cfe474f2b82798ac0
-DIST enigmail-1.9.8.2.tar.gz 1776792 SHA256 
5add4f6ff771cb8652e64eabd6dbb6c12cc305cbc713d3df8d342eb11b49857f SHA512 
4db069752a8251f4989ab9736600b83f005a066f99b2830add088514d0afec69871c998c148535e5dc212d3635c35990a90161a47c18398805e1c51497263431
 WHIRLPOOL 
7ccd83eb26079cf67b36316b8e9c62e776be0af14aed14d49dcb12b6c794d2615bf34d1e634b4f243fb3a2370dfaa1a7cf7c5bfb30a1fe6dd356ce47c9b031af
+DIST enigmail-1.9.6.1.tar.gz 1745021 BLAKE2B 
0fdc1e2e3f16491759cb360593e2132524150b34bb30234d520802f30aef8869367ac9a6e9fe75722ac2aa9a60dbf4ffb71293a07f8d460ea3672e78a8cb6772
 SHA512 
e6ab69734a39a4953e0167e07b06f0d5c83fb42956515392319a1cd9d665ca274f6a12b4141e2dfa373ef074f0526f3d7330a48d29d600fc38f724d26518ff84
+DIST enigmail-1.9.8.1.tar.gz 1776673 BLAKE2B 
9a8251ced15ee4feeceafc3ee261f877886783428224dcb1616e411864f70f6fd822503ba82ebe9fe61462cb25baabda6c5cf65ff8738a53719b7e212eca8e78
 SHA512 
af280040e96eb69529e723e52e65621e42743c974b0ed42598e73458004f0a59688da7257d2b556e95a56c4cad3ac48f527d4d9a7a54c9c92eaff132257e0cfd
+DIST enigmail-1.9.8.2.tar.gz 1776792 BLAKE2B 
901bc4d735c461e1fad39bc7f2a613eac6c087af5053f7d15ee80fdef790c4a022cffd8972dbd2570d39e9f51ac29db287ed6c04745f36f07b93312401262cc5
 SHA512 
4db069752a8251f4989ab9736600b83f005a066f99b2830add088514d0afec69871c998c148535e5dc212d3635c35990a90161a47c18398805e1c51497263431
 DIST enigmail-1.9.8.3.tar.gz 1776756 SHA256 
53d6b29061058d81a76db51c73d3bfa92425530e92f92b940ba2eca6b3dbfc38 SHA512 
d8c08b1824352353c7596750b801604f7216bc5a138563b1fbd5fb890901e9c7c03cb2df099c9158d6bf3125fa17c900f65fb21bc40a8ced67a6812cdc0e02d9
 WHIRLPOOL 
97441938834ae60261adc4c621e9d3f567a645e4785818218b1112956a514ed11466f7caa46eb1dcad4e31fb4ac4ab685fe8be717f1087e3cc866ec2081a2145

diff --git a/x11-plugins/enigmail/enigmail-1.9.8.3-r1.ebuild 
b/x11-plugins/enigmail/enigmail-1.9.8.3-r1.ebuild
new file mode 100644
index 00000000000..e71660a3519
--- /dev/null
+++ b/x11-plugins/enigmail/enigmail-1.9.8.3-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-any-r1
+
+DESCRIPTION="Mozilla extension to provide GPG support in mail clients"
+HOMEPAGE="http://www.enigmail.net/";
+
+KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux 
~x86-linux"
+SLOT="0"
+LICENSE="MPL-2.0 GPL-3"
+IUSE=""
+SRC_URI="http://www.enigmail.net/download/source/${P}.tar.gz";
+
+RDEPEND="|| (
+               ( >=app-crypt/gnupg-2.0
+                       || (
+                               app-crypt/pinentry[gtk(-)]
+                               app-crypt/pinentry[qt4(-)]
+                               app-crypt/pinentry[qt5(-)]
+                       )
+               )
+               =app-crypt/gnupg-1.4*
+       )
+       !<mail-client/thunderbird-52.5.0
+       !<mail-client/thunderbird-2.49.5.0_p0
+       "
+DEPEND="${RDEPEND}
+       ${PYTHON_DEPS}
+       app-arch/zip
+       dev-lang/perl
+       "
+
+S="${WORKDIR}/${PN}"
+
+src_compile() {
+       emake ipc public ui package lang
+       emake xpi
+
+}
+
+src_install() {
+       local emid=$(sed -n '/<em:id>/!d; s/.*\({.*}\).*/\1/; p; q' 
build/dist/install.rdf)
+       [[ -n ${emid} ]] || die "Could not scrape EM:ID from install.rdf"
+
+       mv build/enigmail*.xpi build/"${emid}.xpi" || die 'Could not rename XPI 
to match EM:ID'
+
+       # thunderbird
+       insinto 
"/usr/share/mozilla/extensions/{3550f703-e582-4d05-9a08-453d09bdfdc6}"
+       doins build/"${emid}.xpi"
+
+       # seamonkey
+       insinto 
"/usr/share/mozilla/extensions/{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}"
+       doins build/"${emid}.xpi"
+}
+
+pkg_postinst() {
+       local peimpl=$(eselect --brief --colour=no pinentry show)
+       case "${peimpl}" in
+       *gtk*|*qt*) ;;
+       *)      ewarn "The pinentry front-end currently selected is not one 
supported by thunderbird."
+               ewarn "You may be prompted for your password in an inaccessible 
shell!!"
+               ewarn "Please use 'eselect pinentry' to select either the gtk 
or qt front-end"
+               ;;
+       esac
+       if [[ -n ${REPLACING_VERSIONS} ]]; then
+               elog ""
+               elog "Please restart thunderbird and/or seamonkey in order for 
them to use"
+               elog "the newly installed version of enigmail."
+       fi
+}

diff --git a/x11-plugins/enigmail/enigmail-9999.ebuild 
b/x11-plugins/enigmail/enigmail-9999.ebuild
index edffcc2deb9..ec95bc9fb44 100644
--- a/x11-plugins/enigmail/enigmail-9999.ebuild
+++ b/x11-plugins/enigmail/enigmail-9999.ebuild
@@ -44,8 +44,18 @@ src_compile() {
 }
 
 src_install() {
-       insinto /usr/share/${PN}
-       doins -r 
build/dist/{chrome,components,defaults,modules,wrappers,chrome.manifest,install.rdf}
+       local emid=$(sed -n '/<em:id>/!d; s/.*\({.*}\).*/\1/; p; q' 
build/dist/install.rdf)
+       [[ -n ${emid} ]] || die "Could not scrape EM:ID from install.rdf"
+
+       mv build/enigmail*.xpi build/"${emid}.xpi" || die 'Could not rename XPI 
to match EM:ID'
+
+       # thunderbird
+       insinto 
"/usr/share/mozilla/extensions/{3550f703-e582-4d05-9a08-453d09bdfdc6}"
+       doins build/"${emid}.xpi"
+
+       # seamonkey
+       insinto 
"/usr/share/mozilla/extensions/{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}"
+       doins build/"${emid}.xpi"
 }
 
 pkg_postinst() {
@@ -57,4 +67,9 @@ pkg_postinst() {
                ewarn "Please use 'eselect pinentry' to select either the gtk 
or qt front-end"
                ;;
        esac
+       if [[ -n ${REPLACING_VERSIONS} ]]; then
+               elog
+               elog "Please restart thunderbird and/or seamonkey in order for 
them to use"
+               elog "the newly installed version of enigmail."
+       fi
 }

Reply via email to