Bug 241510 - [NEW PORT] graphics/py-visvis: Object oriented approach to visualization of 1D to 4D data
Summary: [NEW PORT] graphics/py-visvis: Object oriented approach to visualization of 1...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Po-Chuan Hsieh
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-10-26 20:09 UTC by Rainer Hurling
Modified: 2019-12-28 07:59 UTC (History)
1 user (show)

See Also:


Attachments
shar file for new port graphics/py-visvis (2.51 KB, text/plain)
2019-10-26 20:09 UTC, Rainer Hurling
rhurlin: maintainer-approval+
Details
patch for graphics/py-visvis for regeneration after deprecation (3.09 KB, patch)
2019-12-26 21:17 UTC, Rainer Hurling
rhurlin: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Rainer Hurling freebsd_committer freebsd_triage 2019-10-26 20:09:15 UTC
Created attachment 208616 [details]
shar file for new port graphics/py-visvis

Visvis[1] is a pure Python library for visualization of 1D to 4D data in an object oriented way. Essentially, visvis is an object oriented layer of Python on top of OpenGl, thereby combining the power of OpenGl with the usability of Python. A Matlab-like interface in the form of a set of functions allows easy creation of objects (e.g. plot(), imshow(), volshow(), surf()).

With visvis a range of different data can be visualized by simply adding world objects to a scene (or axes). These world objects can be anything from plots (lines with markers), to images, 3D rendered volumes, shaded meshes, or you can program your own world object class. If required, these data can also be moved in time.


The port is needed as a dependency for plugins (i.e. RasterTool[2]) of graphics/qgis[3].


[1] https://pypi.org/project/visvis/
[2] https://github.com/aishwaryahegde29/RasterTool_Qgis
[3] https://www.freshports.org/graphics/qgis


The patch is tested on Poudriere (11.3i/a, 12.0i/a, and HEADi/a),
'portlint -AC' seems happy.
Comment 1 Po-Chuan Hsieh freebsd_committer freebsd_triage 2019-10-27 11:50:46 UTC
Do you mean USES=pyqt:5 instead of USES=qt:5 in attachment 208616 [details]?
Comment 2 Rainer Hurling freebsd_committer freebsd_triage 2019-10-27 12:06:14 UTC
(In reply to Sunpoet Po-Chuan Hsieh from comment #1)

To be honest, I not really know if it is sufficient to only use USES=pyqt:5. There is a big chance, that you are right. So feel free to change it, many thanks.

I am also unsure, if 'USE_PYQT=core gui' is sufficient or if we need more PYQT modules. Is there any way we can test for it?

Many thanks for assigning the port!
Comment 3 Po-Chuan Hsieh freebsd_committer freebsd_triage 2019-11-13 23:48:28 UTC
Committed. Thanks!
Comment 4 commit-hook freebsd_committer freebsd_triage 2019-11-13 23:48:28 UTC
A commit references this bug:

Author: sunpoet
Date: Wed Nov 13 23:47:28 UTC 2019
New revision: 517537
URL: https://svnweb.freebsd.org/changeset/ports/517537

Log:
  Add py-visvis 1.12.2

  Visvis is a pure Python library for visualization of 1D to 4D data in an bject
  oriented way. Essentially, visvis is an object oriented layer of Python on top
  of OpenGl, thereby combining the power of OpenGl with the usability of Python. A
  Matlab-like interface in the form of a set of functions allows easy creation of
  objects (e.g. plot(), imshow(), volshow(), surf()).

  With visvis a range of different data can be visualized by simply adding world
  objects to a scene (or axes). These world objects can be anything from plots
  (lines with markers), to images, 3D rendered volumes, shaded meshes, or you can
  program your own world object class. If required, these data can also be moved
  in time.

  WWW: https://github.com/almarklein/visvis

  - While I'm here:
    - Fix LICENSE
    - Add LICENSE_FILE
    - Use PYNUMPY
    - Add missing USES=pyqt:5

  PR:		241510
  Submitted by:	Rainer Hurling <rhurlin@gwdg.de>

Changes:
  head/graphics/Makefile
  head/graphics/py-visvis/
  head/graphics/py-visvis/1
  head/graphics/py-visvis/2
  head/graphics/py-visvis/Makefile
  head/graphics/py-visvis/distinfo
  head/graphics/py-visvis/pkg-descr
Comment 5 Jan Beich freebsd_committer freebsd_triage 2019-11-15 22:48:30 UTC
Backed out in ports r517555.

$ poudriere bulk -j 113i386 -a
...
[00:01:55] Calculating ports order and dependencies
[00:02:02] Error: compute_deps_pkg failed to lookup pkgname for graphics/py-imageio@py27 processing package py27-visvis-1.12.2 from graphics/py-visvis@py27 -- Is SUBDIR+=py-imageio@py27 missing in graphics/Makefile and does the port provide the 'py27' FLAVOR?
[00:02:02] Error: compute_deps_pkg failed to lookup existing pkgname for graphics/py-imageio@py27 processing package py27-visvis-1.12.2
[00:02:02] Error: Fatal errors encountered calculating dependencies
[00:02:02] Cleaning up
[00:02:03] Unmounting file systems

(In reply to commit-hook from comment #4)
>  head/graphics/py-visvis/1
>  head/graphics/py-visvis/2

What are these files?
Comment 6 Rainer Hurling freebsd_committer freebsd_triage 2019-11-17 11:04:56 UTC
(In reply to Jan Beich from comment #5)

Before preparing a new shar file, I have a question to @sunpoet concerning the graphics/py-imageio dependency:

Looking into multimedia/py-moviepy, a port he maintains, there is a rule to use graphics/py-imageio only for Python >= 3.4, and to use graphics/py-imageio24 otherwise. If this is true also for graphics/py-visvis, shouldn't I change my Makefile into the following? This would explain the error message, Jan Beich reported in comment #5.


#diff -urN Makefile.orig Makefile
--- Makefile.orig	2019-11-14 06:32:39.000000000 +0100
+++ Makefile	2019-11-17 11:52:55.056980000 +0100
@@ -13,8 +13,7 @@
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/license.txt
 
-RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}imageio>=0:graphics/py-imageio@${PY_FLAVOR} \
-		${PYNUMPY} \
+RUN_DEPENDS=	${PYNUMPY} \
 		${PYTHON_PKGNAMEPREFIX}PyOpenGL>=0:graphics/py-PyOpenGL@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pyside2>=0:devel/pyside2@${PY_FLAVOR}
 LIB_DEPENDS=	libfltk.so:x11-toolkits/fltk
@@ -26,5 +25,13 @@
 USE_WX=		3.0+
 
 NO_ARCH=	yes
+
+.include <bsd.port.pre.mk>
+
+.if ${PYTHON_REL} >= 3400
+RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}imageio>=2.5<3.0:graphics/py-imageio@${PY_FLAVOR}
+.else
+RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}imageio24>=2.0<2.5:graphics/py-imageio24@${PY_FLAVOR}
+.endif
 
 .include <bsd.port.mk>


Files '1' and '2' are committed by mistake, aren't they?
Comment 7 Rainer Hurling freebsd_committer freebsd_triage 2019-12-26 21:17:45 UTC
Created attachment 210240 [details]
patch for graphics/py-visvis for regeneration after deprecation

This is mainly the same as in comment #6, without the ominously files '1' and '2'.

It would be nice, if the port could be revived.
Comment 8 commit-hook freebsd_committer freebsd_triage 2019-12-28 07:43:24 UTC
A commit references this bug:

Author: sunpoet
Date: Sat Dec 28 07:43:06 UTC 2019
New revision: 521201
URL: https://svnweb.freebsd.org/changeset/ports/521201

Log:
  Readd py-visvis 1.12.2

  - While I'm here:
    - Fix LICENSE
    - Add LICENSE_FILE
    - Use PYNUMPY
    - Add missing USES=pyqt:5

  PR:		241510
  Submitted by:	Rainer Hurling <rhurlin@gwdg.de>

Changes:
  head/graphics/Makefile
  head/graphics/py-visvis/
  head/graphics/py-visvis/1
  head/graphics/py-visvis/2
  head/graphics/py-visvis/Makefile
  head/graphics/py-visvis/pkg-descr
Comment 9 Po-Chuan Hsieh freebsd_committer freebsd_triage 2019-12-28 07:58:12 UTC
Committed. Thanks!
Comment 10 Po-Chuan Hsieh freebsd_committer freebsd_triage 2019-12-28 07:59:05 UTC
(In reply to Rainer Hurling from comment #7)

Sorry for the long delay.