git: 871a02d4a5e9 - main - devel/py-wirerope: New port: Turn functions and methods into fully controllable objects

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Wed, 19 Jun 2024 03:36:49 UTC
The branch main has been updated by yuri:

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

commit 871a02d4a5e95e9476ff838af9ecfc78d36cb743
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2024-06-19 02:29:24 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2024-06-19 03:36:41 +0000

    devel/py-wirerope: New port: Turn functions and methods into fully controllable objects
---
 devel/Makefile              |  1 +
 devel/py-wirerope/Makefile  | 26 ++++++++++++++++++++++++++
 devel/py-wirerope/distinfo  |  3 +++
 devel/py-wirerope/pkg-descr |  3 +++
 4 files changed, 33 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index af704aaa353c..c3181297ad77 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5965,6 +5965,7 @@
     SUBDIR += py-whistle
     SUBDIR += py-widgetsnbextension
     SUBDIR += py-wimpy
+    SUBDIR += py-wirerope
     SUBDIR += py-wlc
     SUBDIR += py-woops
     SUBDIR += py-wrapt
diff --git a/devel/py-wirerope/Makefile b/devel/py-wirerope/Makefile
new file mode 100644
index 000000000000..49fbe68e0012
--- /dev/null
+++ b/devel/py-wirerope/Makefile
@@ -0,0 +1,26 @@
+PORTNAME=	wirerope
+PORTVERSION=	0.4.7
+CATEGORIES=	devel python
+#MASTER_SITES=	PYPI # no tests
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Turn functions and methods into fully controllable objects
+WWW=		https://github.com/youknowone/wirerope
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PY_SETUPTOOLS} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}six>=1.11.0:devel/py-six@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	pep517 autoplist pytest # 3 tests fail, see https://github.com/youknowone/wirerope/issues/22
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	youknowone
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/devel/py-wirerope/distinfo b/devel/py-wirerope/distinfo
new file mode 100644
index 000000000000..87f37fd2531d
--- /dev/null
+++ b/devel/py-wirerope/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1718764361
+SHA256 (youknowone-wirerope-0.4.7_GH0.tar.gz) = ddac3e17a36f95088c815be27e5841c7278989c6a3a6852993921374017be1f8
+SIZE (youknowone-wirerope-0.4.7_GH0.tar.gz) = 12220
diff --git a/devel/py-wirerope/pkg-descr b/devel/py-wirerope/pkg-descr
new file mode 100644
index 000000000000..55b1ae8aa5eb
--- /dev/null
+++ b/devel/py-wirerope/pkg-descr
@@ -0,0 +1,3 @@
+The class wirerope.rope.WireRope is the wrapper for callables. By wrapping
+a function with WireRope with a custom subclass of the wirerope.wire.Wire class,
+the wire object will be created by each function or bound method.