From 54b2066008405458a17ccfe1b95c961adfe00e21 Mon Sep 17 00:00:00 2001 From: Yuri Victorovich Date: Fri, 22 Jan 2021 20:43:02 +0000 Subject: [PATCH] Re-add port: graphics/py-mayavi: Application and library for 3D visualization and plotting in Python --- MOVED | 1 - graphics/Makefile | 1 + graphics/py-mayavi/Makefile | 53 ++++++++++++++++++++ graphics/py-mayavi/distinfo | 3 ++ graphics/py-mayavi/files/patch-setup.py | 17 +++++++ graphics/py-mayavi/files/patch-tvtk_setup.py | 11 ++++ graphics/py-mayavi/pkg-descr | 17 +++++++ 7 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 graphics/py-mayavi/Makefile create mode 100644 graphics/py-mayavi/distinfo create mode 100644 graphics/py-mayavi/files/patch-setup.py create mode 100644 graphics/py-mayavi/files/patch-tvtk_setup.py create mode 100644 graphics/py-mayavi/pkg-descr diff --git a/MOVED b/MOVED index 3080033dc938..7be5254f1691 100644 --- a/MOVED +++ b/MOVED @@ -15501,7 +15501,6 @@ graphics/cloudcompare||2020-09-19|Has expired: Uses deprecated version of python graphics/kudu||2020-09-19|Has expired: Uses deprecated version of python graphics/pecomato||2020-09-19|Has expired: Uses deprecated version of python graphics/py-editobj||2020-09-19|Has expired: Uses deprecated version of python -graphics/py-mayavi||2020-09-19|Has expired: Uses deprecated version of python graphics/pymorph||2020-09-19|Has expired: Uses deprecated version of python graphics/tilecache||2020-09-19|Has expired: Uses deprecated version of python japanese/mailman||2020-09-19|Has expired: Uses deprecated version of python diff --git a/graphics/Makefile b/graphics/Makefile index 0d7a5587f8a6..3b1cc012e357 100644 --- a/graphics/Makefile +++ b/graphics/Makefile @@ -846,6 +846,7 @@ SUBDIR += py-img2pdf SUBDIR += py-leather SUBDIR += py-mapclassify + SUBDIR += py-mayavi SUBDIR += py-mcomix SUBDIR += py-mgwr SUBDIR += py-ming diff --git a/graphics/py-mayavi/Makefile b/graphics/py-mayavi/Makefile new file mode 100644 index 000000000000..8f7f9cae11c5 --- /dev/null +++ b/graphics/py-mayavi/Makefile @@ -0,0 +1,53 @@ +# Created by: Vladimir Chukharev +# $FreeBSD$ + +PORTNAME= mayavi +DISTVERSION= 4.7.2 +CATEGORIES= graphics science python +MASTER_SITES= CHEESESHOP +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Application and library for 3D visualization and plotting in Python + +LICENSE= BSD3CLAUSE LGPL21 LGPL20 EPL LGPL3 BSD2CLAUSE APACHE11 # see ${WRKSRC}/image_LICENSE.txt +LICENSE_COMB= multi +LICENSE_FILE_BSD3CLAUSE= ${WRKSRC}/LICENSE.txt +LICENSE_FILE_LGPL21= ${WRKSRC}/image_LICENSE_Nuvola.txt +LICENSE_FILE_LGPL20= ${WRKSRC}/image_LICENSE_CP.txt +LICENSE_FILE_EPL= ${WRKSRC}/image_LICENSE_Eclipse.txt +LICENSE_FILE_LGPL3= ${WRKSRC}/image_LICENSE_OOo.txt +LICENSE_FILE_BSD2CLAUSE= ${WRKSRC}/LICENSE_YORICK.txt +LICENSE_FILE_APACHE11= ${WRKSRC}/LICENSE_COLORBREWER.txt + +BUILD_DEPENDS= vtk9>0:math/vtk9 \ + ${PYNUMPY} \ + ${PY_SPHINX} +RUN_DEPENDS= vtk9>0:math/vtk9 \ + ${PYNUMPY} \ + ${PYTHON_PKGNAMEPREFIX}apptools>0:devel/py-apptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}envisage>0:devel/py-envisage@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pyface>=6.0.0:devel/py-pyface@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pygments>0:textproc/py-pygments@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}traits>=4.6.0:devel/py-traits@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}traitsui>=6.0.0:graphics/py-traitsui@${PY_FLAVOR} + +USES= python shebangfix +USE_PYTHON= noflavors distutils concurrent autoplist # noflavors to force python to be of the same version as in vtk9, which always has default python version + +USE_WX= 3.0+ +WX_COMPS= python:run + +SHEBANG_FILES= mayavi/tests/csv_files/csv_2_py + +POST_PLIST= fix-plist + +post-install: + ${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/tvtk/array_ext.so + +fix-plist: + @${REINPLACE_CMD} -e "s|${PYTHONPREFIX_SITELIBDIR:S/${PREFIX}\///}/mayavi/preferences/__pycache__$$||" ${TMPPLIST} + @${REINPLACE_CMD} -e "s|${PYTHONPREFIX_SITELIBDIR:S/${PREFIX}\///}/tvtk/plugins/scene/__pycache__$$||" ${TMPPLIST} + +.include diff --git a/graphics/py-mayavi/distinfo b/graphics/py-mayavi/distinfo new file mode 100644 index 000000000000..f78c414b471b --- /dev/null +++ b/graphics/py-mayavi/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1611297644 +SHA256 (mayavi-4.7.2.tar.gz) = a207290757495c0eccab7f451d75b87792481cd417498ec4d2c49eb1593cb373 +SIZE (mayavi-4.7.2.tar.gz) = 7119909 diff --git a/graphics/py-mayavi/files/patch-setup.py b/graphics/py-mayavi/files/patch-setup.py new file mode 100644 index 000000000000..310be4df1bed --- /dev/null +++ b/graphics/py-mayavi/files/patch-setup.py @@ -0,0 +1,17 @@ +--- setup.py.orig 2016-08-01 19:02:36 UTC ++++ setup.py +@@ -403,12 +403,12 @@ def configuration(parent_package=None, t + config.add_data_dir('mayavi/core/lut') + config.add_data_dir('mayavi/tests/data') + config.add_data_dir('mayavi/tests/csv_files') +- config.add_data_dir('mayavi/tools/static') ++ config.add_data_dir('mayavi/tools/static/x3d') + + # Image files. + for pkgdir in ('mayavi', 'tvtk'): + for root, dirs, files in os.walk(pkgdir): +- if split(root)[-1] == 'images': ++ if (split(root)[-1] == 'images') and files: + config.add_data_dir(root) + + # *.ini files. diff --git a/graphics/py-mayavi/files/patch-tvtk_setup.py b/graphics/py-mayavi/files/patch-tvtk_setup.py new file mode 100644 index 000000000000..0be4fc50cc0c --- /dev/null +++ b/graphics/py-mayavi/files/patch-tvtk_setup.py @@ -0,0 +1,11 @@ +--- tvtk/setup.py.orig 2016-08-01 19:02:36 UTC ++++ tvtk/setup.py +@@ -20,7 +20,7 @@ def configuration(parent_package=None, t + config.add_subpackage('custom') + config.add_subpackage('pipeline') + config.add_data_dir('pipeline/images') +- config.add_data_dir('pyface/images') ++# config.add_data_dir('pyface/images') + config.add_data_dir('tools/images') + + config.add_subpackage('plugins') diff --git a/graphics/py-mayavi/pkg-descr b/graphics/py-mayavi/pkg-descr new file mode 100644 index 000000000000..024358a4e2c3 --- /dev/null +++ b/graphics/py-mayavi/pkg-descr @@ -0,0 +1,17 @@ +3D Scientific Data Visualization and Plotting. + +The Mayavi project includes two related packages for 3-dimensional +visualization: + Mayavi: A tool for easy and interactive visualization of data, with + seamless integration with Python scientific libraries. + TVTK: A Traits-based wrapper for the Visualization Toolkit, a popular + open-source visualization library. + +These libraries operate at different levels of abstraction. TVTK +manipulates visualization objects, while Mayavi lets you operate +on your data, and then see the results. Most users either use the +Mayavi user interface or program to its scripting interface; you +probably don't need to interact with TVTK unless you want to create +a new Mayavi module. + +WWW: http://code.enthought.com/pages/mayavi-project.html