diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-04 16:47:34 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-04 16:47:34 -0500 |
| commit | dda948891d3731927b821ce31f9d9a2d03ba20c5 (patch) | |
| tree | 99cd40be4cbb0606260da212cd81b8ab2db9da9b /net-wireless/hackrf-tools | |
| parent | a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7 (diff) | |
| download | baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.gz baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.xz baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.zip | |
Adding metadata
Diffstat (limited to 'net-wireless/hackrf-tools')
| -rw-r--r-- | net-wireless/hackrf-tools/Manifest | 2 | ||||
| -rw-r--r-- | net-wireless/hackrf-tools/files/hackrf_easy_flash-r1 | 170 | ||||
| -rw-r--r-- | net-wireless/hackrf-tools/hackrf-tools-2024.02.1-r1.ebuild | 54 | ||||
| -rw-r--r-- | net-wireless/hackrf-tools/hackrf-tools-2026.01.3.ebuild | 47 | ||||
| -rw-r--r-- | net-wireless/hackrf-tools/hackrf-tools-9999.ebuild | 47 | ||||
| -rw-r--r-- | net-wireless/hackrf-tools/metadata.xml | 13 |
6 files changed, 333 insertions, 0 deletions
diff --git a/net-wireless/hackrf-tools/Manifest b/net-wireless/hackrf-tools/Manifest new file mode 100644 index 000000000000..4ee5181caff2 --- /dev/null +++ b/net-wireless/hackrf-tools/Manifest @@ -0,0 +1,2 @@ +DIST hackrf-2024.02.1.tar.xz 21734672 BLAKE2B 493a886719aa90e1b52229beaec45cb9db315dc91d001c275dd3989cde56fe6a312d4fca1c27b4c1366a4653880e74ab3d1e4363ee392d0f93deb631b7fddac4 SHA512 d057574f1e9b1bc2cebcd06773054b7fcba55d44e4c028f4f95e67874b71bd0a83906795a391e283c15d2b21ad7f3e8337be5aa0ee2f6a3c57632a70da10e2e4 +DIST hackrf-2026.01.3.tar.xz 25945024 BLAKE2B e861d2250c59006fa42b63666c629bca2186d79a408dd7d0615023790434c3c06611e985da5a6c4bcbb776017d46ba7b90ba1d99825caa018318e361dbb0741f SHA512 776aab11d23976ba87bf9c8af9c669b1e4967540a5b48d23d355cd0759d08b7fb36c88675082819fbca4cfd2fcdd19afbd79dea04f79128c23063334c45dd6b9 diff --git a/net-wireless/hackrf-tools/files/hackrf_easy_flash-r1 b/net-wireless/hackrf-tools/files/hackrf_easy_flash-r1 new file mode 100644 index 000000000000..deece5e31891 --- /dev/null +++ b/net-wireless/hackrf-tools/files/hackrf_easy_flash-r1 @@ -0,0 +1,170 @@ +#!/bin/sh + +DFU_MODE=0 +CPLD=0 + +get_dfu() { + if [ -r "/usr/share/hackrf/hackrf_one_usb.dfu" ]; then + ram_firmware="/usr/share/hackrf/hackrf_one_usb.dfu" + else + printf "Unable to find hackrf_one_usb.dfu in the search path\n" + exit 1 + fi + export ram_firmware +} + +get_cpld() { + if [ -r "/usr/share/hackrf/hackrf_cpld_default.xsvf" ]; then + cpld="/usr/share/hackrf/hackrf_cpld_default.xsvf" + else + printf "Unable to find default.xsvf in the search path\n" + exit 1 + fi + export cpld +} + +usage() { + printf "hackrf_easy_flash list\n" + printf "hackrf_easy_flash upgrade\n" +} + +if [ -z "${1}" ]; then + usage + exit 0 +fi + +list_firmware() { + if [ ${DFU_MODE} = 1 ]; then + if [ -z "${ram_firmware}" ]; then + get_dfu + fi + printf "Best DFU found: ${ram_firmware}\n" + fi + printf "Available firmware options:\n" + if [ -r "/usr/share/hackrf/hackrf_one_usb.bin" ]; then + printf "hackrf (default)\n" + fi + if [ -r "/usr/share/hackrf/portapack-h1-firmware.bin" ]; then + printf "portapack (--portapack)\n" + fi + if [ -r "/usr/share/hackrf/portapack-h1-havoc.bin" ]; then + printf "portapack-havoc (--havoc)\n" + fi + if [ -r "/usr/share/hackrf/portapack-h1_h2-mayhem.bin" ]; then + printf "portapack-mayhem (--mayhem)\n" + fi +} + +#parse args +while [ -n "${1}" ]; do + case $1 in + -h|--help) + usage + exit 0 + ;; + list|--list) + list_firmware + exit 0 + ;; + update|--update|upgrade|--upgrade|hackrf|--hackrf) + firmware="/usr/share/hackrf/hackrf_one_usb.bin" + TARGET=hackrf + shift + ;; + portapack|--portapack) + firmware="/usr/share/hackrf/portapack-h1-firmware.bin" + TARGET=portapack + shift + ;; + havoc|--havoc) + firmware="/usr/share/hackrf/portapack-h1-havoc.bin" + TARGET=havoc + shift + ;; + mayhem|--mayhem) + firmware="/usr/share/hackrf/portapack-h1_h2-mayhem.bin" + TARGET=mayhem + shift + ;; + cpld|--cpld) + CPLD=1 + get_cpld + shift + ;; + dfu|--dfu) + DFU_MODE=1 + get_dfu + shift + ;; + --) + shift + break + ;; + *) + break + ;; + esac +done + +if [ -z "${firmware}" ]; then + firmware="/usr/share/hackrf/hackrf_one_usb.bin" + TARGET="hackrf" +fi + +if [ ! -r "${firmware}" ]; then + printf "Unable to find or read ${firmware}\n" + printf "Please ensure the requested firmware is installed and readable\n" + exit 1 +fi + +if [ "${CPLD}" = 1 ] && [ "${TARGET}" != "hackrf" ]; then + printf "To update the CPLD you must use the stock hackrf firmware or do this update manually\n" + printf "Try \"$(basename $0) --cpld && $(basename $0) ${TARGET}\"\n" + exit 1 +fi + +printf "This tool is provided by Gentoo, please report bugs on https://bugs.gentoo.org/\n\n" +if [ ${DFU_MODE} = 1 ]; then + printf "Preparing to reset hackrf with DFU ${ram_firmware}\n" + printf "Then flashing with ${firmware}\n\n" + printf "Hold down the HackRF's DFU button (the button closest to the antenna jack)\n" + printf "then plug the HackRF into a USB port on your computer.\n" + printf "After the HackRF is plugged in, you may release the DFU button.\n" + printf "Press any key to continue or ^c to abort\n" + read + if ! dfu-util --device 1fc9:000c --download "${ram_firmware}" --reset; then + printf "dfu-util reported failure, quitting\n" + exit 1 + fi + sleep 2s +else + if hackrf_info | grep -q 'No HackRF boards found.'; then + printf "No hackrf found, please ensure you are in hackrf mode or try --dfu\n" + exit 1 + fi +fi +if hackrf_spiflash -w "${firmware}"; then + sleep 3s + hackrf_spiflash -R + sleep 3s +else + printf "hackrf_spiflash reported failure, quitting\n" + exit 1 +fi +if [ "${CPLD}" = 1 ]; then + #printf "To update the cpld, please reset your hackrf into it's new firmware before updating the cpld\n" + #printf "Please reset your hackrf by pressing the button furthest from the antenna or power cycling it.\n" + #printf "Press any key to continue or ^c to abort\n" + #read + if hackrf_cpldjtag -x "${cpld}"; then + sleep 3s + hackrf_spiflash -R + else + printf "hackrf_cpldjtag reported failure\n" + exit 1 + fi +fi +if [ "${TARGET}" = "hackrf" ]; then + hackrf_info +fi +printf "If you saw no errors, you are up to date with the requested firmware\n" diff --git a/net-wireless/hackrf-tools/hackrf-tools-2024.02.1-r1.ebuild b/net-wireless/hackrf-tools/hackrf-tools-2024.02.1-r1.ebuild new file mode 100644 index 000000000000..60dec329a9f3 --- /dev/null +++ b/net-wireless/hackrf-tools/hackrf-tools-2024.02.1-r1.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="tools for communicating with HackRF SDR platform" +HOMEPAGE="http://greatscottgadgets.com/hackrf/" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://github.com/greatscottgadgets/hackrf.git" + inherit git-r3 + EGIT_CHECKOUT_DIR="${WORKDIR}/hackrf" + S="${WORKDIR}/hackrf/host/hackrf-tools" +else + S="${WORKDIR}/hackrf-${PV}/host/hackrf-tools" + SRC_URI="https://github.com/greatscottgadgets/hackrf/releases/download/v${PV}/hackrf-${PV}.tar.xz" + KEYWORDS="amd64 arm ppc x86" +fi + +LICENSE="BSD" +SLOT="0" + +DEPEND="~net-libs/libhackrf-${PV}:= + sci-libs/fftw:3.0=" +RDEPEND="${DEPEND}" + +# Fix build with cmake4 i +# (see https://github.com/greatscottgadgets/hackrf/pull/1514) +src_prepare() { + sed -i -e "s/2.8.12/3.8/" CMakeLists.txt || die + cmake_src_prepare +} + +src_install() { + cmake_src_install + newsbin "${FILESDIR}/hackrf_easy_flash-r1" hackrf_easy_flash + if [[ ${PV} != "9999" ]] ; then + insinto /usr/share/hackrf + newins "${WORKDIR}/hackrf-${PV}/firmware-bin/hackrf_jawbreaker_usb.bin" hackrf_jawbreaker_usb-${PV}.bin + newins "${WORKDIR}/hackrf-${PV}/firmware-bin/hackrf_jawbreaker_usb.dfu" hackrf_jawbreaker_usb-${PV}.dfu + newins "${WORKDIR}/hackrf-${PV}/firmware-bin/hackrf_one_usb.bin" hackrf_one_usb-${PV}.bin + newins "${WORKDIR}/hackrf-${PV}/firmware-bin/hackrf_one_usb.dfu" hackrf_one_usb-${PV}.dfu + newins "${WORKDIR}/hackrf-${PV}/firmware/cpld/sgpio_if/default.xsvf" hackrf_cpld_default-${PV}.xsvf + ln -s hackrf_one_usb-${PV}.bin "${ED}/usr/share/hackrf/hackrf_one_usb_rom_to_ram.bin" + ln -s hackrf_one_usb-${PV}.bin "${ED}/usr/share/hackrf/hackrf_one_usb.bin" + ln -s hackrf_one_usb-${PV}.dfu "${ED}/usr/share/hackrf/hackrf_one_usb_ram.dfu" + ln -s hackrf_one_usb-${PV}.dfu "${ED}/usr/share/hackrf/hackrf_one_usb.dfu" + else + ewarn "The compiled firmware files are only available in the versioned releases, you are on your own for this." + ewarn "A hackrf-firmware ebuild is available in the pentoo overlay, if you feel adventurous." + fi +} diff --git a/net-wireless/hackrf-tools/hackrf-tools-2026.01.3.ebuild b/net-wireless/hackrf-tools/hackrf-tools-2026.01.3.ebuild new file mode 100644 index 000000000000..6d4a46c32b67 --- /dev/null +++ b/net-wireless/hackrf-tools/hackrf-tools-2026.01.3.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="tools for communicating with HackRF SDR platform" +HOMEPAGE="http://greatscottgadgets.com/hackrf/" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://github.com/greatscottgadgets/hackrf.git" + inherit git-r3 + EGIT_CHECKOUT_DIR="${WORKDIR}/hackrf" + S="${WORKDIR}/hackrf/host/hackrf-tools" +else + S="${WORKDIR}/hackrf-${PV}/host/hackrf-tools" + SRC_URI="https://github.com/greatscottgadgets/hackrf/releases/download/v${PV}/hackrf-${PV}.tar.xz" + KEYWORDS="~amd64 ~arm ~ppc ~x86" +fi + +LICENSE="BSD" +SLOT="0" + +DEPEND="~net-libs/libhackrf-${PV}:= + sci-libs/fftw:3.0=" +RDEPEND="${DEPEND}" + +src_install() { + cmake_src_install + newsbin "${FILESDIR}/hackrf_easy_flash-r1" hackrf_easy_flash + if [[ ${PV} != "9999" ]] ; then + insinto /usr/share/hackrf + newins "${WORKDIR}/hackrf-${PV}/firmware-bin/hackrf_jawbreaker_usb.bin" hackrf_jawbreaker_usb-${PV}.bin + newins "${WORKDIR}/hackrf-${PV}/firmware-bin/hackrf_jawbreaker_usb.dfu" hackrf_jawbreaker_usb-${PV}.dfu + newins "${WORKDIR}/hackrf-${PV}/firmware-bin/hackrf_one_usb.bin" hackrf_one_usb-${PV}.bin + newins "${WORKDIR}/hackrf-${PV}/firmware-bin/hackrf_one_usb.dfu" hackrf_one_usb-${PV}.dfu + newins "${WORKDIR}/hackrf-${PV}/firmware/cpld/sgpio_if/default.xsvf" hackrf_cpld_default-${PV}.xsvf + ln -s hackrf_one_usb-${PV}.bin "${ED}/usr/share/hackrf/hackrf_one_usb_rom_to_ram.bin" + ln -s hackrf_one_usb-${PV}.bin "${ED}/usr/share/hackrf/hackrf_one_usb.bin" + ln -s hackrf_one_usb-${PV}.dfu "${ED}/usr/share/hackrf/hackrf_one_usb_ram.dfu" + ln -s hackrf_one_usb-${PV}.dfu "${ED}/usr/share/hackrf/hackrf_one_usb.dfu" + else + ewarn "The compiled firmware files are only available in the versioned releases, you are on your own for this." + ewarn "A hackrf-firmware ebuild is available in the pentoo overlay, if you feel adventurous." + fi +} diff --git a/net-wireless/hackrf-tools/hackrf-tools-9999.ebuild b/net-wireless/hackrf-tools/hackrf-tools-9999.ebuild new file mode 100644 index 000000000000..6d4a46c32b67 --- /dev/null +++ b/net-wireless/hackrf-tools/hackrf-tools-9999.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="tools for communicating with HackRF SDR platform" +HOMEPAGE="http://greatscottgadgets.com/hackrf/" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://github.com/greatscottgadgets/hackrf.git" + inherit git-r3 + EGIT_CHECKOUT_DIR="${WORKDIR}/hackrf" + S="${WORKDIR}/hackrf/host/hackrf-tools" +else + S="${WORKDIR}/hackrf-${PV}/host/hackrf-tools" + SRC_URI="https://github.com/greatscottgadgets/hackrf/releases/download/v${PV}/hackrf-${PV}.tar.xz" + KEYWORDS="~amd64 ~arm ~ppc ~x86" +fi + +LICENSE="BSD" +SLOT="0" + +DEPEND="~net-libs/libhackrf-${PV}:= + sci-libs/fftw:3.0=" +RDEPEND="${DEPEND}" + +src_install() { + cmake_src_install + newsbin "${FILESDIR}/hackrf_easy_flash-r1" hackrf_easy_flash + if [[ ${PV} != "9999" ]] ; then + insinto /usr/share/hackrf + newins "${WORKDIR}/hackrf-${PV}/firmware-bin/hackrf_jawbreaker_usb.bin" hackrf_jawbreaker_usb-${PV}.bin + newins "${WORKDIR}/hackrf-${PV}/firmware-bin/hackrf_jawbreaker_usb.dfu" hackrf_jawbreaker_usb-${PV}.dfu + newins "${WORKDIR}/hackrf-${PV}/firmware-bin/hackrf_one_usb.bin" hackrf_one_usb-${PV}.bin + newins "${WORKDIR}/hackrf-${PV}/firmware-bin/hackrf_one_usb.dfu" hackrf_one_usb-${PV}.dfu + newins "${WORKDIR}/hackrf-${PV}/firmware/cpld/sgpio_if/default.xsvf" hackrf_cpld_default-${PV}.xsvf + ln -s hackrf_one_usb-${PV}.bin "${ED}/usr/share/hackrf/hackrf_one_usb_rom_to_ram.bin" + ln -s hackrf_one_usb-${PV}.bin "${ED}/usr/share/hackrf/hackrf_one_usb.bin" + ln -s hackrf_one_usb-${PV}.dfu "${ED}/usr/share/hackrf/hackrf_one_usb_ram.dfu" + ln -s hackrf_one_usb-${PV}.dfu "${ED}/usr/share/hackrf/hackrf_one_usb.dfu" + else + ewarn "The compiled firmware files are only available in the versioned releases, you are on your own for this." + ewarn "A hackrf-firmware ebuild is available in the pentoo overlay, if you feel adventurous." + fi +} diff --git a/net-wireless/hackrf-tools/metadata.xml b/net-wireless/hackrf-tools/metadata.xml new file mode 100644 index 000000000000..42f58171ab2f --- /dev/null +++ b/net-wireless/hackrf-tools/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>zerochaos@gentoo.org</email> + <name>Rick Farina</name> + </maintainer> + <maintainer type="project"> + <email>radio@gentoo.org</email> + <name>Radio</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> |
