From d5bfa6d89478456ad040a7aff0902d4b485ad7c3 Mon Sep 17 00:00:00 2001 From: Eygene Ryabinkin Date: Sat, 11 Feb 2012 08:07:16 +0400 Subject: [PATCH] OfflineIMAP: upgrade to 6.5.2.1 Signed-off-by: Eygene Ryabinkin --- mail/offlineimap/Makefile | 25 ++++--------- mail/offlineimap/distinfo | 4 +- mail/offlineimap/files/patch-fix-super-usage | 31 ++++++++++++++++ .../files/patch-imaplib2-python-bug3473 | 37 ++++++++++++++++++++ mail/offlineimap/pkg-descr | 18 +++++----- mail/offlineimap/pkg-plist | 3 -- 6 files changed, 86 insertions(+), 32 deletions(-) create mode 100644 mail/offlineimap/files/patch-fix-super-usage create mode 100644 mail/offlineimap/files/patch-imaplib2-python-bug3473 diff --git a/mail/offlineimap/Makefile b/mail/offlineimap/Makefile index fe04762..00004f6 100644 --- a/mail/offlineimap/Makefile +++ b/mail/offlineimap/Makefile @@ -6,12 +6,11 @@ # PORTNAME= offlineimap -DISTVERSION= 6.4.0 +DISTVERSION= 6.5.2.1 CATEGORIES= mail python -MASTER_SITES= http://download.github.com/ \ - http://dist.codelabs.ru/fbsd/offlineimap/ \ - LOCAL/rea/offlineimap -DISTNAME= ${GITHUB_USER}-${PORTNAME}-v${DISTVERSION}-${GITHUB_VER_SUFX} +MASTER_SITES= http://cloud.github.com/downloads/spaetz/offlineimap/ \ + http://dist.codelabs.ru/fbsd/offlineimap/ +DISTNAME= ${PORTNAME}-v${DISTVERSION} MAINTAINER= rea@FreeBSD.org COMMENT= Powerful IMAP/Maildir synchronization and reader support @@ -23,14 +22,11 @@ LICENSE_FILE_GPLv2=${WRKSRC}/COPYING OPTIONS= HTMLDOCS "Generate HTML documentation" Off -WRKSRC= ${WRKDIR}/${GITHUB_USER}-${PORTNAME}-${GITHUB_SRC_SUFX} +WRKSRC= ${WRKDIR}/${PORTNAME} SUB_FILES= pkg-message +PATCH_STRIP= -p1 -GITHUB_USER= nicolas33 -GITHUB_VER_SUFX= 0-gc1120c9 -GITHUB_SRC_SUFX= b1bff15 - -USE_PYTHON= yes +USE_PYTHON= 2.6+ USE_PYDISTUTILS= yes DOCS= Changelog.rst README.rst SubmittingPatches.rst \ @@ -53,13 +49,6 @@ SUB_LIST+= PORTEXAMPLES="@comment " SUB_LIST+= PORTEXAMPLES="" .endif -pre-fetch: - # get github download ticket - if [ ! -f ${DISTDIR}/${DISTFILES} ]; then \ - ${FETCH_BINARY} -s >/dev/null \ - http://github.com/${GITHUB_USER}/${PORTNAME}/tarball/v${DISTVERSION}; \ - fi - post-build: .if !defined(NOPORTDOCS) && defined(WITH_HTMLDOCS) .for r in ${DOCS:M*.rst} diff --git a/mail/offlineimap/distinfo b/mail/offlineimap/distinfo index c9691f7..7e81718 100644 --- a/mail/offlineimap/distinfo +++ b/mail/offlineimap/distinfo @@ -1,2 +1,2 @@ -SHA256 (nicolas33-offlineimap-v6.4.0-0-gc1120c9.tar.gz) = f0c8f5fe96fb94152ee8a611f9f78845101f787543a168d29bf678d8cfe6d74d -SIZE (nicolas33-offlineimap-v6.4.0-0-gc1120c9.tar.gz) = 146216 +SHA256 (offlineimap-v6.5.2.1.tar.gz) = 996aa89bcc27fbbbb40f021d7043b5606059587d79105a5c9dbc0096754c95ad +SIZE (offlineimap-v6.5.2.1.tar.gz) = 161136 diff --git a/mail/offlineimap/files/patch-fix-super-usage b/mail/offlineimap/files/patch-fix-super-usage new file mode 100644 index 0000000..ada8d2d --- /dev/null +++ b/mail/offlineimap/files/patch-fix-super-usage @@ -0,0 +1,31 @@ +From 45c1d4fc6ed09d6e1a5412c2ac902b236b4e212f Mon Sep 17 00:00:00 2001 +From: Eygene Ryabinkin +Date: Sun, 19 Feb 2012 20:55:06 +0400 +Subject: [PATCH] Fix Curses interface for Python 2.6 + +In 2.6 all logging classes are not the new-style ones, so they +have no mro() method and, thus, we can't use super() for them. +Since CursesLogHanler is singly-inherited method, there will +be no problems in usage of the explicit superclass name. + +Signed-off-by: Eygene Ryabinkin +--- + offlineimap/ui/Curses.py | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/offlineimap/ui/Curses.py b/offlineimap/ui/Curses.py +index af41d35..fa791bb 100644 +--- a/offlineimap/ui/Curses.py ++++ b/offlineimap/ui/Curses.py +@@ -282,7 +282,7 @@ class CursesLogHandler(logging.StreamHandler): + """self.ui has been set to the UI class before anything is invoked""" + + def emit(self, record): +- log_str = super(CursesLogHandler, self).format(record) ++ log_str = logging.StreamHandler.format(self, record) + color = self.ui.gettf().curses_color + # We must acquire both locks. Otherwise, deadlock can result. + # This can happen if one thread calls _msg (locking curses, then +-- +1.7.9 + diff --git a/mail/offlineimap/files/patch-imaplib2-python-bug3473 b/mail/offlineimap/files/patch-imaplib2-python-bug3473 new file mode 100644 index 0000000..154d309 --- /dev/null +++ b/mail/offlineimap/files/patch-imaplib2-python-bug3473 @@ -0,0 +1,37 @@ +From b28b53c1367352eb9f634d4f23d13142b9bbbd4d Mon Sep 17 00:00:00 2001 +From: Eygene Ryabinkin +Date: Sun, 19 Feb 2012 17:35:28 +0400 +Subject: [PATCH] Imaplib2: work around the Python bug 3473 + +It was not possible to pass anything, but (*args, **kwargs) +before the following bug was solved, + http://bugs.python.org/issue3473 +so we can't say (*args, key1 = value1, key2 = value2), but we +should pack keys and values to the dictionary and pass it +with **kwargs. + +Python <= 2.5 have this unfixed, so we should fix this in our code. + +Signed-off-by: Eygene Ryabinkin +--- + offlineimap/imaplib2.py | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +diff --git a/offlineimap/imaplib2.py b/offlineimap/imaplib2.py +index ffa2676..ed978be 100644 +--- a/offlineimap/imaplib2.py ++++ b/offlineimap/imaplib2.py +@@ -1591,7 +1591,9 @@ class IMAP4(object): + def _simple_command(self, name, *args, **kw): + + if 'callback' in kw: +- self._command(name, *args, callback=self._command_completer, cb_arg=kw, cb_self=True) ++ # http://bugs.python.org/issue3473 ++ kwargs = {'callback':self._command_completer, 'cb_arg':kw, 'cb_self':True} ++ self._command(name, *args, **kwargs) + return (None, None) + return self._command_complete(self._command(name, *args), kw) + +-- +1.7.9 + diff --git a/mail/offlineimap/pkg-descr b/mail/offlineimap/pkg-descr index 71ee858..71d5476 100644 --- a/mail/offlineimap/pkg-descr +++ b/mail/offlineimap/pkg-descr @@ -1,10 +1,10 @@ -OfflineIMAP is a tool to simplify your e-mail reading. With -OfflineIMAP, you can read the same mailbox from multiple computers. You -get a current copy of your messages on each computer, and changes you -make one place will be visible on all other systems. For instance, you -can delete a message on your home computer, and it will appear deleted -on your work computer as well. OfflineIMAP is also useful if you want -to use a mail reader that does not have IMAP support, has poor IMAP -support, or does not provide disconnected operation. +OfflineImap synchronizes emails between two repositories, +so that you can read the same mailbox from multiple computers. +It supports IMAP as REMOTE repository and Maildir/IMAP +as LOCAL repository. -WWW: http://offlineimap.org +OfflineIMAP is also useful if you want to use a mail reader +that does not have IMAP support, has poor IMAP support, +or does not provide disconnected operation. + +WWW: http://offlineimap.org/ diff --git a/mail/offlineimap/pkg-plist b/mail/offlineimap/pkg-plist index 7562ffb..978000d 100644 --- a/mail/offlineimap/pkg-plist +++ b/mail/offlineimap/pkg-plist @@ -47,9 +47,6 @@ bin/offlineimap %%PYTHON_SITELIBDIR%%/offlineimap/ui/__init__.py %%PYTHON_SITELIBDIR%%/offlineimap/ui/__init__.pyc %%PYTHON_SITELIBDIR%%/offlineimap/ui/__init__.pyo -%%PYTHON_SITELIBDIR%%/offlineimap/ui/Blinkenlights.py -%%PYTHON_SITELIBDIR%%/offlineimap/ui/Blinkenlights.pyc -%%PYTHON_SITELIBDIR%%/offlineimap/ui/Blinkenlights.pyo %%PYTHON_SITELIBDIR%%/offlineimap/ui/Curses.py %%PYTHON_SITELIBDIR%%/offlineimap/ui/Curses.pyc %%PYTHON_SITELIBDIR%%/offlineimap/ui/Curses.pyo -- 1.7.9