1 |
commit: d022b71b74ea02b3bd35dea5c32a6788b241bfa0 |
2 |
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Jul 24 14:00:39 2017 +0000 |
4 |
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Jul 24 14:00:39 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d022b71b |
7 |
|
8 |
www-client/seamonkey: Fixing support of external enigmail package. |
9 |
|
10 |
Package-Manager: Portage-2.3.6, Repoman-2.3.3 |
11 |
|
12 |
www-client/seamonkey/seamonkey-2.48-r1.ebuild | 34 +++++++++++++++++++++++---- |
13 |
1 file changed, 30 insertions(+), 4 deletions(-) |
14 |
|
15 |
diff --git a/www-client/seamonkey/seamonkey-2.48-r1.ebuild b/www-client/seamonkey/seamonkey-2.48-r1.ebuild |
16 |
index ba09e5498e9..e68716cfeda 100644 |
17 |
--- a/www-client/seamonkey/seamonkey-2.48-r1.ebuild |
18 |
+++ b/www-client/seamonkey/seamonkey-2.48-r1.ebuild |
19 |
@@ -94,6 +94,7 @@ RDEPEND=" |
20 |
) |
21 |
) |
22 |
=app-crypt/gnupg-1.4* ) |
23 |
+ x11-plugins/enigmail |
24 |
) |
25 |
jack? ( virtual/jack ) |
26 |
" |
27 |
@@ -108,10 +109,6 @@ DEPEND=" |
28 |
virtual/opengl ) |
29 |
" |
30 |
|
31 |
-PDEPEND=" |
32 |
- crypt? ( x11-plugins/enigmail ) |
33 |
-" |
34 |
- |
35 |
BUILD_OBJ_DIR="${S}/seamonk" |
36 |
|
37 |
# allow GMP_PLUGIN_LIST to be set in an eclass or |
38 |
@@ -350,6 +347,16 @@ src_install() { |
39 |
rm -rf "${ED}"/usr/include "${ED}${MOZILLA_FIVE_HOME}"/{idl,include,lib,sdk} |
40 |
fi |
41 |
|
42 |
+ if use crypt ; then |
43 |
+ emid=$(sed -n '/<em:id>/!d; s/.*\({.*}\).*/\1/; p; q' "${EROOT%/}"/usr/share/enigmail/install.rdf) |
44 |
+ if [[ -n ${emid} ]]; then |
45 |
+ dosym "${EPREFIX%/}"/usr/share/enigmail ${MOZILLA_FIVE_HOME}/extensions/${emid} |
46 |
+ else |
47 |
+ eerror "${EPREFIX%/}/usr/share/enigmail/install.rdf: No such file or directory" |
48 |
+ die "<EM:ID> tag for x11-plugins/enigmail could not be found!" |
49 |
+ fi |
50 |
+ fi |
51 |
+ |
52 |
if use chatzilla ; then |
53 |
local emid='{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}' |
54 |
|
55 |
@@ -383,6 +390,25 @@ pkg_preinst() { |
56 |
if [ -d ${MOZILLA_FIVE_HOME}/plugins ] ; then |
57 |
rm ${MOZILLA_FIVE_HOME}/plugins -rf |
58 |
fi |
59 |
+ |
60 |
+ # Because PM's dont seem to properly merge a symlink replacing a directory |
61 |
+ if use crypt ; then |
62 |
+ local emid=$(sed -n '/<em:id>/!d; s/.*\({.*}\).*/\1/; p; q' "${EROOT%/}"/usr/share/enigmail/install.rdf) |
63 |
+ local emidpath="${EROOT%/}"${MOZILLA_FIVE_HOME}/extensions/${emid} |
64 |
+ if [[ -z ${emid} ]]; then |
65 |
+ eerror "${EROOT%/}/usr/share/enigmail/install.rdf: No such file or directory" |
66 |
+ die "Could not find enigmail on disk during pkg_preinst()" |
67 |
+ fi |
68 |
+ if [[ ! -h "${emidpath}" ]] && [[ -d "${emidpath}" ]]; then |
69 |
+ rm -Rf "${emidpath}" || ( |
70 |
+ eerror "Could not remove enigmail directory from previous installation," |
71 |
+ eerror "You must remove this by hand and rename the symbolic link yourself:" |
72 |
+ eerror |
73 |
+ eerror "\t cd ${EPREFIX}${MOZILLA_FIVE_HOME}/extensions" |
74 |
+ eerror "\t rm -Rf ${emid}" |
75 |
+ eerror "\t mv ${emid}.backup* ${emid}" ) |
76 |
+ fi |
77 |
+ fi |
78 |
} |
79 |
|
80 |
pkg_postinst() { |