aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2022-08-24 18:36:23 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2022-08-24 18:37:02 +0000
commitef177a7e9a6ee5227dbd474170f02fed98e3fb2c (patch)
tree72f81844d04d43bcfea08019c8c27e3b0fa5ccd0
parentdeda240f1ae2cee73358692cea034e3ad211b7d9 (diff)
downloadports-ef177a7e9a6ee5227dbd474170f02fed98e3fb2c.tar.gz
ports-ef177a7e9a6ee5227dbd474170f02fed98e3fb2c.zip
graphics/glvis: New port: Lightweight tool for accurate & flexible finite element visualization
-rw-r--r--graphics/Makefile1
-rw-r--r--graphics/glvis/Makefile41
-rw-r--r--graphics/glvis/distinfo5
-rw-r--r--graphics/glvis/files/patch-CMakeLists.txt15
-rw-r--r--graphics/glvis/pkg-descr11
5 files changed, 73 insertions, 0 deletions
diff --git a/graphics/Makefile b/graphics/Makefile
index 100f871e58c7..5fc713d14b0d 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -277,6 +277,7 @@
SUBDIR += glosm
SUBDIR += glpng
SUBDIR += glslang
+ SUBDIR += glvis
SUBDIR += glx-utils
SUBDIR += gmic
SUBDIR += gmic-qt
diff --git a/graphics/glvis/Makefile b/graphics/glvis/Makefile
new file mode 100644
index 000000000000..7ce6340ba83d
--- /dev/null
+++ b/graphics/glvis/Makefile
@@ -0,0 +1,41 @@
+PORTNAME= glvis
+DISTVERSION= 4.2
+CATEGORIES= graphics
+MASTER_SITES= https://glvis.github.io/releases/
+PKGNAMESUFFIX= -mesh-visualizer # other software also has the name glvis
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Lightweight tool for accurate & flexible finite element visualization
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= glm>0:math/glm \
+ xxd:editors/vim
+LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
+ libfreetype.so:print/freetype2 \
+ libHYPRE.so:science/hypre \
+ libmetis.so:math/metis \
+ libmfem.so:math/mfem \
+ libpng.so:graphics/png
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}scikit-image>0:graphics/py-scikit-image@${PY_FLAVOR}
+
+USES= cmake:testing gl python:test sdl tar:tgz
+USE_GL= gl glew
+USE_SDL= sdl2
+
+USE_GITHUB= nodefault
+GH_TUPLE= GLVis:data:1fc2954:data/tests/data
+
+CMAKE_TESTING_ON= ENABLE_TESTS # 5 tests fail, likely because test baseline is for ubuntu
+CMAKE_ARGS= -DGLVIS_BASELINE_SYS=ubuntu-20.04 # baseline for tests
+
+PLIST_FILES= bin/${PORTNAME}
+
+BINARY_ALIAS= python3=${PYTHON_CMD}
+
+do-install: # workaround for https://github.com/GLVis/glvis/issues/234
+ ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/glvis ${STAGEDIR}${PREFIX}/bin
+
+.include <bsd.port.mk>
diff --git a/graphics/glvis/distinfo b/graphics/glvis/distinfo
new file mode 100644
index 000000000000..2d22b844cb41
--- /dev/null
+++ b/graphics/glvis/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1661361561
+SHA256 (glvis-4.2.tgz) = 314fb04040cd0a8128d6dac62ba67d7067c2c097364e5747182ee8371049b42a
+SIZE (glvis-4.2.tgz) = 2477717
+SHA256 (GLVis-data-1fc2954_GH0.tar.gz) = 130f75ada7c1b4abebb85f0a60a387456fa532f194f4d196b9ea58d1dfc1189d
+SIZE (GLVis-data-1fc2954_GH0.tar.gz) = 15711923
diff --git a/graphics/glvis/files/patch-CMakeLists.txt b/graphics/glvis/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..725bede416c6
--- /dev/null
+++ b/graphics/glvis/files/patch-CMakeLists.txt
@@ -0,0 +1,15 @@
+--- CMakeLists.txt.orig 2022-08-24 16:49:50 UTC
++++ CMakeLists.txt
+@@ -333,10 +333,12 @@ if(NOT EMSCRIPTEN)
+ install(TARGETS app
+ RUNTIME DESTINATION .
+ BUNDLE DESTINATION .)
++ if (FALSE)
+ install(CODE [[
+ include (BundleUtilities)
+ fixup_bundle("${CMAKE_INSTALL_PREFIX}/GLVis.app" "" "")
+ ]] COMPONENT RUNTIME)
++ endif()
+
+ endif(NOT EMSCRIPTEN)
+
diff --git a/graphics/glvis/pkg-descr b/graphics/glvis/pkg-descr
new file mode 100644
index 000000000000..1d8cf1b133da
--- /dev/null
+++ b/graphics/glvis/pkg-descr
@@ -0,0 +1,11 @@
+GLVis is a lightweight tool for accurate and flexible finite element
+visualization.
+
+Features:
+* Accurate functional representation of many finite elements.
+* Support for arbitrary high-order and NURBS meshes.
+* Desktop, Web and Jupyter versions from the same code base.
+* Server mode accepting multiple socket connections.
+* Visualization of parallel meshes and solutions.
+
+WWW: https://glvis.org/