diff options
author | Tony Lambiris | 2017-11-11 01:48:43 -0500 |
---|---|---|
committer | Tony Lambiris | 2017-11-11 01:48:43 -0500 |
commit | 35bec13e89c4673c6443de37add33e77ef76ee0e (patch) | |
tree | 0d524e997a9e83c2350b3809614a70d0c2ffdf13 | |
download | aur-35bec13e89c4673c6443de37add33e77ef76ee0e.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 18 | ||||
-rw-r--r-- | PKGBUILD | 77 | ||||
-rw-r--r-- | hackrf.conf | 2 |
3 files changed, 97 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..bf8e12e8e04b --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,18 @@ +pkgbase = hackrf-git + pkgdesc = Driver for HackRF, allowing general purpose software defined radio (SDR). + pkgver = r2035.28e9ef4 + pkgrel = 1 + url = https://github.com/mossmann/hackrf + arch = i686 + arch = x86_64 + license = GPL2 + makedepends = cmake + depends = libusb + depends = fftw + source = hackrf-git::git+https://github.com/mossmann/hackrf + source = hackrf.conf + sha256sums = SKIP + sha256sums = 8246a539049ec2bd6226337d8d9b4f48bd503d77de13408a5751d2a60dc76965 + +pkgname = hackrf-git + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..9764d08574ab --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,77 @@ +# Maintainer: Tony Lambiris <tony@criticalstack.com> + +pkgname=hackrf-git +pkgver=r2035.28e9ef4 +pkgrel=1 +pkgdesc="Driver for HackRF, allowing general purpose software defined radio (SDR)." +arch=('i686' 'x86_64') +url="https://github.com/mossmann/hackrf" +license=('GPL2') +depends=('libusb' 'fftw') +makedepends=('cmake') +source=("$pkgname::git+https://github.com/mossmann/hackrf" 'hackrf.conf') +sha256sums=('SKIP' + '8246a539049ec2bd6226337d8d9b4f48bd503d77de13408a5751d2a60dc76965') + +pkgver() { + cd "$srcdir/$pkgname" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +prepare() { + cd "$srcdir/$pkgname/host" + # FS#41895 + sed -i 's|MODE.*$|TAG+="uaccess"|' libhackrf/53-hackrf.rules* +} + +build() { + cd "$srcdir/$pkgname" + git submodule update --init --recursive + + cd "$srcdir/$pkgname/host" + mkdir -p build + cd build + cmake -DCMAKE_INSTALL_PREFIX=/usr ../ + make + + cd "$srcdir/$pkgname/firmware" + make -C libopencm3 + + mkdir -p "$srcdir/$pkgname/firmware-bin" + cp -f "cpld/sgpio_if/default.xsvf" \ + "$srcdir/$pkgname/firmware-bin/hackrf_cpld_default.xsvf" + + for board in {HACKRF_ONE,JAWBREAKER,RAD1O}; do + msg "Building firmware for $board" + mkdir -p "build-$board" + pushd "build-$board" + + cmake \ + -DCMAKE_C_FLAGS="-Os -g -Wall -Wextra -fno-common" \ + -DBOARD="$board" -DCMAKE_INSTALL_PREFIX=/usr ../ + make + + [ $board = "HACKRF_ONE" ] && board=ONE + mv -f hackrf_usb/hackrf_usb.dfu \ + "$srcdir/$pkgname/firmware-bin/hackrf_${board,,}_usb_ram.dfu" + mv -f hackrf_usb/hackrf_usb.bin \ + "$srcdir/$pkgname/firmware-bin/hackrf_${board,,}_usb_rom_to_ram.bin" + popd + done +} + +package() { + cd "$srcdir/$pkgname" + pushd host/build + make DESTDIR="$pkgdir" install + popd + pushd host/libhackrf + install -vD -m644 53-hackrf.rules "$pkgdir/usr/lib/udev/rules.d/53-hackrf.rules" + popd + pushd firmware-bin + for i in *.{bin,dfu,xsvf}; do + install -vDm644 "$i" "$pkgdir/usr/share/hackrf/$i" + done + popd + install -Dm644 "$srcdir/hackrf.conf" "$pkgdir/etc/modprobe.d/hackrf.conf" +} diff --git a/hackrf.conf b/hackrf.conf new file mode 100644 index 000000000000..40b77d3a1c54 --- /dev/null +++ b/hackrf.conf @@ -0,0 +1,2 @@ +# disable kernel drivers +blacklist hackrf |