proxmark3: drop old

This commit is contained in:
Rick Farina (Zero_Chaos) 2026-02-25 12:24:22 -05:00
parent 9f2aad23d2
commit 7075faed4b
No known key found for this signature in database
GPG key ID: A29433C0AA431DDC
6 changed files with 0 additions and 840 deletions

View file

@ -1,38 +0,0 @@
From d522a46fca981331fddac3117047030b5dcf5c83 Mon Sep 17 00:00:00 2001
From: "Rick Farina (Zero_Chaos)" <zerochaos@gentoo.org>
Date: Mon, 31 Jul 2023 15:46:20 -0400
Subject: [PATCH] fix lto-type-mismatch in guidummy.cpp
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
link time optimization requires all functions named the same to actually
operate the same. I am pretty sure this fixes it without breaking
anything.
Fixes: https://github.com/RfidResearchGroup/proxmark3/issues/2058
src/proxgui.h:35:6: error: type of ShowPictureWindow does not match original declaration [-Werror=lto-type-mismatch]
35 | void ShowPictureWindow(uint8_t *data, int len);
| ^
src/guidummy.cpp:33:17: note: type mismatch in parameter 2
33 | extern "C" void ShowPictureWindow(char *fn) {
| ^
src/guidummy.cpp:33:17: note: type void should match type int
src/guidummy.cpp:33:17: note: ShowPictureWindow was previously declared here
---
client/src/guidummy.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/client/src/guidummy.cpp b/client/src/guidummy.cpp
index e54c1d94e1..2882fd41de 100644
--- a/client/src/guidummy.cpp
+++ b/client/src/guidummy.cpp
@@ -30,7 +30,7 @@ extern "C" void ShowGraphWindow(void) {
extern "C" void HideGraphWindow(void) {}
extern "C" void RepaintGraphWindow(void) {}
-extern "C" void ShowPictureWindow(char *fn) {
+extern "C" void ShowPictureWindow(char *fn, int len) {
static int warned = 0;
if (!warned) {

View file

@ -1,25 +0,0 @@
From 6b648396e700db8e9753725e092a41040d8b9a5c Mon Sep 17 00:00:00 2001
From: "Rick Farina (Zero_Chaos)" <zerochaos@gentoo.org>
Date: Mon, 31 Jul 2023 23:33:36 -0400
Subject: [PATCH] fix -Wstringop-overread error
We are reading this 26 bytes into a 32 byte buffer, is this even any
worse?
Fixes: https://github.com/RfidResearchGroup/proxmark3/issues/2060
---
client/src/mifare/mifarehost.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/client/src/mifare/mifarehost.c b/client/src/mifare/mifarehost.c
index a05456bcd6..76c392490d 100644
--- a/client/src/mifare/mifarehost.c
+++ b/client/src/mifare/mifarehost.c
@@ -787,7 +787,7 @@ int mfStaticNested(uint8_t blockNo, uint8_t keyType, uint8_t *key, uint8_t trgBl
p_keyblock = mem;
}
- uint8_t fn[26] = "static_nested_000.bin";
+ uint8_t fn[32] = "static_nested_000.bin";
uint64_t start_time = msclock();
for (uint32_t i = 0; i < keycnt; i += max_keys_chunk) {

View file

@ -1,80 +0,0 @@
From f451be58775c5ac6e9b48d404afc33456d237df0 Mon Sep 17 00:00:00 2001
From: "Rick Farina (Zero_Chaos)" <zerochaos@gentoo.org>
Date: Wed, 2 Aug 2023 11:22:03 -0400
Subject: [PATCH 1/3] proxguiqt.cpp needs ui_overlays.h to build
Fixes: https://github.com/RfidResearchGroup/proxmark3/issues/2062
---
client/Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/client/Makefile b/client/Makefile
index bb15a9944e..f934eaed7c 100644
--- a/client/Makefile
+++ b/client/Makefile
@@ -781,6 +781,8 @@ proxmark3: $(OBJS) $(STATICLIBS) lualibs/pm3_cmd.lua lualibs/mfc_default_keys.lu
src/proxgui.cpp: src/ui/ui_overlays.h src/ui/ui_image.h
+src/proxguiqt.cpp: src/ui/ui_overlays.h
+
src/proxguiqt.moc.cpp: src/proxguiqt.h
$(info [-] MOC $@)
$(Q)$(MOC) -o$@ $^
From 0b70a1014561a19f8772052ebda4cbc0b9e23d30 Mon Sep 17 00:00:00 2001
From: "Rick Farina (Zero_Chaos)" <zerochaos@gentoo.org>
Date: Wed, 2 Aug 2023 11:30:18 -0400
Subject: [PATCH 2/3] proxguiqt.cpp also needs ui_image.h to build
This fixes the next parallel build failure in the current shuffle seed.
---
client/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/client/Makefile b/client/Makefile
index f934eaed7c..b79d248bba 100644
--- a/client/Makefile
+++ b/client/Makefile
@@ -781,7 +781,7 @@ proxmark3: $(OBJS) $(STATICLIBS) lualibs/pm3_cmd.lua lualibs/mfc_default_keys.lu
src/proxgui.cpp: src/ui/ui_overlays.h src/ui/ui_image.h
-src/proxguiqt.cpp: src/ui/ui_overlays.h
+src/proxguiqt.cpp: src/ui/ui_overlays.h src/ui/ui_image.h
src/proxguiqt.moc.cpp: src/proxguiqt.h
$(info [-] MOC $@)
From 8f2b71ffc4a9f512a70cc014a53b0b99b91dcfbb Mon Sep 17 00:00:00 2001
From: "Rick Farina (Zero_Chaos)" <zerochaos@gentoo.org>
Date: Wed, 2 Aug 2023 13:00:32 -0400
Subject: [PATCH 3/3] fix parallel build for proxguiqt.moc.cpp
seed shuffle=2866679623 found that proxguiqt.moc.cpp also needs the same
header so just defining the header and defining it's needs should make
everyone happy
---
client/Makefile | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/client/Makefile b/client/Makefile
index b79d248bba..e86d8d10ec 100644
--- a/client/Makefile
+++ b/client/Makefile
@@ -781,12 +781,14 @@ proxmark3: $(OBJS) $(STATICLIBS) lualibs/pm3_cmd.lua lualibs/mfc_default_keys.lu
src/proxgui.cpp: src/ui/ui_overlays.h src/ui/ui_image.h
-src/proxguiqt.cpp: src/ui/ui_overlays.h src/ui/ui_image.h
+src/proxguiqt.cpp: src/proxguiqt.h
src/proxguiqt.moc.cpp: src/proxguiqt.h
$(info [-] MOC $@)
$(Q)$(MOC) -o$@ $^
+src/proxguiqt.h: src/ui/ui_overlays.h src/ui/ui_image.h
+
src/ui/ui_overlays.h: src/ui/overlays.ui
$(info [-] UIC $@)
$(Q)$(UIC) $^ > $@

View file

@ -1,231 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit udev toolchain-funcs
if [ "${PV}" = "9999" ]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/RfidResearchGroup/proxmark3.git"
RESTRICT="strip"
else
#snapshot
#HASH_COMMIT="1ac5211601b50b82b41737dce0c3a72d9e0374ac"
#SRC_URI="https://github.com/RfidResearchGroup/${PN}/archive/${HASH_COMMIT}.tar.gz -> ${P}.tar.gz"
#S=${WORKDIR}/${PN}-${HASH_COMMIT}
#or release
KEYWORDS="~amd64"
SRC_URI="https://github.com/RfidResearchGroup/proxmark3/archive/v${PV}.tar.gz -> ${P}.tar.gz"
fi
DESCRIPTION="A general purpose RFID tool for Proxmark3 hardware"
HOMEPAGE="https://github.com/RfidResearchGroup/proxmark3"
LICENSE="GPL-3+"
SLOT="0"
IUSE="+bluez +firmware opencl +qt"
CDEPEND="
app-arch/bzip2
app-arch/lz4:=
dev-libs/jansson:=
dev-libs/openssl:=
sys-libs/readline:=
media-libs/gd:2=
bluez? ( net-wireless/bluez:= )
opencl? ( dev-libs/opencl-icd-loader )
qt? ( dev-qt/qtcore:5
dev-qt/qtwidgets:5
dev-qt/qtgui:5 )
"
DEPEND="${CDEPEND}
dev-util/opencl-headers
"
RDEPEND="${CDEPEND}
dev-python/ansicolors
dev-python/sslcrypto
"
#ncurses is basically just used for termcap
PDEPEND="sys-libs/ncurses:*[tinfo]"
BDEPEND="firmware? ( sys-devel/gcc-arm-none-eabi:0 )"
QA_FLAGS_IGNORED="usr/share/proxmark3/firmware/bootrom.elf
usr/share/proxmark3/firmware/fullimage.elf
usr/share/proxmark3/firmware/PM3BOOTROM.elf
usr/share/proxmark3/firmware/PM3GENERIC_256.elf
usr/share/proxmark3/firmware/PM3GENERIC.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFSKELETON.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFEM4100EMUL.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFEM4100RSWB.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFEM4100RSWW.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFEM4100RWC.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFHIDBRUTE.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFMULTIHID.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFNEDAP_SIM.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFPROXBRUTE.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFPROX2BRUTE.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFSAMYRUN.elf
usr/share/proxmark3/firmware/PM3GENERIC_HF14ASNIFF.elf
usr/share/proxmark3/firmware/PM3GENERIC_HF14BSNIFF.elf
usr/share/proxmark3/firmware/PM3GENERIC_HF15SNIFF.elf
usr/share/proxmark3/firmware/PM3GENERIC_HF15SIM.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFAVEFUL.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFCRAFTBYTE.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFLEGIC.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFMATTYRUN.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFMSDSAL.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFTCPRST.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFTMUDFORD.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFUNISNIFF.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFYOUNG.elf
usr/share/proxmark3/firmware/PM3GENERIC_DANKARMULTI.elf
usr/share/proxmark3/firmware/PM3RDV4.elf
usr/share/proxmark3/firmware/PM3RDV4_LFSKELETON.elf
usr/share/proxmark3/firmware/PM3RDV4_LFEM4100EMUL.elf
usr/share/proxmark3/firmware/PM3RDV4_LFEM4100RSWB.elf
usr/share/proxmark3/firmware/PM3RDV4_LFEM4100RSWW.elf
usr/share/proxmark3/firmware/PM3RDV4_LFEM4100RWC.elf
usr/share/proxmark3/firmware/PM3RDV4_LFHIDBRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_LFHIDFCBRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_LFICEHID.elf
usr/share/proxmark3/firmware/PM3RDV4_LFMULTIHID.elf
usr/share/proxmark3/firmware/PM3RDV4_LFNEDAP_SIM.elf
usr/share/proxmark3/firmware/PM3RDV4_LFNEXID.elf
usr/share/proxmark3/firmware/PM3RDV4_LFPROXBRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_LFPROX2BRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_LFSAMYRUN.elf
usr/share/proxmark3/firmware/PM3RDV4_LFTHAREXDE.elf
usr/share/proxmark3/firmware/PM3RDV4_HF14ASNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_HF14BSNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_HF15SNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_HF15SIM.elf
usr/share/proxmark3/firmware/PM3RDV4_HFAVEFUL.elf
usr/share/proxmark3/firmware/PM3RDV4_HFBOG.elf
usr/share/proxmark3/firmware/PM3RDV4_HFCOLIN.elf
usr/share/proxmark3/firmware/PM3RDV4_HFCRAFTBYTE.elf
usr/share/proxmark3/firmware/PM3RDV4_HFICECLASS.elf
usr/share/proxmark3/firmware/PM3RDV4_HFLEGIC.elf
usr/share/proxmark3/firmware/PM3RDV4_HFLEGICSIM.elf
usr/share/proxmark3/firmware/PM3RDV4_HFMATTYRUN.elf
usr/share/proxmark3/firmware/PM3RDV4_HFMFCSIM.elf
usr/share/proxmark3/firmware/PM3RDV4_HFMSDSAL.elf
usr/share/proxmark3/firmware/PM3RDV4_HFTCPRST.elf
usr/share/proxmark3/firmware/PM3RDV4_HFTMUDFORD.elf
usr/share/proxmark3/firmware/PM3RDV4_HFUNISNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_HFYOUNG.elf
usr/share/proxmark3/firmware/PM3RDV4_DANKARMULTI.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFSKELETON.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFEM4100EMUL.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFEM4100RSWB.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFEM4100RSWW.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFEM4100RWC.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFHIDBRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFHIDFCBRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFICEHID.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFMULTIHID.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFNEDAP_SIM.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFNEXID.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFPROXBRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFPROX2BRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFSAMYRUN.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFTHAREXDE.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HF14ASNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HF14BSNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HF15SNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HF15SIM.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFAVEFUL.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFBOG.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFCARDHOPPER.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFCOLIN.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFCRAFTBYTE.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFICECLASS.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFLEGIC.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFLEGICSIM.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFMATTYRUN.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFMFCSIM.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFMSDSAL.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFREBLAY.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFTCPRST.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFTMUDFORD.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFUNISNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFYOUNG.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_DANKARMULTI.elf
"
src_prepare(){
default
build_time=$(date '+%Y-%m-%d %H:%M:%S')
sed -i "s#\"\$ctime\",#\"${build_time}\",#" tools/mkversion.sh || die
}
src_compile(){
export PREFIX=/usr
#verbose
export V=1
#common flags
EMAKE_COMMON=CC="$(tc-getCC)" DEFCFLAGS="${CFLAGS}" MYCFLAGS="${CFLAGS}"
EMAKE_COMMON+= MYCXXFLAGS="${CXXFLAGS}" MYLDFLAGS="${LDFLAGS}"
use bluez || export SKIPBT=1
use qt || export SKIPQT=1
use opencl || export SKIPOPENCL=1
if use firmware; then
#prevent repeat cleaning of things which were never built
sed -i '/\$(Q)\$(MAKE) \-\-no-print-directory \-C recovery clean/d' Makefile || die
sed -i '/\$(Q)\$(MAKE) \-\-no-print-directory \-C client clean/d' Makefile || die
#prevent rebuilding fpga_compress for every firmware
sed -i '/\$(Q)\$(MAKE) \-\-no-print-directory \-C tools\/fpga_compress clean/d' Makefile || die
DEST="firmware" MKFLAGS="${MAKEOPTS} ${EMAKE_COMMON}" ./tools/build_all_firmwares.sh || die
# We removed the auto cleans for speed so we have to do it once manually
emake clean
fi
# If we wanted firmware we built it in USE=firmware
sed -i 's#bootrom/% armsrc/% recovery/%##' Makefile || die
emake ${EMAKE_COMMON} all hitag2crack
}
src_install(){
export PREFIX=/usr
export DESTDIR="${ED}"
# hitag2crack needs it's own DESTDIR variable?
export MYDESTDIR="${ED}"
export UDEV_PREFIX="$(get_udevdir)/rules.d"
export INSTALLDOCSRELPATH="/share/doc/${PF}"
emake INSTALLDOCSRELPATH="/share/doc/${PF}" install hitag2crack/install
if use firmware; then
insinto /usr/share/${PN}
doins -r "${S}"/firmware
ln -s ./PM3BOOTROM.elf "${ED}/usr/share/${PN}/firmware/bootrom.elf"
ln -s ./PM3GENERIC_256.elf "${ED}/usr/share/${PN}/firmware/proxmark3_recovery.bin"
ln -s ./PM3GENERIC.elf "${ED}/usr/share/${PN}/firmware/fullimage.elf"
fi
}
src_test() {
# Because of building all firmware the some files end up in a different location with a different name
sed -i -e 's#bootrom/obj/bootrom.elf#firmware/PM3BOOTROM.elf#' \
-e 's#recovery/proxmark3_recovery.bin#firmware/PM3GENERIC_256.elf#' \
-e 's#armsrc/obj/fullimage.elf#firmware/PM3GENERIC.elf#' tools/pm3_tests.sh || die
# This isn't installed and was removed by "make clean" after firmware build
sed -i '/if ! CheckFileExist "fpgacompress exists"/d' tools/pm3_tests.sh || die
if use firmware; then
./tools/pm3_tests.sh --long || die
else
./tools/pm3_tests.sh --long client || die
fi
# Opencl stuff doesn't work as the portage user
#if use opencl; then
# ./tools/pm3_tests.sh --long --opencl hitag2crack || die
#else
./tools/pm3_tests.sh --long hitag2crack || die
#fi
}
pkg_postinst() {
udev_reload
}
pkg_postrm() {
udev_reload
}

View file

@ -1,231 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit udev toolchain-funcs
if [ "${PV}" = "9999" ]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/RfidResearchGroup/proxmark3.git"
RESTRICT="strip"
else
#snapshot
#HASH_COMMIT="1ac5211601b50b82b41737dce0c3a72d9e0374ac"
#SRC_URI="https://github.com/RfidResearchGroup/${PN}/archive/${HASH_COMMIT}.tar.gz -> ${P}.tar.gz"
#S=${WORKDIR}/${PN}-${HASH_COMMIT}
#or release
KEYWORDS="~amd64"
SRC_URI="https://github.com/RfidResearchGroup/proxmark3/archive/v${PV}.tar.gz -> ${P}.tar.gz"
fi
DESCRIPTION="A general purpose RFID tool for Proxmark3 hardware"
HOMEPAGE="https://github.com/RfidResearchGroup/proxmark3"
LICENSE="GPL-3+"
SLOT="0"
IUSE="+bluez +firmware opencl +qt"
CDEPEND="
app-arch/bzip2
app-arch/lz4:=
dev-libs/jansson:=
dev-libs/openssl:=
sys-libs/readline:=
media-libs/gd:2=
bluez? ( net-wireless/bluez:= )
opencl? ( dev-libs/opencl-icd-loader )
qt? ( dev-qt/qtcore:5
dev-qt/qtwidgets:5
dev-qt/qtgui:5 )
"
DEPEND="${CDEPEND}
dev-util/opencl-headers
"
RDEPEND="${CDEPEND}
dev-python/ansicolors
dev-python/sslcrypto
"
#ncurses is basically just used for termcap
PDEPEND="sys-libs/ncurses:*[tinfo]"
BDEPEND="firmware? ( sys-devel/gcc-arm-none-eabi:0 )"
QA_FLAGS_IGNORED="usr/share/proxmark3/firmware/bootrom.elf
usr/share/proxmark3/firmware/fullimage.elf
usr/share/proxmark3/firmware/PM3BOOTROM.elf
usr/share/proxmark3/firmware/PM3GENERIC_256.elf
usr/share/proxmark3/firmware/PM3GENERIC.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFSKELETON.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFEM4100EMUL.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFEM4100RSWB.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFEM4100RSWW.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFEM4100RWC.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFHIDBRUTE.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFMULTIHID.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFNEDAP_SIM.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFPROXBRUTE.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFPROX2BRUTE.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFSAMYRUN.elf
usr/share/proxmark3/firmware/PM3GENERIC_HF14ASNIFF.elf
usr/share/proxmark3/firmware/PM3GENERIC_HF14BSNIFF.elf
usr/share/proxmark3/firmware/PM3GENERIC_HF15SNIFF.elf
usr/share/proxmark3/firmware/PM3GENERIC_HF15SIM.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFAVEFUL.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFCRAFTBYTE.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFLEGIC.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFMATTYRUN.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFMSDSAL.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFTCPRST.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFTMUDFORD.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFUNISNIFF.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFYOUNG.elf
usr/share/proxmark3/firmware/PM3GENERIC_DANKARMULTI.elf
usr/share/proxmark3/firmware/PM3RDV4.elf
usr/share/proxmark3/firmware/PM3RDV4_LFSKELETON.elf
usr/share/proxmark3/firmware/PM3RDV4_LFEM4100EMUL.elf
usr/share/proxmark3/firmware/PM3RDV4_LFEM4100RSWB.elf
usr/share/proxmark3/firmware/PM3RDV4_LFEM4100RSWW.elf
usr/share/proxmark3/firmware/PM3RDV4_LFEM4100RWC.elf
usr/share/proxmark3/firmware/PM3RDV4_LFHIDBRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_LFHIDFCBRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_LFICEHID.elf
usr/share/proxmark3/firmware/PM3RDV4_LFMULTIHID.elf
usr/share/proxmark3/firmware/PM3RDV4_LFNEDAP_SIM.elf
usr/share/proxmark3/firmware/PM3RDV4_LFNEXID.elf
usr/share/proxmark3/firmware/PM3RDV4_LFPROXBRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_LFPROX2BRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_LFSAMYRUN.elf
usr/share/proxmark3/firmware/PM3RDV4_LFTHAREXDE.elf
usr/share/proxmark3/firmware/PM3RDV4_HF14ASNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_HF14BSNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_HF15SNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_HF15SIM.elf
usr/share/proxmark3/firmware/PM3RDV4_HFAVEFUL.elf
usr/share/proxmark3/firmware/PM3RDV4_HFBOG.elf
usr/share/proxmark3/firmware/PM3RDV4_HFCOLIN.elf
usr/share/proxmark3/firmware/PM3RDV4_HFCRAFTBYTE.elf
usr/share/proxmark3/firmware/PM3RDV4_HFICECLASS.elf
usr/share/proxmark3/firmware/PM3RDV4_HFLEGIC.elf
usr/share/proxmark3/firmware/PM3RDV4_HFLEGICSIM.elf
usr/share/proxmark3/firmware/PM3RDV4_HFMATTYRUN.elf
usr/share/proxmark3/firmware/PM3RDV4_HFMFCSIM.elf
usr/share/proxmark3/firmware/PM3RDV4_HFMSDSAL.elf
usr/share/proxmark3/firmware/PM3RDV4_HFTCPRST.elf
usr/share/proxmark3/firmware/PM3RDV4_HFTMUDFORD.elf
usr/share/proxmark3/firmware/PM3RDV4_HFUNISNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_HFYOUNG.elf
usr/share/proxmark3/firmware/PM3RDV4_DANKARMULTI.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFSKELETON.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFEM4100EMUL.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFEM4100RSWB.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFEM4100RSWW.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFEM4100RWC.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFHIDBRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFHIDFCBRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFICEHID.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFMULTIHID.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFNEDAP_SIM.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFNEXID.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFPROXBRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFPROX2BRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFSAMYRUN.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFTHAREXDE.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HF14ASNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HF14BSNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HF15SNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HF15SIM.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFAVEFUL.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFBOG.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFCARDHOPPER.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFCOLIN.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFCRAFTBYTE.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFICECLASS.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFLEGIC.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFLEGICSIM.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFMATTYRUN.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFMFCSIM.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFMSDSAL.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFREBLAY.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFTCPRST.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFTMUDFORD.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFUNISNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFYOUNG.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_DANKARMULTI.elf
"
src_prepare(){
default
build_time=$(date '+%Y-%m-%d %H:%M:%S')
sed -i "s#\"\$ctime\",#\"${build_time}\",#" tools/mkversion.sh || die
}
src_compile(){
export PREFIX=/usr
#verbose
export V=1
#common flags
EMAKE_COMMON=CC="$(tc-getCC)" DEFCFLAGS="${CFLAGS}" MYCFLAGS="${CFLAGS}"
EMAKE_COMMON+= MYCXXFLAGS="${CXXFLAGS}" MYLDFLAGS="${LDFLAGS}"
use bluez || export SKIPBT=1
use qt || export SKIPQT=1
use opencl || export SKIPOPENCL=1
if use firmware; then
#prevent repeat cleaning of things which were never built
sed -i '/\$(Q)\$(MAKE) \-\-no-print-directory \-C recovery clean/d' Makefile || die
sed -i '/\$(Q)\$(MAKE) \-\-no-print-directory \-C client clean/d' Makefile || die
#prevent rebuilding fpga_compress for every firmware
sed -i '/\$(Q)\$(MAKE) \-\-no-print-directory \-C tools\/fpga_compress clean/d' Makefile || die
DEST="firmware" MKFLAGS="${MAKEOPTS} ${EMAKE_COMMON}" ./tools/build_all_firmwares.sh || die
# We removed the auto cleans for speed so we have to do it once manually
emake clean
fi
# If we wanted firmware we built it in USE=firmware
sed -i 's#bootrom/% armsrc/% recovery/%##' Makefile || die
emake ${EMAKE_COMMON} all hitag2crack
}
src_install(){
export PREFIX=/usr
export DESTDIR="${ED}"
# hitag2crack needs it's own DESTDIR variable?
export MYDESTDIR="${ED}"
export UDEV_PREFIX="$(get_udevdir)/rules.d"
export INSTALLDOCSRELPATH="/share/doc/${PF}"
emake INSTALLDOCSRELPATH="/share/doc/${PF}" install hitag2crack/install
if use firmware; then
insinto /usr/share/${PN}
doins -r "${S}"/firmware
ln -s ./PM3BOOTROM.elf "${ED}/usr/share/${PN}/firmware/bootrom.elf"
ln -s ./PM3GENERIC_256.elf "${ED}/usr/share/${PN}/firmware/proxmark3_recovery.bin"
ln -s ./PM3GENERIC.elf "${ED}/usr/share/${PN}/firmware/fullimage.elf"
fi
}
src_test() {
# Because of building all firmware the some files end up in a different location with a different name
sed -i -e 's#bootrom/obj/bootrom.elf#firmware/PM3BOOTROM.elf#' \
-e 's#recovery/proxmark3_recovery.bin#firmware/PM3GENERIC_256.elf#' \
-e 's#armsrc/obj/fullimage.elf#firmware/PM3GENERIC.elf#' tools/pm3_tests.sh || die
# This isn't installed and was removed by "make clean" after firmware build
sed -i '/if ! CheckFileExist "fpgacompress exists"/d' tools/pm3_tests.sh || die
if use firmware; then
./tools/pm3_tests.sh --long || die
else
./tools/pm3_tests.sh --long client || die
fi
# Opencl stuff doesn't work as the portage user
#if use opencl; then
# ./tools/pm3_tests.sh --long --opencl hitag2crack || die
#else
./tools/pm3_tests.sh --long hitag2crack || die
#fi
}
pkg_postinst() {
udev_reload
}
pkg_postrm() {
udev_reload
}

View file

@ -1,235 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit udev toolchain-funcs
if [ "${PV}" = "9999" ]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/RfidResearchGroup/proxmark3.git"
RESTRICT="strip"
else
#snapshot
#HASH_COMMIT="1ac5211601b50b82b41737dce0c3a72d9e0374ac"
#SRC_URI="https://github.com/RfidResearchGroup/${PN}/archive/${HASH_COMMIT}.tar.gz -> ${P}.tar.gz"
#S=${WORKDIR}/${PN}-${HASH_COMMIT}
#or release
KEYWORDS="~amd64"
SRC_URI="https://github.com/RfidResearchGroup/proxmark3/archive/v${PV}.tar.gz -> ${P}.tar.gz"
fi
DESCRIPTION="A general purpose RFID tool for Proxmark3 hardware"
HOMEPAGE="https://github.com/RfidResearchGroup/proxmark3"
LICENSE="GPL-3+"
SLOT="0"
IUSE="+bluez +firmware opencl +qt"
CDEPEND="
app-arch/bzip2
app-arch/lz4:=
dev-libs/jansson:=
dev-libs/openssl:=
sys-libs/readline:=
media-libs/gd:2=
bluez? ( net-wireless/bluez:= )
opencl? ( dev-libs/opencl-icd-loader )
qt? ( dev-qt/qtcore:5
dev-qt/qtwidgets:5
dev-qt/qtgui:5 )
"
DEPEND="${CDEPEND}
dev-util/opencl-headers
"
RDEPEND="${CDEPEND}
dev-lang/lua:5.4
dev-python/ansicolors
dev-python/sslcrypto
"
#ncurses is basically just used for termcap
PDEPEND="sys-libs/ncurses:*[tinfo]"
BDEPEND="firmware? ( sys-devel/gcc-arm-none-eabi:0 )"
QA_FLAGS_IGNORED="usr/share/proxmark3/firmware/bootrom.elf
usr/share/proxmark3/firmware/fullimage.elf
usr/share/proxmark3/firmware/PM3BOOTROM.elf
usr/share/proxmark3/firmware/PM3GENERIC_256.elf
usr/share/proxmark3/firmware/PM3GENERIC.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFSKELETON.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFEM4100EMUL.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFEM4100RSWB.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFEM4100RSWW.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFEM4100RWC.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFHIDBRUTE.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFMULTIHID.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFNEDAP_SIM.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFPROXBRUTE.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFPROX2BRUTE.elf
usr/share/proxmark3/firmware/PM3GENERIC_LFSAMYRUN.elf
usr/share/proxmark3/firmware/PM3GENERIC_HF14ASNIFF.elf
usr/share/proxmark3/firmware/PM3GENERIC_HF14BSNIFF.elf
usr/share/proxmark3/firmware/PM3GENERIC_HF15SNIFF.elf
usr/share/proxmark3/firmware/PM3GENERIC_HF15SIM.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFAVEFUL.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFCRAFTBYTE.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFLEGIC.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFMATTYRUN.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFMSDSAL.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFTCPRST.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFTMUDFORD.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFUNISNIFF.elf
usr/share/proxmark3/firmware/PM3GENERIC_HFYOUNG.elf
usr/share/proxmark3/firmware/PM3GENERIC_DANKARMULTI.elf
usr/share/proxmark3/firmware/PM3RDV4.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFST25_TEAROFF.elf
usr/share/proxmark3/firmware/PM3RDV4_LFSKELETON.elf
usr/share/proxmark3/firmware/PM3RDV4_LFEM4100EMUL.elf
usr/share/proxmark3/firmware/PM3RDV4_LFEM4100RSWB.elf
usr/share/proxmark3/firmware/PM3RDV4_LFEM4100RSWW.elf
usr/share/proxmark3/firmware/PM3RDV4_LFEM4100RWC.elf
usr/share/proxmark3/firmware/PM3RDV4_LFHIDBRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_LFHIDFCBRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_LFICEHID.elf
usr/share/proxmark3/firmware/PM3RDV4_LFMULTIHID.elf
usr/share/proxmark3/firmware/PM3RDV4_LFNEDAP_SIM.elf
usr/share/proxmark3/firmware/PM3RDV4_LFNEXID.elf
usr/share/proxmark3/firmware/PM3RDV4_LFPROXBRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_LFPROX2BRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_LFSAMYRUN.elf
usr/share/proxmark3/firmware/PM3RDV4_LFTHAREXDE.elf
usr/share/proxmark3/firmware/PM3RDV4_HF14ASNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_HF14BSNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_HF15SNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_HF15SIM.elf
usr/share/proxmark3/firmware/PM3RDV4_HFAVEFUL.elf
usr/share/proxmark3/firmware/PM3RDV4_HFBOG.elf
usr/share/proxmark3/firmware/PM3RDV4_HFCOLIN.elf
usr/share/proxmark3/firmware/PM3RDV4_HFCRAFTBYTE.elf
usr/share/proxmark3/firmware/PM3RDV4_HFICECLASS.elf
usr/share/proxmark3/firmware/PM3RDV4_HFLEGIC.elf
usr/share/proxmark3/firmware/PM3RDV4_HFLEGICSIM.elf
usr/share/proxmark3/firmware/PM3RDV4_HFMATTYRUN.elf
usr/share/proxmark3/firmware/PM3RDV4_HFMFCSIM.elf
usr/share/proxmark3/firmware/PM3RDV4_HFMSDSAL.elf
usr/share/proxmark3/firmware/PM3RDV4_HFST25_TEAROFF.elf
usr/share/proxmark3/firmware/PM3RDV4_HFTCPRST.elf
usr/share/proxmark3/firmware/PM3RDV4_HFTMUDFORD.elf
usr/share/proxmark3/firmware/PM3RDV4_HFUNISNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_HFYOUNG.elf
usr/share/proxmark3/firmware/PM3RDV4_DANKARMULTI.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFSKELETON.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFEM4100EMUL.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFEM4100RSWB.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFEM4100RSWW.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFEM4100RWC.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFHIDBRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFHIDFCBRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFICEHID.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFMULTIHID.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFNEDAP_SIM.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFNEXID.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFPROXBRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFPROX2BRUTE.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFSAMYRUN.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFTHAREXDE.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HF14ASNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HF14BSNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HF15SNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HF15SIM.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFAVEFUL.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFBOG.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFCARDHOPPER.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFCOLIN.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFCRAFTBYTE.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFICECLASS.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFLEGIC.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFLEGICSIM.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFMATTYRUN.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFMFCSIM.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFMSDSAL.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFREBLAY.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFTCPRST.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFTMUDFORD.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFUNISNIFF.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFYOUNG.elf
usr/share/proxmark3/firmware/PM3RDV4_BTADDON_DANKARMULTI.elf
"
QA_PRESTRIPPED="${QA_FLAGS_IGNORED}"
src_prepare(){
default
build_time=$(date '+%Y-%m-%d %H:%M:%S')
sed -i "s#\"\$ctime\",#\"${build_time}\",#" tools/mkversion.sh || die
}
src_compile(){
export PREFIX=/usr
#verbose
export V=1
#common flags
EMAKE_COMMON=CC="$(tc-getCC)" DEFCFLAGS="${CFLAGS}" MYCFLAGS="${CFLAGS}"
EMAKE_COMMON+= MYCXXFLAGS="${CXXFLAGS}" MYLDFLAGS="${LDFLAGS}"
use bluez || export SKIPBT=1
use qt || export SKIPQT=1
use opencl || export SKIPOPENCL=1
if use firmware; then
#prevent repeat cleaning of things which were never built
sed -i '/\$(Q)\$(MAKE) \-\-no-print-directory \-C recovery clean/d' Makefile || die
sed -i '/\$(Q)\$(MAKE) \-\-no-print-directory \-C client clean/d' Makefile || die
#prevent rebuilding fpga_compress for every firmware
sed -i '/\$(Q)\$(MAKE) \-\-no-print-directory \-C tools\/fpga_compress clean/d' Makefile || die
DEST="firmware" MKFLAGS="${MAKEOPTS} ${EMAKE_COMMON}" ./tools/build_all_firmwares.sh || die
# We removed the auto cleans for speed so we have to do it once manually
emake clean
fi
# If we wanted firmware we built it in USE=firmware
sed -i 's#bootrom/% armsrc/% recovery/%##' Makefile || die
emake ${EMAKE_COMMON} all hitag2crack
}
src_install(){
export PREFIX=/usr
export DESTDIR="${ED}"
# hitag2crack needs it's own DESTDIR variable?
export MYDESTDIR="${ED}"
export UDEV_PREFIX="$(get_udevdir)/rules.d"
export INSTALLDOCSRELPATH="/share/doc/${PF}"
emake INSTALLDOCSRELPATH="/share/doc/${PF}" install hitag2crack/install
if use firmware; then
insinto /usr/share/${PN}
doins -r "${S}"/firmware
ln -s ./PM3BOOTROM.elf "${ED}/usr/share/${PN}/firmware/bootrom.elf"
ln -s ./PM3GENERIC_256.elf "${ED}/usr/share/${PN}/firmware/proxmark3_recovery.bin"
ln -s ./PM3GENERIC.elf "${ED}/usr/share/${PN}/firmware/fullimage.elf"
fi
}
src_test() {
# Because of building all firmware the some files end up in a different location with a different name
sed -i -e 's#bootrom/obj/bootrom.elf#firmware/PM3BOOTROM.elf#' \
-e 's#recovery/proxmark3_recovery.bin#firmware/PM3GENERIC_256.elf#' \
-e 's#armsrc/obj/fullimage.elf#firmware/PM3GENERIC.elf#' tools/pm3_tests.sh || die
# This isn't installed and was removed by "make clean" after firmware build
sed -i '/if ! CheckFileExist "fpgacompress exists"/d' tools/pm3_tests.sh || die
if use firmware; then
./tools/pm3_tests.sh --long || die
else
./tools/pm3_tests.sh --long client || die
fi
# Opencl stuff doesn't work as the portage user
#if use opencl; then
# ./tools/pm3_tests.sh --long --opencl hitag2crack || die
#else
./tools/pm3_tests.sh --long hitag2crack || die
#fi
}
pkg_postinst() {
udev_reload
}
pkg_postrm() {
udev_reload
}