french/aster: Remove port

Niche use case, not aligned with broad server application needs
This commit is contained in:
2025-03-27 22:43:31 +01:00
parent f69af4e6cb
commit 2d0065d80a
25 changed files with 7 additions and 16074 deletions
+1
View File
@@ -199,6 +199,7 @@ filesystems/openzfs
finance/linux-tradingview
finance/quba-viewer
french/aspell
french/aster
french/fortune-mod-zarathoustra
french/homard
french/hunspell
+1 -1
View File
@@ -279,5 +279,5 @@ do-install:
. endif
.endif
.include "${.CURDIR}/../../french/aster/bsd.aster.mk"
.include "${.CURDIR}/../../french/med/bsd.aster.mk"
.include <bsd.port.post.mk>
+1 -1
View File
@@ -89,5 +89,5 @@ pre-test:
. endif
.endif
.include "${.CURDIR}/../../french/aster/bsd.aster.mk"
.include "${.CURDIR}/../../french/med/bsd.aster.mk"
.include <bsd.port.mk>
-1
View File
@@ -1,6 +1,5 @@
COMMENT = French support
SUBDIR += aster
SUBDIR += med
.include <bsd.port.subdir.mk>
-432
View File
@@ -1,432 +0,0 @@
PORTNAME= aster
DISTVERSION= ${ASTER_DISTVERSION}
PORTREVISION= 12
CATEGORIES= french cad
MAINTAINER= thierry@FreeBSD.org
COMMENT= Code_Aster finite element method solver
WWW= http://www.code-aster.org/
LICENSE= GPLv2
NOT_FOR_ARCHS= armv6 armv7 i386 mips powerpc
NOT_FOR_ARCHS_REASON= ARG_MAX is too small for Code_Aster on 32 bits systems
BROKEN= fails to build the catalog of elements
#-----------------------------------------------------------------------
# You may define these options:
#
# - WITH_ZSH or WITH_BASH or WITH_KSH: select a shell among
# zsh (default), bash or ksh;
# - WITH_ED: select an editor accepting '-display' (e.g. gvim, nedit);
# - WITHOUT_ASTK_CLI: won't use the GUI from this machine;
# - WITHOUT_GMSH: don't install GMSH (a mesh generator);
# - WITHOUT_GRACE: don't install Grace (used to create 2D graph);
# - WITH_MUMPS: install the interface between Code_Aster and MUMPS (experimental)
#
#-----------------------------------------------------------------------
BUILD_DEPENDS+= astk-serveur>0:cad/astk-serveur \
${SHELL_INSTALL_ASTER}:shells/${SHIADEP} \
gnproc:sysutils/coreutils \
bash:shells/bash \
getopt>=0:misc/getopt \
xterm:x11/xterm \
${PYNUMPY} \
${PYTHON_PKGNAMEPREFIX}sympy>0:math/py-sympy@${PY_FLAVOR}
# pylupdate5:textproc/py-qt5-xml
LIB_DEPENDS+= libhdf5-110.so:science/hdf5-110 \
libscotch.so:cad/scotch \
libmetis.so:math/metis \
libmed.so:french/med \
libAsterInterface.so:science/tfel-edf
RUN_DEPENDS+= ${SHELL_INSTALL_ASTER}:shells/${SHIADEP} \
astk-serveur>0:cad/astk-serveur \
xterm:x11/xterm \
${PYNUMPY} \
${PYTHON_PKGNAMEPREFIX}sympy>0:math/py-sympy@${PY_FLAVOR}
USES= bison blaslapack:openblas fortran gettext python qt:5 tk
USE_BINUTILS= yes
USE_QT= linguisttools:build
#CONFLICTS_BUILD=${PYTHON_PKGNAMEPREFIX}cysignals-1.*
HAS_CONFIGURE= yes
CFLAGS+= -I${LOCALBASE}/include/hdf5-110
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 ""
BINARY_ALIAS= python=${PYTHON_CMD}
VER= ${PORTVERSION:R}
VE= ${VER:R}
WRKSRC= ${WRKDIR}/${PORTNAME}-full-src-${VER}
PLIST_SUB= VE=${VE}
.if defined(WITHOUT_ASTK_CLI)
SUB_FILES= pkg-message.sans-astk
.else
SUB_FILES= pkg-message
.endif
SUB_LIST= tools_dir=${tools_dir}
INTERACTIVE_SCRIPTS= check_compilers.py setup.py
.include "${.CURDIR}/../../french/aster/bsd.aster.mk"
.include <bsd.port.pre.mk>
.if ${ARCH} == "i386"
FLAGARCH= -DP_LINUX -DLINUX
.else
FLAGARCH= -DLINUX64
.endif
.if defined(WITH_DEBUG)
DEBUG_FLAGS= --debug
CFLAGS+= -D__DEBUG_ALLOCATE__
FFLAGS+= -D__DEBUG_ALLOCATE__
MAKE_ENV+= FCFLAGS="-g ${FFLAGS:C|O2|O0|} -fno-tree-dse ${FLAGARCH}"
.else
MAKE_ENV+= FCFLAGS="${FFLAGS} -fno-tree-dse ${FLAGARCH}"
.endif
.if !defined(WITHOUT_ASTK_CLI)
RUN_DEPENDS+= astk-client>0:cad/astk-client
PLIST_SUB+= ASTK_CLIENT="" ASTKDIR=${ASTKDIR}
.else
PLIST_SUB+= ASTK_CLIENT="@comment " ASTKDIR=""
.endif
.if !defined(WITHOUT_GMSH)
RUN_DEPENDS+= ${LOCALBASE}/bin/gmsh:cad/gmsh
PLIST_SUB+= GMSH=""
.else
PLIST_SUB+= GMSH="@comment "
.endif
.if !defined(WITHOUT_GRACE)
RUN_DEPENDS+= xmgrace:math/grace
PLIST_SUB+= GRACE=""
.else
PLIST_SUB+= GRACE="@comment "
.endif
.if defined(WITH_BOOST)
LIB_DEPENDS+= ${PY_BOOST}
.endif
.if !defined(WITH_MPI)
MPISEQ= -lmpiseq
MUMPSLIB= -L${LOCALBASE}/lib -ldmumps -lzmumps -lsmumps -lcmumps -lmumps_common -lpord ${MPISEQ}
LIB_DEPENDS+= libmpiseq.so.5:math/mumps
.else
BUILD_DEPENDS+= ${LOCALBASE}/lib/libscalapack.a:math/scalapack
MUMPSLIB= -L${LOCALBASE}/lib -ldmumps -lzmumps -lsmumps -lcmumps -lmumps_common -lpord -lscalapack -lexecinfo -L${LOCALBASE}/lib -lmpi
LIB_DEPENDS+= libcmumps.so.5:math/mumps
.endif
.if defined(WITH_MPI)
LIB_DEPENDS+= libmpi.so:net/mpich
HOME_MPI= ${LOCALBASE}
.endif
.if defined(WITH_ZSH)
SHIA= zsh
.elif defined(WITH_BASH)
SHIA= bash
.elif defined(WITH_KSH)
SHIA= ksh93
.elif exists(${LOCALBASE}/bin/zsh)
SHIA= zsh
.elif exists(${LOCALBASE}/bin/bash)
SHIA= bash
.elif exists(${LOCALBASE}/bin/ksh93)
SHIA= ksh93
.else
SHIA= zsh
.endif
SHIADEP= ${SHIA}
.if !defined(WITH_ED)
. if exists(${LOCALBASE}/bin/nedit)
WITH_ED= nedit
RUN_DEPENDS+= ${LOCALBASE}/bin/nedit:editors/nedit
. elif exists(${LOCALBASE}/bin/gvim)
WITH_ED= gvim
RUN_DEPENDS+= ${LOCALBASE}/bin/gvim:editors/vim
. elif exists(${LOCALBASE}/bin/emacs)
WITH_ED= emacs
RUN_DEPENDS+= ${LOCALBASE}/bin/emacs:editors/emacs
. elif exists(${LOCALBASE}/bin/gedit)
WITH_ED= gedit
RUN_DEPENDS+= ${LOCALBASE}/bin/gedit:editors/gedit
. elif exists(${LOCALBASE}/bin/xedit)
WITH_ED= xedit
RUN_DEPENDS+= ${LOCALBASE}/bin/xedit:x11/xedit
. else
WITH_ED= vi
. endif
.endif
INST_DAT= elements
INST_SH= as_run parallel_cp
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/execute_codeaster \
${VE}/share/aster/config.txt ${VE}/share/aster/profile.sh
POSTPY2FIX= post-patch-waf.engine post-patch-data__post_install
POSTBASH2FIX= execute_codeaster create_install_script
inst_dir= ${PREFIX}/${PORTNAME}
tools_dir= ${PREFIX}/${PORTNAME}/outils
tools= cmpfillin gpmetis graphchk m2gmetis mpmetis ndmetis gnuplot
.if !defined(WITHOUT_GMSH)
tools+= gmsh
.endif
.if !defined(WITHOUT_GRACE)
tools+= gracebat xmgrace
.endif
v_ifdef= ${OPSYS:tu}
SHELL_INSTALL_ASTER= ${LOCALBASE}/bin/${SHIA}
tcl_dir= ${LOCALBASE}
hdf_dir= ${LOCALBASE}
lib_math= "-L${LOCALBASE}/lib ${BLASLIB} ${LAPACKLIB} -lscotch -lscotcherr"
LASTKDIR?= ${PORTNAME}/ASTK/ASTK_CLIENT
ASTKDIR= ${LOCALBASE}/${LASTKDIR}
BASH2RC= products_data.py
ExportPATH?= /tmp/maillages
pre-configure:
${REINPLACE_CMD} -e 's|PREFER_SHARED_LIBS=False|PREFER_SHARED_LIBS=True|' \
-e 's|/opt/aster|${STAGEDIR}${inst_dir}|' ${WRKSRC}/setup.cfg
${REINPLACE_CMD} -e 's|?ASTER_ROOT?|${STAGEDIR}${inst_dir}|' \
${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}|" \
-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
${ECHO_CMD} "_install_hdf5 = False" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "_install_med = False" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "_install_tcl = False" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "_install_tk = False" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "_install_Pmw = False" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "_install_Numeric = False" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "_install_gmsh = False" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "_install_gmsh2 = False" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "_install_gibi = False" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "_install_grace = False" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "XMGRACE = 'xmgrace'" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "_install_homard = False" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "_install_eficas = False" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "_install_astk = False" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "_install_astk_serv = False" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "_install_metis = False" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "_install_mfront = False" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "_install_mumps = False" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "_install_omniORB = False" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "_install_omniORBpy = False" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "_install_pylotage = False" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "_install_crpcrs = False" >> ${WRKSRC}/setup.cfg
${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} "PYTHON_EXE = '${PYTHON_CMD}'" >> ${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-110', '${LOCALBASE}/include', '${LOCALBASE}/include/metis', ]"\
>> ${WRKSRC}/setup.cfg
${ECHO_CMD} "HOME_MUMPS = '${LOCALBASE}'" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "HOME_MFRONT = '${LOCALBASE}'" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "MUMPSLIB = '${MUMPSLIB}'" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "CC='${CC}'" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "gcc='${CC}'" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "CXX='${CXX}'" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "LD='${FC}'" >> ${WRKSRC}/setup.cfg
${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} -lc++ -lexecinfo -lutil -lpthread -lz'" \
>> ${WRKSRC}/setup.cfg
${ECHO_CMD} "SYSLIB='-lpthread -lz'" >> ${WRKSRC}/setup.cfg
.if defined(WITH_MPI)
${ECHO_CMD} "HOME_MPI = '${HOME_MPI}'" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "MPIRUN = 'mpirun'" >> ${WRKSRC}/setup.cfg
.else
${ECHO_CMD} "HOME_MPI = ''" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "MPIRUN = ''" >> ${WRKSRC}/setup.cfg
.endif
${ECHO_CMD} "HOME_ZMAT = ''" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "HOME_HDF='${hdf_dir}'" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "HOME_MED='${LOCALBASE}'" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "HOME_TCL_TK='${tcl_dir}'" >> ${WRKSRC}/setup.cfg
.if defined(WITH_BOOST)
${ECHO_CMD} "HOME_BOOST='${LOCALBASE}'" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "LIBPATH_BOOST='${LOCALBASE}/lib'" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "LIBNAME_BOOST='${PY_BOOST_LIB}'" >> ${WRKSRC}/setup.cfg
.endif
${ECHO_CMD} "BLASLIB='${_BLASLIB}'" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "LAPACKLIB='lapack'" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "GZIP='/usr/bin/gzip'" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "SHELL_EXECUTION='${SHELL_INSTALL_ASTER}'" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "TERMINAL='xterm'" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "EDITOR='${WITH_ED}'" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "CXXFLAGS='${CXXFLAGS}'" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "CXXFLAGS_DBG='${CXXFLAGS:C|-O2|--debug|}'" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "LDFLAGS='${LDFLAGS}'" >> ${WRKSRC}/setup.cfg
${ECHO_CMD} "FFLAGS='-c ${FFLAGS} -fno-tree-dse ${FLAGARCH}'" \
>> ${WRKSRC}/setup.cfg
${ECHO_CMD} "FFLAGS_DBG='-c -g ${FFLAGS:C|O2|O0|} -fno-tree-dse ${FLAGARCH}'" \
>> ${WRKSRC}/setup.cfg
.if defined(WITH_MPI)
${ECHO_CMD} "F90FLAGS='-c ${FFLAGS} -fno-tree-dse ${FLAGARCH} -I${HOME_MPI}/include'" \
>> ${WRKSRC}/setup.cfg
${ECHO_CMD} "F90FLAGS_DBG='-c -g ${FFLAGS:C|O2|O0|} -fno-tree-dse ${FLAGARCH} -I${HOME_MPI}/include'" \
>> ${WRKSRC}/setup.cfg
${ECHO_CMD} "CFLAGS='-c ${CFLAGS} ${FLAGARCH} -I${HOME_MPI}/include'" \
>> ${WRKSRC}/setup.cfg
${ECHO_CMD} "CFLAGS_DBG='-c -g -O -pipe ${FLAGARCH} -I${HOME_MPI}/include'" \
>> ${WRKSRC}/setup.cfg
.else
${ECHO_CMD} "F90FLAGS='-c ${FFLAGS} -fno-tree-dse ${FLAGARCH}'" \
>> ${WRKSRC}/setup.cfg
${ECHO_CMD} "F90FLAGS_DBG='-c -g ${FFLAGS:C|O2|O0|} -fno-tree-dse ${FLAGARCH}'" \
>> ${WRKSRC}/setup.cfg
${ECHO_CMD} "CFLAGS='-c ${CFLAGS} ${FLAGARCH}'" \
>> ${WRKSRC}/setup.cfg
${ECHO_CMD} "CFLAGS_DBG='-c -g -O -pipe ${FLAGARCH}'" \
>> ${WRKSRC}/setup.cfg
.endif
.for is in ${INTERACTIVE_SCRIPTS}
${REINPLACE_CMD} -e '/should_continue()/d' \
${WRKSRC}/${is}
.endfor
${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py ${WRKSRC}
@${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py ${WRKSRC}
do-configure:
(cd ${CONFIGURE_WRKSRC} \
&& 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
@${ECHO_MSG} "------------ Fin debug ------------------"
post-configure:
${MKDIR} ${STAGEDIR}${inst_dir}/etc
${CP} -R ${LOCALBASE}/aster/etc/codeaster ${STAGEDIR}${inst_dir}/etc/
${ECHO_CMD} "#?vers : VVV?" >> ${STAGEDIR}${inst_dir}/etc/codeaster/aster
${CP} -R ${LOCALBASE}/aster/ASTK/ASTK_SERV/bin \
${LOCALBASE}/aster/ASTK/ASTK_SERV/asrun \
${LOCALBASE}/aster/ASTK/ASTK_SERV/share \
${STAGEDIR}${inst_dir}
${REINPLACE_CMD} -e 's|${LOCALBASE}/aster|${STAGEDIR}${inst_dir}|' \
${STAGEDIR}${inst_dir}/bin/as_run
${MV} ${STAGEDIR}${inst_dir}/etc/codeaster/profile_astk.sh \
${STAGEDIR}${inst_dir}/etc/codeaster/profile.sh
.for sf in etc/codeaster/profile.sh asrun/installation.py
${REINPLACE_CMD} -e 's|${LOCALBASE}/aster/ASTK/ASTK_SERV|${STAGEDIR}${inst_dir}|g' \
-e 's|${LOCALBASE}/aster|${STAGEDIR}${inst_dir}|g' \
${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.py ${DEBUG_FLAGS} install aster \
--prefix=${STAGEDIR}${inst_dir} | tee ${BUILD_WRKSRC}/build.log)
do-install:
# build: already did the installation
@${DO_NADA}
post-install:
.for f in ${PFX2FIX}
${REINPLACE_CMD} -e 's|${STAGEDIR}||g' ${STAGEDIR}${inst_dir}/${f}
.endfor
.for f in ${POSTBASH2FIX}
${REINPLACE_CMD} -e 's|/bin/bash|${LOCALBASE}/bin/bash|' \
${STAGEDIR}${inst_dir}/${VE}/share/aster/${f}
.endfor
${REINPLACE_CMD} -e 's|LINUX64|LINUX64, FREEBSD|' \
${STAGEDIR}${inst_dir}/asrun/core/default_configuration.py
(cd ${STAGEDIR}${PREFIX} && ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \
-d ${PREFIX} -f ${inst_dir:S|${PREFIX}/||})
(cd ${STAGEDIR}${PREFIX} && ${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py \
-d ${PREFIX} -f ${inst_dir:S|${PREFIX}/||})
${CP} -p ${STAGEDIR}${inst_dir}/${VE}/bin/aster \
${STAGEDIR}${inst_dir}/${VE}/bin/asterd
${STRIP_CMD} ${STAGEDIR}${inst_dir}/${VE}/bin/aster
${SED} -e 's|%%VER%%|${VE}|' < ${FILESDIR}/astout.export \
> ${STAGEDIR}${inst_dir}/${VE}/astout.export
(cd ${STAGEDIR}${inst_dir} && \
${LN} -fs ${VE} ${STAGEDIR}${inst_dir}/STA${VE})
.for conf in config.txt profile.sh
(cd ${STAGEDIR} && ${LN} -fs ${inst_dir}/${VE}/share/aster/${conf} \
${STAGEDIR}${inst_dir}/STA${VE}/${conf})
.endfor
${MKDIR} ${STAGEDIR}${tools_dir}
.for outil in ${tools}
${LN} -fs ${LOCALBASE}/bin/${outil} ${STAGEDIR}${tools_dir}/${outil}
.endfor
.if !defined(WITHOUT_ASTK_CLI)
${MKDIR} ${STAGEDIR}${PREFIX}/aster/ASTK/ASTK_SERV/etc/codeaster/astkrc
${LN} -fs ${ASTKDIR}/etc/astkrc/* \
${STAGEDIR}${PREFIX}/aster/ASTK/ASTK_SERV/etc/codeaster/astkrc
. for outil in astk bsf
${LN} -fs ${ASTKDIR}/bin/${outil} ${STAGEDIR}${tools_dir}/${outil}
. endfor
.endif
${MKDIR} ${WRKDIR}/AvoidConflictWithASTK
.for f in aster.install_${VE} profile.sh
${MV} ${STAGEDIR}${inst_dir}/etc/codeaster/${f} ${WRKDIR}/AvoidConflictWithASTK/
.endfor
${RM} -r ${STAGEDIR}${inst_dir}/etc/codeaster/*
.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}${PREFIX} -name "*.bak" -delete
.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} \
--filter='"I" not in testlist' -o /tmp/list_seq )
(cd /tmp && \
${LOCALBASE}/aster/bin/as_run astout.export) || ${TRUE}
@${ECHO_MSG} "Check /tmp/resu_test/NOOK"
.endif
.include <bsd.port.post.mk>
-16
View File
@@ -1,16 +0,0 @@
# parameters
P actions astout
P version %%VER%%
P debug nodebug
P mode interactif
P ncpus 1
P nbmaxnook 500
P cpresok RESOK
P facmtps 3
P tpsjob 300
# list of the test to run
F list /tmp/list_seq D 0
# results destination
R resu_test /tmp/resu_test R 0
-116
View File
@@ -1,116 +0,0 @@
--- as_setup.py.orig 2020-10-26 15:54:27 UTC
+++ as_setup.py
@@ -45,6 +45,8 @@ import pprint
import compileall
import imp
import pprint
+import fileinput
+import string
import distutils.sysconfig as SC
from functools import partial
from subprocess import Popen, PIPE
@@ -411,6 +413,7 @@ class SETUP:
archive filename !),
extract_as : rename content.
"""
+ from as_setup import (SYSTEM)
self._print(self._fmt_title % _('Extraction'))
if kargs.get('external')!=None:
self._call_external(**kargs)
@@ -518,6 +521,96 @@ class SETUP:
os.chdir(prev)
if iextr_as:
self.Clean(to_delete=path)
+
+ # Insert FreeBSD patches here
+ file2patch = os.path.join(self.workdir, self.content, 'bibc/wscript')
+ self._print('FreeBSD patch: no libdl => modify ' + file2patch)
+ for ligne in fileinput.input(file2patch, inplace=1):
+ nl = 0
+ nl = ligne.find("uselib_store='SYS', lib='dl'")
+ if nl > 0:
+ ligne =ligne.replace("self.check_cc", "# self.check_cc")
+ sys.stdout.write(ligne)
+ file2patch = os.path.join(self.workdir, self.content, 'waftools/med.py')
+ self._print('FreeBSD patch: use hdf5-110 ' + file2patch)
+ for ligne in fileinput.input(file2patch, inplace=1):
+ nl = 0
+ nl = ligne.find("self.env.INCLUDEDIR, 'hdf5'")
+ if nl > 0:
+ ligne =ligne.replace("'hdf5'", "'hdf5-110'")
+ sys.stdout.write(ligne)
+ # file2patch = os.path.join(self.workdir, self.content, 'bibcxx/wscript')
+ # self._print('FreeBSD patch: explicit link with libc++ required since Gcc 4.9 => modify ' + file2patch)
+ # for ligne in fileinput.input(file2patch, inplace=1):
+ # nl = 0
+ # nl = ligne.find("uselib_store='CXX', lib='stdc++'")
+ # if nl > 0:
+ # ligne =ligne.replace("lib='stdc++'", "lib='c++ stdc++'")
+ # sys.stdout.write(ligne)
+ file2patch = os.path.join(self.workdir, self.content, 'waftools/scotch.py')
+ self._print('FreeBSD patch: int64_t missing => modify ' + file2patch)
+ for ligne in fileinput.input(file2patch, inplace=1):
+ nl = 0
+ nl = ligne.find('include "scotch.h"')
+ if nl > 0:
+ sys.stdout.write("#include <sys/types.h>\n")
+ nl = 0
+ nl = ligne.find("stdio.h stdlib.h scotch.h")
+ if nl > 0:
+ ligne =ligne.replace("stdlib.h", "stdlib.h sys/types.h")
+ sys.stdout.write(ligne)
+ file2patch = os.path.join(self.workdir, self.content, 'bibc/utilitai/hpalloc.c')
+ self._print('FreeBSD patch: stdlib + no mallopt => modify ' + file2patch)
+ for ligne in fileinput.input(file2patch, inplace=1):
+ nl = 0
+ nl = ligne.find('ir=mallopt')
+ if nl > 0:
+ ligne =ligne.replace('ir=mallopt', '/* ir=mallopt')
+ ligne =ligne.replace(');', '); */')
+ else:
+ nl = ligne.find("malloc.h")
+ if nl > 0:
+ ligne =ligne.replace("malloc.h", "stdlib.h")
+ sys.stdout.write(ligne)
+ system=SYSTEM({ 'verbose' : True, 'debug' : False },
+ **{'maxcmdlen' : 2**31, 'log' : self})
+ file2patch = os.path.join(self.workdir, self.content, 'waf.main')
+ self._print('FreeBSD patch: remove extraneous escape => modify waf.main')
+ for ligne in fileinput.input(file2patch, inplace=1):
+ nl = ligne.find("\main$")
+ if nl > 0:
+ ligne =ligne.replace("\main$", "main$")
+ sys.stdout.write(ligne)
+ for f2p in ('waf', 'waf.main', 'waf_variant', 'waf_std', 'waf_mpi', 'bibpyt/Macro/macr_ecre_calc_ops.py'):
+ file2patch = os.path.join(self.workdir, self.content, f2p)
+ self._print('FreeBSD patch: /bin/bash + GNU getopt => modify ' + file2patch)
+ for ligne in fileinput.input(file2patch, inplace=1):
+ nl = 0
+ nl = ligne.find("/bin/bash")
+ if nl > 0:
+ ligne =ligne.replace("/bin/bash", " %%LOCALBASE%%/bin/bash")
+ sys.stdout.write(ligne)
+ for ligne in fileinput.input(file2patch, inplace=1):
+ nl = 0
+ nl = ligne.find("getopt ")
+ if nl > 0:
+ ligne =ligne.replace("getopt ", "%%LOCALBASE%%/bin/getopt ")
+ sys.stdout.write(ligne)
+ self._print('FreeBSD patches: waf.engine and data/post_install in %s' % os.path.join(self.workdir, self.content))
+ os.system('cd ' + os.path.join(self.workdir, self.content) + ' && patch -p0 < %%WRKDIR%%/post_patches/post-patch-waf.engine')
+ os.system('cd ' + os.path.join(self.workdir, self.content) + ' && patch -p0 < %%WRKDIR%%/post_patches/post-patch-data__post_install')
+ self._print('FreeBSD patches: memory detection in bibc/utilitai/mempid.c in %s' % os.path.join(self.workdir, self.content))
+ os.system('cd ' + os.path.join(self.workdir, self.content) + ' && patch -p0 < %%WRKDIR%%/post_patches/post-patch-bibc__utilitai__mempid.c')
+ os.system('cd ' + os.path.join(self.workdir, self.content) + ' && patch -p0 < %%WRKDIR%%/post_patches/post-patch-bibc__supervis__aster_utils.c')
+ file2patch = os.path.join(self.workdir, self.content, 'waftools/mathematics.py')
+ self._print('FreeBSD patch: nproc => gnproc ' + file2patch)
+ for ligne in fileinput.input(file2patch, inplace=1):
+ nl = 0
+ nl = ligne.find("'nproc'")
+ if nl > 0:
+ ligne =ligne.replace("'nproc'", "'gnproc'")
+ sys.stdout.write(ligne)
+ # End of FreeBSD patches
#-------------------------------------------------------------------------------
def Configure(self, **kargs):
@@ -1,39 +0,0 @@
--- check_compilers.py.orig 2019-10-01 12:45:34 UTC
+++ check_compilers.py
@@ -215,7 +215,7 @@ class CONFIGURE_COMPILER:
opt_env.append('')
self.cfg['OPT_ENV'] = os.linesep.join(opt_env)
- self.AddToEnv(self.cfg['OPT_ENV'], verbose=False)
+ self.AddToEnv(self.cfg['OPT_ENV'], verbose=True)
def after_compilers(self):
"""After searching compilers, this allows to add libs to search
@@ -419,8 +419,7 @@ class GNU_COMPILER(CONFIGURE_COMPILER):
def after_compilers(self):
"""Define libs to search."""
# prefer always libstdc++.so to the static one
- self.libs.extend([('math', 'lapack'), ('math', 'blas'),
- ('cxx', ['libstdc++' + self._ext_shared, 'libstdc++' + self._ext_static]),])
+ self.libs.extend([('math', 'lapack'), ('math', 'blas'),])
def add_on(self):
"""After searching compilers, libs... search again other bin or lib."""
@@ -813,7 +812,7 @@ class COMPILER_MANAGER:
"""Return config dict."""
return self.config.get(product, self.config.get('__main__')).cfg
- def switch_in_dep(self, dependency_object, product, system=None, verbose=False):
+ def switch_in_dep(self, dependency_object, product, system=None, verbose=True):
"""Change 'cfg' attribute of the dependency_object.
"""
__dbgsw = False
@@ -921,7 +920,7 @@ class COMPILER_MANAGER:
cfg['OPT_ENV'] += compiler_cfg.get('OPT_ENV', '')
cfg['OPT_ENV'] = cfg['OPT_ENV'].strip()
if system:
- system.AddToEnv(cfg['OPT_ENV'], verbose=False)
+ system.AddToEnv(cfg['OPT_ENV'], verbose=True)
if __dbgsw:
print(' new=%s' % cfg['OPT_ENV'])
@@ -1,12 +0,0 @@
--- check_compilers_src.py.orig 2017-08-26 13:56:41 UTC
+++ check_compilers_src.py
@@ -109,6 +109,9 @@ Code_Aster will be compiled without erro
You must choose another compiler or change the optimization level.
You can cancel now or make the changes later in the config.txt file of
Code_Aster and rebuild it.
+
+About volatile patch:
+ see http://www.code-aster.org/forum2/viewtopic.php?pid=40694#p40694
-------------------------------------------------------------------------------
""",
-55
View File
@@ -1,55 +0,0 @@
--- products.py.orig 2020-10-26 15:54:27 UTC
+++ products.py
@@ -136,8 +136,8 @@ def setup_hdf5(dep, summary, **kargs):
actions=(
('IsInstalled', { 'filename' :
- [osp.join('__setup.installdir__', 'lib', 'libhdf5.a'),
- osp.join('__setup.installdir__', 'include', 'hdf5.h')]
+ [osp.join('__setup.installdir__', 'lib', 'libhdf5-110.a'),
+ osp.join('__setup.installdir__', 'include/hdf5-110', 'hdf5.h')]
} ),
('Extract' , {}),
# gcc>=4.9 not supported by configure, should not use -ansi
@@ -651,14 +651,15 @@ def setup_mumps(dep, summary, **kargs):
('Configure', {
'command' : '%(PYTHON_ALIAS)s ; CC=%(CC)s FC=%(F90)s '
'LIBPATH="%(HOME_SCOTCH)s/lib %(HOME_METIS)s/lib" '
- 'INCLUDES="%(HOME_SCOTCH)s/include %(HOME_METIS)s/include" '
+ 'INCLUDES="%(HOME_HDF)s/include/hdf5-110 %(HOME_SCOTCH)s/include %(HOME_METIS)s/include" '
'OPTLIB_FLAGS="%(MATHLIB)s %(OTHERLIB)s" '
- './waf configure --maths-libs="" '
+ './waf configure --maths-libs="" --hdf5-libs="hdf5-110"'
' --prefix=%(HOME_MUMPS)s --install-tests' % cfg,
'capturestderr' : False,
}),
('Make' , {
- 'command' : '%(PYTHON_ALIAS)s ; ./waf build --jobs=1' % cfg,
+ # Work-around on FreeBSD: MAKE_JOBS_UNSAFE + -vvv to get full logs in setup.dbg
+ 'command' : '%(PYTHON_ALIAS)s ; ./waf build -vvv --jobs=1' % cfg,
'capturestderr' : False,
}),
('Install', {
@@ -718,7 +719,8 @@ def setup_aster(dep, summary, **kargs):
'HOME_MED', 'HOME_HDF', 'HOME_MFRONT', 'HOME_BOOST',
'LIBPATH_BOOST', 'LIBNAME_BOOST',
#'HOME_GMSH', 'HOME_HOMARD', optional
- 'LD', 'CC', 'F90', 'CXXLIB', 'OTHERLIB', 'SYSLIB', ],
+ 'LD', 'CC', 'F90', 'CXXLIB', 'OTHERLIB', 'SYSLIB', 'CFLAGS', 'LDFLAGS',
+ 'CFLAGS_DBG', 'FFLAGS', 'FFLAGS_DBG','F90FLAGS', 'F90FLAGS_DBG', 'CXXLIB', ],
set=['LIBPATH_HDF', 'LIBPATH_MED', 'LIBPATH_METIS', 'LIBPATH_SCOTCH',
'LIBPATH_MUMPS', 'LIBPATH_MFRONT'],
reqobj=['file:?ASTER_ROOT?/bin/as_run',
@@ -736,9 +738,9 @@ def setup_aster(dep, summary, **kargs):
os.environ['DEVTOOLS_COMPUTER_ID'] = cfg['DEVTOOLS_COMPUTER_ID']
if cfg['ASTER_NUMVERS'] < (15, 2):
WAF_ENV = ""
- WAF_CONFIGURE = ("./waf configure"
- " --use-config=aster_full_config"
- " --install-tests --prefix=%(ASTER_VERSION_DIR)s")
+ WAF_CONFIGURE = ('./waf configure'
+ ' --use-config=aster_full_config --hdf5-libs="hdf5-110"'
+ ' --install-tests --prefix=%(ASTER_VERSION_DIR)s')
else:
WAF_ENV = ". env.d/aster_full_std.sh ; "
WAF_CONFIGURE = ("./waf configure"
@@ -1,26 +0,0 @@
--- products_data.py.orig 2020-10-26 15:54:27 UTC
+++ products_data.py
@@ -48,7 +48,7 @@ export LIBPATH_HDF5="%(LIBPATH_HDF)s"
export PYPATH_ASRUN="%(ASTER_ROOT)s/lib/python%(PYTHON_XY)s/site-packages"
export LIBPATH_HDF5="%(LIBPATH_HDF)s"
-export INCLUDES_HDF5="%(HOME_HDF)s/include"
+export INCLUDES_HDF5="%(HOME_HDF)s/include/hdf5-110"
export LIBPATH_MED="%(LIBPATH_MED)s"
export INCLUDES_MED="%(HOME_MED)s/include"
@@ -127,13 +127,11 @@ def configure(self):
])
self.env.append_value('INCLUDES', [
- '%(HOME_HDF)s/include',
+ '%(HOME_HDF)s/include/hdf5-110',
'%(HOME_MED)s/include',
'%(HOME_MUMPS)s/include',
- '%(HOME_MUMPS)s/include_seq',
'%(HOME_METIS)s/include',
'%(HOME_SCOTCH)s/include',
- '%(HOME_MFRONT)s/include',
])
self.env['OPTLIB_FLAGS'] = %(MATHLIB)r.split() \
-21
View File
@@ -1,21 +0,0 @@
--- setup.py.orig 2020-10-26 15:54:27 UTC
+++ setup.py
@@ -485,12 +485,12 @@ def main():
[pythonXY, pythonXY + "m"],
paths=[pylib], prefshared=True, err=True)
cfg['PYTHON_LIBRARY'] = pylibrary
- cfg['PYTHON_LIBRARY_DIR'] = osp.dirname(pylibrary)
- pyinc = ftools.find_and_set(cfg, 'PYTHON_INCLUDE', "Python.h", typ='inc',
- paths=[osp.join(cfg['HOME_PYTHON'], 'include',
- pythonXY)],
- err=True)
- cfg['PYTHON_INCLUDE'] = osp.dirname(pyinc)
+ cfg['PYTHON_LIBRARY_DIR'] = osp.dirname(pylib)
+# pyinc = ftools.find_and_set(cfg, 'PYTHON_INCLUDE', "Python.h", typ='inc',
+# paths=[osp.join(cfg['HOME_PYTHON'], 'include',
+# pythonXY)],
+# err=True)
+# cfg['PYTHON_INCLUDE'] = osp.dirname(pyinc)
cfg['PYTHON_ALIAS'] = ''
if PY3:
py3tmpdir = tempfile.mkdtemp()
-11
View File
@@ -1,11 +0,0 @@
[
{ type: install
message: <<EOM
To run Code_Aster through ASTK, type:
%%tools_dir%%/astk
On i386 or amd64 platforms, we suggest you install the port french/homard,
an additional meshing tool.
EOM
}
]
@@ -1,12 +0,0 @@
[
{ type: install
message: <<EOM
After Code_Aster installation you could install ASTK
[cad/astk-serveur and cad/astk-client].
ASTK is a graphic interface to run Code_Aster.
On i386 platform, we suggest you install the port french/homard,
an additional meshing tool.
EOM
}
]
@@ -1,22 +0,0 @@
--- bibc/supervis/aster_utils.c.orig 2020-10-20 16:45:20.000000000 +0200
+++ bibc/supervis/aster_utils.c 2020-11-22 17:01:12.951054000 +0100
@@ -18,6 +18,8 @@
/* person_in_charge: mathieu.courtois at edf.fr */
+#include <string.h>
+#define __STDC_WANT_LIB_EXT1__ 1
#include "aster_utils.h"
#include "aster_module.h"
#include "aster_fort.h"
@@ -91,7 +93,9 @@
/* Initialise un blanc une chaine de caractères (sans '\0' à la fin).
* S'applique à une chaine allouée par le Fortran.
*/
- memset(fstr, ' ', flen);
+ if (memset_s(fstr, flen, ' ', flen) != 0) {
+ MYABORT("Erreur sur memset_s");
+ }
}
char * MakeBlankFStr( _IN STRING_SIZE flen )
@@ -1,11 +0,0 @@
--- bibc/utilitai/mempid.c.orig 2020-10-20 16:45:20.000000000 +0200
+++ bibc/utilitai/mempid.c 2020-11-10 19:29:26.945762000 +0100
@@ -77,7 +77,7 @@
kvm_close(kd);
/* VmSize */
- val[0] = B2K((uintmax_t)kp->ki_size);
+ val[0] = 0;
/* VmPeak - not defined in /compat/linux/proc/pid/status */
val[1] = -1;
iret = 0;
@@ -1,8 +0,0 @@
--- data/post_install.orig 2019-09-25 21:46:01.000000000 +0200
+++ data/post_install 2019-10-29 22:26:05.340304000 +0100
@@ -1,4 +1,4 @@
-#!/usr/bin/env python3
+#! %%PYTHON_CMD%%
# coding=utf-8
# --------------------------------------------------------------------
# Copyright (C) 1991 - 2019 - EDF R&D - www.code-aster.org
-8
View File
@@ -1,8 +0,0 @@
--- waf.engine.orig 2019-09-25 21:46:01.000000000 +0200
+++ waf.engine 2019-10-29 22:24:53.626260000 +0100
@@ -1,4 +1,4 @@
-#!/usr/bin/env python3
+#! %%PYTHON_CMD%%
# encoding: latin-1
# Thomas Nagy, 2005-2018
#
-5
View File
@@ -1,5 +0,0 @@
Aster stands for "Analyse des structures et thermo-mécanique", i.e.
Structures analysis and thermo-mechanics.
Code_Aster est un outil de modélisations non linéaires en mécanique et
en thermique.
-15273
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -62,5 +62,5 @@ post-install:
(cd ${STAGEDIR}${PREFIX}/bin && ${LN} -sf mdump3 mdump \
&& ${LN} -sf xmdump3 xmdump)
.include "${.CURDIR}/../../french/aster/bsd.aster.mk"
.include "${.CURDIR}/../../french/med/bsd.aster.mk"
.include <bsd.port.mk>
@@ -7,7 +7,7 @@ DISTVERSIONSUFFIX= .noarch
MASTER_SITES= http://www.code-aster.org/FICHIERS/ \
LOCAL/thierry
DISTNAME= aster-${DISTVERSIONPREFIX}${ASTER_DISTVERSION}${DISTVERSIONSUFFIX}
DISTINFO_FILE= ${.CURDIR}/../../french/aster/distinfo
DISTINFO_FILE= ${.CURDIR}/../../french/med/distinfo
ASTER_VER= 14.6.0
ASTER_DISTVERSION= ${ASTER_VER}-1
+1 -1
View File
@@ -40,7 +40,7 @@ MPICH_LIBS_OFF= mpiseq
MAKE_JOBS_UNSAFE=yes
.include <bsd.port.pre.mk>
.include "${.CURDIR}/../../french/aster/bsd.aster.mk"
.include "${.CURDIR}/../../french/med/bsd.aster.mk"
.if ${GCC_DEFAULT} >= 10
# workaround for Type mismatch in argument 's' at (1); passed INTEGER(4) to LOGICAL(4)
+1 -1
View File
@@ -38,7 +38,7 @@ CMAKE_ON+= enable-portable-build
TEST_TARGET= check
.include <bsd.port.pre.mk>
.include "${.CURDIR}/../../french/aster/bsd.aster.mk"
.include "${.CURDIR}/../../french/med/bsd.aster.mk"
.if ${FORTRAN_DEFAULT} == gfortran && ${GCC_DEFAULT} >= 10
FCFLAGS+= -fallow-argument-mismatch