updated on Wed Jan 11 08:01:35 UTC 2012
[aur-mirror.git] / astk / PKGBUILD
blob3ab023f2dd062d7cc4ff6e5f4ed55e4fd7f78b22
1 # Maintainer: Michele Mocciola <mickele>
2 # Contributor: Brice Méalier <mealier_brice@yahoo.fr>
4 pkgname=astk
5 pkgver=1.8.0
6 pkgrel=4
7 pkgdesc="Tcl/Tk interface to run Code-Aster (prepare and start calculations)."
8 url="http://www.code-aster.org/"
9 license="GPL v2"
10 depends=('python' 'tcl' 'tk' 'openssh' 'x11-ssh-askpass' 'net-tools')
11 makedepends=('desktop-file-utils' 'sed' 'patch' 'coreutils')
12 optdepends=('inetutils: if you want to connect to aster server with rsh' 'eficas=1.17.0: to edit Code_Aster command files' 'gibi>=2000: to generate and post-process meshes' 'gmsh: to generate and post-process mesh' 'gnuplot: to plot outputs to X11, PostScript, PNG, GIF, and others' 'grace: to plot outputs in 2D graphs')
13 arch=('i686' 'x86_64')
14 install=(astk.install)
15 source=("http://www.code-aster.org/V2/UPLOAD/DOC/Telechargement/aster-full-src-10.1.0-4.noarch.tar.gz" "http://www.caelinux.org/wiki/images/c/c3/Helpers2007.tar.gz" "${pkgname}-${pkgver}.diff" "astk-ssh" "astk.png" "astk.desktop")
17 _pythonver=2.6
18 _asterver=10.1.0
19 _astervershort=${_asterver:0:4}
20 _asterdir=/opt/aster
21 _asrundir=${_asterdir}/lib/python${_pythonver}/site-packages
22 _outilsdir=${_asterdir}/outils
23 _installdir=${_asterdir}/ASTK
24 _shellcmd=/bin/sh
25 _pythoncmd=/usr/bin/python
26 _editor='/usr/bin/emacs -display @D'
27 _xterm='/usr/bin/xterm -display @D -e @E'
29 build() {
30   cd ${srcdir} || return 1
32   bsdtar -x -f aster-full-src-${_asterver}/SRC/${pkgname}-${pkgver}.tar.gz || return 1
34   msg "Modify the source code and sets variables"
36   cd ${srcdir}/${pkgname}-${pkgver} || return 1
38   patch -Np1 -i ${srcdir}/${pkgname}-${pkgver}.diff || return 1
40   sed -e "s|?TOOLS_DIR?/eficasTk|/usr/bin/eficasTk|g" \
41       -e "s|?TOOLS_DIR?/eficasQt|/usr/bin/eficasQt|g" \
42       -e "s|?TOOLS_DIR?/gmsh|/usr/bin/gmsh|g" \
43       -e "s|?TOOLS_DIR?/gibi.x|/opt/gibi/gibi|g" \
44       -e "s|?TOOLS_DIR?/xmgrace|/usr/bin/xmgrace|g" \
45       -e "s|?TOOLS_DIR?/../../?vaster?|${_asterdir}/STA${_astervershort}|g" \
46       -i ASTK_CLIENT/etc/astkrc/outils
48   for _SH in sh csh
49   do    
50         sed -e "s|?HOME_PYTHON?/lib|/usr/lib/python${_pythonver}/lib-dynload|" \
51             -e "s|?ASRUN_SITE_PKG?|${_asrundir}|" \
52             -e "s|?HOME_MED?|/usr|" \
53             -e "s|?HOME_HDF?|/usr|" \
54             -i ASTK_SERV/etc/profile.${_SH}
55   done
57   sed -e "s|?PS_COMMAND_CPU?|/bin/ps -e --width=512 -ocputime -ocommand|g" \
58       -e "s|?PS_COMMAND_PID?|/bin/ps -e --width=512 -opid -ocommand|g" \
59       -e "s|?DEBUGGER_COMMAND_POST?|gdb -batch --command=@D @E @C|g" \
60       -e "s|?DEBUGGER_COMMAND?|ddd --debugger gdb --command=@D @E @C|g" \
61       -e "s|?MPIRUN?|/opt/mpich2/bin/mpiexec.mpd|g" \
62       -i ASTK_SERV/etc/asrun
64   # This simplifies maintaining the PKGBUILD
65   for _FILE in `grep -R -l "?IFDEF?" *`
66   do
67     if [ "$CARCH" = "x86_64" ]; then
68       sed -e "s|?IFDEF?|LINUX64|g" \
69           -i ${_FILE}
70     else # i686
71       sed -e "s|?IFDEF?|P_LINUX|g" \
72           -i ${_FILE}
73     fi
74   done
75   for _FILE in `grep -R -l "/opt/aster/ASTK" *`
76   do
77     sed -e "s|/opt/aster/ASTK|${_installdir}|g" \
78         -i ${_FILE}
79   done
80   for _FILE in `grep -R -l "?SHELL_EXECUTION?" *`
81   do
82     sed -e "s|?SHELL_EXECUTION?|${_shellcmd}|g" \
83         -i ${_FILE}
84   done
85   for _FILE in `grep -R -l "?PYTHON_EXE?" *`
86   do
87     sed -e "s|?PYTHON_EXE?|${_pythoncmd}|g" \
88         -i ${_FILE}
89   done
90   for _FILE in `grep -R -l "?WISH_EXE?" *`
91   do
92     sed -e "s|?WISH_EXE?|/usr/bin/wish|g" \
93         -i ${_FILE}
94   done
95   for _FILE in `grep -R -l "?ASTER_ROOT?" *`
96   do
97     sed -e "s|?ASTER_ROOT?|${_asterdir}|" \
98         -i ${_FILE}
99   done
100   for _FILE in `grep -R -l "?ASTER_VERSION?" *`
101   do
102     sed -e "s|?ASTER_VERSION?|STA${_astervershort}|" \
103         -i ${_FILE}
104   done
105   for _FILE in `grep -R -l "?ASTER_CONFDIR?" *`
106   do
107     sed -e "s|?ASTER_CONFDIR?|${_asterdir}/etc/codeaster|" \
108         -i ${_FILE}
109   done
110   for _FILE in `grep -R -l "?EDITOR?" *`
111   do
112     sed -e "s|?EDITOR?|${_editor}|" \
113         -i ${_FILE}
114   done
115   for _FILE in `grep -R -l "?TERMINAL?" *`
116   do
117     sed -e "s|?TERMINAL?|${_xterm}|" \
118         -i ${_FILE}
119   done
122 package() {
124   msg "Install ${pkgname}"
126   cd ${srcdir}/${pkgname}-${pkgver} || return 1
128   # ASTK_CLIENT/bin
129   install -m 755 -d "${pkgdir}${_installdir}/ASTK_CLIENT" || return 1
130   cp -rf "${srcdir}/${pkgname}-${pkgver}/ASTK_CLIENT/bin" "${pkgdir}${_installdir}/ASTK_CLIENT" || return 1
131   install -m 755 "${srcdir}/astk-ssh" "${pkgdir}${_installdir}/ASTK_CLIENT/bin" || return 1
133   # ASTK_SERV/bin
134   install -m 755 -d "${pkgdir}${_installdir}/ASTK_SERV" || return 1
135   cp -rf "${srcdir}/${pkgname}-${pkgver}/ASTK_SERV/bin" "${pkgdir}${_installdir}/ASTK_SERV" || return 1
136   ln -sf ./as_run  "${pkgdir}${_installdir}/ASTK_SERV/bin/as_serv" || return 1
138   # bin
139   install -m 755 -d "${pkgdir}${_asterdir}/bin" || return 1
140   cp -rf ${pkgdir}${_installdir}/ASTK_SERV/bin/* ${pkgdir}${_asterdir}/bin || return 1
141   cp -rf ${pkgdir}${_installdir}/ASTK_CLIENT/bin/* ${pkgdir}${_asterdir}/bin || return 1
142   for _link in get getop show
143   do
144     ln -sf ./as_run "${pkgdir}${_asterdir}/bin/${_link}" || return 1
145   done  
147   # /usr/bin
148   install -m 755 -d ${pkgdir}/usr/bin || return 1
149   for _FILE in astk astk-ssh as_run
150   do
151     ln -s "${_asterdir}/bin/${_FILE}" "${pkgdir}/usr/bin" || return 1
152   done
154   # ASTK_SERV/lib
155   cp -rf "${srcdir}/${pkgname}-${pkgver}/configuration/ASTK/ASTK_SERV/lib" "${pkgdir}${_installdir}/ASTK_SERV" || return 1
157   # ASTK_SERV/asrun
158   cp -rf ASTK_SERV/asrun ${pkgdir}${_installdir}/ASTK_SERV || return 1
160   # ASTK_CLIENT/lib
161   cp -rf ${srcdir}/${pkgname}-${pkgver}/ASTK_CLIENT/lib ${pkgdir}${_installdir}/ASTK_CLIENT || return 1
163   # lib
164   install -m 755 -d ${pkgdir}${_asterdir}/lib/astk || return 1
165   cp -rf ${pkgdir}${_installdir}/ASTK_CLIENT/lib/* ${pkgdir}${_asterdir}/lib/astk || return 1
166   install -m 755 -d ${pkgdir}${_asrundir} || return 1
167   cp -rf ${pkgdir}${_installdir}/ASTK_SERV/asrun ${pkgdir}${_asrundir} || return 1
169   # outils
170   install -m 755 -d ${pkgdir}${_outilsdir} || return 1
171   cp -rf ${srcdir}/${pkgname}-${pkgver}/configuration/deprecated_outils.sh ${pkgdir}${_outilsdir} || return 1
172   for _link in as_run  astk  bsf  get  getop  show
173   do
174     ln -sf ./deprecated_outils.sh ${pkgdir}${_outilsdir}/${_link} || return 1
175   done
176   ln -sf /opt/metis-edf/bin/onmetis ${pkgdir}${_outilsdir} || return 1
177   ln -sf /opt/metis-edf/bin/kmetis ${pkgdir}${_outilsdir} || return 1
178   ln -sf /opt/metis-edf/bin/pmetis ${pkgdir}${_outilsdir} || return 1
179   ln -sf /usr/bin/gnuplot ${pkgdir}${_outilsdir} || return 1
180   ln -sf /usr/bin/gmsh ${pkgdir}${_outilsdir} || return 1
181   ln -sf /usr/bin/xmgrace ${pkgdir}${_outilsdir} || return 1
182   ln -sf /usr/bin/gracebat ${pkgdir}${_outilsdir} || return 1
183   ln -sf /opt/eficas/eficasQt ${pkgdir}${_outilsdir} || return 1
184   ln -sf /opt/eficas/eficasQt ${pkgdir}${_outilsdir}/eficas || return 1
185   ln -sf /opt/eficas/eficasTk ${pkgdir}${_outilsdir} || return 1
186   ln -sf /opt/gibi/gibi ${pkgdir}${_outilsdir} || return 1
188   # share
189   install -m 755 -d ${pkgdir}${_asterdir}/share/codeaster/asrun || return 1
190   cp -rf ${srcdir}/${pkgname}-${pkgver}/ASTK_SERV/unittest ${pkgdir}${_asterdir}/share/codeaster/asrun || return 1
191   cp -rf ${srcdir}/${pkgname}-${pkgver}/ASTK_SERV/share/codeaster/asrun/* ${pkgdir}${_asterdir}/share/codeaster/asrun || return 1
192   cp -rf ${srcdir}/${pkgname}-${pkgver}/ASTK_SERV/i18n/locale ${pkgdir}${_asterdir}/share || return 1
194   # etc
195   install -m 755 -d "${pkgdir}${_asterdir}/etc/codeaster" || return 1
196   cp -rf ${srcdir}/${pkgname}-${pkgver}/ASTK_SERV/etc/* ${pkgdir}${_asterdir}/etc/codeaster || return 1
197   cp -rf ${srcdir}/${pkgname}-${pkgver}/ASTK_CLIENT/etc/astkrc ${pkgdir}${_asterdir}/etc/codeaster || return 1
198   # ln -sf ${_asterdir}/etc/codeaster/astkrc ${pkgdir}${_installdir}/ASTK_CLIENT/etc || return 1
200   # compile python files
201   python /usr/lib/python${_pythonver}/compileall.py -f ${pkgdir}${_installdir}
202   python -O /usr/lib/python${_pythonver}/compileall.py -f ${pkgdir}${_installdir}
203   python /usr/lib/python${_pythonver}/compileall.py -f ${pkgdir}${_asterdir}/lib
204   python -O /usr/lib/python${_pythonver}/compileall.py -f ${pkgdir}${_asterdir}/lib
206   # Utility from caelinux
207   for _FILE in GenEnsightCase.py unv2abaqus.py unv2impact.py unv2star nastran_to_univ unv2ElmerUNV.py UNV2X-GUI.wish CreateJob.py star2unv unv2gmsh.py unv2x.py
208   do
209     install -m 755 "${srcdir}/${_FILE}" "${pkgdir}${_asterdir}/bin" || return 1
210   done
212   msg "Install pixmaps and desktop shortcut"
213   install -m 755 -d "${pkgdir}/usr/share/pixmaps" || return 1
214   cp "${srcdir}/${pkgname}.png" "${pkgdir}/usr/share/pixmaps/" || return 1
215   desktop-file-install \
216     --dir="${pkgdir}/usr/share/applications" \
217     "${srcdir}/${pkgname}.desktop" || return 1
219 md5sums=('49fe55a0a46491124c16965a2db59c5e'
220          'fba6f87c843807a0857069ceed248309'
221          'f9609230e2e7ecc216016a539e9dcb57'
222          '6fba5ebcdf75cccea2122c85df5a6306'
223          '3d432dfac21b5351cf96ac80ae55811d'
224          '79e3e1cf77a476d0b9e9d9aa21a1e723')