diff --git a/app-crypt/johntheripper/Manifest b/app-crypt/johntheripper/Manifest new file mode 100644 index 000000000..d847e3d19 --- /dev/null +++ b/app-crypt/johntheripper/Manifest @@ -0,0 +1,2 @@ +DIST john-1.8.0-jumbo-1.tar.gz 30786455 SHA256 8a059d3caa798e2eb1eddacefb5c4d886c8df55dbf3eac314648bee499eec65d SHA512 ce1a84c7e1a45cef4ecc94e29ad56f40b0a3db502042fc37c1b815e6f8cf243663e24b0ce38a40cf26e93b2e9f1f7b3f730f9710bbe72538973aec96b77f6886 WHIRLPOOL bd6fabb14eefc414b5c8339d8acd4f751c4087f075eb144347740f0ec7ef64f857b60532b7c985e1889430eba84a28af09e5f3b25c9c7f76f446e6740fba09e9 +DIST john-1.8.0.tar.gz 5450412 SHA256 1222738c7829ce3014177ca9bd26c41573426f883c6b22527ee9bde363d84bda SHA512 edb7916653d7afcecc57b59919b0f511f46c1bdc8a0866f9467405eaae222ca57af1d24695a9bee30a87b0885a4cfe3bbab3596be74932bfd34a8d8e04d60526 WHIRLPOOL bd037f4964e6fac1b3ffe3fec1330ccebea838f1f00d41abcf45b319ec2b9f616112fb784079f7b1cee7212db7a1a23369276b6d27aa76709e988aca2735ac07 diff --git a/app-crypt/johntheripper/johntheripper-1.8.0.ebuild b/app-crypt/johntheripper/johntheripper-1.8.0.ebuild new file mode 100644 index 000000000..690fabc81 --- /dev/null +++ b/app-crypt/johntheripper/johntheripper-1.8.0.ebuild @@ -0,0 +1,131 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit cuda flag-o-matic toolchain-funcs pax-utils + +MY_PN="john" +MY_P="${MY_PN}-${PV}" + +JUMBO="jumbo-1" + +DESCRIPTION="fast password cracker" +HOMEPAGE="http://www.openwall.com/john/" +SRC_URI="minimal? ( http://www.openwall.com/john/j/${MY_P}.tar.gz ) + !minimal? ( http://www.openwall.com/john/j/${MY_P}-${JUMBO}.tar.gz )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="commoncrypto cuda custom-cflags kerberos -minimal mpi opencl openmp +openssl pcap rexgen wow" +REQUIRED_USE="openmp? ( !minimal ) + mpi? ( !minimal ) + cuda? ( !minimal ) + opencl? ( !minimal ) + ^^ ( openssl commoncrypto )" + +DEPEND="!minimal? ( >=dev-libs/openssl-1.0.1:0 ) + mpi? ( virtual/mpi ) + cuda? ( x11-drivers/nvidia-drivers + dev-util/nvidia-cuda-toolkit:= ) + opencl? ( virtual/opencl ) + kerberos? ( virtual/krb5 ) + wow? ( dev-libs/gmp:* ) + pcap? ( net-libs/libpcap )" +# commoncrypto? ( ) +# rexgen? ( ) +RDEPEND="${DEPEND}" + +if ! use minimal; then + S="${WORKDIR}/${MY_P}-${JUMBO}" +fi + +pkg_setup() { + if use openmp && [[ ${MERGE_TYPE} != binary ]]; then + tc-has-openmp || die "Please switch to an openmp compatible compiler" + fi +} + +src_prepare() { + cd src || die + + if use cuda; then + cuda_src_prepare + fi +} + +src_configure() { + cd src || die + + use custom-cflags || strip-flags + # John ignores CPPFLAGS, use CFLAGS instead + append-cflags -DJOHN_SYSTEMWIDE=1 + append-cflags -DJOHN_SYSTEMWIDE_HOME="'\"${EPREFIX}/etc/john\"'" + + NVIDIA_CUDA="${EPREFIX}/opt/cuda/" econf \ + --disable-native-macro \ + --disable-native-tests \ + $(use_enable cuda) \ + $(use_enable mpi) \ + $(use_enable opencl) \ + $(use_enable openmp) \ + $(use_enable pcap) \ + $(use_enable rexgen) \ + $(use_with commoncrypto) \ + $(use_with openssl) +} + +src_compile() { + use custom-cflags || strip-flags + # John ignores CPPFLAGS, use CFLAGS instead + append-cflags -DJOHN_SYSTEMWIDE=1 + append-cflags -DJOHN_SYSTEMWIDE_HOME="'\"${EPREFIX}/etc/john\"'" + + emake -C src +} + +src_test() { + pax-mark -mr run/john + if use opencl || use cuda; then + ewarn "GPU tests fail, skipping all tests..." + else + make -C src/ check + fi +} + +src_install() { + # executables + dosbin run/john + newsbin run/mailer john-mailer + + pax-mark -mr "${ED}usr/sbin/john" || die + + if ! use minimal; then + # grep '$(LN)' Makefile.in | head -n-3 | tail -n+2 | cut -d' ' -f3 | cut -d/ -f3 + for s in \ + unshadow unafs undrop unique ssh2john putty2john pfx2john keepass2john keyring2john \ + zip2john gpg2john rar2john racf2john keychain2john kwallet2john pwsafe2john dmg2john \ + hccap2john base64conv truecrypt_volume2john keystore2john + do + dosym john /usr/sbin/$s + done + + insinto /usr/share/john + doins run/*.py + + if use opencl; then + insinto /usr/share/john/kernels + doins run/kernels/* + fi + fi + + # config files + insinto /etc/john + doins run/*.chr run/password.lst + doins run/*.conf + + # documentation + dodoc doc/* +}