git: ce943f8a55e3 - main - sysutils/bricoler: Add: Utility for running FreeBSD src development

From: Mateusz Piotrowski <0mp_at_FreeBSD.org>
Date: Fri, 25 Sep 2026 08:42:07 UTC
The branch main has been updated by 0mp:

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

commit ce943f8a55e37ce71796c1b08f3c6e42a961e4ef
Author:     Mateusz Piotrowski <0mp@FreeBSD.org>
AuthorDate: 2026-09-24 23:39:37 +0000
Commit:     Mateusz Piotrowski <0mp@FreeBSD.org>
CommitDate: 2026-09-25 08:42:03 +0000

    sysutils/bricoler: Add: Utility for running FreeBSD src development
    
    bricoler is a utility for running FreeBSD src development workflows. The basic
    idea is to simplify common src development tasks by providing a framework to
    wrap operations like:
    
    - building a FreeBSD src tree,
    - constructing a VM image from the output of a build,
    - booting the VM image,
    - running things in the guest once it has booted.
---
 sysutils/Makefile           |  1 +
 sysutils/bricoler/Makefile  | 25 +++++++++++++++++++++++++
 sysutils/bricoler/distinfo  |  3 +++
 sysutils/bricoler/pkg-descr |  8 ++++++++
 4 files changed, 37 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index a0a8f63b81b5..cbf5cbdedb7f 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -142,6 +142,7 @@
     SUBDIR += bpytop
     SUBDIR += brasero
     SUBDIR += brename
+    SUBDIR += bricoler
     SUBDIR += brut
     SUBDIR += bsd-splash-changer
     SUBDIR += bsdconfig
diff --git a/sysutils/bricoler/Makefile b/sysutils/bricoler/Makefile
new file mode 100644
index 000000000000..3c0fbbbed93c
--- /dev/null
+++ b/sysutils/bricoler/Makefile
@@ -0,0 +1,25 @@
+PORTNAME=	bricoler
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.2.0
+CATEGORIES=	sysutils devel python
+
+MAINTAINER=	0mp@FreeBSD.org
+COMMENT=	Utility for running FreeBSD src development workflows
+WWW=		https://github.com/markjdb/bricoler
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE.txt
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pexpect>0:misc/py-pexpect@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR}
+
+USES=		python
+USE_GITHUB=	yes
+GH_ACCOUNT=	markjdb
+USE_PYTHON=	autoplist pep517
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/sysutils/bricoler/distinfo b/sysutils/bricoler/distinfo
new file mode 100644
index 000000000000..529c0d38a2ee
--- /dev/null
+++ b/sysutils/bricoler/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1790292878
+SHA256 (markjdb-bricoler-v0.2.0_GH0.tar.gz) = 87ea16cb9dd48ceb0a3ef85fafac733259b23af12c4d4199f714523019861f45
+SIZE (markjdb-bricoler-v0.2.0_GH0.tar.gz) = 42754
diff --git a/sysutils/bricoler/pkg-descr b/sysutils/bricoler/pkg-descr
new file mode 100644
index 000000000000..61a259540815
--- /dev/null
+++ b/sysutils/bricoler/pkg-descr
@@ -0,0 +1,8 @@
+bricoler is a utility for running FreeBSD src development workflows. The basic
+idea is to simplify common src development tasks by providing a framework to
+wrap operations like:
+
+- building a FreeBSD src tree,
+- constructing a VM image from the output of a build,
+- booting the VM image,
+- running things in the guest once it has booted.