diff options
author | thierry <thierry@FreeBSD.org> | 2006-06-03 20:38:09 +0800 |
---|---|---|
committer | thierry <thierry@FreeBSD.org> | 2006-06-03 20:38:09 +0800 |
commit | 885702860e1a9125c50a1f6ac1983b3a225bf606 (patch) | |
tree | 7308a2170ae259975742e81389a89f63a2b67055 /french | |
parent | b10f8be106be77500dc810cf3037ff9bfabe34b7 (diff) | |
download | freebsd-ports-gnome-885702860e1a9125c50a1f6ac1983b3a225bf606.tar.gz freebsd-ports-gnome-885702860e1a9125c50a1f6ac1983b3a225bf606.tar.zst freebsd-ports-gnome-885702860e1a9125c50a1f6ac1983b3a225bf606.zip |
- Add MUMPS support (optional);
- By default, aster will now link against Blas, unless Atlas libraries
are already installed.
Schedule note for those reluctant to update too often: Aster 8.3.0 will
be released soon.
Ordered by: Pedro F. Giffuni
Diffstat (limited to 'french')
-rw-r--r-- | french/aster/Makefile | 63 | ||||
-rw-r--r-- | french/aster/files/patch-products.py | 44 |
2 files changed, 87 insertions, 20 deletions
diff --git a/french/aster/Makefile b/french/aster/Makefile index 9ee42a6d73a3..a34748cef197 100644 --- a/french/aster/Makefile +++ b/french/aster/Makefile @@ -7,7 +7,7 @@ PORTNAME= aster DISTVERSION= 8.2.0-4 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= french cad python MASTER_SITES= http://www.code-aster.org/FICHIERS/ DISTNAME= ${PORTNAME}-full-src-${DISTVERSION} @@ -23,8 +23,9 @@ COMMENT= Code_Aster finite element method solver # - 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); -# - WITH_BLAS: don't link with atlas, but with blas; -# (blas is slower, but lighter) +# - WITH_ATLAS: replace blas; +# - WITH_BLAS: don't link with atlas, even if present, but with blas; +# (blas might be slower, but is lighter) # - 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); @@ -32,6 +33,7 @@ COMMENT= Code_Aster finite element method solver # - WITHOUT_MACR_RECAL: don't install Numerical Python # (required by the macro MACR_RECAL); # - WITHOUT_SCOTCH: don't install Scotch. +# - WITH_MUMPS: install the interface between Code_Aster and MUMPS (experimental) # #----------------------------------------------------------------------- @@ -47,8 +49,8 @@ RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/Gnuplot:${PORTSDIR}/math/py-gnuplot \ ${LOCALBASE}/bin/onmetis.exe:${PORTSDIR}/math/metis-edf \ ${LOCALBASE}/aster/ASTK/ASTK_SERV:${PORTSDIR}/cad/astk-serveur -#USE_GCC= 3.4 # Helps on 4.x, but not sufficient. USE_PYTHON= yes +USE_BISON= yes HAS_CONFIGURE= yes REINPLACE_ARGS= -i "" @@ -80,10 +82,13 @@ BROKEN= Seg. fault on ${ARCH} during compilation of elements. BROKEN= Does not build on sparc64 .endif -.if defined(WITH_BLAS) -LIB_DEPENDS+= blas.1:${PORTSDIR}/math/blas -.else +.if exists(${LOCALBASE}/lib/libatlas_r.so) && !defined(WITH_BLAS) +WITH_ATLAS= yes +.endif +.if defined(WITH_ATLAS) LIB_DEPENDS+= f77blas.1:${PORTSDIR}/math/atlas +.else +LIB_DEPENDS+= blas.1:${PORTSDIR}/math/blas .endif .if !defined(WITHOUT_ASTK_CLI) RUN_DEPENDS+= ${ASTKDIR}:${PORTSDIR}/cad/astk-client @@ -116,6 +121,17 @@ RUN_DEPENDS+= ${PYNUMERIC} BUILD_DEPENDS+= ${LOCALBASE}/lib/libscotch.a:${PORTSDIR}/cad/scotch .endif +.if exists(${LOCALBASE}/lib/libcmumps.a) +WITH_MUMPS= yes +.endif +.if defined(WITH_MUMPS) +F90= gfortran41 +FC= ${LOCALBASE}/bin/${F90} +DLIBF90!= ${DIRNAME} `${LDCONFIG} -r | ${GREP} gfortran | ${AWK} '{print $$3}'` +BUILD_DEPENDS+= ${LOCALBASE}/lib/libcmumps.a:${PORTSDIR}/math/mumps \ + ${FC}:${PORTSDIR}/lang/gfortran +.endif + .if !${OSVERSION} < 500039 F77?= f77 .endif @@ -178,20 +194,22 @@ v_ifdef= ${OPSYS:U} SHELL_INSTALL_ASTER= ${LOCALBASE}/bin/${SHIA} tcl_dir= ${LOCALBASE} hdf_dir= ${LOCALBASE} -.if defined(WITH_BLAS) -lib_blas= blas +.if defined(WITH_ATLAS) +lib_blas= ptf77blas +lib_atlas= atlas_r .else -lib_blas= f77blas -lib_atlas= atlas +lib_blas= blas +lib_atlas= # empty .endif LASTKDIR?= ${PORTNAME}/ASTK/ASTK_CLIENT ASTKDIR= ${LOCALBASE}/${LASTKDIR} pre-configure: + @${REINPLACE_CMD} -e 's|PREFER_SHARED_LIBS=False|PREFER_SHARED_LIBS=True|' ${WRKSRC}/setup.cfg @${REINPLACE_CMD} -e 's|/opt/aster|${WRKSRC}/instdir|' \ -e 's|/usr/bin/gcc|${CC}|;s|/usr/bin/g77|${F77}|' \ ${WRKSRC}/setup.cfg -.if !defined(WITH_BLAS) +.if defined(WITH_ATLAS) @${REINPLACE_CMD} -e "s|cfg\['BLASLIB'\]|cfg['BLASLIB'], cfg['ATLASLIB']|" \ ${WRKSRC}/products.py .endif @@ -212,13 +230,24 @@ pre-configure: @${ECHO_CMD} "_install_aster_Linux = False" >> ${WRKSRC}/setup.cfg @${ECHO_CMD} "_install_scotch = False" >> ${WRKSRC}/setup.cfg @${ECHO_CMD} "HOME_SCOTCH = '${LOCALBASE}'" >> ${WRKSRC}/setup.cfg +.if defined(WITH_MUMPS) + @${ECHO_CMD} "HOME_MUMPS = '${LOCALBASE}'" >> ${WRKSRC}/setup.cfg + @${ECHO_CMD} "F90='${LOCALBASE}/bin/gfortran41'" >> ${WRKSRC}/setup.cfg + @${ECHO_CMD} "SYSLIB='-Xlinker -export-dynamic ${PTHREAD_LIBS} -lutil -lm -lz -lg2c -L${DLIBF90} -lgfortran'" \ + >> ${WRKSRC}/setup.cfg +.else @${ECHO_CMD} "HOME_MUMPS = ''" >> ${WRKSRC}/setup.cfg + @${ECHO_CMD} "SYSLIB='-Xlinker -export-dynamic ${PTHREAD_LIBS} -lutil -lm -lz -lg2c'" \ + >> ${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 - @${ECHO_CMD} "BLASLIB='${lib_blas}'" >> ${WRKSRC}/setup.cfg +.if defined(WITH_ATLAS) @${ECHO_CMD} "ATLASLIB='${lib_atlas}'" >> ${WRKSRC}/setup.cfg +.endif + @${ECHO_CMD} "BLASLIB='${lib_blas}'" >> ${WRKSRC}/setup.cfg @${ECHO_CMD} "LAPACKLIB='${LOCALBASE}/lib/liblapack.a'" >> ${WRKSRC}/setup.cfg @${ECHO_CMD} "GZIP='/usr/bin/gzip'" >> ${WRKSRC}/setup.cfg @${ECHO_CMD} "SHELL_EXECUTION='${SHELL_INSTALL_ASTER}'" >> ${WRKSRC}/setup.cfg @@ -226,12 +255,14 @@ pre-configure: @${ECHO_CMD} "LDFLAGS='-v ${LDFLAGS}'" >> ${WRKSRC}/setup.cfg @${ECHO_CMD} "FFLAGS='-c ${FFLAGS} -D${FLAGARCH}'" >> ${WRKSRC}/setup.cfg @${ECHO_CMD} "FFLAGS_DBG='-c -g -O -D${FLAGARCH}'" >> ${WRKSRC}/setup.cfg + @${ECHO_CMD} "F90FLAGS='-c ${FFLAGS} -ff2c -D${FLAGARCH}'" \ + >> ${WRKSRC}/setup.cfg + @${ECHO_CMD} "F90FLAGS_DBG='-c -g -O -ff2c -D${FLAGARCH}'" \ + >> ${WRKSRC}/setup.cfg @${ECHO_CMD} "CFLAGS='-c ${CFLAGS} ${PTHREAD_CFLAGS} -D${FLAGARCH}'" \ >> ${WRKSRC}/setup.cfg @${ECHO_CMD} "CFLAGS_DBG='-c -g -O -pipe ${PTHREAD_CFLAGS} -D${FLAGARCH}'" \ >> ${WRKSRC}/setup.cfg - @${ECHO_CMD} "SYSLIB='-Xlinker -export-dynamic ${PTHREAD_LIBS} -lutil -lm -lz -lg2c'" \ - >> ${WRKSRC}/setup.cfg do-configure: (cd ${CONFIGURE_WRKSRC} && ${PYTHON_CMD} setup.py test \ @@ -305,7 +336,7 @@ post-install: @${ECHO_MSG} .if defined(MAINTAINER_MODE) -test: install +regression-test: install (cd ${inst_dir}; \ ${LOCALBASE}/aster/ASTK/ASTK_SERV/bin/as_run forma01a.export) @${ECHO_CMD} Note: homard must be installed to run some steps succesfully. diff --git a/french/aster/files/patch-products.py b/french/aster/files/patch-products.py index 065634c74680..85e22b6dd8ec 100644 --- a/french/aster/files/patch-products.py +++ b/french/aster/files/patch-products.py @@ -1,11 +1,36 @@ --- products.py.orig Wed Jan 25 13:06:09 2006 -+++ products.py Fri Feb 3 00:08:27 2006 -@@ -871,6 +871,18 @@ ++++ products.py Wed May 31 22:34:26 2006 +@@ -822,16 +822,18 @@ + 'HOME_PYTHON', 'PYTHON_EXE', 'PYTHONLIB', 'PYMODULES_PREFIX', + 'HOME_MUMPS', 'HOME_ZMAT', 'HOME_MPI', + 'HOME_MED', 'HOME_HDF', 'HOME_CRPCRS', +- 'LD', 'CC', 'F77', 'F90',], ++ 'LD', 'CC', 'F77', 'F90','LDFLAGS', 'SYSLIB', ++ 'CFLAGS', 'CFLAGS_DBG', ++ 'FFLAGS', 'FFLAGS_DBG', ++ 'F90FLAGS', 'F90FLAGS_DBG'], + reqobj=['file:?HOME_ASTK?/ASTK_SERV/bin/as_run', + 'file:?HOME_ASTK?/ASTK_SERV/conf/aster_profile.sh'], +- set=['SYSLIB', 'OTHERLIB', ++ set=['OTHERLIB', + 'MEDLIB', 'HDFLIB', 'LAPACKLIB', + 'MUMPSLIB', 'ZMATLIB', 'SCOTCHLIB', +- 'LDFLAGS', +- 'CFLAGS', 'CFLAGS_DBG', 'CINCLUDE', +- 'FFLAGS', 'FFLAGS_DBG', 'FINCLUDE', +- 'F90FLAGS', 'F90FLAGS_DBG', 'F90INCLUDE', ++ 'CINCLUDE', ++ 'FINCLUDE', ++ 'F90INCLUDE', + 'NOBUILD', ], + ) + cfg['OTHERLIB'] = cfg.get('OTHERLIB', '') +@@ -871,6 +873,18 @@ cxxlibs.extend(['stdc++', 'supc++']) zmat_platform='Linux4' mpilibs.extend(['mpich']) + elif cfg['IFDEF']=='FREEBSD': -+ opt['MATH_LIST'] = [cfg['LAPACKLIB'], cfg['BLASLIB'], cfg['ATLASLIB'], 'g2c'] ++ opt['MATH_LIST'] = [cfg['LAPACKLIB'], cfg['BLASLIB'], 'g2c'] + opt['SYSLIB'] = cfg['SYSLIB'] + opt['LDFLAGS'] = cfg['LDFLAGS'] + opt['CFLAGS_DBG'] = cfg['CFLAGS_DBG'] @@ -19,7 +44,18 @@ elif cfg['IFDEF']=='x86_64': opt['MATH_LIST'] = ['lapack', 'blas', 'g2c'] opt['SYSLIB'] = '-Wl,--allow-multiple-definition -Wl,--export-dynamic -lieee -ldl -lpthread -lutil -lm' -@@ -1011,7 +1023,7 @@ +@@ -922,8 +936,8 @@ + opt['FINCLUDE'] = '' + + # ----- F90 +- opt['F90FLAGS_DBG'] = opt['FFLAGS_DBG'] +- opt['F90FLAGS'] = opt['FFLAGS'] ++ opt['F90FLAGS_DBG'] = cfg['F90FLAGS_DBG'] ++ opt['F90FLAGS'] = cfg['F90FLAGS'] + opt['F90INCLUDE']='' + + # ----- check for MED and HDF5 libraries, and HDF5 includes +@@ -1011,7 +1025,7 @@ for lib in ('common', 'scotch', 'scotcherr', 'scotcherrcom'): ftools.findlib_and_set(cfg, 'SCOTCHLIB', lib, kargs['libdirs'], cfg['HOME_SCOTCH'], |