Hi,

since the update to enigmail 1.2, thunderbird and seamonkey are built
twice, once for themselves and once for the corresponding enigmail
extension. This is a bit awkward as it makes the build longer.. so
here's a basic diff which integrates enigmail into thunderbird port, so
that it's built/packaged as a subpackage of thunderbird.
@pkgpath/@conflict markers allow for seamless upgrades.

I'd like feedback on the diff itself, it seems to work fine after some
testing here. If the feedback is positive, of course i'll do the same for
seamonkey, and then garbage collect mail/enigmail.

Landry
? .git
? .gitignore
? enigmail.jar
? enigmail.jar2
? make-xpi
? make-xpi2
Index: Makefile
===================================================================
RCS file: /cvs/ports/mail/mozilla-thunderbird/Makefile,v
retrieving revision 1.130
diff -u -r1.130 Makefile
--- Makefile    24 Jul 2011 07:10:12 -0000      1.130
+++ Makefile    26 Jul 2011 11:36:17 -0000
@@ -2,6 +2,7 @@
 
 COMMENT-main =         Mozilla e-mail, rss and usenet client
 COMMENT-lightning =    Mozilla Thunderbird calendar extension
+COMMENT-enigmail =     Mozilla Thunderbird GnuPG extension
 BROKEN-sparc64 =       https://bugzilla.mozilla.org/show_bug.cgi?id=577056
 
 # Don't forget to bump mail/thunderbird-i18n after updates.
@@ -12,11 +13,18 @@
 MOZILLA_PROJECT =      thunderbird
 MOZILLA_CODENAME =     mail
 
-MULTI_PACKAGES =       -main -lightning
+MULTI_PACKAGES =       -main -lightning -enigmail
 PKGNAME-main =         ${PKGNAME}
 PKGNAME-lightning =    lightning-1.0beta4
+PKGNAME-enigmail =     enigmail-1.2
+REVISION-enigmail =    0
 EPOCH-lightning =      0
 
+MASTER_SITES0 =        http://www.mozilla-enigmail.org/download/source/
+DISTFILES +=   ${MOZILLA_PROJECT}-${MOZILLA_VERSION}.source.tar.bz2 \
+               enigmail-1.2.tar.gz:0
+EXTRACT_CASES =        enigmail-*.tar.gz) ${GZIP_CMD} -dc 
${FULLDISTDIR}/$$archive | tar -C comm-${MOZILLA_BRANCH}/mailnews/extensions/ 
-xf -;;
+
 # need to be in synch with SO_VERSION in mail/enigmail/thunderbird
 SO_VERSION =   18.0
 # NOTE: Must bump minor version if any shlib's are removed from the
@@ -24,7 +32,7 @@
 # bumped and/or SO_VERSION changes, remember to update enigmail's
 # SO_VERSION and LIB_DEPENDS to match.
 
-MOZILLA_LIBS = ldap60 ldif60 mozalloc prldap60 xpcom xul calbasecomps
+MOZILLA_LIBS = ldap60 ldif60 mozalloc prldap60 xpcom xul calbasecomps enigmime 
ipc
 
 #.if ${FLAVOR:L:Mdebug}
 #MOZILLA_LIBS +=       addrbook bayesflt fts3tok mailview mime mimeemitter 
msgbase \
@@ -65,6 +73,10 @@
                        c m stdc++ nspr4 plc4 plds4
 BUILD_DEPENDS +=       archivers/unzip #to unzip xpi
 
+RUN_DEPENDS-enigmail = security/gnupg
+LIB_DEPENDS-enigmail = ${LIB_DEPENDS-lightning}
+WANTLIB-enigmail =     ${WANTLIB-lightning}
+
 # build lightning xpi
 CONFIGURE_ARGS +=      --enable-calendar \
                        --enable-official-branding
@@ -74,10 +86,22 @@
 MOZILLA_AUTOCONF_DIRS =                ldap/sdks/c-sdk mozilla mozilla/js/src
 MOZILLA_SUBST_FILES +=         config/autoconf.mk.in
 
+ENIGMAIL_DIR = ${WRKSRC}/mailnews/extensions/enigmail
+
+post-build:
+       # build enigmail
+       cd ${ENIGMAIL_DIR} && ./makemake -r
+       cd ${ENIGMAIL_DIR} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM}
+       cd ${MOB}/chrome/enigmail && zip -r ../enigmail.jar .
+       cd ${ENIGMAIL_DIR} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} xpi
+
+GNU_ARCH =     ${MACHINE_ARCH:S/amd64/x86_64/}
 # guid for gdata-provider comes from em:id in install.rdf
 GUIDS =        gdata-provider {a62ef8ec-5fdc-40c2-873c-223b8a6925cc} \
        lightning {e2fda1a4-762b-4020-b5ad-a41df1933103} \
-       calendar-timezones calendar-timezo...@mozilla.org
+       calendar-timezones calendar-timezo...@mozilla.org \
+       ../bin/enigmail-1.2-openbsd-${GNU_ARCH} 
{847b3a00-7ab1-11d4-8f02-006008948af5}
+
 EXTDIR =       
${PREFIX}/lib/${_MOZ_PROJECT_SHORT}-${MOZILLA_VERSION}/extensions/
 post-install:
 .for xpi guid in ${GUIDS}
Index: distinfo
===================================================================
RCS file: /cvs/ports/mail/mozilla-thunderbird/distinfo,v
retrieving revision 1.45
diff -u -r1.45 distinfo
--- distinfo    24 Jul 2011 07:10:12 -0000      1.45
+++ distinfo    26 Jul 2011 11:36:17 -0000
@@ -1,5 +1,10 @@
+MD5 (mozilla/enigmail-1.2.tar.gz) = +LoVFkrcHA6DKFghRkYa7A==
 MD5 (mozilla/thunderbird-5.0.source.tar.bz2) = C7rOpUtLj8T/IOc7MnjBug==
+RMD160 (mozilla/enigmail-1.2.tar.gz) = hoxzqihWaJXUtsa5y/RgLXXfCnM=
 RMD160 (mozilla/thunderbird-5.0.source.tar.bz2) = aOgwcei6AKIPBW1kvpyGHcuOYOo=
+SHA1 (mozilla/enigmail-1.2.tar.gz) = BfuAqZVE+Vv6JTHmzVysjPHnh4A=
 SHA1 (mozilla/thunderbird-5.0.source.tar.bz2) = OSw+DvcLYsKaVD+IsrjVpRv+aac=
+SHA256 (mozilla/enigmail-1.2.tar.gz) = 
5eUWhdCetah70h+AtLZO64111kJLIc/q6nucFnI8nMQ=
 SHA256 (mozilla/thunderbird-5.0.source.tar.bz2) = 
uxhY3ETh6fkrRKHq+UVhkNVbSFz2VDUmaEgwCsK3xd4=
+SIZE (mozilla/enigmail-1.2.tar.gz) = 1326482
 SIZE (mozilla/thunderbird-5.0.source.tar.bz2) = 86637589
Index: patches/patch-mailnews_extensions_enigmail_genxpi
===================================================================
RCS file: patches/patch-mailnews_extensions_enigmail_genxpi
diff -N patches/patch-mailnews_extensions_enigmail_genxpi
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-mailnews_extensions_enigmail_genxpi   26 Jul 2011 11:36:17 
-0000
@@ -0,0 +1,32 @@
+$OpenBSD$
+Remove ABI=xxx marker and xpcomAbi from lib naming.
+--- mailnews/extensions/enigmail/genxpi.orig   Sun Jul 24 20:58:41 2011
++++ mailnews/extensions/enigmail/genxpi        Sun Jul 24 20:58:42 2011
+@@ -62,7 +62,7 @@ cd "$cwd"
+ if [ "$xpcomAbi" = "" ] ; then
+   xpcomAbi="unknown"
+ fi
+-platform=${osArch}_${xpcomAbi}
++platform=${osArch}
+ # Pepare install.rdf
+ sed 's/<!-- targetPlatform placeholder 
-->/<em:targetPlatform>'${platform}'<\/em:targetPlatform>/' < 
${srcDir}/package/install.rdf > ${targetDir}/install.rdf.t1
+ 
+@@ -74,14 +74,14 @@ if [ ${platform} = OS2_x86-gcc3 ]; then
+   enigDllFile=platform/${platform}/components/${enigmimeDll}
+   ipcDllFile=platform/${platform}/components/${ipcDll}
+ else
+-  
enigDllFile=platform/${platform}/components/${libPrefix}enigmime-${xpcomAbi}${dllSuffix}
+-  
ipcDllFile=platform/${platform}/components/${libPrefix}ipc-${xpcomAbi}${dllSuffix}
++  enigDllFile=platform/${platform}/components/${libPrefix}enigmime${dllSuffix}
++  ipcDllFile=platform/${platform}/components/${libPrefix}ipc${dllSuffix}
+ fi
+ 
+ # Prepare chrome.manifest
+ cat  ${srcDir}/package/chrome.manifest | \
+-sed  's/##ENIGMIMEDLL-PLACEHOLDER##/binary-component 
platform\/'${platform}'\/components\/'`basename ${enigDllFile}`' 
ABI='${platform}'/' | \
+-sed  's/##IPCDLL-PLACEHOLDER##/binary-component 
platform\/'${platform}'\/components\/'`basename ${ipcDllFile}`' 
ABI='${platform}'/' \
++sed  's/##ENIGMIMEDLL-PLACEHOLDER##/binary-component 
platform\/'${platform}'\/components\/'`basename ${enigDllFile}`'/' | \
++sed  's/##IPCDLL-PLACEHOLDER##/binary-component 
platform\/'${platform}'\/components\/'`basename ${ipcDllFile}`'/' \
+ > ${targetDir}/chrome.manifest
+ 
+ # Prepare languages other than en-US
Index: pkg/DESCR-enigmail
===================================================================
RCS file: pkg/DESCR-enigmail
diff -N pkg/DESCR-enigmail
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ pkg/DESCR-enigmail  26 Jul 2011 11:36:17 -0000
@@ -0,0 +1,2 @@
+Enigmail is an extension to Mozilla Thunderbird which allows users to
+access the authentication and encryption features provided by GnuPG.
Index: pkg/PLIST-enigmail
===================================================================
RCS file: pkg/PLIST-enigmail
diff -N pkg/PLIST-enigmail
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ pkg/PLIST-enigmail  26 Jul 2011 11:36:17 -0000
@@ -0,0 +1,32 @@
+@comment $OpenBSD$
+@conflict enigmail-<=1.2
+@pkgpath mail/enigmail/thunderbird
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/chrome/
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/chrome.manifest
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/chrome/enigmail.jar
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/components/
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/components/enigMsgCompFields.js
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/components/enigmail.js
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/components/enigmail.xpt
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/components/enigmime.xpt
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/components/enigprefs-service.js
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/components/ipc.xpt
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/defaults/
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/defaults/pref/
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/defaults/pref/enigmail.js
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/defaults/preferences/
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/defaults/preferences/enigmail.js
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/install.rdf
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/modules/
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/modules/commonFuncs.jsm
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/modules/enigmailCommon.jsm
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/modules/subprocess.jsm
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/platform/
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/platform/OpenBSD/
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/platform/OpenBSD/components/
+@lib 
lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/platform/OpenBSD/components/libenigmime.so.${LIBenigmime_VERSION}
+@lib 
lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/platform/OpenBSD/components/libipc.so.${LIBipc_VERSION}
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/wrappers/
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/wrappers/gpg-agent-wrapper.sh
+lib/${MOZILLA_PROJECT}-${MOZILLA_VERSION}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/wrappers/gpg-wrapper.sh

Reply via email to