1PORTNAME=	networkx
2DISTVERSION=	3.4
3PORTREVISION=	0
4PORTEPOCH=	1
5CATEGORIES=	math python
6MASTER_SITES=	PYPI
7PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
8
9MAINTAINER=	ports@MidnightBSD.org
10COMMENT=	Tools for complex networks
11WWW=		https://networkx.github.io/
12
13LICENSE=	bsd3
14
15BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
16		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
17#RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}decorator>=4.3.0:devel/py-decorator@${PY_FLAVOR}
18
19USES=		cpe python shebangfix
20USE_PYTHON=	autoplist concurrent pep517 pytest
21
22SHEBANG_GLOB=	*.py
23NO_ARCH=	yes
24CPE_VENDOR=	python
25
26#PLIST_SUB+=	PYTHON_MAJOR_VER=${PYTHON_MAJOR_VER}
27
28OPTIONS_DEFINE=	EXAMPLES GDAL LXML PANDAS PYDOT YAML
29OPTIONS_GROUP=	MATRIX RENDER
30OPTIONS_GROUP_MATRIX=	NUMPY SCIPY
31OPTIONS_GROUP_RENDER=	MPL GRAPHVIZ
32OPTIONS_DEFAULT=	NUMPY SCIPY MPL GDAL GRAPHVIZ LXML PANDAS PYDOT YAML
33
34NUMPY_DESC=	Matrix representation of graphs
35NUMPY_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}numpy>=1.20.0,1:math/py-numpy@${PY_FLAVOR}
36
37SCIPY_DESC=	Sparse matrix representation of graphs
38SCIPY_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}scipy>=1.8:science/py-scipy@${PY_FLAVOR} \
39			${PYTHON_PKGNAMEPREFIX}scikit-sparse>=0.2:science/py-scikit-sparse@${PY_FLAVOR}
40
41MPL_DESC=	Flexible graph rendering
42MPL_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}matplotlib>=3.4.0:math/py-matplotlib@${PY_FLAVOR}
43
44GDAL_DESC=	Support of raster geospatial data formats
45GDAL_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}gdal>=0:graphics/py-gdal@${PY_FLAVOR}
46
47GRAPHVIZ_DESC=	Additional graph layout and rendering algorithms
48GRAPHVIZ_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pygraphviz>=1.2:graphics/py-pygraphviz@${PY_FLAVOR}
49
50LXML_DESC=	Binding for the libxml2 and libxslt libraries
51LXML_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR}
52
53PANDAS_DESC=	Data analysis
54PANDAS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pandas>=1.3:math/py-pandas@${PY_FLAVOR}
55
56PYDOT_DESC=	Graphviz Dot language
57PYDOT_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pydot>=0:graphics/py-pydot@${PY_FLAVOR}
58
59YAML_DESC=	Reading and writing YAML files
60YAML_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pyyaml>=0:devel/py-pyyaml@${PY_FLAVOR}
61
62PORTEXAMPLES=	*
63
64post-install:
65	${MKDIR} ${FAKE_DESTDIR}${EXAMPLESDIR}
66	cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${FAKE_DESTDIR}${EXAMPLESDIR}
67
68do-test: install
69	(cd ${WRKSRC} && py.test)
70
71.include <bsd.port.mk>
72