mirror of
https://git.FreeBSD.org/ports.git
synced 2024-10-18 19:49:40 +00:00
cad/py-ocp: create port
OCP is a Python wrapper for OCCT (OpenCascade) generated using pywrap primarily used by CadQuery. WWW: https://github.com/CadQuery/OCP PR: 248202 Submitted by: Neal Nelson <ports@nicandneal.net>
This commit is contained in:
parent
cf35d3650f
commit
e5e1215114
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=545103
46
cad/py-ocp/Makefile
Normal file
46
cad/py-ocp/Makefile
Normal file
@ -0,0 +1,46 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= ocp
|
||||
DISTVERSION= 7.4-RC2
|
||||
CATEGORIES= cad
|
||||
# Direct access to github is needed because the release added an extra archive which
|
||||
# we need to build from, rather than the initial release.
|
||||
MASTER_SITES= https://github.com/CadQuery/OCP/releases/download/${DISTVERSION}/
|
||||
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
||||
DISTNAME= OCP_src_Linux
|
||||
|
||||
MAINTAINER= ports@nicandneal.net
|
||||
COMMENT= Python wrapper for OCCT generated using pywrap
|
||||
|
||||
LICENSE= APACHE20
|
||||
|
||||
PATCH_DEPENDS= ${LOCALBASE}/include/OpenCASCADE/OpenGl_HaltonSampler.hxx:cad/opencascade
|
||||
LIB_DEPENDS= libTKernel.so:cad/opencascade
|
||||
BUILD_DEPENDS= ${LOCALBASE}/share/cmake/pybind11/pybind11Config.cmake:devel/pybind11 \
|
||||
${PYTHON_SITELIBDIR}/pybind11:devel/py-pybind11@${PY_FLAVOR}
|
||||
|
||||
USES= cmake gl python:3.6+ zip
|
||||
USE_GL= gl glu glut
|
||||
|
||||
WRKSRC= ${WRKDIR}/OCP_src_Ubuntu-16.04
|
||||
|
||||
OCCT= ${LOCALBASE}/include/OpenCASCADE
|
||||
OCCT_LOCAL= ${WRKSRC}/OCCT
|
||||
|
||||
CMAKE_ARGS= -DOPENCASCADE_INCLUDE_DIR=${OCCT} \
|
||||
-DPYTHON_EXECUTABLE=${PYTHON_CMD}
|
||||
|
||||
USE_PYTHON= flavors
|
||||
|
||||
PLIST_FILES= ${PYTHON_SITELIBDIR}/OCP.so
|
||||
|
||||
pre-patch:
|
||||
# Copy and patch a header file with a troublesome C++ standard mismatch.
|
||||
${MKDIR} ${OCCT_LOCAL}
|
||||
${CP} ${OCCT}/OpenGl_HaltonSampler.hxx ${OCCT_LOCAL}
|
||||
|
||||
do-install:
|
||||
@${MKDIR} ${STAGEDIR}${PYTHON_SITELIBDIR}/
|
||||
${INSTALL_LIB} ${BUILD_WRKSRC}/OCP.so ${STAGEDIR}${PYTHON_SITELIBDIR}
|
||||
|
||||
.include <bsd.port.mk>
|
3
cad/py-ocp/distinfo
Normal file
3
cad/py-ocp/distinfo
Normal file
@ -0,0 +1,3 @@
|
||||
TIMESTAMP = 1595488164
|
||||
SHA256 (OCP_src_Linux.zip) = 126953106d7e52d3ec6c606ff3a34ecde5c6598899ab0c31279e185771304192
|
||||
SIZE (OCP_src_Linux.zip) = 50341316
|
12
cad/py-ocp/files/patch-FindOpenCascade.cmake
Normal file
12
cad/py-ocp/files/patch-FindOpenCascade.cmake
Normal file
@ -0,0 +1,12 @@
|
||||
--- FindOpenCascade.cmake.orig 2020-06-12 09:48:04 UTC
|
||||
+++ FindOpenCascade.cmake
|
||||
@@ -69,6 +69,6 @@ foreach( MOD ${OCCT_MODULES})
|
||||
|
||||
endforeach()
|
||||
|
||||
-target_include_directories( OPENCASCADE INTERFACE ${OPENCASCADE_INCLUDE_DIR})
|
||||
+target_include_directories( OPENCASCADE INTERFACE OCCT ${OPENCASCADE_INCLUDE_DIR})
|
||||
|
||||
-find_package_handle_standard_args( OPENCASCADE DEFAULT_MSG OPENCASCADE_LIBRARIES OPENCASCADE_INCLUDE_DIR )
|
||||
\ No newline at end of file
|
||||
+find_package_handle_standard_args( OPENCASCADE DEFAULT_MSG OPENCASCADE_LIBRARIES OPENCASCADE_INCLUDE_DIR )
|
11
cad/py-ocp/files/patch-OCCT_OpenGl__HaltonSampler.hxx
Normal file
11
cad/py-ocp/files/patch-OCCT_OpenGl__HaltonSampler.hxx
Normal file
@ -0,0 +1,11 @@
|
||||
--- OCCT/OpenGl_HaltonSampler.hxx.orig 2020-06-15 08:29:45 UTC
|
||||
+++ OCCT/OpenGl_HaltonSampler.hxx
|
||||
@@ -180,7 +180,7 @@ void OpenGl_HaltonSampler::initRandom (Random_number_g
|
||||
{
|
||||
aPerms[aBase][i] = i;
|
||||
}
|
||||
- std::random_shuffle (aPerms[aBase].begin(), aPerms[aBase].end(), theRand);
|
||||
+ std::shuffle (aPerms[aBase].begin(), aPerms[aBase].end(), theRand);
|
||||
}
|
||||
initTables (aPerms);
|
||||
}
|
17
cad/py-ocp/files/patch-Standard.cpp
Normal file
17
cad/py-ocp/files/patch-Standard.cpp
Normal file
@ -0,0 +1,17 @@
|
||||
--- Standard.cpp.orig 2020-05-29 13:26:32 UTC
|
||||
+++ Standard.cpp
|
||||
@@ -902,10 +902,10 @@ py::module m = static_cast<py::module>(main_module.att
|
||||
R"#(None)#" , py::arg("theOne"), py::arg("theTwo")
|
||||
);
|
||||
// ./opencascade/Standard_Time.hxx
|
||||
- m.def("IsEqual",
|
||||
- (Standard_Boolean (*)( const Standard_Time , const Standard_Time )) static_cast<Standard_Boolean (*)( const Standard_Time , const Standard_Time )>(&IsEqual),
|
||||
- R"#(None)#" , py::arg("theOne"), py::arg("theTwo")
|
||||
- );
|
||||
+// m.def("IsEqual",
|
||||
+// (Standard_Boolean (*)( const Standard_Time , const Standard_Time )) static_cast<Standard_Boolean (*)( const Standard_Time , const Standard_Time )>(&IsEqual),
|
||||
+// R"#(None)#" , py::arg("theOne"), py::arg("theTwo")
|
||||
+// );
|
||||
// ./opencascade/Standard_NullValue.hxx
|
||||
// ./opencascade/Standard_DefineHandle.hxx
|
||||
// ./opencascade/Standard_Mutex.hxx
|
4
cad/py-ocp/pkg-descr
Normal file
4
cad/py-ocp/pkg-descr
Normal file
@ -0,0 +1,4 @@
|
||||
OCP is a Python wrapper for OCCT (OpenCascade) generated using pywrap
|
||||
primarily used by CadQuery.
|
||||
|
||||
WWW: https://github.com/CadQuery/OCP
|
Loading…
Reference in New Issue
Block a user