[Midnightbsd-cvs] [MidnightBSD/mports] cfee2a: mail/py-mail-parser: update to 4.4.0 (#729)

Lucas Holt noreply at github.com
Sun Aug 9 16:21:57 EDT 2026


  Branch: refs/heads/master
  Home:   https://github.com/MidnightBSD/mports
  Commit: cfee2a2adeee8cce4d652a7bba2c9874fee090c6
      https://github.com/MidnightBSD/mports/commit/cfee2a2adeee8cce4d652a7bba2c9874fee090c6
  Author: Lucas Holt <luke at foolishgames.com>
  Date:   2026-08-09 (Sun, 09 Aug 2026)

  Changed paths:
    M mail/py-mail-parser/Makefile
    M mail/py-mail-parser/distinfo

  Log Message:
  -----------
  mail/py-mail-parser: update to 4.4.0 (#729)

Update `mail/py-mail-parser` from 3.15.0 to 4.4.0 — a major version
jump.

## User-visible breaking changes

Verified by fetching the 3.15.0 sdist and diffing it against the
extracted 4.4.0 tree, not inferred from release notes:

- **Console script renamed**: `mailparser` → `mail-parser`
(`setup.py:71` old vs `[project.scripts]` new). The plist now installs
`bin/mail-parser` plus the concurrent alias `bin/mail-parser-3.12`.
- **Module layout moved**: `mailparser/mailparser.py` →
`src/mailparser/core.py`. The import package name `mailparser` is
preserved, but `from mailparser.mailparser import ...` breaks.

**No in-tree consumers** — `grep -rl` over all Makefiles hits only the
`mail/Makefile` SUBDIR list, so nothing needs a dependent bump.

## Build backend: setuptools → hatchling

`setup.py`/distutils is gone; `[build-system]` now requires `hatchling`
with backend `hatchling.build`. `USE_PYTHON= autoplist concurrent
distutils` → `autoplist concurrent pep517`.

**`${PY_SETUPTOOLS}` deliberately NOT added.** That workaround is needed
only when the pep517 backend *is* setuptools; here it's hatchling, which
doesn't need it. `hatchling` is the sole entry in `[build-system]
requires` (no hatch-vcs), so `BUILD_DEPENDS` is complete. Confirmed
mports' pep517 branch auto-injects the frontends: `bmake -V
BUILD_DEPENDS` expands to `py312-hatchling py312-build py312-installer`
plus python312.

`DISTNAME` added for the PEP 625 underscore sdist name.

## Dependencies

- **Removed** `py-simplejson`, `py-six` — upstream declares
`dependencies = []`; 3.x needed both.
- **Added** `devel/py-hatchling` (exists at 1.27.0).
- **Kept** `msgconvert:mail/p5-Email-Outlook-Message` — still genuinely
used at `src/mailparser/utils.py:381`. Upstream now marks that backend
deprecated in favour of an optional `extract-msg` extra; FreeBSD doesn't
wire the extra and neither does this.

No missing mports dependencies.

## Verification

makesum/patch/build/fake/package all OK →
`py312-mail-parser-4.4.0.mport`. distinfo matches FreeBSD exactly.
`requires-python = ">=3.9,<3.15"` and `PYTHON_VER` is 3.12, so no
`USES=python:X.Y+` floor was needed. portlint: 0 fatal, 1 pre-existing
warning (hyphen in PORTNAME, same as FreeBSD).

**The sdist grew 18KB → 2.85MB** (it now ships `tests/`, `docs/`,
`uv.lock`). Confirmed none of it lands in the package — the wheel target
is `packages = ["src/mailparser"]`, and the plist is clean.

LICENSE unchanged — `pyproject.toml` declares `Apache-2.0`, matching the
existing field.

**Not run:** `bmake test` is a no-op here (`TEST_TARGET` empty, `pytest`
not in `USE_PYTHON`) — that is not a passing suite. Upstream ships a
pytest suite with `--cov`-heavy `addopts`; wiring it up would diverge
from FreeBSD and expand scope. amd64 only.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

## Summary by Sourcery

Update the py-mail-parser port to version 4.4.0 and switch it to a
modern PEP 517-based build.

New Features:
- Track upstream mail-parser 4.4.0, including its new console script
name and source layout.

Enhancements:
- Adopt pep517-based Python build using hatchling instead of
distutils/setuptools for this port.
- Align distfile naming with the upstream PEP 625 underscore convention
and refresh distinfo accordingly.

Build:
- Add a build dependency on devel/py-hatchling and adjust USE_PYTHON to
use pep517.
- Drop now-unneeded runtime dependencies on py-simplejson and py-six in
line with upstream’s declared dependencies.

Signed-off-by: Lucas Holt <luke at foolishgames.com>



To unsubscribe from these emails, change your notification settings at https://github.com/MidnightBSD/mports/settings/notifications



More information about the Midnightbsd-cvs mailing list