freebsd-ports/mail/offlineimap/Makefile

96 lines
2.4 KiB
Makefile
Raw Normal View History

2013-06-04 12:32:49 +02:00
# Created by: nbm
# $FreeBSD$
PORTNAME= offlineimap
Upgrade OfflineIMAP to 6.5.5 Changes since 6.5.4: * Avoid lockups for IMAP synchronizations running with the "-1" command-line switch (X-Ryl669 <boite.pour.spam@gmail.com>) * Dump stacktrace for all threads on SIGQUIT: ease debugging of threading and other issues * SIGHUP is now handled as the termination notification rather than the signal to reread the configuration (Dmitrijs Ledkovs) * Honor the timezone of emails (Tobias Thierer) * Allow mbnames output to be sorted by a custom sort key by specifying a 'sort_keyfunc' function in the [mbnames] section of the config. * Support SASL PLAIN authentication method. (Andreas Mack) * Support transport-only tunnels that requre full IMAP authentication. (Steve Purcell) * Make the list of authentication mechanisms to be configurable. (Andreas Mack) * Allow to set message access and modification timestamps based on the "Date" header of the message itself. (Cyril Russo) * "peritem" format string for [mbnames] got new expansion key "localfolders" that corresponds to the same parameter of the local repository for the account being processed. * [regression] pass folder names to the foldersort function, revert the documented behaviour * Fix handling of zero-sized IMAP data items (GitHub#15). * Updated bundled imaplib2 to 2.35: - fix for Gmail sending a BYE response after reading >100 messages in a session; - includes fix for GitHub#15: patch was accepted upstream. * Updated bundled imaplib2 to 2.36: it includes support for SSL version override that was integrated into our code before, no other changes. * Fixed parsing of quoted strings in IMAP responses: strings like "\\" were treated as having \" as the escaped quote, rather than treating it as the quoted escaped backslash (GitHub#53). * Execute pre/post-sync hooks during synchronizations toggled by IMAP IDLE message processing. (maxgerer@gmail.com) * Catch unsuccessful local mail uploads when IMAP server responds with "NO" status; that resulted in a loss of such local messages. (Adam Spiers) * Don't create folders if readonly is enabled. * Learn to deal with readonly folders to properly detect this condition and act accordingly. One example is Gmail's "Chats" folder that is read-only, but contains logs of the quick chats. (E. Ryabinkin) * Fix str.format() calls for Python 2.6 (D. Logie) * Remove APPENDUID hack, previously introduced to fix Gmail, no longer necessary, it might have been breaking things. (J. Wiegley) * Improve regex that could lead to 'NoneType' object has no attribute 'group' (D. Franke) * Improved error throwing on repository misconfiguration Port changes: * adopted to USE_GITHUB; * fixed spacing and capitalization in pkg-descr. QA page: http://codelabs.ru/fbsd/ports/qa/mail/offlineimap/6.5.5
2013-10-05 20:36:06 +02:00
DISTVERSION= 6.5.5
CATEGORIES= mail python
Upgrade OfflineIMAP to 6.5.5 Changes since 6.5.4: * Avoid lockups for IMAP synchronizations running with the "-1" command-line switch (X-Ryl669 <boite.pour.spam@gmail.com>) * Dump stacktrace for all threads on SIGQUIT: ease debugging of threading and other issues * SIGHUP is now handled as the termination notification rather than the signal to reread the configuration (Dmitrijs Ledkovs) * Honor the timezone of emails (Tobias Thierer) * Allow mbnames output to be sorted by a custom sort key by specifying a 'sort_keyfunc' function in the [mbnames] section of the config. * Support SASL PLAIN authentication method. (Andreas Mack) * Support transport-only tunnels that requre full IMAP authentication. (Steve Purcell) * Make the list of authentication mechanisms to be configurable. (Andreas Mack) * Allow to set message access and modification timestamps based on the "Date" header of the message itself. (Cyril Russo) * "peritem" format string for [mbnames] got new expansion key "localfolders" that corresponds to the same parameter of the local repository for the account being processed. * [regression] pass folder names to the foldersort function, revert the documented behaviour * Fix handling of zero-sized IMAP data items (GitHub#15). * Updated bundled imaplib2 to 2.35: - fix for Gmail sending a BYE response after reading >100 messages in a session; - includes fix for GitHub#15: patch was accepted upstream. * Updated bundled imaplib2 to 2.36: it includes support for SSL version override that was integrated into our code before, no other changes. * Fixed parsing of quoted strings in IMAP responses: strings like "\\" were treated as having \" as the escaped quote, rather than treating it as the quoted escaped backslash (GitHub#53). * Execute pre/post-sync hooks during synchronizations toggled by IMAP IDLE message processing. (maxgerer@gmail.com) * Catch unsuccessful local mail uploads when IMAP server responds with "NO" status; that resulted in a loss of such local messages. (Adam Spiers) * Don't create folders if readonly is enabled. * Learn to deal with readonly folders to properly detect this condition and act accordingly. One example is Gmail's "Chats" folder that is read-only, but contains logs of the quick chats. (E. Ryabinkin) * Fix str.format() calls for Python 2.6 (D. Logie) * Remove APPENDUID hack, previously introduced to fix Gmail, no longer necessary, it might have been breaking things. (J. Wiegley) * Improve regex that could lead to 'NoneType' object has no attribute 'group' (D. Franke) * Improved error throwing on repository misconfiguration Port changes: * adopted to USE_GITHUB; * fixed spacing and capitalization in pkg-descr. QA page: http://codelabs.ru/fbsd/ports/qa/mail/offlineimap/6.5.5
2013-10-05 20:36:06 +02:00
MASTER_SITES= http://dist.codelabs.ru/fbsd/offlineimap/
PATCH_SITES= http://codelabs.ru/patches/offlineimap/
MAINTAINER= rea@FreeBSD.org
2003-02-21 13:51:06 +01:00
COMMENT= Powerful IMAP/Maildir synchronization and reader support
LICENSE= GPLv2 GPLv3
LICENSE_COMB= dual
LICENSE_FILE_GPLv2=${WRKSRC}/COPYING
2013-06-04 12:32:49 +02:00
OPTIONS_DEFINE= HTMLDOCS EXAMPLES
HTMLDOCS_DESC= Generate HTML documentation
Upgrade OfflineIMAP to 6.5.5 Changes since 6.5.4: * Avoid lockups for IMAP synchronizations running with the "-1" command-line switch (X-Ryl669 <boite.pour.spam@gmail.com>) * Dump stacktrace for all threads on SIGQUIT: ease debugging of threading and other issues * SIGHUP is now handled as the termination notification rather than the signal to reread the configuration (Dmitrijs Ledkovs) * Honor the timezone of emails (Tobias Thierer) * Allow mbnames output to be sorted by a custom sort key by specifying a 'sort_keyfunc' function in the [mbnames] section of the config. * Support SASL PLAIN authentication method. (Andreas Mack) * Support transport-only tunnels that requre full IMAP authentication. (Steve Purcell) * Make the list of authentication mechanisms to be configurable. (Andreas Mack) * Allow to set message access and modification timestamps based on the "Date" header of the message itself. (Cyril Russo) * "peritem" format string for [mbnames] got new expansion key "localfolders" that corresponds to the same parameter of the local repository for the account being processed. * [regression] pass folder names to the foldersort function, revert the documented behaviour * Fix handling of zero-sized IMAP data items (GitHub#15). * Updated bundled imaplib2 to 2.35: - fix for Gmail sending a BYE response after reading >100 messages in a session; - includes fix for GitHub#15: patch was accepted upstream. * Updated bundled imaplib2 to 2.36: it includes support for SSL version override that was integrated into our code before, no other changes. * Fixed parsing of quoted strings in IMAP responses: strings like "\\" were treated as having \" as the escaped quote, rather than treating it as the quoted escaped backslash (GitHub#53). * Execute pre/post-sync hooks during synchronizations toggled by IMAP IDLE message processing. (maxgerer@gmail.com) * Catch unsuccessful local mail uploads when IMAP server responds with "NO" status; that resulted in a loss of such local messages. (Adam Spiers) * Don't create folders if readonly is enabled. * Learn to deal with readonly folders to properly detect this condition and act accordingly. One example is Gmail's "Chats" folder that is read-only, but contains logs of the quick chats. (E. Ryabinkin) * Fix str.format() calls for Python 2.6 (D. Logie) * Remove APPENDUID hack, previously introduced to fix Gmail, no longer necessary, it might have been breaking things. (J. Wiegley) * Improve regex that could lead to 'NoneType' object has no attribute 'group' (D. Franke) * Improved error throwing on repository misconfiguration Port changes: * adopted to USE_GITHUB; * fixed spacing and capitalization in pkg-descr. QA page: http://codelabs.ru/fbsd/ports/qa/mail/offlineimap/6.5.5
2013-10-05 20:36:06 +02:00
WRKSRC?= ${WRKDIR}/${DISTNAME}
SUB_FILES= pkg-message
PATCH_STRIP= -p1
Upgrade OfflineIMAP to 6.5.5 Changes since 6.5.4: * Avoid lockups for IMAP synchronizations running with the "-1" command-line switch (X-Ryl669 <boite.pour.spam@gmail.com>) * Dump stacktrace for all threads on SIGQUIT: ease debugging of threading and other issues * SIGHUP is now handled as the termination notification rather than the signal to reread the configuration (Dmitrijs Ledkovs) * Honor the timezone of emails (Tobias Thierer) * Allow mbnames output to be sorted by a custom sort key by specifying a 'sort_keyfunc' function in the [mbnames] section of the config. * Support SASL PLAIN authentication method. (Andreas Mack) * Support transport-only tunnels that requre full IMAP authentication. (Steve Purcell) * Make the list of authentication mechanisms to be configurable. (Andreas Mack) * Allow to set message access and modification timestamps based on the "Date" header of the message itself. (Cyril Russo) * "peritem" format string for [mbnames] got new expansion key "localfolders" that corresponds to the same parameter of the local repository for the account being processed. * [regression] pass folder names to the foldersort function, revert the documented behaviour * Fix handling of zero-sized IMAP data items (GitHub#15). * Updated bundled imaplib2 to 2.35: - fix for Gmail sending a BYE response after reading >100 messages in a session; - includes fix for GitHub#15: patch was accepted upstream. * Updated bundled imaplib2 to 2.36: it includes support for SSL version override that was integrated into our code before, no other changes. * Fixed parsing of quoted strings in IMAP responses: strings like "\\" were treated as having \" as the escaped quote, rather than treating it as the quoted escaped backslash (GitHub#53). * Execute pre/post-sync hooks during synchronizations toggled by IMAP IDLE message processing. (maxgerer@gmail.com) * Catch unsuccessful local mail uploads when IMAP server responds with "NO" status; that resulted in a loss of such local messages. (Adam Spiers) * Don't create folders if readonly is enabled. * Learn to deal with readonly folders to properly detect this condition and act accordingly. One example is Gmail's "Chats" folder that is read-only, but contains logs of the quick chats. (E. Ryabinkin) * Fix str.format() calls for Python 2.6 (D. Logie) * Remove APPENDUID hack, previously introduced to fix Gmail, no longer necessary, it might have been breaking things. (J. Wiegley) * Improve regex that could lead to 'NoneType' object has no attribute 'group' (D. Franke) * Improved error throwing on repository misconfiguration Port changes: * adopted to USE_GITHUB; * fixed spacing and capitalization in pkg-descr. QA page: http://codelabs.ru/fbsd/ports/qa/mail/offlineimap/6.5.5
2013-10-05 20:36:06 +02:00
USE_GITHUB= yes
GH_ACCOUNT= OfflineIMAP
GH_TAGNAME= v${DISTVERSION}
GH_COMMIT= 8bc2f35
mail/offlineimap: upgrade to 6.5.4 Changes since 6.5.3.1: - Bump bundled imaplib2 library 2.29 --> 2.33 - Actually perform the SSL fingerprint check (reported by J. Cook) - Curses UI, don't use colors after we shut down curses already (C.H"oger) - Document that '%' needs encoding as '%%' in *.conf - Fix crash when IMAP.quickchanged() led to an Error (reported by sharat87) - Implement the createfolders setting to disable folder propagation (see docs) Changes since 6.5.3: - Don't fail if no dry-run setting exists in offlineimap.conf (introduced in 6.5.3) Changes since 6.5.2.1: - --dry-run mode protects us from performing any actual action. It will not precisely give the exact information what will happen. If e.g. it would need to create a folder, it merely outputs "Would create folder X", but not how many and which mails it would transfer. - Internal code changes to prepare for Python3 - Improve user documentation of nametrans/folderfilter - Fixed some cases where invalid nametrans rules were not caught and we would not propagate local folders to the remote repository. (now tested in test03) - Revert "* Slight performance enhancement uploading mails to an IMAP server in the common case." It might have led to instabilities. - Revamped documentation structure. make in the docs dir or make doc in the root dir will now create the 1) man page and 2) the user documentation using sphinx (requiring python-doctools, and sphinx). The resulting user docs are in docs/html. You can also only create the man pages with make man in the docs dir. - -f command line option only works on the untranslated remote repository folder names now. Previously folderfilters had to match both the local AND remote name which caused unwanted behavior in combination with nametrans rules. Clarify in the help text. - Some better output when using nonsensical configuration settings
2012-06-19 10:41:42 +02:00
USE_PYTHON= 2.6+
USE_PYDISTUTILS= yes
mail/offlineimap: upgrade to 6.5.4 Changes since 6.5.3.1: - Bump bundled imaplib2 library 2.29 --> 2.33 - Actually perform the SSL fingerprint check (reported by J. Cook) - Curses UI, don't use colors after we shut down curses already (C.H"oger) - Document that '%' needs encoding as '%%' in *.conf - Fix crash when IMAP.quickchanged() led to an Error (reported by sharat87) - Implement the createfolders setting to disable folder propagation (see docs) Changes since 6.5.3: - Don't fail if no dry-run setting exists in offlineimap.conf (introduced in 6.5.3) Changes since 6.5.2.1: - --dry-run mode protects us from performing any actual action. It will not precisely give the exact information what will happen. If e.g. it would need to create a folder, it merely outputs "Would create folder X", but not how many and which mails it would transfer. - Internal code changes to prepare for Python3 - Improve user documentation of nametrans/folderfilter - Fixed some cases where invalid nametrans rules were not caught and we would not propagate local folders to the remote repository. (now tested in test03) - Revert "* Slight performance enhancement uploading mails to an IMAP server in the common case." It might have led to instabilities. - Revamped documentation structure. make in the docs dir or make doc in the root dir will now create the 1) man page and 2) the user documentation using sphinx (requiring python-doctools, and sphinx). The resulting user docs are in docs/html. You can also only create the man pages with make man in the docs dir. - -f command line option only works on the untranslated remote repository folder names now. Previously folderfilters had to match both the local AND remote name which caused unwanted behavior in combination with nametrans rules. Clarify in the help text. - Some better output when using nonsensical configuration settings
2012-06-19 10:41:42 +02:00
DOC_FILES= Changelog.maint.rst Changelog.rst \
docs/INSTALL.rst docs/MANUAL.rst \
docs/doc-src/API.rst docs/doc-src/FAQ.rst \
docs/doc-src/HACKING.rst docs/doc-src/INSTALL.rst \
docs/doc-src/MANUAL.rst docs/doc-src/advanced_config.rst \
docs/doc-src/features.rst docs/doc-src/index.rst \
docs/doc-src/nametrans.rst docs/doc-src/offlineimap.rst \
docs/doc-src/repository.rst docs/doc-src/ui.rst
PORTDOCS= docs ${DOC_FILES:N*/*}
EXAMPLE_FILES= offlineimap.conf offlineimap.conf.minimal
PORTEXAMPLES= ${EXAMPLE_FILES:N*/*}
DOC_DIRS= ${DOC_FILES:H:O:u:N.}
EXAMPLE_DIRS= ${EXAMPLE_FILES:H:O:u:N.}
NO_STAGE= yes
.include <bsd.port.options.mk>
2013-06-04 12:32:49 +02:00
.if ${PORT_OPTIONS:MDOCS} && ${PORT_OPTIONS:MHTMLDOCS}
BUILD_DEPENDS+= rst2html:${PORTSDIR}/textproc/py-docutils
mail/offlineimap: upgrade to 6.5.4 Changes since 6.5.3.1: - Bump bundled imaplib2 library 2.29 --> 2.33 - Actually perform the SSL fingerprint check (reported by J. Cook) - Curses UI, don't use colors after we shut down curses already (C.H"oger) - Document that '%' needs encoding as '%%' in *.conf - Fix crash when IMAP.quickchanged() led to an Error (reported by sharat87) - Implement the createfolders setting to disable folder propagation (see docs) Changes since 6.5.3: - Don't fail if no dry-run setting exists in offlineimap.conf (introduced in 6.5.3) Changes since 6.5.2.1: - --dry-run mode protects us from performing any actual action. It will not precisely give the exact information what will happen. If e.g. it would need to create a folder, it merely outputs "Would create folder X", but not how many and which mails it would transfer. - Internal code changes to prepare for Python3 - Improve user documentation of nametrans/folderfilter - Fixed some cases where invalid nametrans rules were not caught and we would not propagate local folders to the remote repository. (now tested in test03) - Revert "* Slight performance enhancement uploading mails to an IMAP server in the common case." It might have led to instabilities. - Revamped documentation structure. make in the docs dir or make doc in the root dir will now create the 1) man page and 2) the user documentation using sphinx (requiring python-doctools, and sphinx). The resulting user docs are in docs/html. You can also only create the man pages with make man in the docs dir. - -f command line option only works on the untranslated remote repository folder names now. Previously folderfilters had to match both the local AND remote name which caused unwanted behavior in combination with nametrans rules. Clarify in the help text. - Some better output when using nonsensical configuration settings
2012-06-19 10:41:42 +02:00
DOC_FILES:= ${DOC_FILES} ${DOC_FILES:M*.rst:S/.rst$/.html/}
.endif
# This is needed for pkg-message.in
2013-06-04 12:32:49 +02:00
.if ${PORT_OPTIONS:MEXAMPLES}
SUB_LIST+= PORTEXAMPLES=""
2013-06-04 12:32:49 +02:00
.else
SUB_LIST+= PORTEXAMPLES="@comment "
.endif
post-build:
2013-06-04 12:32:49 +02:00
.if ${PORT_OPTIONS:MDOCS} && ${PORT_OPTIONS:MHTMLDOCS}
mail/offlineimap: upgrade to 6.5.4 Changes since 6.5.3.1: - Bump bundled imaplib2 library 2.29 --> 2.33 - Actually perform the SSL fingerprint check (reported by J. Cook) - Curses UI, don't use colors after we shut down curses already (C.H"oger) - Document that '%' needs encoding as '%%' in *.conf - Fix crash when IMAP.quickchanged() led to an Error (reported by sharat87) - Implement the createfolders setting to disable folder propagation (see docs) Changes since 6.5.3: - Don't fail if no dry-run setting exists in offlineimap.conf (introduced in 6.5.3) Changes since 6.5.2.1: - --dry-run mode protects us from performing any actual action. It will not precisely give the exact information what will happen. If e.g. it would need to create a folder, it merely outputs "Would create folder X", but not how many and which mails it would transfer. - Internal code changes to prepare for Python3 - Improve user documentation of nametrans/folderfilter - Fixed some cases where invalid nametrans rules were not caught and we would not propagate local folders to the remote repository. (now tested in test03) - Revert "* Slight performance enhancement uploading mails to an IMAP server in the common case." It might have led to instabilities. - Revamped documentation structure. make in the docs dir or make doc in the root dir will now create the 1) man page and 2) the user documentation using sphinx (requiring python-doctools, and sphinx). The resulting user docs are in docs/html. You can also only create the man pages with make man in the docs dir. - -f command line option only works on the untranslated remote repository folder names now. Previously folderfilters had to match both the local AND remote name which caused unwanted behavior in combination with nametrans rules. Clarify in the help text. - Some better output when using nonsensical configuration settings
2012-06-19 10:41:42 +02:00
.for r in ${DOC_FILES:M*.rst}
@${ECHO} "Translating ${r} to HTML..."
@rst2html ${WRKSRC}/${r} ${WRKSRC}/${r:R}.html
.endfor
.endif
post-install:
2013-06-04 12:32:49 +02:00
.if ${PORT_OPTIONS:MDOCS}
@${MKDIR} ${DOCSDIR}
mail/offlineimap: upgrade to 6.5.4 Changes since 6.5.3.1: - Bump bundled imaplib2 library 2.29 --> 2.33 - Actually perform the SSL fingerprint check (reported by J. Cook) - Curses UI, don't use colors after we shut down curses already (C.H"oger) - Document that '%' needs encoding as '%%' in *.conf - Fix crash when IMAP.quickchanged() led to an Error (reported by sharat87) - Implement the createfolders setting to disable folder propagation (see docs) Changes since 6.5.3: - Don't fail if no dry-run setting exists in offlineimap.conf (introduced in 6.5.3) Changes since 6.5.2.1: - --dry-run mode protects us from performing any actual action. It will not precisely give the exact information what will happen. If e.g. it would need to create a folder, it merely outputs "Would create folder X", but not how many and which mails it would transfer. - Internal code changes to prepare for Python3 - Improve user documentation of nametrans/folderfilter - Fixed some cases where invalid nametrans rules were not caught and we would not propagate local folders to the remote repository. (now tested in test03) - Revert "* Slight performance enhancement uploading mails to an IMAP server in the common case." It might have led to instabilities. - Revamped documentation structure. make in the docs dir or make doc in the root dir will now create the 1) man page and 2) the user documentation using sphinx (requiring python-doctools, and sphinx). The resulting user docs are in docs/html. You can also only create the man pages with make man in the docs dir. - -f command line option only works on the untranslated remote repository folder names now. Previously folderfilters had to match both the local AND remote name which caused unwanted behavior in combination with nametrans rules. Clarify in the help text. - Some better output when using nonsensical configuration settings
2012-06-19 10:41:42 +02:00
@for i in ${DOC_DIRS}; do \
${MKDIR} ${DOCSDIR}/$$i; \
done
@cd ${WRKSRC} && for i in ${DOC_FILES}; do \
${ECHO} "Installing ${DOCSDIR}/$$i"; \
${INSTALL_DATA} $$i ${DOCSDIR}/$$i; \
done
.endif
2013-06-04 12:32:49 +02:00
.if ${PORT_OPTIONS:MEXAMPLES}
@${MKDIR} ${EXAMPLESDIR}
mail/offlineimap: upgrade to 6.5.4 Changes since 6.5.3.1: - Bump bundled imaplib2 library 2.29 --> 2.33 - Actually perform the SSL fingerprint check (reported by J. Cook) - Curses UI, don't use colors after we shut down curses already (C.H"oger) - Document that '%' needs encoding as '%%' in *.conf - Fix crash when IMAP.quickchanged() led to an Error (reported by sharat87) - Implement the createfolders setting to disable folder propagation (see docs) Changes since 6.5.3: - Don't fail if no dry-run setting exists in offlineimap.conf (introduced in 6.5.3) Changes since 6.5.2.1: - --dry-run mode protects us from performing any actual action. It will not precisely give the exact information what will happen. If e.g. it would need to create a folder, it merely outputs "Would create folder X", but not how many and which mails it would transfer. - Internal code changes to prepare for Python3 - Improve user documentation of nametrans/folderfilter - Fixed some cases where invalid nametrans rules were not caught and we would not propagate local folders to the remote repository. (now tested in test03) - Revert "* Slight performance enhancement uploading mails to an IMAP server in the common case." It might have led to instabilities. - Revamped documentation structure. make in the docs dir or make doc in the root dir will now create the 1) man page and 2) the user documentation using sphinx (requiring python-doctools, and sphinx). The resulting user docs are in docs/html. You can also only create the man pages with make man in the docs dir. - -f command line option only works on the untranslated remote repository folder names now. Previously folderfilters had to match both the local AND remote name which caused unwanted behavior in combination with nametrans rules. Clarify in the help text. - Some better output when using nonsensical configuration settings
2012-06-19 10:41:42 +02:00
@for i in ${EXAMPLE_DIRS}; do \
${MKDIR} ${EXAMPLESDIR}/$$i; \
done
@cd ${WRKSRC} && for i in ${EXAMPLE_FILES}; do \
${ECHO} "Installing ${EXAMPLESDIR}/$$i"; \
${INSTALL_DATA} $$i ${EXAMPLESDIR}/$$i; \
done
.endif
@${CAT} ${PKGMESSAGE}
.include <bsd.port.mk>