diff --git a/net-wireless/proxmark3/Manifest b/net-wireless/proxmark3/Manifest index afa05908a..6e7e5ce64 100644 --- a/net-wireless/proxmark3/Manifest +++ b/net-wireless/proxmark3/Manifest @@ -1 +1,2 @@ DIST proxmark3-4.16191.tar.gz 25039535 BLAKE2B 781d37c5522069a49edfef3f3796da6e07ee6ef71580fb40cbe610df1f356af6dbcf7070d86d799194127e12aa00350aac1885303b9025393bcccd6b675b989d SHA512 337d114cc2c0a61500c8793f526873d35bb82239e4febf8805880de69a864ee2e104b7750235dcf7eccfc2c39b94231f1fccb6b0f940974a6c08b1b963147d92 +DIST proxmark3-4.16717.tar.gz 25049078 BLAKE2B ed43a5822c1729b5eaa8bc1279f9549b18372754279d7c85f6691631ad68fab4abb4eea701fd7381540cd09b95e6001b8acabeff931a7a096d47e8144ee2f68d SHA512 189cc2a38982f689364a458610e5d78f3a2aae383552e8c740e5dbee3ab3ca2fcfae9c27c3ed9329f6f13a59a164b25452bce38229ae318066ced4779abe3d95 diff --git a/net-wireless/proxmark3/proxmark3-4.16717.ebuild b/net-wireless/proxmark3/proxmark3-4.16717.ebuild new file mode 100644 index 000000000..65eea9cb9 --- /dev/null +++ b/net-wireless/proxmark3/proxmark3-4.16717.ebuild @@ -0,0 +1,180 @@ +# Copyright 1999-2023 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" +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" +STANDALONE="standalone-lf-em4100emul standalone-lf-em4100rswb standalone-lf-em4100rwc standalone-lf-hidbrute standalone-lf-hidfcbrute standalone-lf-icehid standalone-lf-nexid standalone-lf-proxbrute standalone-lf-samyrun standalone-lf-tharexde standalone-hf-14asniff standalone-hf-15sniff standalone-hf-aveful standalone-hf-bog standalone-hf-colin standalone-hf-craftbyte standalone-hf-iceclass standalone-hf-legic standalone-hf-mattyrun standalone-hf-mfcsim standalone-hf-msdsal standalone-hf-reblay standalone-hf-tcprst standalone-hf-tmudford standalone-hf-young standalone-dankarmulti" +IUSE="+bluez deprecated +firmware +pm3rdv4 +qt ${STANDALONE}" +REQUIRED_USE="?? ( ${STANDALONE/+/} ) + standalone-lf-hidfcbrute? ( pm3rdv4 ) + standalone-lf-icehid? ( pm3rdv4 ) + standalone-lf-nexid? ( pm3rdv4 ) + standalone-lf-tharexde? ( pm3rdv4 ) + standalone-hf-14asniff? ( pm3rdv4 ) + standalone-hf-15sniff? ( pm3rdv4 ) + standalone-hf-bog? ( pm3rdv4 ) + standalone-hf-colin? ( pm3rdv4 ) + standalone-hf-iceclass? ( pm3rdv4 ) + standalone-hf-mfcsim? ( pm3rdv4 ) + standalone-hf-reblay? ( pm3rdv4 ) " + +RDEPEND=" + app-arch/bzip2 + dev-libs/jansson:= + sys-libs/ncurses:*[tinfo] + dev-libs/openssl:= + sys-libs/readline:= + bluez? ( net-wireless/bluez:= ) + qt? ( dev-qt/qtcore:5 + dev-qt/qtwidgets:5 + dev-qt/qtgui:5 ) + " +DEPEND="${RDEPEND}" +BDEPEND="firmware? ( sys-devel/gcc-arm-none-eabi:0 )" + +QA_FLAGS_IGNORED="usr/share/proxmark3/firmware/bootrom.elf + usr/share/proxmark3/firmware/fullimage.elf" + +src_prepare(){ + eapply_user +} +src_compile(){ + #first we set platform + if use pm3rdv4; then + echo 'PLATFORM=PM3RDV4' > Makefile.platform + echo 'PLATFORM_EXTRAS=BTADDON' >> Makefile.platform + else + echo 'PLATFORM=PM3GENERIC' > Makefile.platform + fi + #then we set a standalone mode + if use standalone-lf-em4100emul; then + echo 'STANDALONE=LF_EM4100EMUL' >> Makefile.platform + elif use standalone-lf-em4100rswb; then + echo 'STANDALONE=LF_EM4100RSWB' >> Makefile.platform + elif use standalone-lf-em4100rwc; then + echo 'STANDALONE=LF_EM4100RWC' >> Makefile.platform + elif use standalone-lf-hidbrute; then + echo 'STANDALONE=LF_HIDBRUTE' >> Makefile.platform + elif use standalone-lf-hidfcbrute; then + echo 'STANDALONE=LF_HIDFCBRUTE' >> Makefile.platform + elif use standalone-lf-icehid; then + echo 'STANDALONE=LF_ICEHID' >> Makefile.platform + elif use standalone-lf-nexid; then + echo 'STANDALONE=LF_NEXID' >> Makefile.platform + elif use standalone-lf-proxbrute; then + echo 'STANDALONE=LF_PROXBRUTE' >> Makefile.platform + elif use standalone-lf-samyrun; then + echo 'STANDALONE=LF_SAMYRUN' >> Makefile.platform + elif use standalone-lf-tharexde; then + echo 'STANDALONE=LF_THAREXDE' >> Makefile.platform + elif use standalone-hf-14asniff; then + echo 'STANDALONE=HF_14ASNIFF' >> Makefile.platform + elif use standalone-hf-15sniff; then + echo 'STANDALONE=HF_15SNIFF' >> Makefile.platform + elif use standalone-hf-aveful; then + echo 'STANDALONE=HF_AVEFUL' >> Makefile.platform + elif use standalone-hf-bog; then + echo 'STANDALONE=HF_BOG' >> Makefile.platform + elif use standalone-hf-colin; then + echo 'STANDALONE=HF_COLIN' >> Makefile.platform + elif use standalone-hf-craftbyte; then + echo 'STANDALONE=HF_CRAFTBYTE' >> Makefile.platform + elif use standalone-hf-iceclass; then + echo 'STANDALONE=HF_ICECLASS' >> Makefile.platform + elif use standalone-hf-legic; then + echo 'STANDALONE=HF_LEGIC' >> Makefile.platform + elif use standalone-hf-mattyrun; then + echo 'STANDALONE=HF_MATTYRUN' >> Makefile.platform + elif use standalone-hf-msdsal; then + echo 'STANDALONE=HF_MSDSAL' >> Makefile.platform + elif use standalone-hf-reblay; then + echo 'STANDALONE=HF_REBLAY' >> Makefile.platform + elif use standalone-hf-tcprst; then + echo 'STANDALONE=HF_TCPRST' >> Makefile.platform + elif use standalone-hf-tmudford; then + echo 'STANDALONE=HF_TMUDFORD' >> Makefile.platform + elif use standalone-hf-young; then + echo 'STANDALONE=HF_YOUNG' >> Makefile.platform + elif use standalone-dankarmulti; then + echo 'STANDALONE=DANKARMULTI' >> Makefile.platform + else + echo 'STANDALONE=' >> Makefile.platform + fi + + export PREFIX=/usr + #verbose + export V=1 + #common flags + EMAKE_COMMON=CC="$(tc-getCC)" DEFCFLAGS="${CFLAGS}" MYCFLAGS="${CFLAGS}" MYCXXFLAGS="${CXXFLAGS}" MYLDFLAGS="${LDFLAGS}" + use qt || export SKIPQT=1 + use bluez || export SKIPBT=1 + if use firmware; then + emake -j1 ${EMAKE_COMMON} client + emake ${EMAKE_COMMON} all + elif use deprecated; then + emake -j1 ${EMAKE_COMMON} client + emake ${EMAKE_COMMON} mfkey nonce2key + else + emake -j1 ${EMAKE_COMMON} client + fi +} + +src_install(){ + export PREFIX=/usr + export DESTDIR="${ED}" + export UDEV_PREFIX="$(get_udevdir)/rules.d" + export INSTALLDOCSRELPATH="/share/doc/${PF}" + if use firmware; then + emake INSTALLDOCSRELPATH="/share/doc/${PF}" install + elif use deprecated; then + emake INSTALLDOCSRELPATH="/share/doc/${PF}" client/install mfkey/install nonce2key/install common/install + else + emake INSTALLDOCSRELPATH="/share/doc/${PF}" client/install common/install + fi +} + +src_test() { + if use firmware; then + ./pm3test.sh + else + ./pm3test.sh client + fi +} + +pkg_postinst() { + udev_reload + if use firmware; then + if use pm3rdv4; then + ewarn "Please note, all firmware and recovery files are intended for the Proxmark3 RDV4" + ewarn "including support for the optional blueshark accessory." + ewarn "If this is not what you intended please unset the pm3rdv4 use flag for generic firmware" + else + ewarn "Please note, all firmware and recovery files are built for a generic target." + ewarn "If you have a Proxmark3 RDV4 you should set the pm3rdv4 use flag for an improved firmware" + fi + fi +} + +pkg_postrm() { + udev_reload +}