updated on Fri Jan 6 04:00:21 UTC 2012
[aur-mirror.git] / john-mpi / PKGBUILD
blob97cc68d79824ff2dc8a0bc8b4eaddc17ce18c6ed
1 #Contributor: MatToufoutu <mattoufootu[at]gmail[dot]com>
2 #Contributor: Jan Lieven jan[at]das<minus>labor(dot)org
4 pkgname=john-mpi
5 pkgver=1.7.9
6 pkgrel=1
7 _patchlevel=jumbo-5
8 arch=('i686' 'x86_64')
9 pkgdesc='JohnTheRipper password cracker with Jumbo patch and MPI support'
10 url='http://openwall.info'
11 license=('GPL')
12 provides=('john')
13 conflicts=('john' 'john-latest')
14 depends=('mpich2')
15 backup=('etc/john/john.conf')
17 source=("http://www.openwall.com/john/g/john-${pkgver}-${_patchlevel}.tar.gz"
18         "params.h.patch")
20 build() {
21   export PATH=/opt/mpich2/bin:${PATH}
23   cd ${srcdir}/john-${pkgver}-${_patchlevel}/src
24   patch -p0 < ${srcdir}/params.h.patch
26   sed -i 's|#CC = mpicc|CC = mpicc|g' Makefile                                                                                                                    
27   sed -i 's|#MPIOBJ = john-mpi.o|MPIOBJ = john-mpi.o|g' Makefile
29   if [ "$CARCH" == "x86_64" ]; then
30    sed -i 's|CFLAGS = -c -Wall -O2|CFLAGS = -c -Wall -O2 -march=x86-64 -DJOHN_SYSTEMWIDE=1|' Makefile
31    sed -i 's|^LDFLAGS =\(.*\)|LDFLAGS =\1 -lm|' Makefile
32    sed -i -e 's|-m486||g' Makefile
33     if [ $(which icc) -eq 0 ]; then
34       make linux-x86-64-icc
35     else
36       make linux-x86-64
37     fi
38   else
39     sed -i 's|CFLAGS = -c -Wall -O2|CFLAGS = -c -Wall -O2 -march=i686 -DJOHN_SYSTEMWIDE=1|' Makefile
40     make linux-x86-sse2
41   fi
44 package() {
45         # config file
46         sed -i 's|$JOHN|/usr/share/john|g' ${srcdir}/john-${pkgver}-${_patchlevel}/run/john.conf
47         install -Dm644 ${srcdir}/john-${pkgver}-${_patchlevel}/run/john.conf ${pkgdir}/etc/john/john.conf
48         
49         # docs
50         install -d ${pkgdir}/usr/share/doc/john
51         install -m644 ${srcdir}/john-${pkgver}-${_patchlevel}/doc/* ${pkgdir}/usr/share/doc/john/
52         install -d ${pkgdir}/usr/share/john/
53         install -m644 ${srcdir}/john-${pkgver}-${_patchlevel}/run/*.chr ${pkgdir}/usr/share/john/
54         install -m644 ${srcdir}/john-${pkgver}-${_patchlevel}/run/password.lst ${pkgdir}/usr/share/john/
55         install -Dm644 ${srcdir}/john-${pkgver}-${_patchlevel}/doc/LICENSE ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
57         # install password list and charset files
58         install -m644 ${srcdir}/john-${pkgver}-${_patchlevel}/run/{{all,alnum,alpha,digits,lanman}.chr,password.lst} \
59           ${pkgdir}/usr/share/john/
61         # install binaries
62   cd ${srcdir}/john-${pkgver}-${_patchlevel}/run/
63   for i in $(find . -type f -perm 755); do
64     install -Dm755 ${i} ${pkgdir}/usr/bin/${i}
65   done
66         cd ${pkgdir}/usr/bin
67         ln -s john unafs
68         ln -s john unique
69         ln -s john unshadow
70         ln -s john undrop
73 md5sums=('492a1be4a95cca51919557622cf956e6'
74          'f69ed632eba8fb9e45847a4b4a323787')