1 # Contributor: mickele <mimocciola@yahoo.com>
6 pkgdesc="Code-Aster provides a complete serie of analysis and multiphysics modelling methods. This version uses MPI thanks to mumps library."
7 url="http://www.code-aster.org/index.php"
9 depends=('python' 'python-numeric' 'lapack' 'tcl' 'tk' 'scotch' 'hdf5>=1.8.0' 'med>=2.3.5' 'metis-edf>=4.1' 'astk>=1.7.1-4' 'mpich2' 'mumps')
10 makedepends=('sed' 'coreutils' 'patch')
11 optdepends=('homard>=9.5: to refine and de-refine meshes')
15 arch=('i686' 'x86_64')
16 install=(${pkgname}.install)
17 source=(http://www.code-aster.org/V2/UPLOAD/DOC/Telechargement/${_pkgnamesrc}-full-src-${pkgver}-2.noarch.tar.gz ${_pkgnamesrc}-${pkgver}.diff)
20 _pkgvershort=${pkgver:0:3}
21 _installdir=/opt/aster
22 _astkdir=${_installdir}/ASTK
23 _mpich2dir=/opt/mpich2
25 # Change this var pointing to your favorite editor
26 _editor=/usr/bin/emacs
29 msg " To create $pkgname follow these instructions:"
30 msg " - as root create a file named "/etc/mpd.conf" containing following lines"
31 msg " MPD_SECRETWORD=<your secret MPD_PASSWORD>"
32 msg " MPD_USE_ROOT_MPD=1"
33 msg " - change permissions of /etc/mpd.conf using following command"
34 msg " $ sudo chmod 600 /etc/mpd.conf"
35 msg " - verify that root can connect to sshd; usually you have to uncomment line"
36 msg " <# PermitRootLogin yes> in file /etc/sshd_config"
38 msg " # PermitRootLogin yes"
40 msg " PermitRootLogin yes"
41 msg " after having buillt ${pkgname} you can restore this option"
42 msg " - run mpd ring using command"
44 msg " - in this PKGBUILD, comment line <return 1> after this messages"
49 msg " - create package using command"
50 msg " $ sudo makepkg --asroot"
51 msg " If something goes wrong send a mail to mimocciola@yahoo.com"
54 # We need a little change in aster
56 bsdtar -xf ${srcdir}/${_pkgnamesrc}-full-src-${pkgver}/SRC/${_pkgnamesrc}-src-${pkgver}-1.noarch.tar.gz
57 rm -rf ${srcdir}/$pkgname-full-src-${pkgver}/SRC/${_pkgnamesrc}-src-${pkgver}-1.noarch.tar.gz
58 mv STA${_pkgvershort} PAR${_pkgvershort}
59 bsdtar -czf ${srcdir}/${_pkgnamesrc}-full-src-${pkgver}/SRC/${_pkgnamesrc}-src-${pkgver}-1.noarch.tar.gz PAR${_pkgvershort}
60 rm -rf ${srcdir}/PAR${_pkgvershort}
62 cd ${srcdir}/${_pkgnamesrc}-full-src-${pkgver}
64 msg "-- Modify source code and sets variables --"
66 patch -Np1 -i ${srcdir}/${_pkgnamesrc}-${pkgver}.diff
68 # Modify setup.py: No question to stop compilation
69 sed -e "s|should_continue()|#should_continue()|g" \
72 sed -e "s|rep = should_continue()|#rep = should_continue()|" \
76 sed -e "s|/opt/aster|${pkgdir}$_installdir|" \
77 -e "s|PREFER_SHARED_LIBS=False|PREFER_SHARED_LIBS=True|" \
78 -e "s|PREFER_COMPILER = 'Intel'|PREFER_COMPILER = 'GNU'|" \
79 -e "s|_install_omniORB = True|#_install_omniORB = True|" \
80 -e "s|_install_omniORBpy = True|#_install_omniORBpy = True|" \
81 -e "s|_install_pylotage = True|#_install_pylotage = True|" \
84 echo "_install_hdf5 = False" >> setup.cfg
85 echo "HOME_HDF='/usr'" >> setup.cfg
86 echo "_install_med = False" >> setup.cfg
87 echo "HOME_MED='/usr'" >> setup.cfg
88 echo "_install_tcl = False" >> setup.cfg
89 echo "_install_tk = False" >> setup.cfg
90 echo "HOME_TCL_TK='/usr'" >> setup.cfg
91 echo "_install_Numeric = False" >> setup.cfg
92 echo "_install_gmsh = False" >> setup.cfg
93 echo "_install_gmsh2 = False" >> setup.cfg
94 echo "_install_gibi = False" >> setup.cfg
95 echo "_install_grace = False" >> setup.cfg
96 echo "XMGRACE = 'xmgrace'" >> setup.cfg
97 echo "_install_homard = False" >> setup.cfg
98 echo "_install_Pmw = False" >> setup.cfg
99 echo "_install_eficas = False" >> setup.cfg
100 echo "_install_astk = False" >> setup.cfg
101 echo "_install_astk_serv = False" >> setup.cfg
102 echo "_install_metis = False" >> setup.cfg
103 echo "HOME_METIS='/opt/metis-edf'" >> setup.cfg
104 echo "_install_omniORB = False" >> setup.cfg
105 echo "_install_omniORBpy = False" >> setup.cfg
106 echo "_install_pylotage = False" >> setup.cfg
107 echo "_install_crpcrs = False" >> setup.cfg
108 echo "_install_aster_Linux = False" >> setup.cfg
109 echo "_install_scotch = False" >> setup.cfg
110 echo "HOME_SCOTCH = '/usr'" >> setup.cfg
111 echo "HOME_ZMAT = ''" >> setup.cfg
112 echo "HOME_MPI = '${_mpich2dir}'" >> setup.cfg
113 echo "_install_mumps = False" >> setup.cfg
114 echo "HOME_MUMPS = '/usr'" >> setup.cfg
115 echo "MUMPSLIB = '-ldmumps -lzmumps -lmumps_common -lesmumps -lfax -lsymbol -ldof -lorder -lgraph -lscotch -lscotcherr -lcommon -lpord -lscalapack -llapack -lblacs -lblacsf77 -lblacs -lmetis -L${_mpich2dir}/lib -lmpich'" >> setup.cfg
116 mkdir -p ${pkgdir}${_installdir}/PAR${_pkgvershort}/include_mumps
117 for _FILE in cmumps_root.h cmumps_struc.h dmumps_root.h dmumps_struc.h smumps_root.h smumps_struc.h zmumps_root.h zmumps_struc.h
119 sed -e "s|INTEGER |INTEGER*4 |g" -e "s|INTEGER,|INTEGER*4,|g" < /usr/include/${_FILE} > ${pkgdir}${_installdir}/PAR${_pkgvershort}/include_mumps/${_FILE}
121 echo "INCLUDE_MUMPS='${pkgdir}${_installdir}/PAR${_pkgvershort}/include_mumps'" >> setup.cfg
122 echo "BLASLIB='/usr'" >> setup.cfg
123 echo "LAPACKLIB='/usr'" >> setup.cfg
124 echo "GZIP='/bin/gzip'" >> setup.cfg
125 echo "SHELL_EXECUTION='/bin/sh'" >> setup.cfg
126 echo "EDITOR='$_editor'" >> setup.cfg
128 echo "CC='${_mpich2dir}/bin/mpicc'" >> setup.cfg
129 echo "F77='${_mpich2dir}/bin/mpif77'" >> setup.cfg
130 echo "F90='${_mpich2dir}/bin/mpif90'" >> setup.cfg
131 echo "CXX='${_mpich2dir}/bin/mpicxx'" >> setup.cfg
132 echo "LD='${_mpich2dir}/bin/mpicc'" >> setup.cfg
134 echo "LDFLAGS='-lstdc++ $LDFLAGS'" >> setup.cfg
135 if [ "$CARCH" = "x86_64" ]; then
136 echo "FFLAGS='-ffixed-line-length-0 -fdefault-double-8 -fdefault-integer-8 -fdefault-real-8 $FFLAGS'" >> setup.cfg
137 echo "FFLAGS_DBG='-g -ffixed-line-length-0 -fdefault-double-8 -fdefault-integer-8 -fdefault-real-8 $FFLAGS'" >> setup.cfg
138 echo "F90FLAGS='-ffixed-line-length-0 -x f77-cpp-input -fdefault-double-8 -fdefault-integer-8 -fdefault-real-8 -I/usr/include -I${_mpich2dir}/include $FFLAGS'" >> setup.cfg
139 echo "F90FLAGS_DBG='-g -ffixed-line-length-0 -x f77-cpp-input -fdefault-double-8 -fdefault-integer-8 -fdefault-real-8 -I/usr/include -I${_mpich2dir}/include $FFLAGS'" >> setup.cfg
141 echo "FFLAGS='-ffixed-line-length-0 $FFLAGS'" >> setup.cfg
142 echo "FFLAGS_DBG='-g -ffixed-line-length-0 $FFLAGS'" >> setup.cfg
143 echo "F90FLAGS='-xf77-cpp-input -ffixed-line-length-0 -I/usr/include -I${_mpich2dir}/include $FFLAGS'" >> setup.cfg
144 echo "F90FLAGS_DBG='-g -xf77-cpp-input -ffixed-line-length-0 -I/usr/include -I${_mpich2dir}/include $FFLAGS'" >> setup.cfg
146 echo "CFLAGS='-fno-stack-protector -DH5_USE_16_API $CFLAGS'" >> setup.cfg
147 echo "CFLAGS_DBG='-g -fno-stack-protector -DH5_USE_16_API $CFLAGS'" >> setup.cfg
148 echo "CPPFLAGS='-DH5_USE_16_API $CXXFLAGS'" >> setup.cfg
149 echo "CXXFLAGS='-DH5_USE_16_API $CXXFLAGS'" >> setup.cfg
150 echo "MATH_LIST = ['blas', 'lapack', 'gfortran']">> setup.cfg
152 sed -e "s|STA|PAR|" \
154 sed -e "s|STA|PAR|" \
157 /usr/bin/python /usr/lib/python$_pythonver/compileall.py ./
158 /usr/bin/python -O /usr/lib/python$_pythonver/compileall.py ./
160 mkdir -p ${pkgdir}/${_astkdir}
161 cp -rf ${_astkdir}/* ${pkgdir}/${_astkdir}
162 cp ${_astkdir}/../aster-mpihosts ${pkgdir}${_astkdir}/../
163 for _FILE in `grep -R -l "$_installdir" ${pkgdir}/${_astkdir}/*` ${pkgdir}${_astkdir}/../mpi_hostfile
165 sed -e "s|$_installdir|$pkgdir$_installdir|g" \
168 for _DIR in bin lib unittest
170 python /usr/lib/python${_pythonver}/compileall.py -f ${pkgdir}${_astkdir}/ASTK_SERV/${_DIR}
171 python -O /usr/lib/python${_pythonver}/compileall.py -f ${pkgdir}${_astkdir}/ASTK_SERV/${_DIR}
174 msg "--- Builds Code_Ater ---"
176 python setup.pyo --aster_root=${pkgdir}$_installdir install aster
178 chmod -x ${pkgdir}$_installdir/PAR$_pkgvershort/materiau/A42_REF_A.NOMI
180 echo "HDF5_DISABLE_VERSION_CHECK=1" >> ${pkgdir}$_installdir/PAR$_pkgvershort/profile.sh
182 for _FILE in astout.export forma01a.export
184 sed -e "s|${pkgdir}||g" \
185 -e 's|P mode astout|P mode interactif|' \
186 -e 's|P mode forma01a|P mode interactif|' \
187 -i ${pkgdir}$_installdir/PAR${_pkgvershort}/${_FILE}
189 for _FILE in Makefile config.txt
191 sed -e "s|${pkgdir}||g" \
192 -i ${pkgdir}${_installdir}/PAR${_pkgvershort}/${_FILE}
194 sed -e "s|cat ./fort.15 ./ficode|cat ./ficode|" \
195 -i ${pkgdir}$_installdir/PAR$_pkgvershort/bibpyt/Execution/E_SUPERV.py
197 touch ${pkgdir}$_installdir/PAR$_pkgvershort/etude/forma01a.17
199 rm -rf ${pkgdir}${_installdir}/.postinst
200 rm -rf ${pkgdir}${_astkdir}
201 rm -rf ${pkgdir}${_installdir}/aster-mpihosts
203 for _FILE in bibpyt commande
205 python /usr/lib/python$_pythonver/compileall.py -f ${pkgdir}${_installdir}/PAR${_pkgvershort}/${_FILE}
206 python -O /usr/lib/python$_pythonver/compileall.py -f ${pkgdir}${_installdir}/PAR${_pkgvershort}/${_FILE}
209 for _FILE in `find $pkgdir/ -name "*.o"`
213 # Removes files with wrong permission
216 md5sums=('d28a1aee23413239166e77d4e934395a'
217 '9859a21a710d006009d1491dc6b15316')