# New ports collection makefile for: aster # Date created: Thu Jun 26 2003 # Whom: thierry@pompo.net # # $FreeBSD$ # PORTNAME= aster PORTVERSION= 7.1 PORTREVISION= 1 CATEGORIES= french cad python tk84 MASTER_SITES= http://www.code-aster.org/FICHIERS/code_aster/ DISTNAME= ${PORTNAME}_src_${PORTVERSION} EXTRACT_SUFX= .tar MAINTAINER= ports@FreeBSD.org COMMENT= Analyse des structures et thermo-mécanique #----------------------------------------------------------------------- # You may define these options: # # - F77: don't use the default fortran compiler; # - FFLAGS: fortan compiler's flags (-O2 by default); # - WITH_ZSH or WITH_BASH or WITH_KSH: select a shell among # zsh (default), bash or ksh; # - WITH_BLAS: don't link with atlas, but with blas; # (blas is slower, but lighter) # - WITHOUT_ASTK: don't use the GUI; # - WITHOUT_ASTK_CLI: won't use the GUI from this machine; # - WITHOUT_EFICAS: don't install ASter Command FIle Editor; # - WITHOUT_GMSH: don't install GMSH (a mesh generator); # - WITHOUT_GRACE: don't install Grace (used to create 2D graph); # - WITHOUT_HOMARD: don't install Homard (adaptative mesh capability) # - WITHOUT_MACR_RECAL: don't install Numerical Python # (required by the macro MACR_RECAL); # - WITH_GIBI: not yet implemented (only for EDF's internal use, # waiting for a license from CEA). # #----------------------------------------------------------------------- PATCH_DEPENDS= tclsh${TCL_VER}:${PORTSDIR}/lang/tcl${SHORT_TCL_VER} \ wish${TK_VER}:${PORTSDIR}/x11-toolkits/tk${SHORT_TK_VER} BUILD_DEPENDS= ${opt_hdf}:${PORTSDIR}/graphics/hdf5 \ ${opt_med}:${PORTSDIR}/french/med \ ${SHELL_INSTALL_ASTER}:${PORTSDIR}/shells/${SHIADEP} LIB_DEPENDS= tcl${SHORT_TCL_VER}:${PORTSDIR}/lang/tcl${SHORT_TCL_VER} \ tk${SHORT_TK_VER}:${PORTSDIR}/x11-toolkits/tk${SHORT_TK_VER} RUN_DEPENDS= ${PYTHON_SITELIBDIR}/Gnuplot:${PORTSDIR}/math/py-gnuplot \ ${LOCALBASE}/bin/onmetis.exe:${PORTSDIR}/cad/metis-edf EXTRACT_CMD= ${TAR} EXTRACT_BEFORE_ARGS= -xf EXTRACT_AFTER_ARGS= # empty USE_GCC= 3.2 USE_PYTHON= yes USE_REINPLACE= yes REINPLACE_ARGS= -i "" WRKSRC= ${WRKDIR}/${vaster} PLIST_SUB= ASTERDIR=${PORTNAME}/${vaster} .if defined(WITHOUT_ASTK) || defined(WITHOUT_ASTK_CLI) PKGMESSAGE= ${PKGDIR}/pkg-message.sans-astk .endif .include .if defined(WITH_BLAS) LIB_DEPENDS+= blas.1:${PORTSDIR}/math/blas .else LIB_DEPENDS+= f77blas.1:${PORTSDIR}/math/atlas .endif .if !defined(WITHOUT_ASTK) RUN_DEPENDS+= ${LOCALBASE}/ASTK/ASTK_SERV:${PORTSDIR}/cad/astk-serveur .if !defined(WITHOUT_ASTK_CLI) RUN_DEPENDS+= ${LOCALBASE}/ASTK/ASTK_CLIENT:${PORTSDIR}/cad/astk-client PLIST_SUB+= ASTK_CLIENT="" ASTKDIR=${ASTKDIR} .else PLIST_SUB+= ASTK_CLIENT="@comment " ASTKDIR="" .endif .endif .if !defined(WITHOUT_EFICAS) RUN_DEPENDS+= ${LOCALBASE}/apps/Eficas:${PORTSDIR}/french/eficas PLIST_SUB+= EFICAS="" .else PLIST_SUB+= EFICAS="@comment " .endif .if !defined(WITHOUT_GMSH) RUN_DEPENDS+= ${LOCALBASE}/bin/gmsh:${PORTSDIR}/cad/gmsh PLIST_SUB+= GMSH="" .else PLIST_SUB+= GMSH="@comment " .endif .if !defined(WITHOUT_GRACE) RUN_DEPENDS+= ${X11BASE}/bin/xmgrace:${PORTSDIR}/math/grace PLIST_SUB+= GRACE="" .else PLIST_SUB+= GRACE="@comment " .endif .if (${ARCH} == "i386") && !defined(WITHOUT_HOMARD) RUN_DEPENDS+= ${LOCALBASE}/apps/homard:${PORTSDIR}/french/homard PLIST_SUB+= HOMARD="" HOMARDDIR=${HOMARDDIR} .else PLIST_SUB+= HOMARD="@comment " HOMARDDIR="" .endif .if !defined(WITHOUT_MACR_RECAL) RUN_DEPENDS+= ${PYNUMERIC} .endif .if ${OSVERSION} < 500039 F77= g77-${USE_GCC:C/\.//} .else F77?= f77 .endif FFLAGS?= -O2 TK_VER?= 8.4 SHORT_TK_VER= ${TK_VER:S/.//} TKCONFIG= ${LOCALBASE}/lib/tk${TK_VER}/tkConfig.sh TCL_VER?= ${TK_VER} SHORT_TCL_VER= ${TCL_VER:S/.//} TCLCONFIG= ${LOCALBASE}/lib/tcl${TK_VER}/tclConfig.sh .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 .if ${SHIA} == "bash" SHIADEP= bash2 .else SHIADEP= ${SHIA} .endif vaster= STA${PORTVERSION} MK_FILES= make_aster make_cata make_etude make_exec make_lib make_test INST_DAT= astest bibpyt cata_ele.pickled catalo catapy commande \ config.txt elements etude materiau tcl python_path= ${PYTHON_LIBDIR}:${PYTHON_LIBDIR}/lib-dynload:${PYTHON_SITELIBDIR}:${PYTHON_SITELIBDIR}/Numeric inst_dir= ${PREFIX}/${PORTNAME}/${vaster} tools_dir= ${inst_dir}/outils unames!= ${UNAME} -s v_ifdef= ${unames:U} SHELL_INSTALL_ASTER= ${LOCALBASE}/bin/${SHIA} tcl_dir= ${LOCALBASE} tcl_bin= tclsh${TK_VER} python_dir= ${PYTHONBASE}/bin opt_hdf= ${LOCALBASE}/lib/libhdf5.a opt_med= ${LOCALBASE}/lib/libmed.a .if defined(WITH_BLAS) lib_blas= -lblas .else lib_blas= -lf77blas -latlas .endif home_ar!= dirname `${WHICH} ${AR}` gzip!= dirname `${WHICH} ${GZIP_CMD}` LASTKDIR?= ASTK/ASTK_CLIENT ASTKDIR= ${LOCALBASE}/${LASTKDIR} LHOMARDDIR?= apps/homard HOMARDDIR= ${LOCALBASE}/${LHOMARDDIR} post-extract: @(cd ${WRKDIR} && \ ${TAR} xfz ${WRKDIR}/${PORTNAME}.tar.gz) post-patch: .for mk_file in ${MK_FILES} @${REINPLACE_CMD} -e "s#HOME_CODE_ASTER#${WRKSRC}#g" \ -e "s#IFDEF#${v_ifdef}#" \ -e "s#HOME_XTERM#${X11BASE}/bin#" \ -e "s#REP_TOOLS#${tools_dir}#" ${WRKSRC}/tcl/${mk_file} .endfor @${REINPLACE_CMD} -e "s#HOME_CODE_ASTER#${WRKSRC}#g" \ -e "s#HOME_TCL_TK#${tcl_dir}#g" \ -e "s#TCL_BIN#${tcl_bin}#g" \ -e "s#TCL_TK_VERSION#${TK_VER}#g" \ -e "s#HOME_PYTHON#${python_dir}#g" \ -e "s#/bin/sh#${SHELL_INSTALL_ASTER}#g" \ -e "s#%%PYTHONPATH%%#${python_path}#" \ ${WRKSRC}/tcl/run_aster @${CHMOD} 755 ${WRKSRC}/tcl/run_aster .if !exists(${WRKSRC}/tcl/conf/${v_ifdef}/config.txt) @${MKDIR} ${WRKSRC}/tcl/conf/${v_ifdef} @${CP} ${FILESDIR}/config.txt ${WRKSRC}/tcl/conf/${v_ifdef} .endif @${GREP} TCL_LIB_SPEC ${TCLCONFIG} | \ ${SED} -e "s#TCL_LIB_SPEC='##;s#\$${TCL_DBGX}'##" \ > ${WRKDIR}/tcl_lib_spec @${GREP} TK_LIB_SPEC ${TKCONFIG} | \ ${SED} -e "s#TK_LIB_SPEC='##;s#'##" > ${WRKDIR}/tk_lib_spec @${REINPLACE_CMD} -e "s#OPT_HDF#${opt_hdf}#" \ -e "s#OPT_MED#${opt_med}#" \ -e "s#OPT_TCL#`${CAT} ${WRKDIR}/tcl_lib_spec`#" \ -e "s#OPT_TK#`${CAT} ${WRKDIR}/tk_lib_spec`#" \ -e "s#OPT_X11#-L${X11BASE}/lib -lX11#" \ -e "s#OPT_BLAS#${lib_blas}#" \ -e "s#HOME_AR#${home_ar}#" \ -e "s#%%F77%%#${F77}#" \ -e "s#%%CC%%#${CC}#" \ -e "s#CFLAGS#${CFLAGS} ${PTHREAD_CFLAGS}#" \ -e "s#FFLAGS#${FFLAGS}#" \ -e "s#HOME_GZIP#${gzip}#" \ -e "s#HOME_PYTHON#${PYTHONBASE}#" \ -e "s#PYTHON_BIN#${PYTHON_VERSION}#" \ -e "s#PYTHON_VERSION#${_PYTHON_VERSION}#g" \ -e "s#PTHREAD#${PTHREAD_LIBS}#" \ ${WRKSRC}/tcl/conf/${v_ifdef}/config.txt @${MV} ${WRKSRC}/tcl/conf/${v_ifdef}/config.txt ${WRKSRC} @${RM} ${WRKSRC}/tcl/run_aster.orig @${RM} -rf ${WRKSRC}/tcl/conf @${RM} -rf ${WRKSRC}/bibpyt/Utilitai @${REINPLACE_CMD} -e "s#\$$(HOME)#${LOCALBASE}/apps#" \ ${WRKSRC}/bibpyt/Execution/E_SUPERV.py @${REINPLACE_CMD} -e "s#%%inst_dir%%#${inst_dir}#" \ ${WRKSRC}/bibc/utilitai/asterm.c do-build: ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py ${WRKSRC}/bibpyt ${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py ${WRKSRC}/bibpyt (cd ${WRKSRC}/tcl&& ${SETENV} PYTHONPATH=${python_path} \ ./run_aster make_aster) do-install: .for mk_file in ${MK_FILES} run_aster ../config.txt ${REINPLACE_CMD} -e "s#${WRKSRC}#${inst_dir}#g" ${WRKSRC}/tcl/${mk_file} .endfor ${MKDIR} ${tools_dir} .for FILE in ${INST_DAT} ${CP} -R ${WRKSRC}/${FILE} ${inst_dir} .endfor ${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${inst_dir} ${INSTALL_PROGRAM} ${WRKSRC}/asteru.exe ${inst_dir} ${INSTALL_SCRIPT} ${WRKSRC}/tcl/run_aster ${inst_dir}/tcl post-install: ${LN} -fs ${LOCALBASE}/bin/onmetis ${tools_dir}/ ${LN} -fs ${LOCALBASE}/bin/gnuplot ${tools_dir}/ .if !defined(WITHOUT_ASTK) && !defined(WITHOUT_ASTK_CLI) ${LN} -fs ${ASTKDIR}/bin/astk ${tools_dir}/ ${LN} -fs ${ASTKDIR}/bin/bsf ${tools_dir}/ .endif .if !defined(WITHOUT_EFICAS) ${LN} -fs ${LOCALBASE}/bin/eficas ${tools_dir}/ .endif .if !defined(WITHOUT_GMSH) ${LN} -fs ${LOCALBASE}/bin/gmsh ${tools_dir}/ .endif .if !defined(WITHOUT_GRACE) ${LN} -fs ${X11BASE}/bin/xmgrace ${tools_dir}/ .endif .if (${ARCH} == "i386") && !defined(WITHOUT_HOMARD) ${LN} -fs ${HOMARDDIR}/homard ${tools_dir}/ ${LN} -fs ${HOMARDDIR}/aster_homard_py ${tools_dir}/ .endif @${ECHO_MSG} @${CAT} ${PKGMESSAGE} | ${SED} -e "s#%%inst_dir%%#${inst_dir}#" @${ECHO_MSG} .if defined(MAINTAINER_MODE) test: install (cd ${inst_dir}/tcl; \ ./run_aster make_etude) (cd ${inst_dir}/tcl; \ ./run_aster make_test) .endif .include