aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2022-12-20 08:12:31 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2022-12-20 08:13:24 +0000
commit33e01a0d93923258aae9c17ddee068c2190ea1fe (patch)
treeaa47e23ee41305472e96273b51e0e983bcca9fe6
parentf429ff827caad0247fc6b3f6491c5bc5348db9f2 (diff)
downloadports-33e01a0d93923258aae9c17ddee068c2190ea1fe.tar.gz
ports-33e01a0d93923258aae9c17ddee068c2190ea1fe.zip
cad/py-pygmsh: New port: Python frontend for Gmsh (on top of Gmsh's own binding)
-rw-r--r--cad/Makefile1
-rw-r--r--cad/py-pygmsh/Makefile31
-rw-r--r--cad/py-pygmsh/distinfo3
-rw-r--r--cad/py-pygmsh/pkg-descr11
4 files changed, 46 insertions, 0 deletions
diff --git a/cad/Makefile b/cad/Makefile
index c0a9a1865503..9254083d4b54 100644
--- a/cad/Makefile
+++ b/cad/Makefile
@@ -111,6 +111,7 @@
SUBDIR += py-ocp
SUBDIR += py-phidl
SUBDIR += py-pyfda
+ SUBDIR += py-pygmsh
SUBDIR += py-pymtl
SUBDIR += python-gdsii
SUBDIR += qcad
diff --git a/cad/py-pygmsh/Makefile b/cad/py-pygmsh/Makefile
new file mode 100644
index 000000000000..06da8a63cb7c
--- /dev/null
+++ b/cad/py-pygmsh/Makefile
@@ -0,0 +1,31 @@
+PORTNAME= pygmsh
+DISTVERSION= 7.1.17
+CATEGORIES= cad python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Python frontend for Gmsh (on top of Gmsh's own binding)
+WWW= https://github.com/meshpro/pygmsh
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+PY_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gmsh>0:cad/py-gmsh@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}meshio>=4.3.2:science/py-meshio@${PY_FLAVOR} \
+ ${PYNUMPY}
+BUILD_DEPENDS= ${PY_DEPENDS}
+RUN_DEPENDS= ${PY_DEPENDS}
+
+USES= python:3.7+
+USE_PYTHON= distutils autoplist pytest # 1 error and many warnings in tests, see https://github.com/meshpro/pygmsh/issues/564
+
+NO_ARCH= yes
+
+pre-configure:
+ @( \
+ ${ECHO} "from setuptools import setup" && \
+ ${ECHO} "setup()" \
+ ) > ${WRKSRC}/setup.py
+
+.include <bsd.port.mk>
diff --git a/cad/py-pygmsh/distinfo b/cad/py-pygmsh/distinfo
new file mode 100644
index 000000000000..f32761cac6ce
--- /dev/null
+++ b/cad/py-pygmsh/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1671510101
+SHA256 (pygmsh-7.1.17.tar.gz) = 563724abff4f8517598d3354b9c795feddbe0675786145bfeaf20cbee6691c1d
+SIZE (pygmsh-7.1.17.tar.gz) = 61707
diff --git a/cad/py-pygmsh/pkg-descr b/cad/py-pygmsh/pkg-descr
new file mode 100644
index 000000000000..47fa2458a083
--- /dev/null
+++ b/cad/py-pygmsh/pkg-descr
@@ -0,0 +1,11 @@
+Gmsh is a free 3D finite element grid generator with a build-in CAD engine and
+post-processor. Its design goal is to provide a fast, light and user-friendly
+meshing tool with parametric input and advanced visualization capabilities. Gmsh
+is built around four modules: geometry, mesh, solver and post-processing. The
+specification of any input to these modules is done either interactively using
+the graphical user interface or in ASCII text files using Gmsh's own scripting
+language.
+
+pygmsh combines the power of Gmsh with the versatility of Python. It provides
+useful abstractions from Gmsh's own Python interface (cad/py-gmsh) so you can
+create complex geometries more easily.