Page MenuHomeFreeBSD

D34388.id108935.diff
No OneTemporary

D34388.id108935.diff

Index: mail/Makefile
===================================================================
--- mail/Makefile
+++ mail/Makefile
@@ -511,6 +511,7 @@
SUBDIR += py-milter
SUBDIR += py-notmuch
SUBDIR += py-notmuch2
+ SUBDIR += py-offlineimap3
SUBDIR += py-postfix-mta-sts-resolver
SUBDIR += py-premailer
SUBDIR += py-pymailq
Index: mail/py-offlineimap3/Makefile
===================================================================
--- /dev/null
+++ mail/py-offlineimap3/Makefile
@@ -0,0 +1,87 @@
+PORTNAME= offlineimap3
+PORTVERSION= g20220325
+CATEGORIES= mail python
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= dereks@lifeofadishwasher.com
+COMMENT= Two-way synchronization of local Maildir and IMAP folders
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+# setup.py requires these during build time. Possible move to setup/install_requires:
+# https://github.com/OfflineIMAP/offlineimap3/issues/110
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}distro>=0:sysutils/py-distro@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}imaplib2>=3.5:mail/py-imaplib2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}rfc6555>=0:mail/py-rfc6555@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}sqlite3>=0:databases/py-sqlite3@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}certifi>=2020.6.20:security/py-certifi@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}distro>=0:sysutils/py-distro@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}imaplib2>=3.5:mail/py-imaplib2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}rfc6555>=0:mail/py-rfc6555@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}sqlite3>=0:databases/py-sqlite3@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}urllib3>=1.25.9:net/py-urllib3@${PY_FLAVOR}
+
+# Upstream doesn't have exact version currently only able to test up to 3.9 since
+# imaplib2 is 3.6-3.9.
+USES= pytest python:3.7-3.9
+
+# Project is currently not publishing to pypi sdist. pypi/naming status:
+# https://github.com/OfflineIMAP/offlineimap3/issues/111
+USE_GITHUB= yes
+GH_ACCOUNT= OfflineIMAP
+GH_TAGNAME= 253f97a3e947
+
+USE_PYTHON= autoplist concurrent distutils
+
+CONFLICTS_INSTALL= mail/py-offlineimap
+
+NO_ARCH= yes
+
+PORTDOCS= *
+PORTEXAMPLES= offlineimap.conf
+
+OPTIONS_DEFINE= DOCS EXAMPLES GSSAPI MANPAGES
+OPTIONS_DEFAULT= MANPAGES
+
+COMMON_BUILD_DEPENDS= a2x:textproc/asciidoc \
+ gmake:devel/gmake
+
+DOCS_BUILD_DEPENDS= ${COMMON_BUILD_DEPENDS} \
+ ${PYTHON_PKGNAMEPREFIX}sphinx>=0:textproc/py-sphinx@${PY_FLAVOR}
+
+GSSAPI_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gssapi>=1.6.9:security/py-gssapi@${PY_FLAVOR}
+
+MANPAGES_BUILD_DEPENDS= ${COMMON_BUILD_DEPENDS}
+MANPAGES_PLIST_FILES+= man/man1/offlineimap.1.gz \
+ man/man7/offlineimapui.7.gz
+
+# In concurrent env. sphinx-build is only exist for py38 add "-${PYTHON_VER}" to command
+post-patch:
+ cd ${WRKSRC} && \
+ ${REINPLACE_CMD} '/^SPHINXBUILD = sphinx-build$$/s/$$/-${PYTHON_VER}/' \
+ docs/Makefile
+
+post-build-DOCS-on:
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
+ cd ${WRKSRC}/docs && ${GMAKE} docs && \
+ cd html && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} \
+ '! ( -name .lock -or -name .buildinfo )'
+
+post-build-MANPAGES-on:
+ ${MKDIR} ${STAGEDIR}${MAN7PREFIX}/man/man7/
+ ${MKDIR} ${STAGEDIR}${MAN7PREFIX}/man/man1/
+ cd ${WRKSRC}/docs && ${GMAKE} man && \
+ ${INSTALL_MAN} offlineimapui.7 ${STAGEDIR}${MAN7PREFIX}/man/man7/ && \
+ ${INSTALL_MAN} offlineimap.1 ${STAGEDIR}${MAN1PREFIX}/man/man1/
+
+post-install-EXAMPLES-on:
+ ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ ${INSTALL_DATA} ${WRKSRC}/offlineimap.conf ${STAGEDIR}${EXAMPLESDIR}
+
+pre-test:
+ cd ${WRKSRC} && \
+ ${CP} test/credentials.conf.sample test/credentials.conf
+
+.include <bsd.port.mk>
Index: mail/py-offlineimap3/distinfo
===================================================================
--- /dev/null
+++ mail/py-offlineimap3/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1659827944
+SHA256 (OfflineIMAP-offlineimap3-g20220325-253f97a3e947_GH0.tar.gz) = c1bcc5e18df029bf377dafbef38aeb651455238b60279e45aad2c81d2b95da0f
+SIZE (OfflineIMAP-offlineimap3-g20220325-253f97a3e947_GH0.tar.gz) = 703329
Index: mail/py-offlineimap3/files/patch-offlineimap_imapserver.py
===================================================================
--- /dev/null
+++ mail/py-offlineimap3/files/patch-offlineimap_imapserver.py
@@ -0,0 +1,11 @@
+--- offlineimap/imapserver.py.orig 2022-02-27 05:55:01 UTC
++++ offlineimap/imapserver.py
+@@ -879,7 +879,7 @@ class IdleThread:
+ while not success:
+ imapobj = self.parent.acquireconnection()
+ try:
+- imapobj.select(self.folder)
++ imapobj.select(imaputil.foldername_to_imapname(self.folder))
+ except OfflineImapError as e:
+ if e.severity == OfflineImapError.ERROR.FOLDER_RETRY:
+ # Connection closed, release connection and retry.
Index: mail/py-offlineimap3/files/patch-test_tests_test__01__basic.py
===================================================================
--- /dev/null
+++ mail/py-offlineimap3/files/patch-test_tests_test__01__basic.py
@@ -0,0 +1,59 @@
+--- test/tests/test_01_basic.py.orig 2022-03-04 03:43:46 UTC
++++ test/tests/test_01_basic.py
+@@ -17,6 +17,8 @@ import unittest
+ import logging
+ from test.OLItest import OLITestLib
+
++import pytest
++
+ # Things need to be setup first, usually setup.py initializes everything.
+ # but if e.g. called from command line, we take care of default values here:
+ if not OLITestLib.cred_file:
+@@ -47,6 +49,7 @@ class TestBasicFunctions(unittest.TestCase):
+ def tearDown(self):
+ OLITestLib.delete_remote_testfolders()
+
++ @pytest.mark.skip(reason="skpping test needs remote auth")
+ def test_01_olistartup(self):
+ """Tests if OLI can be invoked without exceptions
+
+@@ -60,6 +63,7 @@ class TestBasicFunctions(unittest.TestCase):
+ "mails, but sync led to {0} folders and {1} mails"
+ .format(boxes, mails))
+
++ @pytest.mark.skip(reason="skpping test needs remote auth")
+ def test_02_createdir(self):
+ """Create local 'OLItest 1', sync"""
+ OLITestLib.delete_maildir('') # Delete all local maildir folders
+@@ -71,6 +75,7 @@ class TestBasicFunctions(unittest.TestCase):
+ "mails, but sync led to {0} folders and {1} mails"
+ .format(boxes, mails))
+
++ @pytest.mark.skip(reason="skpping test needs remote auth")
+ def test_03_createdir_quote(self):
+ """Create local 'OLItest "1"' maildir, sync
+
+@@ -87,6 +92,7 @@ class TestBasicFunctions(unittest.TestCase):
+ "mails, but sync led to {0} folders and {1} mails"
+ .format(boxes, mails))
+
++ @pytest.mark.skip(reason="skpping test needs remote auth")
+ def test_04_nametransmismatch(self):
+ """Create mismatching remote and local nametrans rules
+
+@@ -108,6 +114,7 @@ class TestBasicFunctions(unittest.TestCase):
+ # Write out default config file again
+ OLITestLib.write_config_file()
+
++ @pytest.mark.skip(reason="skpping test needs remote auth")
+ def test_05_createmail(self):
+ """Create mail in OLItest 1, sync, wipe folder sync
+
+@@ -133,6 +140,7 @@ class TestBasicFunctions(unittest.TestCase):
+ "assigned the IMAP's UID number, but {0} messages had no valid ID "
+ .format(len([None for x in uids if x is None])))
+
++ @pytest.mark.skip(reason="skpping test needs remote auth")
+ def test_06_createfolders(self):
+ """Test if createfolders works as expected
+
Index: mail/py-offlineimap3/pkg-descr
===================================================================
--- /dev/null
+++ mail/py-offlineimap3/pkg-descr
@@ -0,0 +1,4 @@
+OfflineIMAP is software that downloads your email mailbox(es) as
+local Maildirs. OfflineIMAP will synchronize both sides via IMAP.
+
+WWW: https://github.com/OfflineIMAP/offlineimap3

File Metadata

Mime Type
text/plain
Expires
Sun, Oct 12, 3:13 AM (15 h, 35 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
23605645
Default Alt Text
D34388.id108935.diff (7 KB)

Event Timeline