commit: ea67777340b877aa4ec6095bb4cda2fe397349dc Author: Rick Farina <zerochaos <AT> gentoo <DOT> org> AuthorDate: Mon Aug 21 20:42:17 2023 +0000 Commit: Rick Farina <zerochaos <AT> gentoo <DOT> org> CommitDate: Mon Aug 21 20:55:53 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ea677773
app-crypt/johntheripper: add 1.9.0 Signed-off-by: Rick Farina <zerochaos <AT> gentoo.org> app-crypt/johntheripper/Manifest | 1 + app-crypt/johntheripper/johntheripper-1.9.0.ebuild | 129 +++++++++++++++++++++ 2 files changed, 130 insertions(+) diff --git a/app-crypt/johntheripper/Manifest b/app-crypt/johntheripper/Manifest index b522016fa042..682d048011a4 100644 --- a/app-crypt/johntheripper/Manifest +++ b/app-crypt/johntheripper/Manifest @@ -1 +1,2 @@ DIST john-1.8.0.tar.xz 4468704 BLAKE2B 90d6acc03dc8d22ef869320723e4799e64e15b621cde327ad420595889a43242b182079fd306bb7741b766ddc5e1239e3bdd4f4e396a4ab1e86d635cbebf8f60 SHA512 e2820ecabd7ea4c7404c3d40f064994d0f5746b093c859a58fbf2588492ebcef411d9f3088c8e8ee726284ead969e26fdae834cdae3eb2d32408fc79ed906543 +DIST john-1.9.0.tar.xz 8944932 BLAKE2B 57f5b83a541a7048e34d87dbee2f8f56953ef8a98bf7163b981064289d38452d11e59f1fb48a98a4f5f61d5f33866987f7c8515bf9900d742c09b7ac3e61376e SHA512 26e9a245e9f050344ae8c3320e1e24dad6bc2b73e99cc041a50c2d124b2c898c93d048727451ab8a2ba1c8aa4d8d462a8c0c9fea7de39f3479a0c170a5e9ad60 diff --git a/app-crypt/johntheripper/johntheripper-1.9.0.ebuild b/app-crypt/johntheripper/johntheripper-1.9.0.ebuild new file mode 100644 index 000000000000..d7bd1317da50 --- /dev/null +++ b/app-crypt/johntheripper/johntheripper-1.9.0.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic toolchain-funcs + +MY_PN="john" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="fast password cracker" +HOMEPAGE="https://www.openwall.com/john/" + +SRC_URI="https://www.openwall.com/john/k/${MY_P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm ~hppa ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +CPU_FLAGS="cpu_flags_x86_mmx cpu_flags_x86_sse2 cpu_flags_x86_avx cpu_flags_x86_xop" +IUSE="custom-cflags openmp ${CPU_FLAGS}" + +DEPEND="virtual/libcrypt:=" +RDEPEND="${DEPEND} + !app-crypt/johntheripper-jumbo" + +S="${WORKDIR}/${MY_P}" + +get_target() { + if use alpha; then + echo "linux-alpha" + elif use amd64; then + if use cpu_flags_x86_xop; then + echo "linux-x86-64-xop" + elif use cpu_flags_x86_avx; then + echo "linux-x86-64-avx" + else + echo "linux-x86-64" + fi + elif use ppc; then + echo "linux-ppc32" + elif use ppc64; then + echo "linux-ppc64" + elif use sparc; then + echo "linux-sparc" + elif use x86; then + if use cpu_flags_x86_xop; then + echo "linux-x86-xop" + elif use cpu_flags_x86_avx; then + echo "linux-x86-avx" + elif use cpu_flags_x86_sse2; then + echo "linux-x86-sse2" + elif use cpu_flags_x86_mmx; then + echo "linux-x86-mmx" + else + echo "linux-x86-any" + fi + elif use ppc-macos; then + echo "macosx-ppc32-altivec" + elif use x64-macos; then + echo "macosx-x86-64" + else + echo "generic" + fi +} + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +src_prepare() { + default +} + +src_compile() { + local OMP + + use custom-cflags || strip-flags + cat <<- EOF >> config.gentoo || die + #define JOHN_SYSTEMWIDE 1 + #define JOHN_SYSTEMWIDE_HOME "${EPREFIX}/etc/john" + #define JOHN_SYSTEMWIDE_EXEC "${EPREFIX}/usr/libexec/john" +EOF + + append-flags -fPIC -fPIE + #gcc-specs-pie && append-ldflags -nopie + use openmp && OMP="-fopenmp" + + CPP="$(tc-getCXX)" CC="$(tc-getCC)" AS="$(tc-getCC)" LD="$(tc-getCC)" + + emake -C src/ \ + CPP="${CPP}" CC="${CC}" AS="${AS}" LD="${LD}" \ + CFLAGS="-c -Wall -include ../config.gentoo ${CFLAGS} ${OMP}" \ + LDFLAGS="${LDFLAGS} ${OMP}" \ + OPT_NORMAL="" \ + OMPFLAGS="${OMP}" \ + $(get_target) +} + +src_test() { + emake -C src/ check +} + +src_install() { + # executables + dosbin run/john + newsbin run/mailer john-mailer + + dosym john /usr/sbin/unafs + dosym john /usr/sbin/unique + dosym john /usr/sbin/unshadow + + # config files + insinto /etc/john + doins run/*.chr run/password.lst + doins run/*.conf + + # documentation + dodoc doc/* +} + +pkg_postinst() { + if [ -n "${REPLACING_VERSIONS}" ] && [ "${REPLACING_VERSIONS}" != "1.8.0" ]; then + ewarn "This package no longer includes jumbo. If you want jumbo please install app-crypt/johntheripper-jumbo instead." + fi +}