diff options
author | Rick Farina <zerochaos@gentoo.org> | 2013-08-25 05:08:17 +0000 |
---|---|---|
committer | Rick Farina <zerochaos@gentoo.org> | 2013-08-25 05:08:17 +0000 |
commit | b293a14d1609ff244432f9e237362ca2459409ba (patch) | |
tree | d92dbae2e8b86856ced89af4faf5e74a3aec7044 /app-crypt/oclhashcat-plus-bin/oclhashcat-plus-bin-0.15.ebuild | |
parent | dev-haskell/binary: bump up to 0.7.1.0 (diff) | |
download | gentoo-2-b293a14d1609ff244432f9e237362ca2459409ba.tar.gz gentoo-2-b293a14d1609ff244432f9e237362ca2459409ba.tar.bz2 gentoo-2-b293a14d1609ff244432f9e237362ca2459409ba.zip |
version bump
(Portage version: 2.1.12.2/cvs/Linux x86_64, signed Manifest commit with key DD11F94A)
Diffstat (limited to 'app-crypt/oclhashcat-plus-bin/oclhashcat-plus-bin-0.15.ebuild')
-rw-r--r-- | app-crypt/oclhashcat-plus-bin/oclhashcat-plus-bin-0.15.ebuild | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/app-crypt/oclhashcat-plus-bin/oclhashcat-plus-bin-0.15.ebuild b/app-crypt/oclhashcat-plus-bin/oclhashcat-plus-bin-0.15.ebuild new file mode 100644 index 000000000000..45ceb0dc1924 --- /dev/null +++ b/app-crypt/oclhashcat-plus-bin/oclhashcat-plus-bin-0.15.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-crypt/oclhashcat-plus-bin/oclhashcat-plus-bin-0.15.ebuild,v 1.1 2013/08/25 05:08:17 zerochaos Exp $ + +EAPI=5 + +inherit eutils pax-utils + +DESCRIPTION="An opencl multihash cracker" +HOMEPAGE="http://hashcat.net/oclhashcat-plus/" + +MY_P="oclHashcat-plus-${PV}" +SRC_URI="http://hashcat.net/files/${MY_P}.7z" + +LICENSE="hashcat" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" + +IUSE_VIDEO_CARDS="video_cards_fglrx + video_cards_nvidia" + +IUSE="virtualcl ${IUSE_VIDEO_CARDS}" + +RDEPEND="sys-libs/zlib + video_cards_nvidia? ( >=x11-drivers/nvidia-drivers-319.37 ) + video_cards_fglrx? ( >=x11-drivers/ati-drivers-13.4 )" +DEPEND="${RDEPEND} + app-arch/p7zip" + +S="${WORKDIR}/${MY_P}" + +RESTRICT="strip" +QA_PREBUILT="*Hashcat-plus*.bin + opt/${PN}/kernels/4098/*.llvmir" + +src_prepare() { + use x86 && rm *Hashcat-plus64* + use amd64 && rm *Hashcat-plus32* + use virtualcl || rm vclHashcat-plus* + + if ! use video_cards_fglrx; then + rm -r kernels/4098 || die + rm oclHashcat-plus*.bin || die + fi + if ! use video_cards_nvidia; then + rm -r kernels/4318 || die + rm cudaHashcat-plus*.bin || die + fi + + #paxmark goes here so test and install works + pax-mark r *Hashcat-plus*.bin +} + +src_test() { + printf "%02x" ${PV#0.} > "${S}"/eula.accepted + if use video_cards_nvidia; then + addwrite /dev/nvidia0 + addwrite /dev/nvidiactl + if [ ! -w /dev/nvidia0 ]; then + einfo "To run these tests, portage likely must be in the video group." + einfo "Please run \"gpasswd -a portage video\" if the tests will fail" + fi + if use amd64; then + ./cudaHashcat-plus64.bin -a 3 -m 1500 nQCk49SiErOgk || die + elif use x86; then + ./cudaHashcat-plus32.bin -a 3 -m 1500 nQCk49SiErOgk || die + fi + fi + if use video_cards_fglrx; then + addwrite /dev/ati + if use amd64; then + ./oclHashcat-plus64.bin -a 3 -m 1500 nQCk49SiErOgk || die + elif use x86; then + ./oclHashcat-plus32.bin -a 3 -m 1500 nQCk49SiErOgk || die + fi + fi + rm eula.accepted hashcat.pot hashcat.dictstat +} + +src_install() { + dodoc docs/* + rm -r "${S}"/*.exe "${S}"/*.cmd "${S}"/docs || die + + insinto /opt/${PN} + doins -r "${S}"/* || die "Copy files failed" + + dodir /opt/bin + + cat <<-EOF > "${ED}"/opt/bin/oclhashcat-plus + #! /bin/sh + echo "oclHashcat-plus and all related files have been installed in /opt/${PN}" + echo "Please run one of the following binaries to use gpu accelerated hashcat:" + EOF + + for x in oclHashcat-plus64.bin oclHashcat-plus32.bin cudaHashcat-plus64.bin cudaHashcat-plus32.bin vclHashcat-plus64.bin vclHashcat-plus32.bin + do + if [ -f "${ED}"/opt/${PN}/${x} ] + then + case "${x}" in + oclHashcat-plus64.bin) + echo "echo '64 bit ATI accelerated \"oclHashcat-plus64.bin\"'" >> "${ED}"/opt/bin/oclhashcat-plus + ;; + oclHashcat-plus32.bin) + echo "echo '32 bit ATI accelerated \"oclHashcat-plus32.bin\"'" >> "${ED}"/opt/bin/oclhashcat-plus + ;; + cudaHashcat-plus64.bin) + echo "echo '64 bit NVIDIA accelerated \"cudaHashcat-plus64.bin\"'" >> "${ED}"/opt/bin/oclhashcat-plus + ;; + cudaHashcat-plus32.bin) + echo "echo '32 bit NVIDIA accelerated \"cudaHashcat-plus32.bin\"'" >> "${ED}"/opt/bin/oclhashcat-plus + ;; + vclHashcat-plus64.bin) + echo "echo '64 bit VirtualCL Cluster support \"vclHashcat-plus64.bin\"'" >> "${ED}"/opt/bin/oclhashcat-plus + ;; + vclHashcat-plus32.bin) + echo "echo '32 bit VirtualCL Cluster support \"vclHashcat-plus32.bin\"'" >> "${ED}"/opt/bin/oclhashcat-plus + ;; + esac + + fperms +x /opt/${PN}/${x} + + cat <<-EOF > "${ED}"/opt/bin/${x} + #! /bin/sh + cd /opt/${PN} + echo "Warning: ${x} is running from /opt/${PN} so be careful of relative paths." + exec ./${x} "\$@" + EOF + + fperms +x /opt/bin/${x} + + fi + done + + fperms +x /opt/bin/oclhashcat-plus + fowners -R root:video /opt/${PN} + fperms g+w /opt/${PN} + einfo "oclhashcat-plus can be run as user if you are in the video group" +} + +pkg_preinst() { + #I feel so dirty doing this + #first we remove the eula.accepted because it cannot properly handle and empty or old one (crash or doesn't run at all) + rm -f "${EROOT}"/opt/${PN}/eula.accepted + #next we remove any compiled kernel files as these get built on first run only if they aren't there because there are no timestamp checks + rm -f "${EROOT}"/opt/${PN}/kernels/{4318,4098}/"*.kernel" + #have mercy on my soul +} |