pentoo-overlay/net-wireless/proxmark3/proxmark3-3.1.0_p20190820.ebuild
2019-08-21 21:46:34 -04:00

85 lines
2.3 KiB
Bash

# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit udev
HASH_COMMIT="1ac5211601b50b82b41737dce0c3a72d9e0374ac"
DESCRIPTION="A general purpose RFID tool for Proxmark3 hardware"
HOMEPAGE="https://github.com/RfidResearchGroup/proxmark3"
SRC_URI="https://github.com/RfidResearchGroup/${PN}/archive/${HASH_COMMIT}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64"
IUSE="deprecated +firmware"
#fpga_compress fails to compile
#MAKEOPTS="${MAKEOPTS} -j1"
RDEPEND="virtual/libusb:0
sys-libs/ncurses:*[tinfo]
dev-qt/qtcore:5
dev-qt/qtwidgets:5
dev-qt/qtgui:5
sys-libs/readline:=
dev-util/astyle"
DEPEND="${RDEPEND}
firmware? ( sys-devel/gcc-arm-none-eabi )"
S=${WORKDIR}/${PN}-${HASH_COMMIT}
src_prepare() {
sed -i -e 's/-ltermcap/-ltinfo/g' client/Makefile || die
sed -i -e 's/-ltermcap/-ltinfo/g' client/liblua/Makefile || die
sed -i -e 's#lualibs/#../../usr/share/proxmark3/lualibs/#' client/scripting.h || die
sed -i -e 's#scripts/#../../usr/share/proxmark3/scripts/#' client/scripting.h || die
sed -i -e 's#mkdir#mkdir -p#' Makefile.host || die
eapply_user
}
src_compile(){
if use firmware; then
# platform should be an exclusive use flag, extras should default to btaddon for pm3rdv4
# standalone should also be an exclusive use flag
emake V=1 PLATFORM=PM3RDV4 PLATFORM_EXTRAS=BTADDON all
elif use deprecated; then
emake V=1 client/proxmark3 mfkey nonce2key
else
emake V=1 client/proxmark3
fi
}
src_install(){
dobin client/proxmark3
if use deprecated; then
#install some tools
exeinto /usr/share/proxmark3/tools
doexe tools/mfkey/mfkey{32,64}
doexe tools/nonce2key/nonce2key
fi
#install main lua and scripts
insinto /usr/share/proxmark3/lualibs
doins client/lualibs/*
insinto /usr/share/proxmark3/scripts
doins client/scripts/*
if use firmware; then
exeinto /usr/share/proxmark3/firmware
doexe client/flasher
insinto /usr/share/proxmark3/firmware
doins armsrc/obj/fullimage.elf
doins bootrom/obj/bootrom.elf
insinto /usr/share/proxmark3/jtag
doins recovery/*.bin
fi
udev_dorules driver/77-pm3-usb-device-blacklist.rules
}
pkg_postinst() {
if use firmware; then
einfo "flasher is located in /usr/share/proxmark3/firmware/"
ewarn "Please note, all firmware and recovery files are intended for the Proxmark3 RDV4"
fi
}