diff --git a/mail/Makefile b/mail/Makefile --- a/mail/Makefile +++ b/mail/Makefile @@ -505,6 +505,7 @@ SUBDIR += py-flufl.bounce SUBDIR += py-fuglu SUBDIR += py-imapclient + SUBDIR += py-imaplib2 SUBDIR += py-mail-parser SUBDIR += py-mailmanclient SUBDIR += py-mailnag diff --git a/mail/py-imaplib2/Makefile b/mail/py-imaplib2/Makefile new file mode 100644 --- /dev/null +++ b/mail/py-imaplib2/Makefile @@ -0,0 +1,25 @@ +PORTNAME= imaplib2 +PORTVERSION= 3.6 +CATEGORIES= mail python +MASTER_SITES= CHEESESHOP +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= dereks@lifeofadishwasher.com +COMMENT= Threaded Python IMAP4 client +WWW= https://github.com/jazzband/imaplib2/ + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENCE + +USES= pytest python:3.6-3.9 +USE_PYTHON= autoplist distutils + +NO_ARCH= yes + +# Copy tests until a new release +# https://github.com/jazzband/imaplib2/pull/38 +post-extract: + @${MKDIR} ${WRKSRC}/${PORTNAME}/tests + @${CP} ${FILESDIR}/test_imports.py ${WRKSRC}/${PORTNAME}/tests/ + +.include diff --git a/mail/py-imaplib2/distinfo b/mail/py-imaplib2/distinfo new file mode 100644 --- /dev/null +++ b/mail/py-imaplib2/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1645916681 +SHA256 (imaplib2-3.6.tar.gz) = 96cb485b31868a242cb98d5c5dc67b39b22a6359f30316de536060488e581e5b +SIZE (imaplib2-3.6.tar.gz) = 26252 diff --git a/mail/py-imaplib2/files/test_imports.py b/mail/py-imaplib2/files/test_imports.py new file mode 100644 --- /dev/null +++ b/mail/py-imaplib2/files/test_imports.py @@ -0,0 +1,8 @@ +def test_import_normally(): + from imaplib2 import IMAP4_SSL + assert IMAP4_SSL + + +def test_import_hack(): + from imaplib2.imaplib2 import IMAP4_SSL + assert IMAP4_SSL diff --git a/mail/py-imaplib2/pkg-descr b/mail/py-imaplib2/pkg-descr new file mode 100644 --- /dev/null +++ b/mail/py-imaplib2/pkg-descr @@ -0,0 +1,5 @@ +Based on RFC 3501 and original imaplib module. + +This is a version of imaplib that uses threads to allow full use of +the IMAP4 concurrency features, and to de-couple a user of imaplib +from i/o lags, except where explicitly allowed.