summaryrefslogtreecommitdiff
path: root/math/py-topologic
diff options
context:
space:
mode:
Diffstat (limited to 'math/py-topologic')
-rw-r--r--math/py-topologic/Makefile26
-rw-r--r--math/py-topologic/distinfo6
-rw-r--r--math/py-topologic/files/patch-CMakeLists.txt38
3 files changed, 57 insertions, 13 deletions
diff --git a/math/py-topologic/Makefile b/math/py-topologic/Makefile
index b0d03f7b23ed..c0120d79b79b 100644
--- a/math/py-topologic/Makefile
+++ b/math/py-topologic/Makefile
@@ -1,7 +1,6 @@
PORTNAME= topologic
DISTVERSIONPREFIX= v
-DISTVERSION= 0.6.0
-PORTREVISION= 3
+DISTVERSION= 6.0.2
CATEGORIES= math
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
PKGNAMESUFFIX= -space-modeling-library
@@ -13,8 +12,8 @@ WWW= https://topologic.app/
LICENSE= AGPLv3
LICENSE_FILE= ${WRKSRC}/../LICENSE
-LIB_DEPENDS= libTopologicCore.so:math/topologic \
- libTKernel.so:cad/opencascade
+BUILD_DEPENDS= pybind11>0:devel/pybind11
+LIB_DEPENDS= libTopologicCore.so:math/topologic
USES= cmake compiler:c++17-lang localbase:ldflags python
@@ -22,17 +21,24 @@ USE_GITHUB= yes
GH_ACCOUNT= wassimj
GH_PROJECT= Topologic
-WRKSRC_SUBDIR= Python-Bindings
+WRKSRC_SUBDIR= TopologicPythonBindings
-CXXFLAGS+= -I${LOCALBASE}/include/OpenCASCADE
+CXXFLAGS+= -I${LOCALBASE}/include/OpenCASCADE \
+ -I${LOCALBASE}/include/TopologicCore
+LDFLAGS+= -L${LOCALBASE}/lib/TopologicCore
-PLIST_FILES= ${PYTHON_SITELIBDIR}/topologic${PYTHON_EXT_SUFFIX}.so
+PLIST_FILES= ${PYTHON_SITELIBDIR}/topologic_core${PYTHON_EXT_SUFFIX}.so
+
+TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
do-install: # workaround for https://github.com/wassimj/Topologic/issues/34
${MKDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
- ${INSTALL_LIB} ${BUILD_WRKSRC}/topologic${PYTHON_EXT_SUFFIX}.so ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+ ${INSTALL_LIB} ${BUILD_WRKSRC}/topologic_core${PYTHON_EXT_SUFFIX}.so ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
-do-test: install
- ${PYTHON_CMD} ${WRKSRC}/test/topologictest01.py
+do-test:
+.for tst in topologictest01 topologictest02
+ ${ECHO} "====> Running test ${tst}"
+ ${SETENV} ${TEST_ENV} ${PYTHON_CMD} ${WRKSRC}/test/${tst}.py
+.endfor
.include <bsd.port.mk>
diff --git a/math/py-topologic/distinfo b/math/py-topologic/distinfo
index 3350d9e594fe..c332b42ebe53 100644
--- a/math/py-topologic/distinfo
+++ b/math/py-topologic/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1650340528
-SHA256 (wassimj-Topologic-v0.6.0_GH0.tar.gz) = 48f7f96c9d1552aa8bc1cf3336c0713aa8c1db3e42842a982e4748756d4107c9
-SIZE (wassimj-Topologic-v0.6.0_GH0.tar.gz) = 3848281
+TIMESTAMP = 1714893793
+SHA256 (wassimj-Topologic-v6.0.2_GH0.tar.gz) = 5a56c4847879e43d82e28db4d7f113e68d0f19bd9532aefcebeb6df92441058f
+SIZE (wassimj-Topologic-v6.0.2_GH0.tar.gz) = 274112
diff --git a/math/py-topologic/files/patch-CMakeLists.txt b/math/py-topologic/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..15cf231be73b
--- /dev/null
+++ b/math/py-topologic/files/patch-CMakeLists.txt
@@ -0,0 +1,38 @@
+--- CMakeLists.txt.orig 2024-05-04 20:00:40 UTC
++++ CMakeLists.txt
+@@ -4,9 +4,7 @@ set(PROJECT_NAMESPACE Topologic)
+ set(PROJECT_NAMESPACE Topologic)
+
+
+-# Import pybind11
+-set(PYBIND11_FINDPYTHON ON)
+-add_subdirectory(pybind11)
++find_Package(pybind11 REQUIRED)
+
+
+ # Source groups
+@@ -50,12 +48,14 @@ target_include_directories(${PROJECT_NAME} PRIVATE ${P
+ target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/include)
+
+ # Import TopologicCore from parent dir when not building from global project
++if (FALSE)
+ if(NOT TARGET ${PROJECT_NAMESPACE}::TopologicCore)
+ add_subdirectory(${PROJECT_SOURCE_DIR}/../TopologicCore ${PROJECT_BINARY_DIR}/TopologicCore)
+ endif()
++endif()
+
+ # Dependency: TopologicCore
+-target_link_libraries(${PROJECT_NAME} PRIVATE ${PROJECT_NAMESPACE}::TopologicCore)
++target_link_libraries(${PROJECT_NAME} PRIVATE TopologicCore)
+
+
+ # install definitions
+@@ -66,7 +66,7 @@ install(TARGETS ${PROJECT_NAME}
+
+ # set install rpaths to origin if TopologicCore is built as a shared lib
+ # in this case TopologicCore is expected to be copied into the TopologicPythonBindings install dir post-install
+-get_property(TopologicCore_TARGET_TYPE TARGET TopologicCore PROPERTY TYPE)
++set(TopologicCore_TARGET_TYPE SHARED_LIBRARY)
+ if (${TopologicCore_TARGET_TYPE} STREQUAL SHARED_LIBRARY)
+ if(NOT CMAKE_INSTALL_RPATH)
+ if(NOT APPLE)