Gentoo Archives: gentoo-commits

From: Rick Farina <zerochaos@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-crypt/johntheripper/
Date: Tue, 18 Dec 2018 21:40:39
Message-Id: 1545169223.a3208a3d2c8e955b4b65c64099b0e8af3c95fa8d.zerochaos@gentoo
1 commit: a3208a3d2c8e955b4b65c64099b0e8af3c95fa8d
2 Author: Rick Farina <zerochaos <AT> gentoo <DOT> org>
3 AuthorDate: Mon Dec 17 19:01:16 2018 +0000
4 Commit: Rick Farina <zerochaos <AT> gentoo <DOT> org>
5 CommitDate: Tue Dec 18 21:40:23 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a3208a3d
7
8 app-crypt/johntheripper: 1.8.0
9
10 Package-Manager: Portage-2.3.52, Repoman-2.3.12
11 Signed-off-by: Rick Farina <zerochaos <AT> gentoo.org>
12
13 app-crypt/johntheripper/Manifest | 1 +
14 .../johntheripper/johntheripper-1.7.9-r10.ebuild | 268 ---------------------
15 app-crypt/johntheripper/johntheripper-1.8.0.ebuild | 142 +++++++++++
16 3 files changed, 143 insertions(+), 268 deletions(-)
17
18 diff --git a/app-crypt/johntheripper/Manifest b/app-crypt/johntheripper/Manifest
19 index c8ee3743082..6be3684eb5f 100644
20 --- a/app-crypt/johntheripper/Manifest
21 +++ b/app-crypt/johntheripper/Manifest
22 @@ -1,2 +1,3 @@
23 DIST john-1.7.9-jumbo-7.diff.gz 1074044 BLAKE2B beb2b3777bccd68ba510b75575cc12678f38bcebd08a8c6d91a291d14b2a3e404013ade5d68610bc9d4a2e26a6a00db8c8757bd4fbcb64bd20cde28a6abde9f4 SHA512 07a461df199fc776e8f62e969a95762fc1c99b72cdbd4a83d06f05ed236eaac9a918356ec9b8f8d060d1a9b2b8aa5c4021dfe53382761a5a76269ec66a5bd28a
24 DIST john-1.7.9.tar.bz2 717505 BLAKE2B ea720451b4544a975d5baca75242f22d8b306ad4101f5774dd80b0855410efae7d7e09d6c43bd6e89aac7346ea686ccc5a1bfedc8c89888a39a49941774759a9 SHA512 121b4aa6fbb62b14db366aed739d7db760c136a4c3a39d8bba32bde269350354b3d18d15ee783f61b17913b0dd6773068cb01b3d3bbad290c309ae1cd027568b
25 +DIST john-1.8.0.tar.xz 4468704 BLAKE2B 90d6acc03dc8d22ef869320723e4799e64e15b621cde327ad420595889a43242b182079fd306bb7741b766ddc5e1239e3bdd4f4e396a4ab1e86d635cbebf8f60 SHA512 e2820ecabd7ea4c7404c3d40f064994d0f5746b093c859a58fbf2588492ebcef411d9f3088c8e8ee726284ead969e26fdae834cdae3eb2d32408fc79ed906543
26
27 diff --git a/app-crypt/johntheripper/johntheripper-1.7.9-r10.ebuild b/app-crypt/johntheripper/johntheripper-1.7.9-r10.ebuild
28 deleted file mode 100644
29 index 09066589c34..00000000000
30 --- a/app-crypt/johntheripper/johntheripper-1.7.9-r10.ebuild
31 +++ /dev/null
32 @@ -1,268 +0,0 @@
33 -# Copyright 1999-2018 Gentoo Authors
34 -# Distributed under the terms of the GNU General Public License v2
35 -
36 -EAPI="5"
37 -
38 -inherit cuda eutils flag-o-matic toolchain-funcs pax-utils multilib
39 -
40 -MY_PN="john"
41 -MY_P="${MY_PN}-${PV}"
42 -
43 -JUMBO="jumbo-7"
44 -
45 -DESCRIPTION="fast password cracker"
46 -HOMEPAGE="https://www.openwall.com/john/"
47 -
48 -SRC_URI="https://www.openwall.com/john/g/${MY_P}.tar.bz2
49 - !minimal? ( https://www.openwall.com/john/g/${MY_P}-${JUMBO}.diff.gz )"
50 -
51 -LICENSE="GPL-2"
52 -SLOT="0"
53 -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
54 -#Remove AltiVec USE flag. Appears to be an upstream issue.
55 -IUSE="cuda custom-cflags -minimal cpu_flags_x86_mmx libressl mozilla mpi opencl openmp cpu_flags_x86_sse2"
56 -REQUIRED_USE="openmp? ( !minimal )
57 - mpi? ( !minimal )
58 - cuda? ( !minimal )
59 - opencl? ( !minimal )
60 - mozilla? ( !minimal )"
61 -
62 -DEPEND="sys-libs/zlib
63 - !minimal? (
64 - !libressl? ( dev-libs/openssl:0= )
65 - libressl? ( dev-libs/libressl:0= )
66 - )
67 - mpi? ( virtual/mpi )
68 - cuda? ( x11-drivers/nvidia-drivers
69 - dev-util/nvidia-cuda-toolkit:= )
70 - opencl? ( virtual/opencl )
71 - mozilla? ( dev-libs/nss dev-libs/nspr )"
72 -RDEPEND="${DEPEND}"
73 -
74 -S="${WORKDIR}/${MY_P}"
75 -
76 -has_xop() {
77 - echo | $(tc-getCC) ${CFLAGS} -E -dM - | grep -q "#define __XOP__ 1"
78 -}
79 -
80 -has_avx() {
81 - echo | $(tc-getCC) ${CFLAGS} -E -dM - | grep -q "#define __AVX__ 1"
82 -}
83 -
84 -get_target() {
85 - if use alpha; then
86 - echo "linux-alpha"
87 - elif use amd64; then
88 - if has_xop; then
89 - echo "linux-x86-64-xop"
90 - elif has_avx; then
91 - echo "linux-x86-64-avx"
92 - else
93 - echo "linux-x86-64"
94 - fi
95 - elif use ppc; then
96 - #if use altivec; then
97 - # echo "linux-ppc32-altivec"
98 - #else
99 - echo "linux-ppc32"
100 - #fi
101 - elif use ppc64; then
102 - #if use altivec; then
103 - # echo "linux-ppc32-altivec"
104 - #else
105 - echo "linux-ppc64"
106 - #fi
107 - # linux-ppc64-altivec is slightly slower than linux-ppc32-altivec for most hash types.
108 - # as per the Makefile comments
109 - elif use sparc; then
110 - echo "linux-sparc"
111 - elif use x86; then
112 - if has_xop; then
113 - echo "linux-x86-xop"
114 - elif has_avx; then
115 - echo "linux-x86-avx"
116 - elif use cpu_flags_x86_sse2; then
117 - echo "linux-x86-sse2"
118 - elif use cpu_flags_x86_mmx; then
119 - echo "linux-x86-mmx"
120 - else
121 - echo "linux-x86-any"
122 - fi
123 - elif use ppc-macos; then
124 - # force AltiVec, the non-altivec profile contains ancient compiler cruft
125 - # if use altivec; then
126 - echo "macosx-ppc32-altivec"
127 - # else
128 - # echo "macosx-ppc32"
129 - # fi
130 - # for Tiger this can be macosx-ppc64
131 - elif use x86-macos; then
132 - if use cpu_flags_x86_sse2; then
133 - echo "macosx-x86-sse2"
134 - else
135 - echo "macosx-x86"
136 - fi
137 - elif use x86-solaris; then
138 - echo "solaris-x86-any"
139 - elif use x86-fbsd; then
140 - if use cpu_flags_x86_sse2; then
141 - echo "freebsd-x86-sse2"
142 - elif use cpu_flags_x86_mmx; then
143 - echo "freebsd-x86-mmx"
144 - else
145 - echo "freebsd-x86-any"
146 - fi
147 - elif use amd64-fbsd; then
148 - echo "freebsd-x86-64"
149 - else
150 - echo "generic"
151 - fi
152 -}
153 -
154 -get_john_objs() {
155 - echo -n '${JOHN_COMMON_OBJS} '
156 - if use opencl; then
157 - echo -n '${OCL_OBJS} '
158 - fi
159 - if use cuda; then
160 - echo -n '${CUDA_OBJS}'
161 - fi
162 -}
163 -
164 -pkg_setup() {
165 - if use openmp && [[ ${MERGE_TYPE} != binary ]]; then
166 - tc-has-openmp || die "Please switch to an openmp compatible compiler"
167 - fi
168 -}
169 -
170 -src_prepare() {
171 - if ! use minimal; then
172 - epatch "${WORKDIR}/${MY_P}-${JUMBO}.diff"
173 -
174 - if use mpi ; then
175 - sed -e "s/^#CC = mpicc/CC = mpicc/" \
176 - -e "s/^#MPIOBJ =/MPIOBJ =/" \
177 - -i src/Makefile || die
178 - fi
179 -
180 - # fix typo in jumbo patch
181 - sed -i 's:All15:All5:' run/john.conf || die
182 - # fix compile on ppc (only needed for jumbo-7)
183 - epatch "${FILESDIR}/${P}-ppc-compile-fix.patch"
184 - fi
185 -
186 - cd src
187 - epatch "${FILESDIR}/${PN}-1.7.6-cflags.patch"
188 - epatch "${FILESDIR}/${PN}-1.7.3.1-mkdir-sandbox.patch"
189 -
190 - if ! use minimal; then
191 - sed -e "s/LDFLAGS *= */override LDFLAGS += /" -e "/LDFLAGS/s/-s//" \
192 - -e "/LDFLAGS/s/-L[^ ]*//g" -e "/CFLAGS/s/-[IL][^ ]*//g" \
193 - -i Makefile || die "sed Makefile failed"
194 - sed -i 's#/usr/local#/opt#g' Makefile || die
195 - fi
196 - sed -i 's#JOHN_OBJS = \\#JOHN_COMMON_OBJS = \\#g' Makefile || die
197 -
198 - if use cuda; then
199 - cuda_src_prepare
200 - sed \
201 - -e "/^NVCC_FLAGS/s:-arch sm_10:${NVCCFLAGS}:g" \
202 - -i Makefile || die
203 - fi
204 -
205 - if use mozilla; then
206 - sed -i -e '/HAVE_NSS =/s/^#*//' -e 's/NSS_override//' Makefile || die
207 - fi
208 -}
209 -
210 -src_compile() {
211 - local OMP
212 -
213 - use custom-cflags || strip-flags
214 - echo "#define JOHN_SYSTEMWIDE 1" >> config.gentoo
215 - echo "#define JOHN_SYSTEMWIDE_HOME \"${EPREFIX}/etc/john\"" >> config.gentoo
216 - echo "#define JOHN_SYSTEMWIDE_EXEC \"${EPREFIX}/usr/libexec/john\"" >> config.gentoo
217 - append-flags -fPIC -fPIE
218 - gcc-specs-pie && append-ldflags -nopie
219 - use openmp && OMP="-fopenmp"
220 -
221 - CPP="$(tc-getCXX)" CC="$(tc-getCC)" AS="$(tc-getCC)" LD="$(tc-getCC)"
222 - if use mpi; then
223 - CPP=mpicxx CC=mpicc AS=mpicc LD=mpicc
224 - fi
225 -
226 - #this stuff was all stolen from the Makefile, if build breaks, check this first
227 - if use opencl; then
228 - GPUCFLAGS="${GPUCFLAGS} -DCL_VERSION_1_0"
229 - GPULDFLAGS="${GPULDFLAGS} -lOpenCL"
230 - fi
231 - if use cuda; then
232 - GPUCFLAGS="${GPUCFLAGS} -DHAVE_CUDA"
233 - GPULDFLAGS="${GPULDFLAGS} -L/opt/cuda/$(get_libdir) -lcudart"
234 - fi
235 -
236 - emake -C src/ \
237 - CPP="${CPP}" CC="${CC}" AS="${AS}" LD="${LD}" \
238 - CFLAGS="-c -Wall -include ../config.gentoo ${CFLAGS} ${OMP} ${GPUCFLAGS}" \
239 - LDFLAGS="${LDFLAGS} ${GPULDFLAGS}" \
240 - OPT_NORMAL="" \
241 - OMPFLAGS="${OMP}" \
242 - JOHN_OBJS="$(get_john_objs)" \
243 - $(get_target)
244 -}
245 -
246 -src_test() {
247 - if use opencl; then
248 - cp src/opencl/*.cl run/
249 - cp src/opencl_*.h run/
250 - fi
251 - pax-mark -mr run/john
252 - if use opencl || use cuda; then
253 - ewarn "GPU tests fail, skipping all tests..."
254 - else
255 - make -C src/ check
256 - fi
257 -}
258 -
259 -src_install() {
260 - # executables
261 - dosbin run/john
262 - newsbin run/mailer john-mailer
263 -
264 - pax-mark -mr "${ED}usr/sbin/john" || die
265 -
266 - dosym john /usr/sbin/unafs
267 - dosym john /usr/sbin/unique
268 - dosym john /usr/sbin/unshadow
269 -
270 - # jumbo-patch additions
271 - if ! use minimal; then
272 - for s in \
273 - keychain2john keepass2john pwsafe2john hccap2john \
274 - racf2john zip2john rar2john pdf2john ssh2john undrop \
275 - ; do
276 - dosym john /usr/sbin/$s
277 - done
278 - use mozilla && dosym john /usr/sbin/mozilla2john
279 - dosbin run/calc_stat
280 - dosbin run/genmkvpwd
281 - dosbin run/mkvcalcproba
282 - dosbin run/raw2dyna
283 - dosbin run/tgtsnarf
284 - insinto /etc/john
285 - doins run/genincstats.rb run/stats
286 - doins run/netscreen.py run/sap2john.pl
287 - if use opencl; then
288 - doins src/opencl/*.cl
289 - doins src/opencl_*.h
290 - fi
291 - fi
292 -
293 - # config files
294 - insinto /etc/john
295 - doins run/*.chr run/password.lst
296 - doins run/*.conf
297 -
298 - # documentation
299 - dodoc doc/*
300 -}
301
302 diff --git a/app-crypt/johntheripper/johntheripper-1.8.0.ebuild b/app-crypt/johntheripper/johntheripper-1.8.0.ebuild
303 new file mode 100644
304 index 00000000000..d3365af2702
305 --- /dev/null
306 +++ b/app-crypt/johntheripper/johntheripper-1.8.0.ebuild
307 @@ -0,0 +1,142 @@
308 +# Copyright 1999-2018 Gentoo Authors
309 +# Distributed under the terms of the GNU General Public License v2
310 +
311 +EAPI=7
312 +
313 +inherit cuda eutils flag-o-matic toolchain-funcs multilib
314 +
315 +MY_PN="john"
316 +MY_P="${MY_PN}-${PV}"
317 +
318 +DESCRIPTION="fast password cracker"
319 +HOMEPAGE="https://www.openwall.com/john/"
320 +
321 +SRC_URI="https://www.openwall.com/john/j/${MY_P}.tar.xz"
322 +
323 +LICENSE="GPL-2"
324 +SLOT="0"
325 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
326 +CPU_FLAGS="cpu_flags_x86_mmx cpu_flags_x86_sse2 cpu_flags_x86_avx cpu_flags_x86_xop"
327 +IUSE="custom-cflags openmp ${CPU_FLAGS}"
328 +
329 +RDEPEND="sys-libs/zlib"
330 +DEPEND="${RDEPEND}"
331 +
332 +S="${WORKDIR}/${MY_P}"
333 +
334 +get_target() {
335 + if use alpha; then
336 + echo "linux-alpha"
337 + elif use amd64; then
338 + if use cpu_flags_x86_xop; then
339 + echo "linux-x86-64-xop"
340 + elif use cpu_flags_x86_avx; then
341 + echo "linux-x86-64-avx"
342 + else
343 + echo "linux-x86-64"
344 + fi
345 + elif use ppc; then
346 + echo "linux-ppc32"
347 + elif use ppc64; then
348 + echo "linux-ppc64"
349 + elif use sparc; then
350 + echo "linux-sparc"
351 + elif use x86; then
352 + if use cpu_flags_x86_xop; then
353 + echo "linux-x86-xop"
354 + elif use cpu_flags_x86_avx; then
355 + echo "linux-x86-avx"
356 + elif use cpu_flags_x86_sse2; then
357 + echo "linux-x86-sse2"
358 + elif use cpu_flags_x86_mmx; then
359 + echo "linux-x86-mmx"
360 + else
361 + echo "linux-x86-any"
362 + fi
363 + elif use ppc-macos; then
364 + echo "macosx-ppc32-altivec"
365 + elif use x86-macos; then
366 + if use cpu_flags_x86_sse2; then
367 + echo "macosx-x86-sse2"
368 + else
369 + echo "macosx-x86"
370 + fi
371 + elif use x86-solaris; then
372 + echo "solaris-x86-any"
373 + elif use x86-fbsd; then
374 + if use cpu_flags_x86_sse2; then
375 + echo "freebsd-x86-sse2"
376 + elif use cpu_flags_x86_mmx; then
377 + echo "freebsd-x86-mmx"
378 + else
379 + echo "freebsd-x86-any"
380 + fi
381 + elif use amd64-fbsd; then
382 + echo "freebsd-x86-64"
383 + else
384 + echo "generic"
385 + fi
386 +}
387 +
388 +pkg_setup() {
389 + if use openmp && [[ ${MERGE_TYPE} != binary ]]; then
390 + tc-has-openmp || die "Please switch to an openmp compatible compiler"
391 + fi
392 +}
393 +
394 +src_prepare() {
395 + default
396 +}
397 +
398 +src_compile() {
399 + local OMP
400 +
401 + use custom-cflags || strip-flags
402 + cat <<- EOF >> config.gentoo || die
403 + #define JOHN_SYSTEMWIDE 1
404 + #define JOHN_SYSTEMWIDE_HOME "${EPREFIX}/etc/john"
405 + #define JOHN_SYSTEMWIDE_EXEC "${EPREFIX}/usr/libexec/john"
406 +EOF
407 +
408 + append-flags -fPIC -fPIE
409 + #gcc-specs-pie && append-ldflags -nopie
410 + use openmp && OMP="-fopenmp"
411 +
412 + CPP="$(tc-getCXX)" CC="$(tc-getCC)" AS="$(tc-getCC)" LD="$(tc-getCC)"
413 +
414 + emake -C src/ \
415 + CPP="${CPP}" CC="${CC}" AS="${AS}" LD="${LD}" \
416 + CFLAGS="-c -Wall -include ../config.gentoo ${CFLAGS} ${OMP}" \
417 + LDFLAGS="${LDFLAGS} ${OMP}" \
418 + OPT_NORMAL="" \
419 + OMPFLAGS="${OMP}" \
420 + $(get_target)
421 +}
422 +
423 +src_test() {
424 + make -C src/ check
425 +}
426 +
427 +src_install() {
428 + # executables
429 + dosbin run/john
430 + newsbin run/mailer john-mailer
431 +
432 + dosym john /usr/sbin/unafs
433 + dosym john /usr/sbin/unique
434 + dosym john /usr/sbin/unshadow
435 +
436 + # config files
437 + insinto /etc/john
438 + doins run/*.chr run/password.lst
439 + doins run/*.conf
440 +
441 + # documentation
442 + dodoc doc/*
443 +}
444 +
445 +pkg_postinst() {
446 + if [ -n "${REPLACING_VERSIONS}" ] && [ "${REPLACING_VERSIONS}" != "1.8.0" ]; then
447 + ewarn "This package no longer includes jumbo. If you want jumbo please install app-crypt/johntheripper-jumbo instead."
448 + fi
449 +}