import enigmail-seamonkey-0.95.6

Enigmail is an extension to the mail client of Mozilla/Netscape and
Mozilla Thunderbird which allows users to access the authentication
and encryption features provided by GnuPG.

This port is similar to enigmail, but is built for seamonkey.
Importing new port, instead of adding quirks to existing port, was
a much simplier solution this time.

regxpcom is an awk script, that takes care of maintaining
installed-chromes.txt.
go ahead, and a tweak from bernd@.  kurt@ agrees.
This commit is contained in:
martynas 2008-07-22 19:42:11 +00:00
parent 50961b87c6
commit 28b98c677c
5 changed files with 146 additions and 0 deletions

View File

@ -0,0 +1,70 @@
# $OpenBSD: Makefile,v 1.1.1.1 2008/07/22 19:42:11 martynas Exp $
SHARED_ONLY= Yes
COMMENT= GnuPG extension for SeaMonkey
VER= 0.95.6
DISTNAME= enigmail-${VER}
PKGNAME= enigmail-seamonkey-${VER}
CATEGORIES= mail security
SHARED_LIBS= enigmime 10.0
HOMEPAGE= http://enigmail.mozdev.org/
# mozilla public license or GPL
PERMIT_PACKAGE_CDROM= Yes
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
MASTER_SITES= http://www.mozilla-enigmail.org/download/source/
SEAMONKEY_DIR= www/seamonkey
BUILD_DEPENDS= ::${SEAMONKEY_DIR}:configure \
::archivers/unzip
RUN_DEPENDS= ::security/gnupg
LIB_DEPENDS= seamonkey/xpcom,seamonkey/xpcom_compat,seamonkey/xpcom_core:seamonkey-1.1.11:${SEAMONKEY_DIR}
WANTLIB= c m nspr4 plc4 plds4
USE_X11= Yes
USE_GMAKE= Yes
NO_REGRESS= Yes
MOZBASE= ${WRKDIR}/${SEAMONKEY_DIR}/mozilla
MOZBIN= ${MOZBASE}/dist/bin
WRKDIST= ${WRKDIR}/enigmail
WRKSRC= ${MOZBASE}/mailnews/extensions/enigmail
GNU_ARCH= ${MACHINE_ARCH:S/amd64/x86_64/}
ENIGMAIL_XPI= ${DISTNAME}-${OPSYS:L}-${GNU_ARCH}.xpi
# unzip ${ENIGMAIL_XPI} and inspect install.rdf for GUID
GUID= {847b3a00-7ab1-11d4-8f02-006008948af5}
GLOBALDIR= ${PREFIX}/seamonkey
post-extract:
@mv ${WRKDIST} ${MOZBASE}/mailnews/extensions
do-build:
@cd ${MOZBASE} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} export
@cd ${MOZBASE}/modules/libreg && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM}
@cd ${MOZBASE}/xpcom/string && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM}
@cd ${MOZBASE}/xpcom && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM}
@cd ${MOZBASE}/xpcom/obsolete && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM}
@cd ${WRKSRC} && ./makemake -r
@cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM}
@cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} xpi
do-install:
${INSTALL_DATA_DIR} ${GLOBALDIR}
unzip -q ${MOZBIN}/${ENIGMAIL_XPI} -d ${GLOBALDIR}
mv ${GLOBALDIR}/platform/OpenBSD*/components/libenigmime.so.* \
${GLOBALDIR}/components/
rm ${GLOBALDIR}/{chrome.manifest,install.rdf}
${INSTALL_SCRIPT} ${FILESDIR}/regchrome ${GLOBALDIR}/chrome/
.include <bsd.port.mk>

View File

@ -0,0 +1,5 @@
MD5 (enigmail-0.95.6.tar.gz) = z75v93+Ao0mzloKXV62VKg==
RMD160 (enigmail-0.95.6.tar.gz) = GsTzlG8TcWM7TIlpL9nGKtsN5OM=
SHA1 (enigmail-0.95.6.tar.gz) = RyWcIrWqZ/9zVW6wsmlAnrBkvjc=
SHA256 (enigmail-0.95.6.tar.gz) = CNd/ZK6PJAUw4cRIQnclrFuqbnRl3/0f7I5SKYhi1fk=
SIZE (enigmail-0.95.6.tar.gz) = 1183899

View File

@ -0,0 +1,50 @@
#!/bin/sh
# $OpenBSD: regchrome,v 1.1.1.1 2008/07/22 19:42:11 martynas Exp $
# Generate installed-chrome.txt entries for Enigmail
if [ $# -ne 3 ]; then
echo "usage: $0 [install.js] [installed-chrome.txt] [install|uninstall]"
exit 1
fi
if [ "$3" = "uninstall" ]; then
TMPFILE1=`mktemp -t genchrome.XXXXXXXXXX`
if [ $? -ne 0 ]; then
print "$0: mktemp failed"
exit 1
fi
TMPFILE2=`mktemp -t genchrome.XXXXXXXXXX`
if [ $? -ne 0 ]; then
print "$0: mktemp failed"
exit 1
fi
cp "$2" "$TMPFILE1"
fi
grep registerChrome "$1" |
grep -v "tbird" |
awk -F'"' '{
pat = "install,url,jar:resource:/chrome"
split($6, tok, "/")
if (tok[1] == "content") {
printf("skin,%s/%s!/%s\n", pat, $4, $6)
printf("locale,%s/%s!/%s\n", pat, $4, $6)
}
printf("%s,%s/%s!/%s\n", tok[1], pat, $4, $6)
}' |
while read line; do
if [ "$3" = "install" ]; then
fgrep "$line" "$2" > /dev/null 2>&1
if [ $? -eq 1 ]; then
echo "$line" >> "$2"
fi
fi
if [ "$3" = "uninstall" ]; then
fgrep -v "$line" "$TMPFILE1" > "$TMPFILE2" 2>/dev/null
mv "$TMPFILE2" "$TMPFILE1"
fi
done
if [ "$3" = "uninstall" ]; then
mv "$TMPFILE1" "$2"
fi

View File

@ -0,0 +1,3 @@
Enigmail is an extension to the mail client of Mozilla/Netscape and
Mozilla Thunderbird which allows users to access the authentication
and encryption features provided by GnuPG.

View File

@ -0,0 +1,18 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2008/07/22 19:42:11 martynas Exp $
seamonkey/chrome/enigmail-locale.jar
seamonkey/chrome/enigmail-skin-tbird.jar
seamonkey/chrome/enigmail-skin.jar
seamonkey/chrome/enigmail.jar
@unexec %D/seamonkey/chrome/regchrome %D/seamonkey/install.js %D/seamonkey/chrome/installed-chrome.txt uninstall
seamonkey/chrome/regchrome
seamonkey/components/enigmail.js
seamonkey/components/enigmail.xpt
seamonkey/components/enigmime.xpt
seamonkey/components/enigprefs-service.js
seamonkey/components/ipc.xpt
@lib seamonkey/components/libenigmime.so.${LIBenigmime_VERSION}
seamonkey/defaults/pref/enigmail.js
seamonkey/defaults/preferences/
seamonkey/defaults/preferences/enigmail.js
seamonkey/install.js
@exec %D/seamonkey/chrome/regchrome %D/seamonkey/install.js %D/seamonkey/chrome/installed-chrome.txt install