git: 17a9a3ddba56 - main - cad/py-csxcad: New port: C++ library to describe geometrical objects

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Wed, 28 Aug 2024 15:24:07 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=17a9a3ddba56c1a407611c5922bfb96840bb966a

commit 17a9a3ddba56c1a407611c5922bfb96840bb966a
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2024-08-28 15:04:32 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2024-08-28 15:24:04 +0000

    cad/py-csxcad: New port: C++ library to describe geometrical objects
---
 cad/Makefile                       |  1 +
 cad/py-csxcad/Makefile             | 35 +++++++++++++++++++++++++++++++++++
 cad/py-csxcad/distinfo             |  3 +++
 cad/py-csxcad/files/patch-setup.py |  9 +++++++++
 cad/py-csxcad/pkg-descr            |  2 ++
 5 files changed, 50 insertions(+)

diff --git a/cad/Makefile b/cad/Makefile
index f43f0c101c4f..1e4d7e8b0008 100644
--- a/cad/Makefile
+++ b/cad/Makefile
@@ -107,6 +107,7 @@
     SUBDIR += pdnmesh
     SUBDIR += py-amaranth
     SUBDIR += py-cocotb
+    SUBDIR += py-csxcad
     SUBDIR += py-edalize
     SUBDIR += py-ezdxf
     SUBDIR += py-gdspy
diff --git a/cad/py-csxcad/Makefile b/cad/py-csxcad/Makefile
new file mode 100644
index 000000000000..ea0d0678d6b5
--- /dev/null
+++ b/cad/py-csxcad/Makefile
@@ -0,0 +1,35 @@
+PORTNAME=	csxcad
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.6.3
+CATEGORIES=	cad
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	C++ library to describe geometrical objects
+WWW=		https://github.com/thliebig/CSXCAD
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/../COPYING
+
+LIB_DEPENDS=	libCSXCAD.so:cad/csxcad
+
+USES=		python
+USE_PYTHON=	distutils cython autoplist
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	thliebig
+GH_PROJECT=	${PORTNAME:tu}
+
+CFLAGS+=	-I${WRKSRC}
+
+WRKSRC_SUBDIR=	python
+
+post-patch:
+	@${CP} ${WRKSRC}/../src/*.h ${WRKSRC}/CSXCAD 
+
+post-install:
+.for name in CSPrimitives CSProperties CSRectGrid CSTransform CSXCAD ParameterObjects Utilities
+	@${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/CSXCAD/${name}${PYTHON_EXT_SUFFIX}.so
+.endfor
+
+.include <bsd.port.mk>
diff --git a/cad/py-csxcad/distinfo b/cad/py-csxcad/distinfo
new file mode 100644
index 000000000000..b776072465c6
--- /dev/null
+++ b/cad/py-csxcad/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1724829496
+SHA256 (thliebig-CSXCAD-v0.6.3_GH0.tar.gz) = 48ab6ffd19164d473655066468fc4c1e4616c6db7e53d208390f3a8d40b90be7
+SIZE (thliebig-CSXCAD-v0.6.3_GH0.tar.gz) = 169861
diff --git a/cad/py-csxcad/files/patch-setup.py b/cad/py-csxcad/files/patch-setup.py
new file mode 100644
index 000000000000..c54c871cb7fe
--- /dev/null
+++ b/cad/py-csxcad/files/patch-setup.py
@@ -0,0 +1,9 @@
+--- setup.py.orig	2021-08-20 05:54:02 UTC
++++ setup.py
+@@ -33,5 +33,5 @@ setup(
+   url = 'http://openEMS.de',
+   packages=["CSXCAD", ],
+   package_data={'CSXCAD': ['*.pxd']},
+-  ext_modules = cythonize(extensions)
++  ext_modules = cythonize(extensions, language_level=3)
+  )
diff --git a/cad/py-csxcad/pkg-descr b/cad/py-csxcad/pkg-descr
new file mode 100644
index 000000000000..e75ff35a5e24
--- /dev/null
+++ b/cad/py-csxcad/pkg-descr
@@ -0,0 +1,2 @@
+CSXCAD, Continuous Structure XML, is a C++ library to describe geometrical
+objects and their physical or non-physical properties.