diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-10 16:32:22 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-10 16:32:22 +0000 |
commit | e42cadb43b36c86aa14c3d7ba9db674206013bb6 (patch) | |
tree | 48f5a258f02d59350aec6415f270fbcaec9fd526 | |
parent | a536170a33f111a73cc6d083de7f4c419fc03eb7 (diff) |
automatic import of python-grandalf
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-grandalf.spec | 147 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 149 insertions, 0 deletions
@@ -0,0 +1 @@ +/grandalf-0.8.tar.gz diff --git a/python-grandalf.spec b/python-grandalf.spec new file mode 100644 index 0000000..e68b7d3 --- /dev/null +++ b/python-grandalf.spec @@ -0,0 +1,147 @@ +%global _empty_manifest_terminate_build 0 +Name: python-grandalf +Version: 0.8 +Release: 1 +Summary: Graph and drawing algorithms framework +License: GPLv2 | EPLv1 +URL: https://github.com/bdcht/grandalf +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/95/0e/4ac934b416857969f9135dec17ac80660634327e003a870835dd1f382659/grandalf-0.8.tar.gz +BuildArch: noarch + +Requires: python3-pyparsing +Requires: python3-numpy +Requires: python3-ply + +%description + +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 tweak and hack any part of it for experimental purpose. +With a total of about 1500 lines of python, the code involved in +drawing the Sugiyama (dot) layout fits in less than 600 lines. +The energy minimization approach is comprised of only 250 lines! + +Grandalf does only 2 not-so-simple things: + +- computing the nodes (x,y) coordinates + (based on provided nodes dimensions, and a chosen layout) +- routing the edges with lines or nurbs + +It doesn't depend on any GTK/Qt/whatever graphics toolkit. +This means that it will help you find *where* to +draw things like nodes and edges, but it's up to you to actually draw things with +your favorite toolkit. + + + + +%package -n python3-grandalf +Summary: Graph and drawing algorithms framework +Provides: python-grandalf +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-grandalf + +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 tweak and hack any part of it for experimental purpose. +With a total of about 1500 lines of python, the code involved in +drawing the Sugiyama (dot) layout fits in less than 600 lines. +The energy minimization approach is comprised of only 250 lines! + +Grandalf does only 2 not-so-simple things: + +- computing the nodes (x,y) coordinates + (based on provided nodes dimensions, and a chosen layout) +- routing the edges with lines or nurbs + +It doesn't depend on any GTK/Qt/whatever graphics toolkit. +This means that it will help you find *where* to +draw things like nodes and edges, but it's up to you to actually draw things with +your favorite toolkit. + + + + +%package help +Summary: Development documents and examples for grandalf +Provides: python3-grandalf-doc +%description help + +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 tweak and hack any part of it for experimental purpose. +With a total of about 1500 lines of python, the code involved in +drawing the Sugiyama (dot) layout fits in less than 600 lines. +The energy minimization approach is comprised of only 250 lines! + +Grandalf does only 2 not-so-simple things: + +- computing the nodes (x,y) coordinates + (based on provided nodes dimensions, and a chosen layout) +- routing the edges with lines or nurbs + +It doesn't depend on any GTK/Qt/whatever graphics toolkit. +This means that it will help you find *where* to +draw things like nodes and edges, but it's up to you to actually draw things with +your favorite toolkit. + + + + +%prep +%autosetup -n grandalf-0.8 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-grandalf -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.8-1 +- Package Spec generated @@ -0,0 +1 @@ +a1577e1d1945215c01a064eb25259e7c grandalf-0.8.tar.gz |