diff --git a/app-crypt/johntheripper/johntheripper-1.7.3.1.ebuild b/app-crypt/johntheripper/johntheripper-1.7.3.1-r1.ebuild --- a/app-crypt/johntheripper/johntheripper-1.7.3.1.ebuild +++ b/app-crypt/johntheripper/johntheripper-1.7.3.1-r1.ebuild @@ -5,8 +5,8 @@ EAPI=1 inherit eutils flag-o-matic toolchain-funcs pax-utils -JUMBO='all-3' -MPI='mpi8-small' +JUMBO='all-5' +MPI='mpi10' MY_PN="${PN/theripper/}" MY_P="${MY_PN/theripper/}-${PV}" @@ -16,8 +16,8 @@ DESCRIPTION="fast password cracker" HOMEPAGE="http://www.openwall.com/john/" SRC_URI="http://www.openwall.com/john/g/${MY_P}.tar.gz - !minimal? ( ftp://ftp.openwall.com/john/contrib/historical/${MY_P}-${JUMBO}.diff.gz ) - mpi? ( http://bindshell.net/tools/johntheripper/${MY_P}-${MPI}.patch.gz )" + !minimal? ( ftp://ftp.openwall.com/john/contrib/${MY_P}-${JUMBO}.diff.gz ) + mpi? ( ftp://ftp.openwall.com/john/contrib/mpi/2009-bindshell/${MY_P}-${MPI}.patch.gz )" LICENSE="GPL-2" SLOT="0" @@ -63,48 +63,41 @@ get_target() { fi } -#pkg_setup() { -# if use mpi && built_with_use sys-cluster/mpich2 threads; then -# die 'cannot work with sys-cluster/mpich2 USE=threads' -# #http://bindshell.net/tools/johntheripper/ -# fi -#} - src_unpack() { unpack ${A} cd "${S}" - PATCHLIST="" + PATCHLIST="stackdef.S" if use mpi ; then epatch "${WORKDIR}"/${MY_P}-${MPI}.patch - # avoid the conflict on JOHN_VERSION until a better compromise is made - sed -i 's/_mpi"/"/' src/params.h fi if ! use minimal ; then epatch "${WORKDIR}"/${MY_P}-${JUMBO}.diff - PATCHLIST=stackdef.S + PATCHLIST="${PATCHLIST} ${JUMBO}-stackdef.S" fi - PATCHLIST="${PATCHLIST} params.h mkdir-sandbox" + PATCHLIST="${PATCHLIST} cflags mkdir-sandbox" cd "${S}/src" for p in ${PATCHLIST}; do epatch "${FILESDIR}/${P}-${p}.patch" done - sed -e "s/LDFLAGS *= */override LDFLAGS += /" -e "/LDFLAGS/s/-s//" -i Makefile || die "sed Makefile failed" + if ! use minimal ; then + sed -e "s/LDFLAGS *= */override LDFLAGS += /" -e "/LDFLAGS/s/-s//" \ + -e "/LDFLAGS/s/-L[^ ]*//g" -e "/CFLAGS/s/-[IL][^ ]*//g" \ + -i Makefile || die "sed Makefile failed" + fi } src_compile() { - cd "${S}/src" - use custom-cflags || strip-flags - append-flags -fno-PIC -fno-PIE + append-flags -fPIC -fPIE append-ldflags -nopie CPP=$(tc-getCXX) CC=$(tc-getCC) AS=$(tc-getCC) LD=$(tc-getCC) use mpi && CPP=mpicxx CC=mpicc AS=mpicc LD=mpicc - emake \ + emake -C src/\ CPP=${CPP} CC=${CC} AS=${AS} LD=${LD} \ - CFLAGS="-c -Wall ${CFLAGS} -DJOHN_SYSTEMWIDE -DJOHN_SYSTEMWIDE_HOME=\"\\\"/etc/john\\\"\"" \ + CFLAGS="-c -Wall ${CFLAGS} -DJOHN_SYSTEMWIDE -DJOHN_SYSTEMWIDE_HOME=\"\\\"${ROOT}/etc/john\\\"\" -DJOHN_SYSTEMWIDE_EXEC=\"\\\"${ROOT}/usr/libexec/john\\\"\"" \ LDFLAGS="${LDFLAGS}" \ OPT_NORMAL="" \ $(get_target) \ @@ -140,18 +133,14 @@ src_install() { # jumbo-patch additions if ! use minimal ; then dosym john /usr/sbin/undrop - # >=all-4 - #dosbin run/calc_stat - #dosbin run/genmkvpwd - #dosbin run/mkvcalcproba + dosbin run/calc_stat + dosbin run/genmkvpwd + dosbin run/mkvcalcproba insinto /etc/john - # >=all-4 - #doins run/genincstats.rb run/stats + doins run/genincstats.rb run/stats doins run/netscreen.py run/sap_prepare.pl fi - #newsbin src/bench john-bench - # config files insinto /etc/john doins run/john.conf