git: 6f8f90af2965 - main - devel/py-hachoir: Add new port

From: Yusuf Yaman <nxjoseph_at_FreeBSD.org>
Date: Tue, 15 Sep 2026 00:43:01 UTC
The branch main has been updated by nxjoseph:

URL: https://cgit.FreeBSD.org/ports/commit/?id=6f8f90af296518d30e0fddd04e7608c751d62f5e

commit 6f8f90af296518d30e0fddd04e7608c751d62f5e
Author:     Pete Diamond <lazeraman@gmail.com>
AuthorDate: 2026-08-26 00:22:00 +0000
Commit:     Yusuf Yaman <nxjoseph@FreeBSD.org>
CommitDate: 2026-09-15 00:16:26 +0000

    devel/py-hachoir: Add new port
    
    Hachoir is a Python library to view and edit a binary stream field by field.
    It parses a file into a tree of fields, where each field carries its position,
    size and value, so a format can be explored without decoding it by hand.
    
    WWW:    https://github.com/vstinner/hachoir
    
    PR:             297930
    Approved by:    osa, vvd (Mentors, implicit)
---
 devel/Makefile             |  1 +
 devel/py-hachoir/Makefile  | 23 +++++++++++++++++++++++
 devel/py-hachoir/distinfo  |  3 +++
 devel/py-hachoir/pkg-descr |  9 +++++++++
 4 files changed, 36 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 289d789e2d2e..52f522780e10 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5198,6 +5198,7 @@
     SUBDIR += py-guppy3
     SUBDIR += py-gyp
     SUBDIR += py-gyp-next
+    SUBDIR += py-hachoir
     SUBDIR += py-hacking
     SUBDIR += py-hammett
     SUBDIR += py-hash_ring
diff --git a/devel/py-hachoir/Makefile b/devel/py-hachoir/Makefile
new file mode 100644
index 000000000000..ebb06dbd4214
--- /dev/null
+++ b/devel/py-hachoir/Makefile
@@ -0,0 +1,23 @@
+PORTNAME=	hachoir
+DISTVERSION=	3.4.0
+CATEGORIES=	devel python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	lazeraman@gmail.com
+COMMENT=	Python library to view and edit a binary stream field by field
+WWW=		https://hachoir.readthedocs.io/ \
+		https://github.com/vstinner/hachoir
+
+LICENSE=	GPLv2
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+BUILD_DEPENDS=	${PY_SETUPTOOLS} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist concurrent pep517
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/devel/py-hachoir/distinfo b/devel/py-hachoir/distinfo
new file mode 100644
index 000000000000..77905b8b4c7a
--- /dev/null
+++ b/devel/py-hachoir/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1789431212
+SHA256 (hachoir-3.4.0.tar.gz) = 7f88018d58ef42b5dcd8ff51f2a6191abf3ade38eee8da11acd93f5a7d9cf8f8
+SIZE (hachoir-3.4.0.tar.gz) = 7536245
diff --git a/devel/py-hachoir/pkg-descr b/devel/py-hachoir/pkg-descr
new file mode 100644
index 000000000000..e0a20d0a39c7
--- /dev/null
+++ b/devel/py-hachoir/pkg-descr
@@ -0,0 +1,9 @@
+Hachoir is a Python library to view and edit a binary stream field by field.
+It parses a file into a tree of fields, where each field carries its position,
+size and value, so a format can be explored without decoding it by hand.
+
+It ships parsers for a wide range of archive, audio, video, image, filesystem
+and executable formats, and command line tools built on them: hachoir-metadata
+extracts metadata from media files, hachoir-grep searches text in a binary,
+hachoir-strip removes unnecessary data, and hachoir-urwid explores a file
+interactively.