summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Lambiris2017-11-11 01:48:43 -0500
committerTony Lambiris2017-11-11 01:48:43 -0500
commit35bec13e89c4673c6443de37add33e77ef76ee0e (patch)
tree0d524e997a9e83c2350b3809614a70d0c2ffdf13
downloadaur-35bec13e89c4673c6443de37add33e77ef76ee0e.tar.gz
Initial commit
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD77
-rw-r--r--hackrf.conf2
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