summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-crypt/johntheripper')
-rw-r--r--app-crypt/johntheripper/Manifest1
-rw-r--r--app-crypt/johntheripper/johntheripper-1.8.0-r2.ebuild (renamed from app-crypt/johntheripper/johntheripper-1.8.0-r1.ebuild)30
-rw-r--r--app-crypt/johntheripper/johntheripper-1.9.0.ebuild137
-rw-r--r--app-crypt/johntheripper/metadata.xml2
4 files changed, 149 insertions, 21 deletions
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.8.0-r1.ebuild b/app-crypt/johntheripper/johntheripper-1.8.0-r2.ebuild
index 48bf0ae95f66..c9ec0d145876 100644
--- a/app-crypt/johntheripper/johntheripper-1.8.0-r1.ebuild
+++ b/app-crypt/johntheripper/johntheripper-1.8.0-r2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cuda flag-o-matic toolchain-funcs
@@ -19,9 +19,9 @@ KEYWORDS="~alpha amd64 arm ~hppa ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-lin
CPU_FLAGS="cpu_flags_x86_mmx cpu_flags_x86_sse2 cpu_flags_x86_avx cpu_flags_x86_xop"
IUSE="custom-cflags openmp ${CPU_FLAGS}"
-RDEPEND="sys-libs/zlib
+DEPEND="sys-libs/zlib
virtual/libcrypt:="
-DEPEND="${RDEPEND}
+RDEPEND="${DEPEND}
!app-crypt/johntheripper-jumbo"
S="${WORKDIR}/${MY_P}"
@@ -59,27 +59,17 @@ get_target() {
echo "macosx-ppc32-altivec"
elif use x64-macos; then
echo "macosx-x86-64"
- elif use x86-solaris; then
- echo "solaris-x86-any"
- elif use x86-fbsd; then
- if use cpu_flags_x86_sse2; then
- echo "freebsd-x86-sse2"
- elif use cpu_flags_x86_mmx; then
- echo "freebsd-x86-mmx"
- else
- echo "freebsd-x86-any"
- fi
- elif use amd64-fbsd; then
- echo "freebsd-x86-64"
else
echo "generic"
fi
}
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
pkg_setup() {
- if use openmp && [[ ${MERGE_TYPE} != binary ]]; then
- tc-has-openmp || die "Please switch to an openmp compatible compiler"
- fi
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
src_prepare() {
@@ -112,7 +102,7 @@ EOF
}
src_test() {
- make -C src/ check
+ emake -C src/ check
}
src_install() {
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..fabbd858c1cf
--- /dev/null
+++ b/app-crypt/johntheripper/johntheripper-1.9.0.ebuild
@@ -0,0 +1,137 @@
+# 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_avx2 cpu_flags_x86_avx512f 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_avx512f; then
+ echo "linux-x86-64-avx512"
+ elif use cpu_flags_x86_avx2; then
+ echo "linux-x86-64-avx2"
+ elif 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_avx512f; then
+ echo "linux-x86-64-avx512"
+ elif use cpu_flags_x86_avx2; then
+ echo "linux-x86-64-avx2"
+ elif 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
+}
diff --git a/app-crypt/johntheripper/metadata.xml b/app-crypt/johntheripper/metadata.xml
index d15bc1c7ab36..c3a54112df3f 100644
--- a/app-crypt/johntheripper/metadata.xml
+++ b/app-crypt/johntheripper/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>zerochaos@gentoo.org</email>