721e5776c9
- Update all the consumers to use USES=tex - USE_TEX=yes is the old way of writing USES=tex which has been removed and replaced in all ports - Almost all of the USE_TEX features remains unchanged - Some consumers had the same variables defined both in the mk infrastructure and also in the ports which have been removed from the ports as those are redundant. In case any of the consumers are failing to build please make sure that the nexessary USES=tex is there. Unlike previous USE_TEX=yes will no longer load the required VARS for tex and related dependencies. Reviewed by: portmgr Approved by: portmgr (blanket)
144 lines
4.4 KiB
Makefile
144 lines
4.4 KiB
Makefile
PORTNAME= opencascade
|
|
PORTVERSION= 7.4.0 # resurrected because science/chrono only builds with opencascade-7.4.0, see https://github.com/projectchrono/chrono/issues/359#issuecomment-1023478083
|
|
PORTREVISION= 1
|
|
CATEGORIES= cad science
|
|
PKGNAMESUFFIX= 740
|
|
|
|
MAINTAINER= thierry@FreeBSD.org
|
|
COMMENT= Open CASCADE Technology, 3D modeling & numerical simulation
|
|
WWW= https://www.opencascade.org/
|
|
|
|
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= ${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
|
|
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 \
|
|
gl python qt:5 shebangfix tk tar:tgz xorg
|
|
USE_XORG= ice sm x11 xext xi xmu xt
|
|
USE_GL= gl glu
|
|
|
|
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
|
|
|
|
OPTIONS_DEFINE= DOCS DOXYGEN FFMPEG VIS
|
|
VIS_DESC= Build Visualizazion module (requires OpenGL, freetype, ftgl and gl2ps)
|
|
OPTIONS_DEFAULT=FFMPEG VIS
|
|
OPTIONS_SUB= yes
|
|
|
|
REINPLACE_ARGS= -i ""
|
|
CFLAGS+= -I${LOCALBASE}/include
|
|
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_TBB:BOOL=OFF \
|
|
-DUSE_VTK:BOOL=OFF
|
|
|
|
USE_LDCONFIG= yes
|
|
|
|
CONFLICTS_INSTALL= opencascade # 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
|
|
|
|
VIS_CMAKE_ON= -DUSE_FREEIMAGE:BOOL=ON -DUSE_GL2PS:BOOL=ON \
|
|
-DUSE_FREETYPE:BOOL=ON -D3RDPARTY_FREETYPE_DIR=${LOCALBASE}
|
|
VIS_CMAKE_OFF= -DUSE_FREEIMAGE:BOOL=OFF -DUSE_GL2PS:BOOL=OFF \
|
|
-DUSE_FREETYPE:BOOL=OFF
|
|
VIS_LIB_DEPENDS= libftgl.so:graphics/ftgl \
|
|
libgl2ps.so:print/gl2ps \
|
|
libfreeimageplus.so:graphics/freeimage
|
|
|
|
DOXYGEN_IMPLIES= DOCS
|
|
DOXYGEN_USES= tex
|
|
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 <bsd.port.options.mk>
|
|
|
|
.if ${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-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
|
|
|
|
pre-patch:
|
|
@${REINPLACE_CMD} 's|<malloc.h>|<stdlib.h>|' \
|
|
${WRKSRC}/src/OSD/OSD_MemInfo.cxx \
|
|
${WRKSRC}/src/StepFile/step.tab.c \
|
|
${WRKSRC}/src/StepFile/step.yacc
|
|
|
|
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)
|
|
# autoplist
|
|
@cd ${STAGEDIR}${PREFIX} && \
|
|
${FIND} * -type f -or -type l >> ${TMPPLIST}
|
|
|
|
post-install-DOXYGEN-on:
|
|
${MKDIR} ${STAGEDIR}${DOCSDIR}
|
|
(cd ${WRKSRC}/doc/overview && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR})
|
|
${RM} -r ${STAGEDIR}${DOCSDIR}/latex
|
|
|
|
.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 <bsd.port.mk>
|