diff --git a/cad/opencascade/Makefile b/cad/opencascade/Makefile index 29bf7a6099a6..dd0530ac92f8 100644 --- a/cad/opencascade/Makefile +++ b/cad/opencascade/Makefile @@ -1,179 +1,185 @@ # Created by: Thierry Thomas PORTNAME= opencascade PORTVERSION= 7.6.0 -PORTREVISION= 6 +PORTREVISION= 7 CATEGORIES= cad science MASTER_SITES= LOCAL/thierry MAINTAINER= thierry@FreeBSD.org COMMENT= Open CASCADE Technology, 3D modeling & numerical simulation LICENSE= OCTPL LICENSE_NAME= LGPL21 with exception LICENSE_FILE= ${WRKSRC}/OCCT_LGPL_EXCEPTION.txt LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept BUILD_DEPENDS= rapidjson>0:devel/rapidjson \ ${LOCALBASE}/lib/qt5/bin/qmake:devel/qt5-qmake \ ${LOCALBASE}/lib/qt5/bin/moc:devel/qt5-buildtools LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 \ libexpat.so:textproc/expat2 \ libpng16.so:graphics/png \ libvtksys-${VTKVER}.so:math/vtk${VTKVER:R} RUN_DEPENDS= bash:shells/bash # Check ${WRKSRC}/dox/overview/overview.md # and ${WRKSRC}/dox/dev_guides/building USES= alias:10 cmake compiler:c++14-lang dos2unix gettext-runtime \ gl gnome localbase python qt:5 shebangfix tk tar:tgz xorg USE_XORG= ice sm x11 xau xcb xdmcp xext xft xi xmu xrender xscrnsaver xt USE_GL= egl gl glesv2 glu USE_GNOME= libxml2 DOS2UNIX_FILES= adm/templates/* SHEBANG_FILES= adm/templates/*.sh \ adm/templates/*.sh.in \ adm/templates/*.sh.main \ adm/genconf.tcl \ adm/start.tcl \ gendoc ENVSH= adm/templates/env.sh VTKVER= 9.1 OPTIONS_DEFINE= DOCS DOXYGEN FFMPEG VIS VIS_DESC= Build Visualizazion module (requires OpenGL, freetype, ftgl) OPTIONS_DEFAULT=FFMPEG VIS OPTIONS_SUB= yes REINPLACE_ARGS= -i "" LDFLAGS+= -Wl,--allow-shlib-undefined -lexecinfo CMAKE_ARGS+= -DINSTALL_DIR=${OCCROOT} \ -DINSTALL_DIR_INCLUDE=${PREFIX}/include/OpenCASCADE \ -DINSTALL_DIR_LIB=${PREFIX}/lib \ -DINSTALL_DIR_CMAKE=${PREFIX}/lib/cmake \ -DINSTALL_DIR_DATA=${OCCROOT}/data \ -DINSTALL_DIR_RESOURCE=${OCCROOT}/resources \ -DINSTALL_DIR_SAMPLES=${OCCROOT}/samples \ -DINSTALL_DIR_TESTS=${OCCROOT}/tests \ -DINSTALL_TEST_CASES:BOOL=ON \ -DUSE_FREETYPE:BOOL=ON \ -DUSE_TBB:BOOL=OFF \ -DUSE_RAPIDJSON:BOOL=ON \ -DUSE_VTK:BOOL=ON \ -D3RDPARTY_VTK_INCLUDE_DIR:PATH=${LOCALBASE}/include/vtk-${VTKVER} +CONFIGURE_ENV+= DESTDIR=${STAGEDIR} + +.if defined(MAINTAINER_MODE) +CMAKE_ARGS+= -DCMAKE_MESSAGE_CONTEXT_SHOW:BOOL=ON \ + -DCMAKE_MESSAGE_LOG_LEVEL:STRING=DEBUG +.endif # TODO: TBB to be replaced by onetbb later #CMAKE_ARGS+= -DUSE_EIGEN:BOOL=ON -DUSE_TBB:BOOL=ON #USES+= eigen:3 #LIB_DEPENDS+= libtbb.so:devel/tbb USE_LDCONFIG= yes CONFLICTS_INSTALL= opencascade740 # OpenCAS/bin/DRAWEXE LOCCROOT= OpenCAS OCCROOT= ${PREFIX}/${LOCCROOT} PLIST_SUB= OCCROOT="${LOCCROOT}" BITS=${BITS} CC=${CHOSEN_COMPILER_TYPE} \ VE=${PORTVERSION:R:R} VER=${PORTVERSION} FFMPEG_CMAKE_ON= -DUSE_FFMPEG:BOOL=ON FFMPEG_CMAKE_OFF= -DUSE_FFMPEG:BOOL=OFF FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \ libtheoraenc.so:multimedia/libtheora \ libunistring.so:devel/libunistring \ libvdpau.so:multimedia/libvdpau \ libxvidcore.so:multimedia/xvid \ libp11-kit.so:security/p11-kit \ libx264.so:multimedia/libx264 \ libtasn1.so:security/libtasn1 \ libvorbis.so:audio/libvorbis \ libdav1d.so:multimedia/dav1d \ libnettle.so:security/nettle \ libgnutls.so:security/gnutls \ libvpx.so:multimedia/libvpx \ libx265.so:multimedia/x265 \ libdrm.so:graphics/libdrm \ libva.so:multimedia/libva \ libaom.so:multimedia/aom \ libmp3lame.so:audio/lame \ libffi.so:devel/libffi \ libidn2.so:dns/libidn2 \ libogg.so:audio/libogg \ libopus.so:audio/opus \ libgmp.so:math/gmp VIS_CMAKE_ON= -DUSE_FREEIMAGE:BOOL=ON \ -DUSE_GLES2:BOOL=ON \ -D3RDPARTY_FREETYPE_DIR=${LOCALBASE} VIS_CMAKE_OFF= -DUSE_FREEIMAGE:BOOL=OFF \ -DUSE_GLES2:BOOL=OFF VIS_LIB_DEPENDS= libftgl.so:graphics/ftgl \ libfreeimageplus.so:graphics/freeimage VIS_USE= GL=glesv2 DOXYGEN_IMPLIES= DOCS DOXYGEN_USE= TEX=latex:build DOXYGEN_BUILD_DEPENDS= bash:shells/bash \ doxygen:devel/doxygen \ dot:graphics/graphviz \ pdftex:print/tex-basic-engines \ inkscape:graphics/inkscape DOXYGEN_RUN_DEPENDS= ${LOCALBASE}/www/MathJax/MathJax.js:www/mathjax .include .if ${ARCH} == armv6 || ${ARCH} == armv7 || ${ARCH} == mips || ${ARCH} == powerpc || ${ARCH} == powerpcspe || ${ARCH} == "i386" BITS= 32 .else BITS= 64 .endif pre-everything:: @${ECHO_MSG} @${ECHO_MSG} "Warning: to build OpenCascade, you should have at least" @${ECHO_MSG} "2.6 Gb of free disk space in build area!" @${ECHO_MSG} pre-patch: ${REINPLACE_CMD} 's|||' \ ${WRKSRC}/src/BRepMesh/delabella.cpp\ ${WRKSRC}/src/OSD/OSD_MemInfo.cxx pre-configure: ${REINPLACE_CMD} -e 's|tclsh|${TCLSH}|' ${WRKSRC}/gendoc ${REINPLACE_CMD} -e 's|/usr/bin/|${LOCALBASE}/bin/|' ${WRKSRC}/adm/genconfdeps.tcl ${GREP} -rl x86_64 ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} \ -e 's|x86_64|amd64|' .for es in ${ENVSH} ${REINPLACE_CMD} -e 's|lin|bsd|' ${WRKSRC}/${es} .endfor post-build-DOXYGEN-on: (cd ${WRKSRC} && ./gendoc -overview) post-install: ${MV} ${STAGEDIR}${OCCROOT}/bin/DRAWEXE-${PORTVERSION} ${STAGEDIR}${PREFIX}/bin/DRAWEXE (cd ${STAGEDIR}${PREFIX}/bin && \ ${LN} -sf DRAWEXE ${STAGEDIR}${OCCROOT}/bin/DRAWEXE) post-install-DOXYGEN-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} (cd ${WRKSRC}/doc/overview && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}) ${RM} -r ${STAGEDIR}${DOCSDIR}/latex ${RM} ${STAGEDIR}${DOCSDIR}/html/build_upgrade_building_3rdparty.html.bak .if defined(MAINTAINER_MODE) regression-test: install ${RM} -rf /tmp/testOCC ${MKDIR} /tmp/testOCC bash -c "\ cd ${OCCROOT} && . ${OCCROOT}/bin/env.sh && \ CSF_TestScriptsPath=${OCCROOT}/tests \ CSF_TestDataPath=${OCCROOT}/data \ DRAWEXE -f ${FILESDIR}/regtest " .endif .include diff --git a/cad/opencascade/files/patch-adm_cmake_occt__macros.cmake b/cad/opencascade/files/patch-adm_cmake_occt__macros.cmake index d56ea8699ddf..8ab6018984b8 100644 --- a/cad/opencascade/files/patch-adm_cmake_occt__macros.cmake +++ b/cad/opencascade/files/patch-adm_cmake_occt__macros.cmake @@ -1,20 +1,35 @@ ---- adm/cmake/occt_macros.cmake.orig 2020-11-03 14:49:43 UTC +--- adm/cmake/occt_macros.cmake.orig 2021-10-30 11:13:37 UTC +++ adm/cmake/occt_macros.cmake @@ -47,7 +47,7 @@ macro (OCCT_MAKE_OS_WITH_BITNESS) elseif(APPLE) set (OS_WITH_BIT "mac${COMPILER_BITNESS}") else() - set (OS_WITH_BIT "lin${COMPILER_BITNESS}") + set (OS_WITH_BIT "bsd${COMPILER_BITNESS}") endif() endmacro() @@ -336,7 +336,7 @@ macro (COLLECT_AND_INSTALL_OCCT_HEADER_FILES ROOT_TARG configure_file ("${TEMPLATE_HEADER_PATH}" "${ROOT_TARGET_OCCT_DIR}/${OCCT_INSTALL_DIR_PREFIX}/${HEADER_FILE_NAME}" @ONLY) endforeach() - install (FILES ${OCCT_HEADER_FILES_COMPLETE} DESTINATION "${INSTALL_DIR}/${OCCT_INSTALL_DIR_PREFIX}") + install (FILES ${OCCT_HEADER_FILES_COMPLETE} DESTINATION "${INSTALL_DIR_INCLUDE}") string(TIMESTAMP CURRENT_TIME "%H:%M:%S") message (STATUS "Info: \(${CURRENT_TIME}\) Checking headers in inc folder...") +@@ -592,12 +592,12 @@ macro (OCCT_UPDATE_TARGET_FILE) + "cmake_policy(PUSH) + cmake_policy(SET CMP0007 NEW) + string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWERCASE) +- file (GLOB ALL_OCCT_TARGET_FILES \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\") ++ file (GLOB ALL_OCCT_TARGET_FILES \"$ENV{DESTDIR}${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\") + foreach(TARGET_FILENAME \${ALL_OCCT_TARGET_FILES}) + file (STRINGS \"\${TARGET_FILENAME}\" TARGET_FILE_CONTENT) + file (REMOVE \"\${TARGET_FILENAME}\") + foreach (line IN LISTS TARGET_FILE_CONTENT) +- string (REGEX REPLACE \"[\\\\]?[\\\$]{OCCT_INSTALL_BIN_LETTER}\" \"\${OCCT_INSTALL_BIN_LETTER}\" line \"\${line}\") ++ string (REGEX REPLACE \"[\\\\]?[\\\$]{OCCT_INSTALL_BIN_LETTER}\" \"${OCCT_INSTALL_BIN_LETTER}\" line \"\${line}\") + file (APPEND \"\${TARGET_FILENAME}\" \"\${line}\\n\") + endforeach() + endforeach() diff --git a/cad/opencascade/files/patch-src_Standard_Standard__CString.cxx b/cad/opencascade/files/patch-src_Standard_Standard__CString.cxx index a8162b9e0c23..11083adad1b6 100644 --- a/cad/opencascade/files/patch-src_Standard_Standard__CString.cxx +++ b/cad/opencascade/files/patch-src_Standard_Standard__CString.cxx @@ -1,11 +1,11 @@ ---- src/Standard/Standard_CString.cxx.orig 2020-11-03 14:50:08 UTC +--- src/Standard/Standard_CString.cxx.orig 2021-10-30 11:13:58 UTC +++ src/Standard/Standard_CString.cxx -@@ -83,7 +83,7 @@ Standard_Integer HashCodes (const Standard_CString the +@@ -82,7 +82,7 @@ Standard_Integer HashCodes (const Standard_CString the // strtod, strtol, strtoll functions. For other system with locale-depended // implementations problems may appear if "C" locale is not set explicitly. #if !defined(__ANDROID__) && !defined(__QNX__) && !defined(__MINGW32__) - #error System does not support xlocale. Import/export could be broken if C locale did not specified by application. + #warning System does not support xlocale. Import/export could be broken if C locale did not specified by application. #endif #define strtod_l(thePtr, theNextPtr, theLocale) strtod(thePtr, theNextPtr) #endif