git: 2c0164af9a64 - main - devel/py-astroid2: Add py-astroid2 2.15.8 (copied from py-astroid)

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Wed, 21 Feb 2024 15:17:02 UTC
The branch main has been updated by sunpoet:

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

commit 2c0164af9a64f75e3d4f7d39195ad56b5d9e3027
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2024-02-21 14:12:44 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2024-02-21 15:06:03 +0000

    devel/py-astroid2: Add py-astroid2 2.15.8 (copied from py-astroid)
    
    - Add PORTSCOUT
---
 devel/Makefile                               |  1 +
 devel/py-astroid2/Makefile                   | 36 ++++++++++++++++++++++++++++
 devel/py-astroid2/distinfo                   |  3 +++
 devel/py-astroid2/files/patch-pyproject.toml |  9 +++++++
 devel/py-astroid2/pkg-descr                  | 11 +++++++++
 5 files changed, 60 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 8ccf2748b117..df85c22a2fc8 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4276,6 +4276,7 @@
     SUBDIR += py-asteval
     SUBDIR += py-astor
     SUBDIR += py-astroid
+    SUBDIR += py-astroid2
     SUBDIR += py-asttokens
     SUBDIR += py-astunparse
     SUBDIR += py-async-lru
diff --git a/devel/py-astroid2/Makefile b/devel/py-astroid2/Makefile
new file mode 100644
index 000000000000..b90a724e9100
--- /dev/null
+++ b/devel/py-astroid2/Makefile
@@ -0,0 +1,36 @@
+PORTNAME=	astroid
+PORTVERSION=	2.15.8
+CATEGORIES=	devel python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+PKGNAMESUFFIX=	2
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Abstract syntax tree for Python with inference support
+WWW=		https://pylint.readthedocs.io/projects/astroid/en/latest/ \
+		https://github.com/pylint-dev/astroid
+
+LICENSE=	LGPL21+
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>=62.6:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0.37.1:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}lazy-object-proxy>=1.4.0:devel/py-lazy-object-proxy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wrapt>=1.14<2:devel/py-wrapt@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist concurrent pep517 pytest
+
+NO_ARCH=	yes
+
+CONFLICTS=	${PYTHON_PKGNAMEPREFIX}astroid253
+
+PORTSCOUT=	limit:^2\.
+
+.include <bsd.port.pre.mk>
+
+.if ${PYTHON_REL} < 31100
+RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.0.0:devel/py-typing-extensions@${PY_FLAVOR}
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/devel/py-astroid2/distinfo b/devel/py-astroid2/distinfo
new file mode 100644
index 000000000000..b258e378c959
--- /dev/null
+++ b/devel/py-astroid2/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1696001338
+SHA256 (astroid-2.15.8.tar.gz) = 6c107453dffee9055899705de3c9ead36e74119cee151e5a9aaf7f0b0e020a6a
+SIZE (astroid-2.15.8.tar.gz) = 344362
diff --git a/devel/py-astroid2/files/patch-pyproject.toml b/devel/py-astroid2/files/patch-pyproject.toml
new file mode 100644
index 000000000000..bc2223ca1ffc
--- /dev/null
+++ b/devel/py-astroid2/files/patch-pyproject.toml
@@ -0,0 +1,9 @@
+--- pyproject.toml.orig	2023-03-05 23:08:15 UTC
++++ pyproject.toml
+@@ -1,5 +1,5 @@
+ [build-system]
+-requires = ["setuptools>=64.0", "wheel>=0.37.1"]
++requires = ["setuptools>=62.6", "wheel>=0.37.1"]
+ build-backend = "setuptools.build_meta"
+ 
+ [project]
diff --git a/devel/py-astroid2/pkg-descr b/devel/py-astroid2/pkg-descr
new file mode 100644
index 000000000000..08175d2d0441
--- /dev/null
+++ b/devel/py-astroid2/pkg-descr
@@ -0,0 +1,11 @@
+The aim of this module is to provide a common base representation of python
+source code for projects such as pychecker, pyreverse, pylint... Well, actually
+the development of this library is essentially governed by pylint's needs. It
+used to be called logilab-astng.
+
+It provides a compatible representation which comes from the _ast module. It
+rebuilds the tree generated by the builtin _ast module by recursively walking
+down the AST and building an extended ast. The new node classes have additional
+methods and attributes for different usages. They include some support for
+static inference and local name scopes. Furthermore, astroid builds partial
+trees by inspecting living objects.