aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2025-07-18 14:58:02 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2025-07-18 20:52:54 +0000
commitd010ca7b2efedbdaa5bbc3e31b0c98c923da11bb (patch)
tree12896fdf18c45809fd589bb28a058e71382ae27b
parentd963cb4872504a6a75738042f8c55c48ab89a307 (diff)
math/py-grandalf: Re-add port: Graph and drawing algorithms framework
-rw-r--r--MOVED1
-rw-r--r--math/Makefile1
-rw-r--r--math/py-grandalf/Makefile18
-rw-r--r--math/py-grandalf/distinfo3
-rw-r--r--math/py-grandalf/files/patch-setup.py10
-rw-r--r--math/py-grandalf/pkg-descr7
6 files changed, 39 insertions, 1 deletions
diff --git a/MOVED b/MOVED
index 27beec4aa944..c97c3a6d2e71 100644
--- a/MOVED
+++ b/MOVED
@@ -4489,7 +4489,6 @@ converters/wkhtmltopdf||2025-06-02|Has expired: Upstream abandoned the project
devel/py-oletools||2025-06-02|Has expired: Depends on expired textproc/py-colorclass
textproc/py-colorclass||2025-06-02|Has expired: Upstream repository has been archived on Jul 10, 2024
security/py-oauth2client||2025-06-02|Has expired: Deprecated by upstream. Use security/py-google-auth or security/py-oauthlib instead. See https://google-auth.readthedocs.io/en/latest/oauth2client-deprecation.html for details
-math/py-grandalf||2025-06-02|Has expired: Depends on expired devel/py-pytest-runner
multimedia/py-ffmpeg-python||2025-06-02|Has expired: Depends on expired devel/py-pytest-runner
science/py-DendroPy||2025-06-02|Has expired: Depends on expired devel/py-pytest-runner
devel/linux-rl9-libsoup|emulators/linux_base-rl9|2025-06-04|Merged into emulators/linux_base-rl9
diff --git a/math/Makefile b/math/Makefile
index 8858e9aa98a9..7dcdaa9510e1 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -989,6 +989,7 @@
SUBDIR += py-gau2grid
SUBDIR += py-gimmik
SUBDIR += py-gmpy2
+ SUBDIR += py-grandalf
SUBDIR += py-graphillion
SUBDIR += py-gym
SUBDIR += py-gym-notices
diff --git a/math/py-grandalf/Makefile b/math/py-grandalf/Makefile
new file mode 100644
index 000000000000..d0e8f8ad7eec
--- /dev/null
+++ b/math/py-grandalf/Makefile
@@ -0,0 +1,18 @@
+PORTNAME= grandalf
+DISTVERSION= 0.8
+CATEGORIES= math python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Graph and drawing algorithms framework
+WWW= https://github.com/bdcht/grandalf
+
+LICENSE= GPLv2
+
+USES= python
+USE_PYTHON= distutils autoplist
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyparsing>0:devel/py-pyparsing@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/math/py-grandalf/distinfo b/math/py-grandalf/distinfo
new file mode 100644
index 000000000000..3027bcc2a6a7
--- /dev/null
+++ b/math/py-grandalf/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752859612
+SHA256 (grandalf-0.8.tar.gz) = 2813f7aab87f0d20f334a3162ccfbcbf085977134a17a5b516940a93a77ea974
+SIZE (grandalf-0.8.tar.gz) = 38128
diff --git a/math/py-grandalf/files/patch-setup.py b/math/py-grandalf/files/patch-setup.py
new file mode 100644
index 000000000000..795641ece9b4
--- /dev/null
+++ b/math/py-grandalf/files/patch-setup.py
@@ -0,0 +1,10 @@
+--- setup.py.orig 2025-07-18 17:28:03 UTC
++++ setup.py
+@@ -72,7 +72,6 @@ setup(
+ # your project is installed. For an analysis of "install_requires" vs pip's
+ # requirements files see:
+ # https://packaging.python.org/en/latest/requirements.html
+- setup_requires=['pytest-runner',],
+ tests_require=['pytest',],
+
+ install_requires=['pyparsing'],
diff --git a/math/py-grandalf/pkg-descr b/math/py-grandalf/pkg-descr
new file mode 100644
index 000000000000..c6cc12335ca3
--- /dev/null
+++ b/math/py-grandalf/pkg-descr
@@ -0,0 +1,7 @@
+Grandalf is a python package made for experimentations with graphs drawing
+algorithms. It is written in pure python, and currently implements two layouts:
+the Sugiyama hierarchical layout and the force-driven or energy minimization
+approach. While not as fast or featured as graphviz or other libraries like OGDF
+(C++), it provides a way to walk and draw graphs no larger than thousands of
+nodes, while keeping the source code simple enough to make it possible to easily
+tweak and hack any part of it for experimental purpose.