pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
offlineimap: add package for Python 3 version of offlineimap
Module Name: pkgsrc-wip
Committed By: Thomas Klausner <wiz%NetBSD.org@localhost>
Pushed By: wiz
Date: Wed Apr 23 17:40:23 2025 +0200
Changeset: 9f1cc65739e4685a5a6beba58ef0db3abc783df9
Modified Files:
Makefile
Added Files:
offlineimap/DESCR
offlineimap/Makefile
offlineimap/PLIST
offlineimap/TODO
offlineimap/distinfo
offlineimap/patches/patch-pyproject.toml
py-imaplib2/DESCR
py-imaplib2/Makefile
py-imaplib2/PLIST
py-imaplib2/TODO
py-imaplib2/distinfo
Log Message:
offlineimap: add package for Python 3 version of offlineimap
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=9f1cc65739e4685a5a6beba58ef0db3abc783df9
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
Makefile | 2 +
offlineimap/DESCR | 5 ++
offlineimap/Makefile | 36 +++++++++
offlineimap/PLIST | 126 +++++++++++++++++++++++++++++++
offlineimap/TODO | 1 +
offlineimap/distinfo | 6 ++
offlineimap/patches/patch-pyproject.toml | 37 +++++++++
py-imaplib2/DESCR | 7 ++
py-imaplib2/Makefile | 18 +++++
py-imaplib2/PLIST | 12 +++
py-imaplib2/TODO | 1 +
py-imaplib2/distinfo | 5 ++
12 files changed, 256 insertions(+)
diffs:
diff --git a/Makefile b/Makefile
index 9359ced7f9..33e60a78ab 100644
--- a/Makefile
+++ b/Makefile
@@ -2685,6 +2685,7 @@ SUBDIR+= ocaml-uunf
SUBDIR+= ocamlweb
SUBDIR+= ocserv
SUBDIR+= odin
+SUBDIR+= offlineimap
SUBDIR+= offpunk
SUBDIR+= offset
SUBDIR+= oggfwd
@@ -3973,6 +3974,7 @@ SUBDIR+= py-idx2numpy
SUBDIR+= py-ift-nifty
SUBDIR+= py-igraph
SUBDIR+= py-iisignature
+SUBDIR+= py-imaplib2
SUBDIR+= py-imexam
SUBDIR+= py-import-linter
SUBDIR+= py-imread
diff --git a/offlineimap/DESCR b/offlineimap/DESCR
new file mode 100644
index 0000000000..e046903b37
--- /dev/null
+++ b/offlineimap/DESCR
@@ -0,0 +1,5 @@
+OfflineIMAP is a tool to simplify your e-mail reading. It synchronizes
+remote IMAP folders and local Maildir folders. It is fast flexible
+and safe. It 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.
diff --git a/offlineimap/Makefile b/offlineimap/Makefile
new file mode 100644
index 0000000000..d2d427b98e
--- /dev/null
+++ b/offlineimap/Makefile
@@ -0,0 +1,36 @@
+# $NetBSD: Makefile,v 1.42 2024/08/14 17:25:21 wiz Exp $
+
+DISTNAME= offlineimap3-8.0.0.2024.08.26
+CATEGORIES= mail
+MASTER_SITES= ${MASTER_SITE_GITHUB:=OfflineIMAP/}
+# 8.0.0 is 4 years old, so use snapshot
+GITHUB_TAG= db347452273bb0f1b1a8ea952f6fb46cf95fedbf
+
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE= https://github.com/OfflineIMAP/offlineimap3
+COMMENT= Powerful IMAP/Maildir synchronization and reader support (v3)
+LICENSE= gnu-gpl-v2 # or later
+
+TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools-[0-9]*:../../devel/py-setuptools
+DEPENDS+= ${PYPKGPREFIX}-rfc6555-[0-9]*:../../net/py-rfc6555
+DEPENDS+= ${PYPKGPREFIX}-imaplib2>=3.5:../../wip/py-imaplib2
+DEPENDS+= ${PYPKGPREFIX}-urllib3>=1.25.9:../../www/py-urllib3
+
+INSTALLATION_DIRS= share/examples/offlineimap
+
+CONFLICTS+= offlineimap-[0-9]*
+
+post-install:
+.for f in offlineimap.conf offlineimap.conf.minimal
+ ${INSTALL_DATA} ${WRKSRC}/${f} ${DESTDIR}${PREFIX}/share/examples/offlineimap/${f}
+.endfor
+
+WHEEL_NAME= offlineimap-8.0.0
+
+# needs imap credentials for testing:
+# as of 8.0.0.2024.08.26
+# 1 warning, 1 error
+
+.include "../../lang/python/batteries-included.mk"
+.include "../../lang/python/wheel.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/offlineimap/PLIST b/offlineimap/PLIST
new file mode 100644
index 0000000000..abe482dcc0
--- /dev/null
+++ b/offlineimap/PLIST
@@ -0,0 +1,126 @@
+@comment $NetBSD$
+bin/offlineimap
+${PYSITELIB}/${WHEEL_INFODIR}/METADATA
+${PYSITELIB}/${WHEEL_INFODIR}/RECORD
+${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
+${PYSITELIB}/${WHEEL_INFODIR}/licenses/COPYING
+${PYSITELIB}/${WHEEL_INFODIR}/top_level.txt
+${PYSITELIB}/offlineimap/CustomConfig.py
+${PYSITELIB}/offlineimap/CustomConfig.pyc
+${PYSITELIB}/offlineimap/CustomConfig.pyo
+${PYSITELIB}/offlineimap/__init__.py
+${PYSITELIB}/offlineimap/__init__.pyc
+${PYSITELIB}/offlineimap/__init__.pyo
+${PYSITELIB}/offlineimap/accounts.py
+${PYSITELIB}/offlineimap/accounts.pyc
+${PYSITELIB}/offlineimap/accounts.pyo
+${PYSITELIB}/offlineimap/error.py
+${PYSITELIB}/offlineimap/error.pyc
+${PYSITELIB}/offlineimap/error.pyo
+${PYSITELIB}/offlineimap/folder/Base.py
+${PYSITELIB}/offlineimap/folder/Base.pyc
+${PYSITELIB}/offlineimap/folder/Base.pyo
+${PYSITELIB}/offlineimap/folder/Gmail.py
+${PYSITELIB}/offlineimap/folder/Gmail.pyc
+${PYSITELIB}/offlineimap/folder/Gmail.pyo
+${PYSITELIB}/offlineimap/folder/GmailMaildir.py
+${PYSITELIB}/offlineimap/folder/GmailMaildir.pyc
+${PYSITELIB}/offlineimap/folder/GmailMaildir.pyo
+${PYSITELIB}/offlineimap/folder/IMAP.py
+${PYSITELIB}/offlineimap/folder/IMAP.pyc
+${PYSITELIB}/offlineimap/folder/IMAP.pyo
+${PYSITELIB}/offlineimap/folder/LocalStatus.py
+${PYSITELIB}/offlineimap/folder/LocalStatus.pyc
+${PYSITELIB}/offlineimap/folder/LocalStatus.pyo
+${PYSITELIB}/offlineimap/folder/LocalStatusSQLite.py
+${PYSITELIB}/offlineimap/folder/LocalStatusSQLite.pyc
+${PYSITELIB}/offlineimap/folder/LocalStatusSQLite.pyo
+${PYSITELIB}/offlineimap/folder/Maildir.py
+${PYSITELIB}/offlineimap/folder/Maildir.pyc
+${PYSITELIB}/offlineimap/folder/Maildir.pyo
+${PYSITELIB}/offlineimap/folder/UIDMaps.py
+${PYSITELIB}/offlineimap/folder/UIDMaps.pyc
+${PYSITELIB}/offlineimap/folder/UIDMaps.pyo
+${PYSITELIB}/offlineimap/folder/__init__.py
+${PYSITELIB}/offlineimap/folder/__init__.pyc
+${PYSITELIB}/offlineimap/folder/__init__.pyo
+${PYSITELIB}/offlineimap/globals.py
+${PYSITELIB}/offlineimap/globals.pyc
+${PYSITELIB}/offlineimap/globals.pyo
+${PYSITELIB}/offlineimap/imaplibutil.py
+${PYSITELIB}/offlineimap/imaplibutil.pyc
+${PYSITELIB}/offlineimap/imaplibutil.pyo
+${PYSITELIB}/offlineimap/imapserver.py
+${PYSITELIB}/offlineimap/imapserver.pyc
+${PYSITELIB}/offlineimap/imapserver.pyo
+${PYSITELIB}/offlineimap/imaputil.py
+${PYSITELIB}/offlineimap/imaputil.pyc
+${PYSITELIB}/offlineimap/imaputil.pyo
+${PYSITELIB}/offlineimap/init.py
+${PYSITELIB}/offlineimap/init.pyc
+${PYSITELIB}/offlineimap/init.pyo
+${PYSITELIB}/offlineimap/localeval.py
+${PYSITELIB}/offlineimap/localeval.pyc
+${PYSITELIB}/offlineimap/localeval.pyo
+${PYSITELIB}/offlineimap/mbnames.py
+${PYSITELIB}/offlineimap/mbnames.pyc
+${PYSITELIB}/offlineimap/mbnames.pyo
+${PYSITELIB}/offlineimap/repository/Base.py
+${PYSITELIB}/offlineimap/repository/Base.pyc
+${PYSITELIB}/offlineimap/repository/Base.pyo
+${PYSITELIB}/offlineimap/repository/Gmail.py
+${PYSITELIB}/offlineimap/repository/Gmail.pyc
+${PYSITELIB}/offlineimap/repository/Gmail.pyo
+${PYSITELIB}/offlineimap/repository/GmailMaildir.py
+${PYSITELIB}/offlineimap/repository/GmailMaildir.pyc
+${PYSITELIB}/offlineimap/repository/GmailMaildir.pyo
+${PYSITELIB}/offlineimap/repository/IMAP.py
+${PYSITELIB}/offlineimap/repository/IMAP.pyc
+${PYSITELIB}/offlineimap/repository/IMAP.pyo
+${PYSITELIB}/offlineimap/repository/LocalStatus.py
+${PYSITELIB}/offlineimap/repository/LocalStatus.pyc
+${PYSITELIB}/offlineimap/repository/LocalStatus.pyo
+${PYSITELIB}/offlineimap/repository/Maildir.py
+${PYSITELIB}/offlineimap/repository/Maildir.pyc
+${PYSITELIB}/offlineimap/repository/Maildir.pyo
+${PYSITELIB}/offlineimap/repository/__init__.py
+${PYSITELIB}/offlineimap/repository/__init__.pyc
+${PYSITELIB}/offlineimap/repository/__init__.pyo
+${PYSITELIB}/offlineimap/threadutil.py
+${PYSITELIB}/offlineimap/threadutil.pyc
+${PYSITELIB}/offlineimap/threadutil.pyo
+${PYSITELIB}/offlineimap/ui/Curses.py
+${PYSITELIB}/offlineimap/ui/Curses.pyc
+${PYSITELIB}/offlineimap/ui/Curses.pyo
+${PYSITELIB}/offlineimap/ui/Machine.py
+${PYSITELIB}/offlineimap/ui/Machine.pyc
+${PYSITELIB}/offlineimap/ui/Machine.pyo
+${PYSITELIB}/offlineimap/ui/Noninteractive.py
+${PYSITELIB}/offlineimap/ui/Noninteractive.pyc
+${PYSITELIB}/offlineimap/ui/Noninteractive.pyo
+${PYSITELIB}/offlineimap/ui/TTY.py
+${PYSITELIB}/offlineimap/ui/TTY.pyc
+${PYSITELIB}/offlineimap/ui/TTY.pyo
+${PYSITELIB}/offlineimap/ui/UIBase.py
+${PYSITELIB}/offlineimap/ui/UIBase.pyc
+${PYSITELIB}/offlineimap/ui/UIBase.pyo
+${PYSITELIB}/offlineimap/ui/__init__.py
+${PYSITELIB}/offlineimap/ui/__init__.pyc
+${PYSITELIB}/offlineimap/ui/__init__.pyo
+${PYSITELIB}/offlineimap/ui/debuglock.py
+${PYSITELIB}/offlineimap/ui/debuglock.pyc
+${PYSITELIB}/offlineimap/ui/debuglock.pyo
+${PYSITELIB}/offlineimap/utils/__init__.py
+${PYSITELIB}/offlineimap/utils/__init__.pyc
+${PYSITELIB}/offlineimap/utils/__init__.pyo
+${PYSITELIB}/offlineimap/utils/const.py
+${PYSITELIB}/offlineimap/utils/const.pyc
+${PYSITELIB}/offlineimap/utils/const.pyo
+${PYSITELIB}/offlineimap/utils/distro_utils.py
+${PYSITELIB}/offlineimap/utils/distro_utils.pyc
+${PYSITELIB}/offlineimap/utils/distro_utils.pyo
+${PYSITELIB}/offlineimap/utils/stacktrace.py
+${PYSITELIB}/offlineimap/utils/stacktrace.pyc
+${PYSITELIB}/offlineimap/utils/stacktrace.pyo
+share/examples/offlineimap/offlineimap.conf
+share/examples/offlineimap/offlineimap.conf.minimal
diff --git a/offlineimap/TODO b/offlineimap/TODO
new file mode 100644
index 0000000000..6c7025b8d2
--- /dev/null
+++ b/offlineimap/TODO
@@ -0,0 +1 @@
+Needs testing if it can replace offlineimap.
diff --git a/offlineimap/distinfo b/offlineimap/distinfo
new file mode 100644
index 0000000000..ae80d1a741
--- /dev/null
+++ b/offlineimap/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.13 2021/10/26 10:54:11 nia Exp $
+
+BLAKE2s (offlineimap3-8.0.0.2024.08.26-db347452273bb0f1b1a8ea952f6fb46cf95fedbf.tar.gz) = 6be2361739174381abf3521a53e8ddb62709933baefc79c385c00bfe8874bd4e
+SHA512 (offlineimap3-8.0.0.2024.08.26-db347452273bb0f1b1a8ea952f6fb46cf95fedbf.tar.gz) = 9b3da6838e02d88dad75259620036d6c864a6b2ff1620cdf83189265a7528d28e809b8779cae589beaf4b163ccd81104f2ad96d2710934c41b691a971354717d
+Size (offlineimap3-8.0.0.2024.08.26-db347452273bb0f1b1a8ea952f6fb46cf95fedbf.tar.gz) = 706499 bytes
+SHA1 (patch-pyproject.toml) = d2f28ccab83abb4e4cb97f41053bf323246d6001
diff --git a/offlineimap/patches/patch-pyproject.toml b/offlineimap/patches/patch-pyproject.toml
new file mode 100644
index 0000000000..6967604478
--- /dev/null
+++ b/offlineimap/patches/patch-pyproject.toml
@@ -0,0 +1,37 @@
+$NetBSD$
+
+Traceback (most recent call last):
+ File "<frozen runpy>", line 198, in _run_module_as_main
+ File "<frozen runpy>", line 88, in _run_code
+ File "/usr/pkg/lib/python3.13/site-packages/installer/__main__.py", line 105, in <module>
+ _main(sys.argv[1:], "python -m installer")
+ ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/usr/pkg/lib/python3.13/site-packages/installer/__main__.py", line 101, in _main
+ installer.install(source, destination, {})
+ ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/usr/pkg/lib/python3.13/site-packages/installer/_core.py", line 109, in install
+ record = destination.write_file(
+ scheme=scheme,
+ ...<2 lines>...
+ is_executable=is_executable,
+ )
+ File "/usr/pkg/lib/python3.13/site-packages/installer/destinations.py", line 203, in write_file
+ return self.write_to_fs(
+ ~~~~~~~~~~~~~~~~^
+ scheme, path_, stream_with_different_shebang, is_executable
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ )
+ ^
+ File "/usr/pkg/lib/python3.13/site-packages/installer/destinations.py", line 167, in write_to_fs
+ raise FileExistsError(message)
+FileExistsError: File already exists: /scratch/mail/offlineimap3/work/.destdir/usr/pkg/bin/offlineimap
+
+--- pyproject.toml.orig 2025-04-23 15:36:44.841097452 +0000
++++ pyproject.toml
+@@ -51,6 +51,3 @@ keyring = ["keyring"]
+ cygwin = ["portalocker[cygwin]"]
+ kerberos = ["gssapi[kerberos]"]
+ testinternet = ["certifi~=2020.6.20"]
+-
+-[project.scripts]
+-offlineimap = "offlineimap.init:main"
diff --git a/py-imaplib2/DESCR b/py-imaplib2/DESCR
new file mode 100644
index 0000000000..86e283caf6
--- /dev/null
+++ b/py-imaplib2/DESCR
@@ -0,0 +1,7 @@
+imaplib2 is a threaded Python IMAP4 client.
+
+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.
diff --git a/py-imaplib2/Makefile b/py-imaplib2/Makefile
new file mode 100644
index 0000000000..b4d82c3e56
--- /dev/null
+++ b/py-imaplib2/Makefile
@@ -0,0 +1,18 @@
+# $NetBSD$
+
+DISTNAME= imaplib2-3.6
+PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
+CATEGORIES= mail python
+MASTER_SITES= ${MASTER_SITE_PYPI:=i/imaplib2/}
+
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE= https://github.com/jazzband/imaplib2/
+COMMENT= Threaded Python IMAP4 client
+LICENSE= mit
+
+TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools-[0-9]*:../../devel/py-setuptools
+
+USE_LANGUAGES= # none
+
+.include "../../lang/python/wheel.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/py-imaplib2/PLIST b/py-imaplib2/PLIST
new file mode 100644
index 0000000000..d1080121d1
--- /dev/null
+++ b/py-imaplib2/PLIST
@@ -0,0 +1,12 @@
+@comment $NetBSD$
+${PYSITELIB}/${WHEEL_INFODIR}/METADATA
+${PYSITELIB}/${WHEEL_INFODIR}/RECORD
+${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
+${PYSITELIB}/${WHEEL_INFODIR}/licenses/LICENCE
+${PYSITELIB}/${WHEEL_INFODIR}/top_level.txt
+${PYSITELIB}/imaplib2/__init__.py
+${PYSITELIB}/imaplib2/__init__.pyc
+${PYSITELIB}/imaplib2/__init__.pyo
+${PYSITELIB}/imaplib2/imaplib2.py
+${PYSITELIB}/imaplib2/imaplib2.pyc
+${PYSITELIB}/imaplib2/imaplib2.pyo
diff --git a/py-imaplib2/TODO b/py-imaplib2/TODO
new file mode 100644
index 0000000000..05550fa4c1
--- /dev/null
+++ b/py-imaplib2/TODO
@@ -0,0 +1 @@
+Untested, otherwise ready.
diff --git a/py-imaplib2/distinfo b/py-imaplib2/distinfo
new file mode 100644
index 0000000000..56bd39b4a4
--- /dev/null
+++ b/py-imaplib2/distinfo
@@ -0,0 +1,5 @@
+$NetBSD$
+
+BLAKE2s (imaplib2-3.6.tar.gz) = 6051b045d265d4f9c093fdee6e047a9db3f5b4c61a0e4d8d0e0002dedc084f12
+SHA512 (imaplib2-3.6.tar.gz) = 66c48a51b749ae50020d59855a4ea489ddd49b5b5919a2d3d576231f7a3979cf302f88aab525bf011075a36103eeeb52ab1a246633af3877b7095c2ea2399394
+Size (imaplib2-3.6.tar.gz) = 26252 bytes
Home |
Main Index |
Thread Index |
Old Index