git: cd5dfcb543ad - main - ports-mgmt/reprise: add port: Port testing system

From: Dmitry Marakasov <amdmi3_at_FreeBSD.org>
Date: Mon, 11 Apr 2022 15:56:19 UTC
The branch main has been updated by amdmi3:

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

commit cd5dfcb543adc51828965146152fee21299e0bf5
Author:     Dmitry Marakasov <amdmi3@FreeBSD.org>
AuthorDate: 2022-04-11 13:48:35 +0000
Commit:     Dmitry Marakasov <amdmi3@FreeBSD.org>
CommitDate: 2022-04-11 15:31:32 +0000

    ports-mgmt/reprise: add port: Port testing system
    
    reprise is a tool primarily designed to test package production on
    FreeBSD. Unlike poudriere, it's focused on port testing only, without
    support for repository production, and has important features still
    lacking in poudriere, such as `make test` support, and more eager
    use of prebuilt packages. As a result, with reprise you test your
    ports, not rebuild llvm and other heavy dependencies over and over
    again.
    
    WWW: https://github.com/AMDmi3/reprise
---
 ports-mgmt/Makefile            |  1 +
 ports-mgmt/reprise/Makefile    | 32 ++++++++++++++++++++++++++++++++
 ports-mgmt/reprise/distinfo    |  3 +++
 ports-mgmt/reprise/pkg-descr   |  9 +++++++++
 ports-mgmt/reprise/pkg-message |  9 +++++++++
 5 files changed, 54 insertions(+)

diff --git a/ports-mgmt/Makefile b/ports-mgmt/Makefile
index e912bfcd1039..d9813df62010 100644
--- a/ports-mgmt/Makefile
+++ b/ports-mgmt/Makefile
@@ -70,6 +70,7 @@
     SUBDIR += py-FreeBSD-ports
     SUBDIR += py-pytoport
     SUBDIR += py-skog
+    SUBDIR += reprise
     SUBDIR += sccache-overlay
     SUBDIR += synth
     SUBDIR += wanted-ports
diff --git a/ports-mgmt/reprise/Makefile b/ports-mgmt/reprise/Makefile
new file mode 100644
index 000000000000..9036d653355c
--- /dev/null
+++ b/ports-mgmt/reprise/Makefile
@@ -0,0 +1,32 @@
+PORTNAME=	reprise
+PORTVERSION=	0.0.1
+CATEGORIES=	ports-mgmt python
+
+MAINTAINER=	amdmi3@FreeBSD.org
+COMMENT=	Port testing system
+
+LICENSE=	GPLv3+
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}jsonslicer>=0:textproc/py-jsonslicer@${PY_FLAVOR}
+TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pytest-asyncio>=0:devel/py-pytest-asyncio@${PY_FLAVOR}
+
+USES=		python:3.10+
+USE_GITHUB=	yes
+GH_ACCOUNT=	AMDmi3
+USE_PYTHON=	autoplist distutils noflavors
+NO_ARCH=	yes
+
+PORTDOCS=	*
+
+OPTIONS_DEFINE=	DOCS
+
+post-install-DOCS-on:
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_DATA} ${WRKSRC}/CHANGELOG.md ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}/
+
+do-test:
+	@cd ${TEST_WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHON_CMD} -m pytest -v -rs
+
+.include <bsd.port.mk>
diff --git a/ports-mgmt/reprise/distinfo b/ports-mgmt/reprise/distinfo
new file mode 100644
index 000000000000..6b2a9cd3d488
--- /dev/null
+++ b/ports-mgmt/reprise/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1649684861
+SHA256 (AMDmi3-reprise-0.0.1_GH0.tar.gz) = 6b3c084886c9e1273079563fd36688abd80f87d9b3b16bb33101ab475b4285c7
+SIZE (AMDmi3-reprise-0.0.1_GH0.tar.gz) = 26154
diff --git a/ports-mgmt/reprise/pkg-descr b/ports-mgmt/reprise/pkg-descr
new file mode 100644
index 000000000000..690cbd33173e
--- /dev/null
+++ b/ports-mgmt/reprise/pkg-descr
@@ -0,0 +1,9 @@
+reprise is a tool primarily designed to test package production on
+FreeBSD. Unlike poudriere, it's focused on port testing only, without
+support for repository production, and has important features still
+lacking in poudriere, such as `make test` support, and more eager
+use of prebuilt packages. As a result, with reprise you test your
+ports, not rebuild llvm and other heavy dependencies over and over
+again.
+
+WWW: https://github.com/AMDmi3/reprise
diff --git a/ports-mgmt/reprise/pkg-message b/ports-mgmt/reprise/pkg-message
new file mode 100644
index 000000000000..740d180cb5b0
--- /dev/null
+++ b/ports-mgmt/reprise/pkg-message
@@ -0,0 +1,9 @@
+[
+{ type: install
+  message: <<EOM
+Reprise is experimental software. Expect all kinds of failures and
+filesystem, jail and mountpoint leftovers you'll have to clean up
+manually.
+EOM
+}
+]