git: 8e53d0e7de42 - main - math/py-clingcon: New port: Extension of clingo to handle constraints over integers

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Wed, 14 Sep 2022 04:42:16 UTC
The branch main has been updated by yuri:

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

commit 8e53d0e7de4267ff62e7af9ad547e3c166f35dbb
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-09-14 04:35:14 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-09-14 04:41:15 +0000

    math/py-clingcon: New port: Extension of clingo to handle constraints over integers
---
 math/Makefile              |  1 +
 math/py-clingcon/Makefile  | 26 ++++++++++++++++++++++++++
 math/py-clingcon/distinfo  |  3 +++
 math/py-clingcon/pkg-descr |  7 +++++++
 4 files changed, 37 insertions(+)

diff --git a/math/Makefile b/math/Makefile
index addd782bbc3e..a2dbf805a23c 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -849,6 +849,7 @@
     SUBDIR += py-brial
     SUBDIR += py-chaospy
     SUBDIR += py-claripy
+    SUBDIR += py-clingcon
     SUBDIR += py-clingo
     SUBDIR += py-cma
     SUBDIR += py-cmaes
diff --git a/math/py-clingcon/Makefile b/math/py-clingcon/Makefile
new file mode 100644
index 000000000000..304482893ad6
--- /dev/null
+++ b/math/py-clingcon/Makefile
@@ -0,0 +1,26 @@
+PORTNAME=	clingcon
+DISTVERSION=	5.2.0
+CATEGORIES=	math python
+MASTER_SITES=	CHEESESHOP
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Extension of clingo to handle constraints over integers
+WWW=		https://potassco.org/clingcon/
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE.md
+
+BUILD_DEPENDS=	cmake:devel/cmake \
+		${PYTHON_PKGNAMEPREFIX}cffi>0:devel/py-cffi@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}scikit-build>0:devel/py-scikit-build@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}clingo>0:math/py-clingo@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}clingo>0:math/py-clingo@${PY_FLAVOR}
+
+USES=		compiler:c++17-lang python:3.6+
+USE_PYTHON=	distutils autoplist
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/clingcon/_clingcon${PYTHON_EXT_SUFFIX}.so
+
+.include <bsd.port.mk>
diff --git a/math/py-clingcon/distinfo b/math/py-clingcon/distinfo
new file mode 100644
index 000000000000..765e8aaf839f
--- /dev/null
+++ b/math/py-clingcon/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1663127500
+SHA256 (clingcon-5.2.0.tar.gz) = 395b929068c767cf483994cced0b7cb02bb6c2279501c2aeb88d7145b487accf
+SIZE (clingcon-5.2.0.tar.gz) = 290120
diff --git a/math/py-clingcon/pkg-descr b/math/py-clingcon/pkg-descr
new file mode 100644
index 000000000000..fb4f89b4be7d
--- /dev/null
+++ b/math/py-clingcon/pkg-descr
@@ -0,0 +1,7 @@
+Clingcon is an answer set solver for constraint logic programs, building upon
+the answer set solver clingo. It extends the high-level modeling language of ASP
+with constraint solving capacities. Constraints over finite domain integer
+variables can be used in logic programs. Clingcon adopts state-of-the-art
+techniques from the area of SMT, like conflict-driven learning and theory
+propagation. It uses lazy nogood and variable generation on the order encoding
+and features several preprocessing techniques.