From f7e2367203f61eb544373ea641a70b68aea579a0 Mon Sep 17 00:00:00 2001 From: Sam James Date: Fri, 25 Jun 2021 03:08:50 +0100 Subject: app-crypt/johntheripper-jumbo: add virtual/libcrypt dependency, fix gcc 11 Needed for upcoming libxcrypt migration. Closes: https://bugs.gentoo.org/786651 Acked-by: David Seifert Reported-by: John Helmert III Signed-off-by: Sam James --- .../files/johntheripper-jumbo-1.9.0-gcc11.patch | 53 ++++++++ .../johntheripper-jumbo-1.9.0-r2.ebuild | 133 -------------------- .../johntheripper-jumbo-1.9.0-r3.ebuild | 137 +++++++++++++++++++++ .../johntheripper-jumbo-9999.ebuild | 5 +- 4 files changed, 193 insertions(+), 135 deletions(-) create mode 100644 app-crypt/johntheripper-jumbo/files/johntheripper-jumbo-1.9.0-gcc11.patch delete mode 100644 app-crypt/johntheripper-jumbo/johntheripper-jumbo-1.9.0-r2.ebuild create mode 100644 app-crypt/johntheripper-jumbo/johntheripper-jumbo-1.9.0-r3.ebuild (limited to 'app-crypt') diff --git a/app-crypt/johntheripper-jumbo/files/johntheripper-jumbo-1.9.0-gcc11.patch b/app-crypt/johntheripper-jumbo/files/johntheripper-jumbo-1.9.0-gcc11.patch new file mode 100644 index 000000000000..2901c5bc4bd6 --- /dev/null +++ b/app-crypt/johntheripper-jumbo/files/johntheripper-jumbo-1.9.0-gcc11.patch @@ -0,0 +1,53 @@ +https://bugs.gentoo.org/786651 +https://github.com/openwall/john/commit/8152ac071bce1ebc98fac6bed962e90e9b92d8cf.patch + +From 8152ac071bce1ebc98fac6bed962e90e9b92d8cf Mon Sep 17 00:00:00 2001 +From: Ferry Huberts +Date: Tue, 9 Mar 2021 22:04:46 +0100 +Subject: [PATCH] Fix alignment compile errors on GCC 11 + +Signed-off-by: Ferry Huberts +--- + src/blake2.h | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/blake2.h b/src/blake2.h +index b05208117e..b4398f9e13 100644 +--- a/src/blake2.h ++++ b/src/blake2.h +@@ -57,7 +57,7 @@ extern "C" { + uint8_t personal[BLAKE2S_PERSONALBYTES]; // 32 + } blake2s_param; + +- JTR_ALIGN( 64 ) typedef struct __blake2s_state ++ typedef struct JTR_ALIGN( 64 ) __blake2s_state + { + uint32_t h[8]; + uint32_t t[2]; +@@ -82,7 +82,7 @@ extern "C" { + uint8_t personal[BLAKE2B_PERSONALBYTES]; // 64 + } blake2b_param; + +- JTR_ALIGN( 64 ) typedef struct __blake2b_state ++ typedef struct JTR_ALIGN( 64 ) __blake2b_state + { + uint64_t h[8]; + uint64_t t[2]; +@@ -94,7 +94,7 @@ extern "C" { + #if defined(JOHN_NO_SIMD) || (!defined(__SSE2__) && !defined(__SSE4_1__) && !defined(__XOP__)) + typedef struct __blake2sp_state + #else +- JTR_ALIGN( 64 ) typedef struct __blake2sp_state ++ typedef struct JTR_ALIGN( 64 ) __blake2sp_state + #endif + { + blake2s_state S[8][1]; +@@ -106,7 +106,7 @@ extern "C" { + #if defined(JOHN_NO_SIMD) || (!defined(__SSE2__) && !defined(__SSE4_1__) && !defined(__XOP__)) + typedef struct __blake2bp_state + #else +- JTR_ALIGN( 64 ) typedef struct __blake2bp_state ++ typedef struct JTR_ALIGN( 64 ) __blake2bp_state + #endif + { + blake2b_state S[4][1]; diff --git a/app-crypt/johntheripper-jumbo/johntheripper-jumbo-1.9.0-r2.ebuild b/app-crypt/johntheripper-jumbo/johntheripper-jumbo-1.9.0-r2.ebuild deleted file mode 100644 index 12b9fbef4708..000000000000 --- a/app-crypt/johntheripper-jumbo/johntheripper-jumbo-1.9.0-r2.ebuild +++ /dev/null @@ -1,133 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit flag-o-matic toolchain-funcs pax-utils - -DESCRIPTION="fast password cracker" -HOMEPAGE="http://www.openwall.com/john/" - -MY_PN="JohnTheRipper" - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="https://github.com/magnumripper/${MY_PN}.git" - inherit git-r3 -else - JUMBO="jumbo-1" - MY_PV="${PV}-${JUMBO}" - MY_P="john-${MY_PV}" - SRC_URI="https://www.openwall.com/john/k/${MY_P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" - S="${WORKDIR}/${MY_P}" -fi - -LICENSE="GPL-2" -SLOT="0" -#removed rexgen and commoncrypto -IUSE="custom-cflags kerberos mpi opencl openmp pcap" - -DEPEND=">=dev-libs/openssl-1.0.1:0= - mpi? ( virtual/mpi ) - opencl? ( virtual/opencl ) - kerberos? ( virtual/krb5 ) - pcap? ( net-libs/libpcap ) - dev-libs/gmp:* - sys-libs/zlib - app-arch/bzip2" - -RDEPEND="${DEPEND} - !app-crypt/johntheripper" - -PATCHES=( "${FILESDIR}/${P}-opencl-fix.patch" ) - -pkg_setup() { - if use openmp && [[ ${MERGE_TYPE} != binary ]]; then - tc-has-openmp || die "Please switch to an openmp compatible compiler" - fi -} - -src_prepare() { - sed -i 's#$prefix/share/john#/etc/john#' src/configure || die - default -} - -src_configure() { - cd src || die - - use custom-cflags || strip-flags - append-cflags -fcommon - - econf \ - --disable-native-march \ - --disable-native-tests \ - --without-commoncrypto \ - --disable-rexgen \ - --with-openssl \ - --with-systemwide \ - $(use_enable mpi) \ - $(use_enable opencl) \ - $(use_enable openmp) \ - $(use_enable pcap) -} - -src_compile() { - emake -C src -} - -src_test() { - pax-mark -mr run/john - #if use opencl; then - #gpu tests fail in portage, so run cpu only tests - # ./run/john --device=cpu --test=0 --verbosity=2 || die - #else - #weak tests - # ./run/john --test=0 --verbosity=2 || die - #strong tests - #./run/john --test=1 --verbosity=2 || die - #fi - ewarn "When built systemwide, john can't run tests without reading files in /etc." - ewarn "Don't bother opening a bug for this unless you include a patch to fix it" -} - -src_install() { - # executables - dosbin run/john - newsbin run/mailer john-mailer - - pax-mark -mr "${ED}/usr/sbin/john" - - # 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 - - # scripts - exeinto /usr/share/john - doexe run/*.pl - doexe run/*.py - cd run - for s in *.pl *.py ; do - dosym ../share/john/$s /usr/bin/$s - done - cd .. - - if use opencl; then - insinto /etc/john - doins -r run/kernels - fi - - # config files - insinto /etc/john - doins run/*.chr run/password.lst - doins run/*.conf - doins -r run/rules run/ztex - - # documentation - rm -f doc/README - dodoc -r README.md doc/* -} diff --git a/app-crypt/johntheripper-jumbo/johntheripper-jumbo-1.9.0-r3.ebuild b/app-crypt/johntheripper-jumbo/johntheripper-jumbo-1.9.0-r3.ebuild new file mode 100644 index 000000000000..632f59d7a16f --- /dev/null +++ b/app-crypt/johntheripper-jumbo/johntheripper-jumbo-1.9.0-r3.ebuild @@ -0,0 +1,137 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic toolchain-funcs pax-utils + +DESCRIPTION="Fast password cracker" +HOMEPAGE="http://www.openwall.com/john/" + +MY_PN="JohnTheRipper" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://github.com/magnumripper/${MY_PN}.git" + inherit git-r3 +else + JUMBO="jumbo-1" + MY_PV="${PV}-${JUMBO}" + MY_P="john-${MY_PV}" + SRC_URI="https://www.openwall.com/john/k/${MY_P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" + S="${WORKDIR}/${MY_P}" +fi + +LICENSE="GPL-2" +SLOT="0" +#removed rexgen and commoncrypto +IUSE="custom-cflags kerberos mpi opencl openmp pcap" + +DEPEND=">=dev-libs/openssl-1.0.1:0= + virtual/libcrypt:= + mpi? ( virtual/mpi ) + opencl? ( virtual/opencl ) + kerberos? ( virtual/krb5 ) + pcap? ( net-libs/libpcap ) + dev-libs/gmp:= + sys-libs/zlib + app-arch/bzip2" + +RDEPEND="${DEPEND} + !app-crypt/johntheripper" + +PATCHES=( + "${FILESDIR}/${P}-opencl-fix.patch" + "${FILESDIR}/${P}-gcc11.patch" +) + +pkg_setup() { + if use openmp && [[ ${MERGE_TYPE} != binary ]]; then + tc-has-openmp || die "Please switch to an openmp compatible compiler" + fi +} + +src_prepare() { + sed -i 's#$prefix/share/john#/etc/john#' src/configure || die + default +} + +src_configure() { + cd src || die + + use custom-cflags || strip-flags + append-cflags -fcommon + + econf \ + --disable-native-march \ + --disable-native-tests \ + --without-commoncrypto \ + --disable-rexgen \ + --with-openssl \ + --with-systemwide \ + $(use_enable mpi) \ + $(use_enable opencl) \ + $(use_enable openmp) \ + $(use_enable pcap) +} + +src_compile() { + emake -C src +} + +src_test() { + pax-mark -mr run/john + #if use opencl; then + #gpu tests fail in portage, so run cpu only tests + # ./run/john --device=cpu --test=0 --verbosity=2 || die + #else + #weak tests + # ./run/john --test=0 --verbosity=2 || die + #strong tests + #./run/john --test=1 --verbosity=2 || die + #fi + ewarn "When built systemwide, john can't run tests without reading files in /etc." + ewarn "Don't bother opening a bug for this unless you include a patch to fix it" +} + +src_install() { + # executables + dosbin run/john + newsbin run/mailer john-mailer + + pax-mark -mr "${ED}/usr/sbin/john" + + # 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 + + # scripts + exeinto /usr/share/john + doexe run/*.pl + doexe run/*.py + cd run + for s in *.pl *.py ; do + dosym ../share/john/$s /usr/bin/$s + done + cd .. + + if use opencl; then + insinto /etc/john + doins -r run/kernels + fi + + # config files + insinto /etc/john + doins run/*.chr run/password.lst + doins run/*.conf + doins -r run/rules run/ztex + + # documentation + rm -f doc/README + dodoc -r README.md doc/* +} diff --git a/app-crypt/johntheripper-jumbo/johntheripper-jumbo-9999.ebuild b/app-crypt/johntheripper-jumbo/johntheripper-jumbo-9999.ebuild index 40bb28803b18..826ff08b2f51 100644 --- a/app-crypt/johntheripper-jumbo/johntheripper-jumbo-9999.ebuild +++ b/app-crypt/johntheripper-jumbo/johntheripper-jumbo-9999.ebuild @@ -5,7 +5,7 @@ EAPI=7 inherit flag-o-matic toolchain-funcs pax-utils -DESCRIPTION="fast password cracker" +DESCRIPTION="Fast password cracker" HOMEPAGE="http://www.openwall.com/john/" MY_PN="JohnTheRipper" @@ -28,11 +28,12 @@ SLOT="0" IUSE="custom-cflags kerberos mpi opencl openmp pcap" DEPEND=">=dev-libs/openssl-1.0.1:0= + virtual/libcrypt:= mpi? ( virtual/mpi ) opencl? ( virtual/opencl ) kerberos? ( virtual/krb5 ) pcap? ( net-libs/libpcap ) - dev-libs/gmp:* + dev-libs/gmp:= sys-libs/zlib app-arch/bzip2" -- cgit v1.2.3-65-gdbad