Gentoo Archives: gentoo-commits

From: "Richard Farina (zerochaos)" <zerochaos@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in app-crypt/johntheripper: johntheripper-1.7.9-r9.ebuild metadata.xml ChangeLog
Date: Mon, 02 Dec 2013 17:48:23
Message-Id: 20131202174818.B153C2004B@flycatcher.gentoo.org
1 zerochaos 13/12/02 17:48:18
2
3 Modified: metadata.xml ChangeLog
4 Added: johntheripper-1.7.9-r9.ebuild
5 Log:
6 adding mozilla support per bug #491648
7
8 (Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key DD11F94A)
9
10 Revision Changes Path
11 1.10 app-crypt/johntheripper/metadata.xml
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-crypt/johntheripper/metadata.xml?rev=1.10&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-crypt/johntheripper/metadata.xml?rev=1.10&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-crypt/johntheripper/metadata.xml?r1=1.9&r2=1.10
16
17 Index: metadata.xml
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/app-crypt/johntheripper/metadata.xml,v
20 retrieving revision 1.9
21 retrieving revision 1.10
22 diff -u -r1.9 -r1.10
23 --- metadata.xml 28 Jun 2013 22:02:06 -0000 1.9
24 +++ metadata.xml 2 Dec 2013 17:48:18 -0000 1.10
25 @@ -9,6 +9,7 @@
26 </maintainer>
27 <use>
28 <flag name="cuda">Use nvidia cuda toolkit for speeding up cracking on capable devices</flag>
29 + <flag name="mozilla"> Support mozilla password cracking</flag>
30 <flag name="opencl">Enable opencl support for speeding up cracking on capable devices</flag>
31 </use>
32 </pkgmetadata>
33
34
35
36 1.164 app-crypt/johntheripper/ChangeLog
37
38 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-crypt/johntheripper/ChangeLog?rev=1.164&view=markup
39 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-crypt/johntheripper/ChangeLog?rev=1.164&content-type=text/plain
40 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-crypt/johntheripper/ChangeLog?r1=1.163&r2=1.164
41
42 Index: ChangeLog
43 ===================================================================
44 RCS file: /var/cvsroot/gentoo-x86/app-crypt/johntheripper/ChangeLog,v
45 retrieving revision 1.163
46 retrieving revision 1.164
47 diff -u -r1.163 -r1.164
48 --- ChangeLog 19 Sep 2013 19:44:58 -0000 1.163
49 +++ ChangeLog 2 Dec 2013 17:48:18 -0000 1.164
50 @@ -1,6 +1,12 @@
51 # ChangeLog for app-crypt/johntheripper
52 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
53 -# $Header: /var/cvsroot/gentoo-x86/app-crypt/johntheripper/ChangeLog,v 1.163 2013/09/19 19:44:58 zerochaos Exp $
54 +# $Header: /var/cvsroot/gentoo-x86/app-crypt/johntheripper/ChangeLog,v 1.164 2013/12/02 17:48:18 zerochaos Exp $
55 +
56 +*johntheripper-1.7.9-r9 (02 Dec 2013)
57 +
58 + 02 Dec 2013; Rick Farina <zerochaos@g.o>
59 + +johntheripper-1.7.9-r9.ebuild, metadata.xml:
60 + adding mozilla support per bug #491648
61
62 19 Sep 2013; Rick Farina <zerochaos@g.o> johntheripper-1.7.9-r8.ebuild:
63 re-adjust compiler check in manner more preferred by co-maintainer
64
65
66
67 1.1 app-crypt/johntheripper/johntheripper-1.7.9-r9.ebuild
68
69 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-crypt/johntheripper/johntheripper-1.7.9-r9.ebuild?rev=1.1&view=markup
70 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-crypt/johntheripper/johntheripper-1.7.9-r9.ebuild?rev=1.1&content-type=text/plain
71
72 Index: johntheripper-1.7.9-r9.ebuild
73 ===================================================================
74 # Copyright 1999-2013 Gentoo Foundation
75 # Distributed under the terms of the GNU General Public License v2
76 # $Header: /var/cvsroot/gentoo-x86/app-crypt/johntheripper/johntheripper-1.7.9-r9.ebuild,v 1.1 2013/12/02 17:48:18 zerochaos Exp $
77
78 EAPI="5"
79
80 inherit cuda eutils flag-o-matic toolchain-funcs pax-utils multilib
81
82 MY_PN="john"
83 MY_P="${MY_PN}-${PV}"
84
85 JUMBO="jumbo-7"
86
87 DESCRIPTION="fast password cracker"
88 HOMEPAGE="http://www.openwall.com/john/"
89
90 SRC_URI="http://www.openwall.com/john/g/${MY_P}.tar.bz2
91 !minimal? ( http://www.openwall.com/john/g/${MY_P}-${JUMBO}.diff.gz )"
92
93 LICENSE="GPL-2"
94 SLOT="0"
95 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos"
96 #Remove AltiVec USE flag. Appears to be an upstream issue.
97 IUSE="cuda custom-cflags -minimal mmx mozilla mpi opencl openmp sse2"
98 REQUIRED_USE="openmp? ( !minimal )
99 mpi? ( !minimal )
100 cuda? ( !minimal )
101 opencl? ( !minimal )
102 mozilla? ( !minimal )"
103
104 DEPEND="!minimal? ( >=dev-libs/openssl-0.9.7:0 )
105 mpi? ( virtual/mpi )
106 cuda? ( x11-drivers/nvidia-drivers
107 dev-util/nvidia-cuda-toolkit:= )
108 opencl? ( virtual/opencl )
109 mozilla? ( dev-libs/nss dev-libs/nspr )"
110 RDEPEND="${DEPEND}"
111
112 S="${WORKDIR}/${MY_P}"
113
114 has_xop() {
115 echo | $(tc-getCC) ${CFLAGS} -E -dM - | grep -q "#define __XOP__ 1"
116 }
117
118 has_avx() {
119 echo | $(tc-getCC) ${CFLAGS} -E -dM - | grep -q "#define __AVX__ 1"
120 }
121
122 get_target() {
123 if use alpha; then
124 echo "linux-alpha"
125 elif use amd64; then
126 if has_xop; then
127 echo "linux-x86-64-xop"
128 elif has_avx; then
129 echo "linux-x86-64-avx"
130 else
131 echo "linux-x86-64"
132 fi
133 elif use ppc; then
134 #if use altivec; then
135 # echo "linux-ppc32-altivec"
136 #else
137 echo "linux-ppc32"
138 #fi
139 elif use ppc64; then
140 #if use altivec; then
141 # echo "linux-ppc32-altivec"
142 #else
143 echo "linux-ppc64"
144 #fi
145 # linux-ppc64-altivec is slightly slower than linux-ppc32-altivec for most hash types.
146 # as per the Makefile comments
147 elif use sparc; then
148 echo "linux-sparc"
149 elif use x86; then
150 if has_xop; then
151 echo "linux-x86-xop"
152 elif has_avx; then
153 echo "linux-x86-avx"
154 elif use sse2; then
155 echo "linux-x86-sse2"
156 elif use mmx; then
157 echo "linux-x86-mmx"
158 else
159 echo "linux-x86-any"
160 fi
161 elif use ppc-macos; then
162 # force AltiVec, the non-altivec profile contains ancient compiler cruft
163 # if use altivec; then
164 echo "macosx-ppc32-altivec"
165 # else
166 # echo "macosx-ppc32"
167 # fi
168 # for Tiger this can be macosx-ppc64
169 elif use x86-macos; then
170 if use sse2; then
171 echo "macosx-x86-sse2"
172 else
173 echo "macosx-x86"
174 fi
175 elif use x86-solaris; then
176 echo "solaris-x86-any"
177 elif use x86-fbsd; then
178 if use sse2; then
179 echo "freebsd-x86-sse2"
180 elif use mmx; then
181 echo "freebsd-x86-mmx"
182 else
183 echo "freebsd-x86-any"
184 fi
185 elif use amd64-fbsd; then
186 echo "freebsd-x86-64"
187 else
188 echo "generic"
189 fi
190 }
191
192 get_john_objs() {
193 echo -n '${JOHN_COMMON_OBJS} '
194 if use opencl; then
195 echo -n '${OCL_OBJS} '
196 fi
197 if use cuda; then
198 echo -n '${CUDA_OBJS}'
199 fi
200 }
201
202 pkg_setup() {
203 if use openmp && [[ ${MERGE_TYPE} != binary ]]; then
204 tc-has-openmp || die "Please switch to an openmp compatible compiler"
205 fi
206 }
207
208 src_prepare() {
209 if ! use minimal; then
210 epatch "${WORKDIR}/${MY_P}-${JUMBO}.diff"
211
212 if use mpi ; then
213 sed -e "s/^#CC = mpicc/CC = mpicc/" \
214 -e "s/^#MPIOBJ =/MPIOBJ =/" \
215 -i src/Makefile || die
216 fi
217
218 # fix typo in jumbo patch
219 sed -i 's:All15:All5:' run/john.conf || die
220 # fix compile on ppc (only needed for jumbo-7)
221 epatch "${FILESDIR}/${P}-ppc-compile-fix.patch"
222 fi
223
224 cd src
225 epatch "${FILESDIR}/${PN}-1.7.6-cflags.patch"
226 epatch "${FILESDIR}/${PN}-1.7.3.1-mkdir-sandbox.patch"
227
228 if ! use minimal; then
229 sed -e "s/LDFLAGS *= */override LDFLAGS += /" -e "/LDFLAGS/s/-s//" \
230 -e "/LDFLAGS/s/-L[^ ]*//g" -e "/CFLAGS/s/-[IL][^ ]*//g" \
231 -i Makefile || die "sed Makefile failed"
232 sed -i 's#/usr/local#/opt#g' Makefile || die
233 fi
234 sed -i 's#JOHN_OBJS = \\#JOHN_COMMON_OBJS = \\#g' Makefile || die
235
236 if use cuda; then
237 cuda_src_prepare
238 sed \
239 -e "/^NVCC_FLAGS/s:$: ${NVCCFLAGS}:g" \
240 -i Makefile || die
241 fi
242
243 if use mozilla; then
244 sed -i -e '/HAVE_NSS =/s/^#*//' -e 's/NSS_override//' Makefile || die
245 fi
246 }
247
248 src_compile() {
249 local OMP
250
251 use custom-cflags || strip-flags
252 echo "#define JOHN_SYSTEMWIDE 1" >> config.gentoo
253 echo "#define JOHN_SYSTEMWIDE_HOME \"${EPREFIX}/etc/john\"" >> config.gentoo
254 echo "#define JOHN_SYSTEMWIDE_EXEC \"${EPREFIX}/usr/libexec/john\"" >> config.gentoo
255 append-flags -fPIC -fPIE
256 gcc-specs-pie && append-ldflags -nopie
257 use openmp && OMP="-fopenmp"
258
259 CPP="$(tc-getCXX)" CC="$(tc-getCC)" AS="$(tc-getCC)" LD="$(tc-getCC)"
260 if use mpi; then
261 CPP=mpicxx CC=mpicc AS=mpicc LD=mpicc
262 fi
263
264 #this stuff was all stolen from the Makefile, if build breaks, check this first
265 if use opencl; then
266 GPUCFLAGS="${GPUCFLAGS} -DCL_VERSION_1_0"
267 GPULDFLAGS="${GPULDFLAGS} -lOpenCL"
268 fi
269 if use cuda; then
270 GPUCFLAGS="${GPUCFLAGS} -DHAVE_CUDA"
271 GPULDFLAGS="${GPULDFLAGS} -L/opt/cuda/$(get_libdir) -lcudart"
272 fi
273
274 emake -C src/ \
275 CPP="${CPP}" CC="${CC}" AS="${AS}" LD="${LD}" \
276 CFLAGS="-c -Wall -include ../config.gentoo ${CFLAGS} ${OMP} ${GPUCFLAGS}" \
277 LDFLAGS="${LDFLAGS} ${GPULDFLAGS}" \
278 OPT_NORMAL="" \
279 OMPFLAGS="${OMP}" \
280 JOHN_OBJS="$(get_john_objs)" \
281 $(get_target)
282 }
283
284 src_test() {
285 if use opencl; then
286 cp src/opencl/*.cl run/
287 cp src/opencl_*.h run/
288 fi
289 pax-mark -mr run/john
290 if use opencl || use cuda; then
291 ewarn "GPU tests fail, skipping all tests..."
292 else
293 make -C src/ check
294 fi
295 }
296
297 src_install() {
298 # executables
299 dosbin run/john
300 newsbin run/mailer john-mailer
301
302 pax-mark -mr "${ED}usr/sbin/john" || die
303
304 dosym john /usr/sbin/unafs
305 dosym john /usr/sbin/unique
306 dosym john /usr/sbin/unshadow
307
308 # jumbo-patch additions
309 if ! use minimal; then
310 for s in \
311 keychain2john keepass2john pwsafe2john hccap2john \
312 racf2john zip2john rar2john pdf2john ssh2john undrop \
313 ; do
314 dosym john /usr/sbin/$s
315 done
316 use mozilla && dosym john /usr/sbin/mozilla2john
317 dosbin run/calc_stat
318 dosbin run/genmkvpwd
319 dosbin run/mkvcalcproba
320 dosbin run/raw2dyna
321 dosbin run/tgtsnarf
322 insinto /etc/john
323 doins run/genincstats.rb run/stats
324 doins run/netscreen.py run/sap2john.pl
325 if use opencl; then
326 doins src/opencl/*.cl
327 doins src/opencl_*.h
328 fi
329 fi
330
331 # config files
332 insinto /etc/john
333 doins run/*.chr run/password.lst
334 doins run/*.conf
335
336 # documentation
337 dodoc doc/*
338 }