head 1.14; access; symbols pkgsrc-2026Q2:1.13.0.8 pkgsrc-2026Q2-base:1.13 pkgsrc-2026Q1:1.13.0.6 pkgsrc-2026Q1-base:1.13 pkgsrc-2025Q4:1.13.0.4 pkgsrc-2025Q4-base:1.13 pkgsrc-2025Q3:1.13.0.2 pkgsrc-2025Q3-base:1.13 pkgsrc-2025Q2:1.12.0.4 pkgsrc-2025Q2-base:1.12 pkgsrc-2025Q1:1.12.0.2 pkgsrc-2025Q1-base:1.12 pkgsrc-2024Q4:1.11.0.2 pkgsrc-2024Q4-base:1.11 pkgsrc-2024Q3:1.8.0.6 pkgsrc-2024Q3-base:1.8 pkgsrc-2024Q2:1.8.0.4 pkgsrc-2024Q2-base:1.8 pkgsrc-2024Q1:1.8.0.2 pkgsrc-2024Q1-base:1.8 pkgsrc-2023Q4:1.7.0.2 pkgsrc-2023Q4-base:1.7 pkgsrc-2023Q3:1.6.0.2 pkgsrc-2023Q3-base:1.6 pkgsrc-2023Q2:1.5.0.2 pkgsrc-2023Q2-base:1.5; locks; strict; comment @# @; 1.14 date 2026.06.28.15.41.26; author wiz; state Exp; branches; next 1.13; commitid hjtQh9zHnnKc1ALG; 1.13 date 2025.07.05.11.44.19; author wiz; state Exp; branches; next 1.12; commitid B2KLCDAZOmgedy1G; 1.12 date 2025.02.12.11.28.55; author adam; state Exp; branches; next 1.11; commitid 9TmvRM2r4lPQIaJF; 1.11 date 2024.12.10.07.31.19; author wiz; state Exp; branches; next 1.10; commitid SnHnvpVuuPQ7tVAF; 1.10 date 2024.11.26.12.42.22; author nia; state Exp; branches; next 1.9; commitid AXpebJcngkoRD9zF; 1.9 date 2024.10.14.06.45.47; author wiz; state Exp; branches; next 1.8; commitid ynDJEEQamKd33BtF; 1.8 date 2024.02.12.11.54.05; author markd; state Exp; branches; next 1.7; commitid VTmdP6qYwRziA8YE; 1.7 date 2023.10.14.01.20.18; author markd; state Exp; branches; next 1.6; commitid iDOTkPUtVhmh0xIE; 1.6 date 2023.08.14.05.24.47; author wiz; state Exp; branches; next 1.5; commitid LOSB79OLVxvXjIAE; 1.5 date 2023.06.18.12.22.57; author adam; state Exp; branches; next 1.4; commitid NFdOa9HS83NptqtE; 1.4 date 2023.06.18.05.21.44; author adam; state Exp; branches; next 1.3; commitid YXsLyyBNb8O09otE; 1.3 date 2023.06.17.01.28.02; author markd; state Exp; branches; next 1.2; commitid IBCBUOOSSz48SetE; 1.2 date 2023.06.06.12.41.47; author riastradh; state Exp; branches; next 1.1; commitid xhspr6Z8JLQOWSrE; 1.1 date 2023.06.04.03.27.43; author markd; state Exp; branches; next ; commitid ZAmrFXNQtp1qXzrE; desc @@ 1.14 log @*: limit Python versions due to py-numpy dropping Python 3.11 support @ text @# $NetBSD: Makefile,v 1.13 2025/07/05 11:44:19 wiz Exp $ DISTNAME= mailman-3.3.10 PKGNAME= ${PYPKGPREFIX}-${DISTNAME} CATEGORIES= mail MASTER_SITES= ${MASTER_SITE_PYPI:=m/mailman/} MAINTAINER= pkgsrc-users@@NetBSD.org HOMEPAGE= https://www.list.org/ COMMENT= GNU mailing list manager LICENSE= gnu-gpl-v3 BROKEN= "Only supports Python 3.11 but requires dependencies that don't support Python 3.11" TOOL_DEPENDS+= ${PYPKGPREFIX}-pdm_backend-[0-9]*:../../devel/py-pdm_backend DEPENDS+= ${PYPKGPREFIX}-aiosmtpd>=1.4.3:../../mail/py-aiosmtpd DEPENDS+= ${PYPKGPREFIX}-alembic>=1.6.2:../../databases/py-alembic DEPENDS+= ${PYPKGPREFIX}-atpublic-[0-9]*:../../devel/py-atpublic DEPENDS+= ${PYPKGPREFIX}-authheaders>=0.16:../../mail/py-authheaders DEPENDS+= ${PYPKGPREFIX}-authres>=1.0.1:../../mail/py-authres DEPENDS+= ${PYPKGPREFIX}-click>=8.0.0:../../devel/py-click DEPENDS+= ${PYPKGPREFIX}-dateutil>=2.0:../../time/py-dateutil DEPENDS+= ${PYPKGPREFIX}-dns>=1.14.0:../../net/py-dns DEPENDS+= ${PYPKGPREFIX}-falcon>=3.1.3:../../devel/py-falcon DEPENDS+= ${PYPKGPREFIX}-flufl.bounce>=4.0:../../mail/py-flufl.bounce DEPENDS+= ${PYPKGPREFIX}-flufl.i18n>=3.2:../../devel/py-flufl.i18n DEPENDS+= ${PYPKGPREFIX}-flufl.lock>=5.1:../../devel/py-flufl.lock DEPENDS+= ${PYPKGPREFIX}-gunicorn-[0-9]*:../../www/py-gunicorn DEPENDS+= ${PYPKGPREFIX}-lazr.config-[0-9]*:../../devel/py-lazr.config DEPENDS+= ${PYPKGPREFIX}-passlib-[0-9]*:../../security/py-passlib DEPENDS+= ${PYPKGPREFIX}-requests-[0-9]*:../../devel/py-requests DEPENDS+= ${PYPKGPREFIX}-sqlalchemy>=1.4.0:../../databases/py-sqlalchemy DEPENDS+= ${PYPKGPREFIX}-zope.component-[0-9]*:../../devel/py-zope.component DEPENDS+= ${PYPKGPREFIX}-zope.configuration-[0-9]*:../../devel/py-zope.configuration DEPENDS+= ${PYPKGPREFIX}-zope.event-[0-9]*:../../devel/py-zope.event DEPENDS+= ${PYPKGPREFIX}-zope.interface>=5.0:../../devel/py-zope.interface TEST_DEPENDS+= ${PYPKGPREFIX}-flufl.testing>=0.8:../../devel/py-flufl.testing TEST_DEPENDS+= ${PYPKGPREFIX}-markupsafe-[0-9]*:../../textproc/py-markupsafe TEST_DEPENDS+= ${PYPKGPREFIX}-nose2-[0-9]*:../../devel/py-nose2 BUILD_DEFS+= VARBASE SUBST_CLASSES+= fhs SUBST_STAGE.fhs= pre-configure SUBST_FILES.fhs= src/mailman/config/mailman.cfg SUBST_FILES.fhs+= src/mailman/core/initialize.py SUBST_FILES.fhs+= crontab.sample SUBST_MESSAGE.fhs= Fixing default paths SUBST_VARS.fhs= PKG_SYSCONFDIR PREFIX VARBASE MAILMAN_USER?= mailman MAILMAN_GROUP?= mailman PKG_GROUPS_VARS+= MAILMAN_GROUP PKG_USERS_VARS+= MAILMAN_USER PKG_GROUPS= ${MAILMAN_GROUP} PKG_USERS= ${MAILMAN_USER}:${MAILMAN_GROUP} PKG_GECOS.${MAILMAN_USER}= Mailman user PKG_SHELL.${MAILMAN_USER}= ${SH} FILES_SUBST+= MAILMAN_USER=${MAILMAN_USER} FILES_SUBST+= MAILMAN_GROUP=${MAILMAN_GROUP} RCD_SCRIPTS= mailman3 OWN_DIRS_PERMS+= ${VARBASE}/lib/mailman ${MAILMAN_USER} ${MAILMAN_GROUP} 770 OWN_DIRS_PERMS+= ${VARBASE}/log/mailman ${MAILMAN_USER} ${MAILMAN_GROUP} 770 OWN_DIRS_PERMS+= ${VARBASE}/spool/mailman ${MAILMAN_USER} ${MAILMAN_GROUP} 775 OWN_DIRS_PERMS+= ${VARBASE}/spool/lock/mailman ${MAILMAN_USER} ${MAILMAN_GROUP} 775 EGDIR= share/examples/mailman3 CONF_FILES_PERMS= ${EGDIR}/mailman.cfg ${PKG_SYSCONFDIR}/mailman.cfg \ ${REAL_ROOT_USER} ${MAILMAN_GROUP} 0640 INSTALLATION_DIRS+= ${EGDIR} # uses nntplib, removed from Python 3.13 # https://gitlab.com/mailman/mailman/-/issues/1176 PYTHON_VERSIONS_ACCEPTED= 311 post-patch: ${CP} ${FILESDIR}/crontab.sample ${WRKSRC}/crontab.sample post-install: cd ${DESTDIR}${PREFIX}/${PYSITELIB}/mailman && \ ${RM} config/mailman.cfg.orig config/schema.cfg.orig core/initialize.py.orig ${INSTALL_DATA} ${FILESDIR}/mailman.cfg ${DESTDIR}${PREFIX}/${EGDIR}/mailman.cfg ${INSTALL_DATA} ${WRKSRC}/crontab.sample ${DESTDIR}${PREFIX}/${EGDIR}/crontab.sample .include "../../lang/python/wheel.mk" .include "../../mk/bsd.pkg.mk" @ 1.13 log @*: some more recursive Python restrictions on Python 3.11+ Reported in SmartOS bulk build @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.12 2025/02/12 11:28:55 adam Exp $ d13 2 d81 1 a81 1 PYTHON_VERSIONS_ACCEPTED= 312 311 @ 1.12 log @mailman3: updated to 3.3.10 3.3.10 Configuration BREAKING CHANGE: The nntp runner is no longer started by default. If you have lists gating to/from usnet you need to add start: yes in the [runner.nntp] section in mailman.cfg. Bugs fixed The mailman members command will now fall back to the member’s user record display_name if the address record has none. The user_name_or_email substitution in regular header/footer templates now works The output from the mailman lists command no longer has trailing blanks and the command with the -d option doesn’t fail with very long list ids. The text of the AlreadySubscribedError is now translatable. The mailman import21 command adjust spaces in subject_prefix for Mailman 2.1 compatibility. An exception in the lmtp runner is caught and a retryable status returned. Catch more generic requests exceptions on downloading suffix list to avoid shunting messages. Reordered retrievals in the Task runner to avoid premature deletions due to a race condition. The nttplib slated to be removed in Python 3.13. Getting from PyPI. The web URL replacements now work in all templates. Emergency moderation is now applied following mail loop detection, banned address detection and header matching so those actions are applied before an emergency hold. The performance of mailman findmember has been improved. Moderation reasons in admin notices of held messages are now always in the list’s preferred language. The mailman import21 command drops invalid regexps from the imported ban_list. The default setting for bounce_matching_headers is shortened. The --force option for mailman start will now remove a stale lock if the pid that set it exists but is not a Mailman process. New Features One can now add entries like @@list@@example.com to the accept_these_nonmembers attribute of a list to accept nonmember posts from members of another list. REST API now allows forwarding the held message to a new address when handling the message. Add the ability to set web URLs by setting domain’s base_url parameter which allows using parameters like $held_message_url in the templates. The mailman create command now has a --style-name NAME option. The task runner will now delete message files that have no entry in the message store. Set process title if setproctitle module is available. Strip whitespaces from Message-ID header value in log not to separate into multiple lines The lifetime of saved DSNs in the message store is now configurable with a default of 1 day. Task runner now uses the configured dsn_lifetime when deleting bounce events. Setting digest_size_threshold to zero now means unlimited, i.e., a digest will never be sent based on size. There is a new mailman admins command to add/delete owners or moderators of a list. Other The Mailman master process that starts the runners will now pass a number of environment variables to the runner processes that alter the behavior of the Python interpreter. See section ENVIRONMENT VARIABLES in man python. Packaging Migrate to using the new standard pyproject.toml for Python packaging instead of setup.py. This also moves from setuptools to pdm to be used as the build backend. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.11 2024/12/10 07:31:19 wiz Exp $ d79 1 a79 1 PYTHON_VERSIONS_ACCEPTED= 312 311 310 @ 1.11 log @py-mailman: convert to wheel.mk. TOOL_DEPENDS -> TEST_DEPENDS where appropriate. Update comment why this does not support Python 3.13. Bump PKGREVISION. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.10 2024/11/26 12:42:22 nia Exp $ d3 1 a3 1 DISTNAME= mailman-3.3.9 a4 1 PKGREVISION= 1 d13 1 a13 1 TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools>=0:../../devel/py-setuptools d17 1 a17 1 DEPENDS+= ${PYPKGPREFIX}-authheaders>=0.15.2:../../mail/py-authheaders d20 1 d22 1 a22 1 DEPENDS+= ${PYPKGPREFIX}-falcon>=3.0.0:../../devel/py-falcon a27 1 DEPENDS+= ${PYPKGPREFIX}-dateutil>=2.0:../../time/py-dateutil d35 1 a35 1 TEST_DEPENDS+= ${PYPKGPREFIX}-flufl.testing-[0-9]*:../../devel/py-flufl.testing d85 2 @ 1.10 log @py-falcon: Broken with Python 3.13, uses deprecated cgi module @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.9 2024/10/14 06:45:47 wiz Exp $ d5 1 d14 1 d36 3 a38 5 # TEST_DEPENDS TOOL_DEPENDS+= ${PYPKGPREFIX}-flufl.testing-[0-9]*:../../devel/py-flufl.testing TOOL_DEPENDS+= ${PYPKGPREFIX}-markupsafe-[0-9]*:../../textproc/py-markupsafe TOOL_DEPENDS+= ${PYPKGPREFIX}-nose2-[0-9]*:../../devel/py-nose2 d78 2 a79 1 # py-falcon d89 1 a89 1 .include "../../lang/python/egg.mk" @ 1.9 log @*: clean-up after python38 removal @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.8 2024/02/12 11:54:05 markd Exp $ d78 3 @ 1.8 log @mailman3: update to 3.3.9 3.3.9 Configuration * BREAKING CHANGE: logging.http section has now been split into two parts, logging.http is for the Mailman internal code and logging.gunicorn is for Gunicorn specifically since they have different logging formats. This should fix suprious errors with KeyError: t that was often confusing for users. * Python 3.9 is now the minimum supported version of Python. Bugs fixed * config.mta.remove_dkim_headers now applies to messages to -owner. * The master process now robustly detects when runner processes terminate and restarts them. * Setting Postfix transport_file_type: regex without setting something for postmap_command: no longer throws an exception. * When bounce processing disables delivery for a user, the user’s score is reset so it will be zero if delivery is enabled. * The mailman shell command now works and displays the banner with use_ipython: yes. * Bogus Message-ID headers that have been observed in the wild are now fixed. * Raising StopIteration in a workflow process no longer creates a mailman.error log entry. * The task runner now evicts old, processed bounce events. * We now require authheaders>=0.15.2. * Digests no longer contain a bogus Archived-At header. * Content filtering will no longer add its report to a non-mixed multipart message but will wrap the message and add the report to the wrapper. * The administrivia rule will now decode encoded message bodies. * Email address validation now accepts quoted local parts and @@ in local part. * The default for max_recipients has been reduced to 10 to avoid possible lost mail when a large number of invalid recipients causes the MTA to disconnect. * Messages preserved or forwarded by content filtering are now the original message rather than the content filtered one. * List welcome and goodbye messages to users with English preferred_language now have their Subject: RFC 2047 encoded as needed. * Bounce processing notifications due to a DSN for multiple users now have the DSN attached to each notice. New Features * There is a new dmarc_addresses list attribute which is a list of email addresses and patterns matching email addresses. If a post is From: an address matching one of these, dmarc mitigations will be applied regardless of the From: domain’s dmarc policy. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.7 2023/10/14 01:20:18 markd Exp $ a12 2 PYTHON_VERSIONS_INCOMPATIBLE= 27 38 @ 1.7 log @mailman3: remove dependency on py-importlib_resources. https://gitlab.com/mailman/mailman/-/commit/1346ffdbd2ad36e3f37732f3217be3b34dc7bc48 Remove dependency on importlib_resources as versions >=6 not compatible. Therefore now requires at least python3.9 @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.6 2023/08/14 05:24:47 wiz Exp $ d3 1 a3 1 DISTNAME= mailman-3.3.8 a4 1 PKGREVISION= 3 d18 1 a18 1 DEPENDS+= ${PYPKGPREFIX}-authheaders>=0.14.0:../../mail/py-authheaders @ 1.6 log @*: recursive bump for Python 3.11 as new default @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.5 2023/06/18 12:22:57 adam Exp $ d5 1 a5 1 PKGREVISION= 2 d14 1 a14 1 PYTHON_VERSIONS_INCOMPATIBLE= 27 a26 1 DEPENDS+= ${PYPKGPREFIX}-importlib-resources>=1.1.0:../../devel/py-importlib-resources @ 1.5 log @py-zope.configuration: updated to 5.0; renamed from py-ZopeConfiguration 5.0 (2023-05-04) - Drop support for Python 2.7, 3.5, 3.6. - Add support for Python 3.11. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.4 2023/06/18 05:21:44 adam Exp $ d5 1 a5 1 PKGREVISION= 1 @ 1.4 log @py-ZopeComponent: moved to py-zope.component @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.3 2023/06/17 01:28:02 markd Exp $ d35 1 a35 1 DEPENDS+= ${PYPKGPREFIX}-ZopeConfiguration-[0-9]*:../../devel/py-ZopeConfiguration @ 1.3 log @mailman3: use argument in mailman_doit() in rcscript. also pass --force on start @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.2 2023/06/06 12:41:47 riastradh Exp $ d34 1 a34 1 DEPENDS+= ${PYPKGPREFIX}-ZopeComponent-[0-9]*:../../devel/py-ZopeComponent d36 2 a37 2 DEPENDS+= ${PYPKGPREFIX}-ZopeEvent-[0-9]*:../../devel/py-ZopeEvent DEPENDS+= ${PYPKGPREFIX}-ZopeInterface>=5.0:../../devel/py-ZopeInterface @ 1.2 log @Mass-change BUILD_DEPENDS to TOOL_DEPENDS outside mk/. Almost all uses, if not all of them, are wrong, according to the semantics of BUILD_DEPENDS (packages built for target available for use _by_ tools at build-time) and TOOL_DEPEPNDS (packages built for host available for use _as_ tools at build-time). No change to BUILD_DEPENDS as used correctly inside buildlink3. As proposed on tech-pkg: https://mail-index.netbsd.org/tech-pkg/2023/06/03/msg027632.html @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.1 2023/06/04 03:27:43 markd Exp $ d5 1 @ 1.1 log @mailman3: add version 3.3.8 Mailman is free software for managing electronic mail discussion and e-newsletter lists. Mailman is integrated with the web, making it easy for users to manage their accounts and for list owners to administer their lists. Mailman supports built-in archiving, automatic bounce processing, content filtering, digest delivery, spam filters, and more. @ text @d1 1 a1 1 # $NetBSD$ d39 3 a41 3 BUILD_DEPENDS+= ${PYPKGPREFIX}-flufl.testing-[0-9]*:../../devel/py-flufl.testing BUILD_DEPENDS+= ${PYPKGPREFIX}-markupsafe-[0-9]*:../../textproc/py-markupsafe BUILD_DEPENDS+= ${PYPKGPREFIX}-nose2-[0-9]*:../../devel/py-nose2 @