aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2024-08-29 02:24:58 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2024-08-29 07:11:54 +0000
commitcf6edc826a767a896baf252a0a46e2de1e3a326a (patch)
tree7e72ff57517d9ae9d7b14918a9ef82c5e4f8bcfc
parent438a27189e624c743348521ac673c83cbc3c51fc (diff)
science/py-openEMS: New port: Electromagnetic field solver using the EC-FDTD method
-rw-r--r--science/Makefile1
-rw-r--r--science/py-openEMS/Makefile41
-rw-r--r--science/py-openEMS/distinfo3
-rw-r--r--science/py-openEMS/pkg-descr6
4 files changed, 51 insertions, 0 deletions
diff --git a/science/Makefile b/science/Makefile
index d45832be54ba..240e96c68189 100644
--- a/science/Makefile
+++ b/science/Makefile
@@ -382,6 +382,7 @@
SUBDIR += py-nilearn
SUBDIR += py-obspy
SUBDIR += py-oddt
+ SUBDIR += py-openEMS
SUBDIR += py-openbabel
SUBDIR += py-openpiv
SUBDIR += py-optking
diff --git a/science/py-openEMS/Makefile b/science/py-openEMS/Makefile
new file mode 100644
index 000000000000..b5148025e3a4
--- /dev/null
+++ b/science/py-openEMS/Makefile
@@ -0,0 +1,41 @@
+PORTNAME= openEMS
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.0.36
+CATEGORIES= science
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Electromagnetic field solver using the EC-FDTD method
+WWW= https://www.openems.de/
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/../COPYING
+
+BUILD_DEPENDS= ${NONEXISTENT}:cad/py-csxcad:patch \
+ ${PYTHON_PKGNAMEPREFIX}csxcad>0:cad/py-csxcad@${PY_FLAVOR}
+LIB_DEPENDS= libCSXCAD.so:cad/csxcad \
+ libopenEMS.so:science/openems
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}csxcad>0:cad/py-csxcad@${PY_FLAVOR}
+
+USES= pkgconfig python
+USE_PYTHON= distutils cython autoplist
+
+USE_GITHUB= yes
+GH_ACCOUNT= thliebig
+GH_PROJECT= openEMS
+
+CFLAGS+= -I${WRKSRC} \
+ -I`${MAKE} -C ${PORTSDIR}/cad/py-csxcad -VWRKSRC`
+
+WRKSRC_SUBDIR= python
+
+post-patch:
+ @${CP} ${WRKSRC}/../nf2ff/*.h ${WRKSRC}/openEMS
+ @${CP} ${WRKSRC}/../*.h ${WRKSRC}/openEMS
+
+post-install:
+.for name in _nf2ff openEMS
+ @${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/openEMS/${name}${PYTHON_EXT_SUFFIX}.so
+.endfor
+
+.include <bsd.port.mk>
diff --git a/science/py-openEMS/distinfo b/science/py-openEMS/distinfo
new file mode 100644
index 000000000000..a53eac30191d
--- /dev/null
+++ b/science/py-openEMS/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1698115799
+SHA256 (thliebig-openEMS-v0.0.36_GH0.tar.gz) = ed1aa79e8b435a0e0b14aefc301a9f84dbfed4a42ee1e4829170ccd799f1019b
+SIZE (thliebig-openEMS-v0.0.36_GH0.tar.gz) = 1728767
diff --git a/science/py-openEMS/pkg-descr b/science/py-openEMS/pkg-descr
new file mode 100644
index 000000000000..acbdcdc1766d
--- /dev/null
+++ b/science/py-openEMS/pkg-descr
@@ -0,0 +1,6 @@
+openEMS is a free and open electromagnetic field solver using the FDTD method.
+Matlab or Octave are used as an easy and flexible scripting interface.
+
+It features:
+* fully 3D Cartesian and cylindrical coordinates graded mesh
+* multi-threading, SIMD (SSE) and MPI support for high speed FDTD