diff options
author | Pedro F. Giffuni <pfg@FreeBSD.org> | 2017-08-15 00:18:22 +0000 |
---|---|---|
committer | Pedro F. Giffuni <pfg@FreeBSD.org> | 2017-08-15 00:18:22 +0000 |
commit | 0796f58254927f7d6931fee5528ceeb46bc80815 (patch) | |
tree | a7b28e0353e98ee445c08e6c3bcd54f7e375f4c2 /cad/calculix/Makefile | |
parent | 4042b3871276e9dbcde3e21788d38c47f9aa8841 (diff) | |
download | freebsd-ports-0796f58254927f7d6931fee5528ceeb46bc80815.zip |
cad/calculix: Split the ccx analyzer out of the main port.
CalculiX has alwasy been comoposed of two independent packages: ccx and
cgx. Ccx, the main tool for doing FEA, depends on fortran and currently
has to be built with GCC. Cgx, on the other hand, uses OpenGL and the C++
libraries it depends on are built with our native clang so buuilding it
with GCC causes C++ library conflicts.
By making ccx an independent port we can better focus on the specific
requirements of each tool and avoid compiler-related conflicts. This also
helps the port work again with newer versions GCC.
PR: 219290. 22043, 220434
Approved by: gerald
Diffstat (limited to 'cad/calculix/Makefile')
-rw-r--r-- | cad/calculix/Makefile | 70 |
1 files changed, 13 insertions, 57 deletions
diff --git a/cad/calculix/Makefile b/cad/calculix/Makefile index 7574418bdb04..3fe04397ee0e 100644 --- a/cad/calculix/Makefile +++ b/cad/calculix/Makefile @@ -3,53 +3,37 @@ PORTNAME= CalculiX PORTVERSION= 2.12 +PORTREVISION= 1 CATEGORIES= cad MASTER_SITES= http://www.dhondt.de/ +PKGNAMEPREFIX= CalculiX- DISTFILES= ${DIST_SOURCES} DIST_SUBDIR= calculix EXTRACT_ONLY= ${DIST_SOURCES} -MAINTAINER= ports@FreeBSD.org +MAINTAINER= pfg@FreeBSD.org COMMENT= Three-Dimensional Structural Finite Element Program LICENSE= GPLv2 -LIB_DEPENDS= libarpack.so:math/arpack \ - libspooles.so:math/spooles \ - libtaucs.so:math/taucs +RUN_DEPENDS= ccx:cad/calculix-ccx -DIST_SOURCES= ccx_${PORTVERSION}.src${EXTRACT_SUFX} \ - cgx_${PORTVERSION}.all${EXTRACT_SUFX} -DIST_HTM= ccx_${PORTVERSION}.htm${EXTRACT_SUFX} \ - cgx_${PORTVERSION}.htm${EXTRACT_SUFX} -DIST_PS= ccx_${PORTVERSION}.ps${EXTRACT_SUFX} +DIST_SOURCES= cgx_${PORTVERSION}.all${EXTRACT_SUFX} +DIST_HTM= cgx_${PORTVERSION}.htm${EXTRACT_SUFX} DIST_PDF= cgx_${PORTVERSION}.pdf -DIST_EXAMPLES= ccx_${PORTVERSION}.test${EXTRACT_SUFX} \ - cgx_${PORTVERSION}.exa${EXTRACT_SUFX} +DIST_EXAMPLES= cgx_${PORTVERSION}.exa${EXTRACT_SUFX} -WRKSRC= ${WRKDIR}/${PORTNAME} -CCX_VER= ccx_${PORTVERSION} +WRKSRC= ${WRKDIR}/CalculiX CGX_VER= cgx_${PORTVERSION} -USES= compiler:openmp fortran gmake tar:bzip2 +USES= gmake tar:bzip2 USE_XORG= ice sm x11 xext xi xmu xt USE_GL= gl glu # uses its own glut BROWSER?= firefox PSVIEWER?= gv -OPTIONS_DEFINE= METIS METIS_EDF DOCS EXAMPLES -OPTIONS_DEFAULT=METIS_EDF - -OPTIONS_RADIO= BLAS -OPTIONS_RADIO_BLAS= REFERENCE OBLAS -OPTIONS_DEFAULT= REFERENCE - -REFERENCE_DESC= Blas / Lapack -REFERENCE_USES= blaslapack:netlib - -OBLAS_DESC= Openblas -OBLAS_USES= blaslapack:openblas +OPTIONS_DEFINE= DOCS EXAMPLES .include <bsd.port.options.mk> @@ -59,15 +43,9 @@ EXTRACT_ONLY+= ${DIST_EXAMPLES} .endif .if ${PORT_OPTIONS:MDOCS} -DISTFILES+= ${DIST_HTM} ${DIST_PS} ${DIST_PDF} -EXTRACT_ONLY+= ${DIST_HTM} ccx_${PORTVERSION}.ps${EXTRACT_SUFX} -.endif - -.if ${PORT_OPTIONS:MMETIS} -LIB_DEPENDS+= libmetis.so:math/metis4 -.endif -.if ${PORT_OPTIONS:MMETIS_EDF} -LIB_DEPENDS+= libmetis.so:math/metis-edf +DISTFILES+= ${DIST_HTM} ${DIST_PDF} +EXTRACT_ONLY+= ${DIST_HTM} +DOCSDIR= ${PREFIX}/share/doc/CalculiX .endif .if ${ARCH} == "sparc64" @@ -78,18 +56,7 @@ CFLAGS+= -fpic FFLAGS+= -fpic .endif -.if empty(PORT_OPTIONS:MEXAMPLES) -PLIST_SUB= PORTEXAMPLES="@comment " -.else -PLIST_SUB= PORTEXAMPLES="" -.endif - pre-build: - @${REINPLACE_CMD} -e 's+%%FC%%+${FC}+g ; s+%%CC%%+${CC}+g ; \ - s+%%BLAS_LIBS%%+${BLASLIB}+ ; \ - s+%%LAPACK_LIBS%%+${LAPACKLIB}+ ; \ - s+%%LOCALBASE%%+${LOCALBASE}+g;' \ - ${WRKSRC}/${CCX_VER}/src/Makefile @${REINPLACE_CMD} -e 's/c++/${CXX}/g;' \ ${WRKSRC}/libSNL/src/makefile @${REINPLACE_CMD} -e 's+%%DOCSDIR%%+${DOCSDIR}+g; \ @@ -98,24 +65,16 @@ pre-build: ${WRKSRC}/${CGX_VER}/src/cgx.h do-build: - @(cd ${WRKSRC}/${CCX_VER}/src; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ) @(cd ${WRKSRC}/libSNL/src; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ) @(cd ${WRKSRC}/${CGX_VER}/src; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ) do-install: - ${INSTALL_PROGRAM} ${WRKSRC}/${CCX_VER}/src/${CCX_VER} \ - ${STAGEDIR}${PREFIX}/bin/ccx ${INSTALL_PROGRAM} ${WRKSRC}/${CGX_VER}/src/cgx \ ${STAGEDIR}${PREFIX}/bin/cgx .if ${PORT_OPTIONS:MDOCS} - @${MKDIR} ${STAGEDIR}${DOCSDIR}/ccx - @(cd ${WRKSRC}/${CCX_VER}/doc/ccx && ${COPYTREE_SHARE} . \ - ${STAGEDIR}${DOCSDIR}/ccx) @${MKDIR} ${STAGEDIR}${DOCSDIR}/cgx @(cd ${WRKSRC}/${CGX_VER}/doc/cgx && ${COPYTREE_SHARE} . \ ${STAGEDIR}${DOCSDIR}/cgx) - ${INSTALL_DATA} ${WRKSRC}/${CCX_VER}/doc/${CCX_VER}.ps ${STAGEDIR}${DOCSDIR} - @${GZIP_CMD} ${STAGEDIR}${DOCSDIR}/${CCX_VER}.ps ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/cgx_${PORTVERSION}.pdf \ ${STAGEDIR}${DOCSDIR} .endif @@ -123,9 +82,6 @@ do-install: @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} @(cd ${WRKSRC}/${CGX_VER}/examples && ${COPYTREE_SHARE} . \ ${STAGEDIR}${EXAMPLESDIR}) - @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/test - @(cd ${WRKSRC}/${CCX_VER}/test && ${COPYTREE_SHARE} . \ - ${STAGEDIR}${EXAMPLESDIR}/test) .endif .include <bsd.port.mk> |