misc/py-mmcv: Fix build on Python 3.13 and the runtime dependencies
PR: 299961
setup.py exec()s mmcv/version.py and then reads __version__ back
from locals(), which no longer works on 3.13 (PEP 667): exec into an
explicit namespace instead.
The package also could not be installed or imported on its own: the
extension links against libc10.so from py-pytorch (only a build
dependency so far), and mmcv.image imports cv2 at the top level. Add
both py-pytorch and py-opencv-python-headless to RUN_DEPENDS.
While here, follow the Python Ports Policy, add concurrent to
USE_PYTHON, fix portlint warnings and document the patches.
x11/bhotkeys-dwm: New port
Stock dwm chords for bhotkeys. SUPERASMODKEY installs those
rows with Super as Mod, for a dwm built with that option.
Reviewed by: fuz (previous revision), jrm (previous revision)
Differential Revision: https://reviews.freebsd.org/D60934
x11/libinput: Fix the Python dependencies of the libinput tools
The Python tools in libexec/libinput (libinput-measure-*, -analyze-*,
-replay, ...) import libevdev, i.e. python-libevdev
(devel/py-libevdev), never evdev (python-evdev), yet RUN_DEPENDS lists
devel/py-evdev. Depend on the package they actually use. This also
stops pulling devel/py-evdev into every desktop installation.
libinput-analyze-recording, -analyze-per-slot-delta,
-analyze-touch-down-state, -analyze-buttons and libinput-replay import
yaml, which is not declared. Without PyYAML the analyze tools fail
with ModuleNotFoundError and libinput-replay refuses to run ("One or
more python modules are missing"). Add py-pyyaml to RUN_DEPENDS.
While here, fix portlint warnings.
PR: 299873
Templates/config.(guess|sub): Update to 2026-05-17
Also remove our local changes that replaced x86_64 with amd64 because
these complicate porting by forcing port maintainers to replace x86_64
with amd64 in configure scripts.
Additional changes:
bsd.port.mk: Apply S/amd64/x86_64/ to CONFIGURE_TARGET. This is not
required to run configure but some ports need to use this in pkg-plist.
comms/qico, news/fidogate:
CONFIGURE_TARGET shouldn't contain "--build". Just remove it altogether
because the default value is fine.
devel/autoconf, devel/automake:
Bump PORTREVISION because they package config.* scripts.
lang/gauche, math/fricas, math/gap, math/nlopt, math/octave, net/pjsip:
[33 lines not shown]
Tools/scripts/rmport: change method to look for PRs
Use the Bugzilla REST interface to look for PRs files against the
port(s) to be deleted as that one still allows anonymous access.
devel/py-envs: Update to 1.4 and fix envs command
1.3 imports raw_input from click._compat, which click 8 removed, so
envs.util and the envs CLI failed to import. 1.4 uses input().
- Build with pep517: the setup.py that poetry generated for 1.4 is
rejected by setuptools 63 ("'extras_require' must be a dictionary")
- Add a CLI option (off by default) for the envs command: envs.cli
imports click, jinja2 and terminaltables (upstream's "cli" extra),
and the port had no RUN_DEPENDS at all, so the command failed with
ModuleNotFoundError. By default the port installs only the envs
module, which needs nothing beyond Python, and no longer installs
the broken command; with CLI on, it installs the command and depends
on the three modules.
While here, follow the Python Ports Policy.
PR: 299869
Approved by: Ivan Rozhuk <rozhuk.im at gmail.com> (maintainer)
[4 lines not shown]
devel/py-envs: Update to 1.4 and fix envs command
1.3 imports raw_input from click._compat, which click 8 removed, so
envs.util and the envs CLI failed to import. 1.4 uses input().
- Build with pep517: the setup.py that poetry generated for 1.4 is
rejected by setuptools 63 ("'extras_require' must be a dictionary")
- Add a CLI option (off by default) for the envs command: envs.cli
imports click, jinja2 and terminaltables (upstream's "cli" extra),
and the port had no RUN_DEPENDS at all, so the command failed with
ModuleNotFoundError. By default the port installs only the envs
module, which needs nothing beyond Python, and no longer installs
the broken command; with CLI on, it installs the command and depends
on the three modules.
While here, follow the Python Ports Policy.
PR: 299869
Approved by: Ivan Rozhuk <rozhuk.im at gmail.com> (maintainer)
[2 lines not shown]
misc/claude-code: update 2.1.306 → 2.1.310
This update changes claude-code back to use NodeJS code
so that the Linux binary isn't involved any more.
It extracts the NodeJS code using the unhare extractor.
PR: 298047
textproc/py-enrich: update to 1.3.0
This release has been published to the upstream GitHub repo for more
than 2 years, but never yet got pushed to PyPI. Given the concerns
raised in PR 299923 which have been largely addressed in the GitHub
release, switch to USE_GITHUB rather than PyPI and update to 1.3.0.
* PEP 517 using setuptools as back-end
* Add pytest. All tests pass. Note that `pytest-cov` and
`pytest-xdist` test dependencies aren't actually used anywhere,
despite being listed in ${WRKSRC}/.config/requirements-test.in, so
I've omitted them from TEST_DEPENDS
* Drop the outdated setuptools_scm_git_archive build dependency in
favour of the native Git handling in more recent setuptools-scm.
* Update dependency version requirements for setuptools-scm and rich.
[3 lines not shown]
www/web2ldap: Fix with Python 3.13+
web2ldap imports four modules that Python 3.13 removed:
- cgi (parse_header and parse_multipart in web/forms.py) and imghdr
(JPEG/PNG syntax validation): depend on www/py-legacy-cgi and
devel/py-standard-imghdr with Python 3.13+.
- crypt (the 'crypt' userPassword scheme): make the import optional; the
scheme is not offered when crypt is missing, the hashlib schemes are
unaffected.
- sndhdr (Audio syntax validation): make the import optional and check
the .au magic number directly, which is the test sndhdr.test_au()
starts with.
files/patch-setup.py held a git diff that creates files/patch-setup.py
rather than the patch itself, so setup.py was never patched. Replace
it with the intended patch (python_requires '>=3.6.*' is not a valid
specifier; use '>=3.6') and document it.
[6 lines not shown]
net/haproxy: on stop, terminate immediatly rather than waiting for connections to close. Provide haproxy_sig_stop variable to fallback to soft-stop behaviour.
Suggested by: phk