git: d9c895f4127a - main - devel/py-trampoline: New port: Simple and tiny yield-based trampoline implementation

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Wed, 18 Mar 2026 03:00:40 UTC
The branch main has been updated by yuri:

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

commit d9c895f4127ac49dea9bb10d7d1867c2d67176ae
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-03-17 20:33:42 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-03-18 03:00:37 +0000

    devel/py-trampoline: New port: Simple and tiny yield-based trampoline implementation
---
 devel/Makefile                |  1 +
 devel/py-trampoline/Makefile  | 22 ++++++++++++++++++++++
 devel/py-trampoline/distinfo  |  3 +++
 devel/py-trampoline/pkg-descr |  5 +++++
 4 files changed, 31 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index a50cc147be54..e1653a773c8c 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -6164,6 +6164,7 @@
     SUBDIR += py-traitlets
     SUBDIR += py-traits
     SUBDIR += py-traittypes
+    SUBDIR += py-trampoline
     SUBDIR += py-transaction
     SUBDIR += py-transitions
     SUBDIR += py-tree-format
diff --git a/devel/py-trampoline/Makefile b/devel/py-trampoline/Makefile
new file mode 100644
index 000000000000..c22179496698
--- /dev/null
+++ b/devel/py-trampoline/Makefile
@@ -0,0 +1,22 @@
+PORTNAME=	trampoline
+DISTVERSION=	0.1.2
+CATEGORIES=	devel python
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Simple and tiny yield-based trampoline implementation
+WWW=		https://github.com/ferreum/trampoline
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		python
+USE_PYTHON=	distutils autoplist
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	ferreum
+GH_TAGNAME=	1d98f39c3015594e2ac8ed48dccc2f393b4dd82b
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/devel/py-trampoline/distinfo b/devel/py-trampoline/distinfo
new file mode 100644
index 000000000000..df6c4e882a8e
--- /dev/null
+++ b/devel/py-trampoline/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1773771927
+SHA256 (ferreum-trampoline-0.1.2-1d98f39c3015594e2ac8ed48dccc2f393b4dd82b_GH0.tar.gz) = 4e026488a57a7a49b3c4a809a93ace8fcccae5b66a7ef9b1b9581755c38ae15f
+SIZE (ferreum-trampoline-0.1.2-1d98f39c3015594e2ac8ed48dccc2f393b4dd82b_GH0.tar.gz) = 5809
diff --git a/devel/py-trampoline/pkg-descr b/devel/py-trampoline/pkg-descr
new file mode 100644
index 000000000000..635762c7e1f5
--- /dev/null
+++ b/devel/py-trampoline/pkg-descr
@@ -0,0 +1,5 @@
+trampoline is a simple and tiny yield-based trampoline implementation
+for Python.
+
+Trampolines are useful for implementing tail-call optimization and managing
+deep recursion without stack overflow.