diff options
Diffstat (limited to 'french/aster/Makefile')
-rw-r--r-- | french/aster/Makefile | 67 |
1 files changed, 46 insertions, 21 deletions
diff --git a/french/aster/Makefile b/french/aster/Makefile index dc33fd67cc5b..5c76289d2d8d 100644 --- a/french/aster/Makefile +++ b/french/aster/Makefile @@ -3,7 +3,6 @@ PORTNAME= aster DISTVERSION= ${ASTER_DISTVERSION} -PORTREVISION= 6 CATEGORIES= french cad MAINTAINER= thierry@FreeBSD.org @@ -11,9 +10,6 @@ COMMENT= Code_Aster finite element method solver LICENSE= GPLv2 -# Broken since r490369 on math/metis -BROKEN_amd64= does not build (conflicting types for 'WritePermutation' ibc/renum/onmetl.c vs /usr/local/include/programs/proto.h) - #----------------------------------------------------------------------- # You may define these options: # @@ -41,17 +37,15 @@ BUILD_DEPENDS+= astk-serveur>0:cad/astk-serveur \ bash:shells/bash \ ${PYNUMPY} # pylupdate5:textproc/py-qt5-xml -LIB_DEPENDS+= libhdf5-18.so:science/hdf5-18 \ +LIB_DEPENDS+= libhdf5.so:science/hdf5 \ libmetis.so:math/metis \ - libomp.so:devel/openmp \ libmed.so:french/med # libAsterInterface.so:science/mfront # libAsterInterface.so:science/tfel -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}gnuplot>0:math/py-gnuplot@${PY_FLAVOR} \ - ${SHELL_INSTALL_ASTER}:shells/${SHIADEP} \ +RUN_DEPENDS+= ${SHELL_INSTALL_ASTER}:shells/${SHIADEP} \ astk-serveur>0:cad/astk-serveur -USES= bison fortran gettext python:2.7 qt:5 tk +USES= bison fortran gettext python:3.6 qt:5 tk USE_BINUTILS= yes USE_QT= linguisttools_build @@ -62,9 +56,11 @@ USES+= blaslapack:netlib .endif HAS_CONFIGURE= yes -MAKE_ENV= INCLUDES="${LOCALBASE}/include/hdf5-18 ${LOCALBASE}/include" \ - INCLUDEDIR="${LOCALBASE}/include/hdf5-18 ${LOCALBASE}/include" \ +MAKE_ENV= INCLUDES="${LOCALBASE}/include" \ + INCLUDEDIR="${LOCALBASE}/include" \ LD_PRELOAD="${LOCALBASE}/lib/gcc${_GCC_VER}/libgcc_s.so.1" \ + PYTHONPATH="${PYTHON_SITELIBDIR}:${LOCALBASE}/aster/ASTK/ASTK_SERV" \ + PYTHONIOENCODING="utf-8" LANG=C LC_ALL="en_US.UTF-8" \ LINKFLAGS="${LDFLAGS}" LD_LIBRARY_PATH="${LOCALBASE}/lib/gcc${_GCC_VER}" REINPLACE_ARGS= -i "" @@ -87,6 +83,11 @@ INTERACTIVE_SCRIPTS= check_compilers.py setup.py .include "${.CURDIR}/../../french/aster/bsd.aster.mk" .include <bsd.port.pre.mk> +.if ${OPSYS} == FreeBSD && ((${OSREL:R} == 12 && ${OSVERSION} < 1201506) \ + || (${OSREL:R} > 12 && ${OSVERSION} < 1300068)) +BROKEN= a larger value of ARG_MAX is needed for Code_Aster, please upgrade your system +.endif + .if ${ARCH} == "i386" FLAGARCH= -DP_LINUX -DLINUX .else @@ -171,11 +172,13 @@ WITH_ED= vi INST_DAT= elements INST_SH= as_run parallel_cp -PFX2FIX= bin/as_run ${VE}/include/aster/asterc_config.h \ - ${VE}/include/aster/asterf_config.h ${VE}/share/aster/profile.sh\ - etc/codeaster/profile.sh etc/codeaster/aster \ - ${VE}/lib/aster/aster_pkginfo.py ${VE}/aster.conf \ - ${VE}/share/aster/CTestTestfile.cmake ${VE}/share/aster/config.txt +PFX2FIX= bin/as_run etc/codeaster/aster etc/codeaster/profile.sh \ + ${VE}/aster.conf ${VE}/lib/aster/aster_pkginfo.py \ + ${VE}/share/aster/CTestTestfile.cmake \ + ${VE}/include/aster/asterf_config.h \ + ${VE}/include/aster/asterc_config.h \ + ${VE}/share/aster/config.txt ${VE}/share/aster/profile.sh +POSTPY2FIX= post-patch-waf.engine post-patch-data__post_install inst_dir= ${PREFIX}/${PORTNAME} tools_dir= ${PREFIX}/${PORTNAME}/outils tools= cmpfillin gpmetis graphchk m2gmetis mpmetis ndmetis gnuplot @@ -196,6 +199,8 @@ ASTKDIR= ${LOCALBASE}/${LASTKDIR} BASH2RC= products_data.py +ExportPATH?= /tmp/maillages + pre-everything:: .if defined(WITH_MPI) @${ECHO_MSG} "To build Code_Aster with MPI enabled, you need to run \`mpd &'" @@ -210,10 +215,13 @@ pre-configure: ${WRKSRC}/products.py ${REINPLACE_CMD} -e "s|'gfortran'|'${FC}'|g;s|'gcc'|'${CC}'|g" \ -e "s|'g++'|'${CXX}'|g" ${WRKSRC}/check_compilers.py - ${REINPLACE_CMD} -e "s|%%LOCALBASE%%|${LOCALBASE}|" ${WRKSRC}/as_setup.py + ${REINPLACE_CMD} -e "s|%%LOCALBASE%%|${LOCALBASE}|" \ + -e "s|%%PYTHON_CMD%%|${PYTHON_CMD}|" \ + -e "s|%%WRKDIR%%|${WRKDIR}|" ${WRKSRC}/as_setup.py .for sh in ${BASH2RC} ${REINPLACE_CMD} -e 's|/bin/bash|${SHELL_INSTALL_ASTER}|' ${WRKSRC}/${sh} .endfor + ${REINPLACE_CMD} -e 's|%%PYTHON_ABIVER%%|${PYTHON_ABIVER}|' ${WRKSRC}/setup.py .if defined(WITH_ATLAS) ${REINPLACE_CMD} -e "s|cfg\['BLASLIB'\]|cfg['BLASLIB'], cfg['ATLASLIB']|" \ ${WRKSRC}/products.py @@ -243,12 +251,16 @@ pre-configure: ${ECHO_CMD} "_install_aster_Linux = False" >> ${WRKSRC}/setup.cfg ${ECHO_CMD} "_install_scotch = False" >> ${WRKSRC}/setup.cfg ${ECHO_CMD} "OPT_ENV = 'verbose=True'" >> ${WRKSRC}/setup.cfg + ${ECHO_CMD} "PYTHONPATH = '${PYTHON_SITELIBDIR}:${LOCALBASE}/aster/ASTK/ASTK_SERV'"\ + >> ${WRKSRC}/setup.cfg + ${ECHO_CMD} "PYTHON_INCLUDE = '${PYTHON_INCLUDEDIR}'" >> ${WRKSRC}/setup.cfg + ${ECHO_CMD} "HOME_PYTHON = '${PYTHONBASE}'" >> ${WRKSRC}/setup.cfg ${ECHO_CMD} "HOME_SCOTCH = '${LOCALBASE}'" >> ${WRKSRC}/setup.cfg ${ECHO_CMD} "HOME_METIS = '${LOCALBASE}'" >> ${WRKSRC}/setup.cfg ${ECHO_CMD} "HOME_GMSH = '${LOCALBASE}'" >> ${WRKSRC}/setup.cfg ${ECHO_CMD} "HOME_GIBI = '${LOCALBASE}'" >> ${WRKSRC}/setup.cfg ${ECHO_CMD} "HOME_HOMARD = '${LOCALBASE}'" >> ${WRKSRC}/setup.cfg - ${ECHO_CMD} "INCLUDEDIR = ['${LOCALBASE}/include/hdf5-18', '${LOCALBASE}/include', '${LOCALBASE}/include/metis', ]"\ + ${ECHO_CMD} "INCLUDEDIR = ['${LOCALBASE}/include', '${LOCALBASE}/include/metis', ]"\ >> ${WRKSRC}/setup.cfg ${ECHO_CMD} "HOME_MUMPS = '${LOCALBASE}'" >> ${WRKSRC}/setup.cfg # Disable MFront at the moment (compilation error) @@ -264,7 +276,7 @@ pre-configure: ${ECHO_CMD} "F90='${FC}'" >> ${WRKSRC}/setup.cfg ${ECHO_CMD} "MATHLIB='${lib_math} ${LDFLAGS} -lgfortran -lm -lkvm'" \ >> ${WRKSRC}/setup.cfg - ${ECHO_CMD} "OTHERLIB='-Xlinker -export-dynamic ${MPISEQ} -lexecinfo -lutil -lpthread -lz'" \ + ${ECHO_CMD} "OTHERLIB='-Xlinker -export-dynamic ${MPISEQ} -lc++ -lexecinfo -lutil -lpthread -lz'" \ >> ${WRKSRC}/setup.cfg ${ECHO_CMD} "SYSLIB='-lpthread -lz'" >> ${WRKSRC}/setup.cfg .if defined(WITH_MPI) @@ -320,7 +332,7 @@ pre-configure: do-configure: (cd ${CONFIGURE_WRKSRC} \ - && TMPDIR=${WRKDIR} ${MAKE_ENV} ${PYTHON_CMD} setup.pyo ${DEBUG_FLAGS} \ + && TMPDIR=${WRKDIR} ${MAKE_ENV} ${PYTHON_CMD} setup.py ${DEBUG_FLAGS} \ --prefix=${STAGEDIR}${inst_dir} test | tee ${CONFIGURE_LOG}) @${ECHO_MSG} "---------------- Debug ------------------" ${CAT} ${CONFIGURE_WRKSRC}/setup.log @@ -344,9 +356,16 @@ post-configure: ${STAGEDIR}${inst_dir}/${sf} .endfor +pre-build: + ${MKDIR} ${WRKDIR}/post_patches + ${CP} ${FILESDIR}/post-patch-* ${WRKDIR}/post_patches/ +.for pp in ${POSTPY2FIX} + ${REINPLACE_CMD} -e 's|%%PYTHON_CMD%%|${PYTHON_CMD}|' ${WRKDIR}/post_patches/${pp} +.endfor + do-build: (cd ${BUILD_WRKSRC} && \ - TMPDIR=${WRKDIR} ${MAKE_ENV} ${PYTHON_CMD} setup.pyo ${DEBUG_FLAGS} install aster \ + TMPDIR=${WRKDIR} ${MAKE_ENV} ${PYTHON_CMD} setup.py ${DEBUG_FLAGS} install aster \ --prefix=${STAGEDIR}${inst_dir} | tee ${BUILD_WRKSRC}/build.log) do-install: @@ -392,10 +411,16 @@ post-install: .for f in aster.install_${VE} profile.sh ${MV} ${WRKDIR}/AvoidConflictWithASTK/${f} ${STAGEDIR}${inst_dir}/etc/codeaster/ .endfor +.for f in aster_pkginfo.cpython-${PYTHON_SUFFIX}.pyc aster_pkginfo.cpython-${PYTHON_SUFFIX}.opt-1.pyc + ${RM} ${STAGEDIR}${inst_dir}/${VE}/lib/aster/__pycache__/${f} +.endfor + ${FIND} ${STAGEDIR}${inst_dir}/${VE}/share/aster/tests -name "*.datg" | \ + ${XARGS} ${REINPLACE_CMD} -e 's|/home/PHIMECA/maillages/|${ExportPATH}|' .if defined(MAINTAINER_MODE) regression-test: install @${ECHO_MSG} "Note: homard must be installed to run some steps succesfully." + ${MKDIR} ${ExportPATH} ${CP} ${inst_dir}/${VE}/astout.export /tmp/ (cd ${inst_dir}/${VE} && \ ${LOCALBASE}/aster/bin/as_run --list --all --vers=${VE} \ |