mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-09 00:17:31 +00:00
added community/gnuradio
This commit is contained in:
parent
229fc67b80
commit
d3e41fafc9
4 changed files with 195 additions and 0 deletions
9
community/gnuradio/21-fcd.rules
Normal file
9
community/gnuradio/21-fcd.rules
Normal file
|
@ -0,0 +1,9 @@
|
|||
# Udev rules for the Funcube Dongle Pro (0xfb56) and Pro+ (0xfb31)
|
||||
|
||||
# HIDAPI/libusb:
|
||||
SUBSYSTEMS=="usb" ATTRS{idVendor}=="04d8" ATTRS{idProduct}=="fb56" MODE:="0666"
|
||||
SUBSYSTEMS=="usb" ATTRS{idVendor}=="04d8" ATTRS{idProduct}=="fb31" MODE:="0666"
|
||||
|
||||
# HIDAPI/hidraw:
|
||||
KERNEL=="hidraw*", ATTRS{busnum}=="1", ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="fb56", MODE="0666"
|
||||
KERNEL=="hidraw*", ATTRS{busnum}=="1", ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="fb31", MODE="0666"
|
120
community/gnuradio/PKGBUILD
Normal file
120
community/gnuradio/PKGBUILD
Normal file
|
@ -0,0 +1,120 @@
|
|||
# $Id$
|
||||
# Maintainer: Kyle Keen <keenerd@gmail.com>
|
||||
# Contributor: Dominik Heidler <dheidler@gmail.com>
|
||||
# Contributor: Jonatan Sastre <jsastreh [ at ] hotmail.com>
|
||||
|
||||
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
# - set -Dhave_mfpu_neon=0 for v5/v6
|
||||
|
||||
pkgbase=gnuradio
|
||||
pkgname=(gnuradio gnuradio-companion)
|
||||
pkgver=3.7.6.1
|
||||
pkgrel=1
|
||||
pkgdesc="General purpose DSP and SDR toolkit. With drivers for usrp and fcd."
|
||||
arch=('i686' 'x86_64')
|
||||
url="http://gnuradio.org"
|
||||
license=('GPL')
|
||||
depends=('fftw' 'python2-numpy' 'cppunit' 'gsl' 'blas' 'guile' 'boost-libs>=1.53' 'libusbx' 'portaudio' 'libuhd' 'zeromq')
|
||||
makedepends=('boost' 'cmake' 'python2-lxml' 'pygtk' 'wxpython' 'python2-cheetah' 'glu' 'swig' )
|
||||
install=gnuradio.install
|
||||
|
||||
# gr-qtgui todo
|
||||
# bring pyqwt in from AUR
|
||||
# update optdepends
|
||||
# 'qwtplot3d: gr-qtgui'
|
||||
# 'pyqwt: gr-qtgui'
|
||||
# update makedepends
|
||||
# 'qwtplot3d'
|
||||
# http://gnuradio.org/doc/doxygen/page_qtgui.html
|
||||
|
||||
# gr-video-sdl ?
|
||||
|
||||
# todo
|
||||
# split the gui components?
|
||||
# build doxygen docs?
|
||||
# icons
|
||||
# gnuradio-osmosdr is not an optdep
|
||||
|
||||
# comedilib: gr-comedi
|
||||
# zeroc-ice: gr-ctrlport
|
||||
# doxygen: C++ autogenerated documentation
|
||||
# python2-sphinx: Python autogenerated documentation
|
||||
|
||||
#source=("http://gnuradio.org/releases/$pkgbase/$pkgbase-$pkgver.tar.gz"
|
||||
# secret release directory
|
||||
source=("http://s3-dist.gnuradio.org/gnuradio-$pkgver.tar.gz"
|
||||
"21-fcd.rules")
|
||||
md5sums=('c4b8af0dd2396df032544d0c4c2a36b4'
|
||||
'465e12c454c6a22ebec9849181af7bdc')
|
||||
|
||||
build() {
|
||||
export PYTHON=python2
|
||||
cd "$srcdir/$pkgbase-$pkgver"
|
||||
sed -i -e "s|GR_PKG_LIBEXEC_DIR|GR_RUNTIME_DIR|" grc/freedesktop/CMakeLists.txt
|
||||
sed -i -e "s|/qwt$|/qwt5|" -e "s| qwt | qwt5 |" cmake/Modules/FindQwt.cmake
|
||||
sed -i -e "s| sphinx-build$| sphinx-build2|" cmake/Modules/FindSphinx.cmake
|
||||
msg "Starting build."
|
||||
|
||||
[[ $CARCH == "arm" || $CARCH == "armv6h" ]] && NEON="-Dhave_mfpu_neon=0"
|
||||
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake \
|
||||
-DPYTHON_EXECUTABLE=$(which python2) \
|
||||
-DPYTHON_INCLUDE_DIR=$(echo /usr/include/python2*) \
|
||||
-DPYTHON_LIBRARY=$(echo /usr/lib/libpython2.*.so) \
|
||||
-DENABLE_GRC=ON \
|
||||
-DENABLE_GR_WXGUI=ON \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr -Wno-dev $NEON ../
|
||||
make
|
||||
}
|
||||
|
||||
check() {
|
||||
cd "$srcdir/$pkgbase-$pkgver/build"
|
||||
export PYTHON=python2
|
||||
#make test
|
||||
}
|
||||
|
||||
package_gnuradio() {
|
||||
optdepends=('boost: gr_modtool'
|
||||
'swig: gr_modtool'
|
||||
'cmake: gr_modtool'
|
||||
'pkgconfig: libuhd')
|
||||
conflicts=('gnuradio-git')
|
||||
cd "$srcdir"
|
||||
install -Dm644 21-fcd.rules "$pkgdir/usr/lib/udev/rules.d/21-fcd.rules"
|
||||
cd "$srcdir/$pkgbase-$pkgver/grc/freedesktop"
|
||||
install -Dm644 gnuradio-grc.desktop "$pkgdir/usr/share/applications/$pkgbase.desktop"
|
||||
cd "$srcdir/$pkgbase-$pkgver/build"
|
||||
make DESTDIR="$pkgdir" install
|
||||
msg "Replacing filenames to use python2."
|
||||
sed -i -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
|
||||
$(find "$pkgdir" -name '*.py') \
|
||||
$(find "$pkgdir" -name 'gnuradio-companion' -o -name 'flow_graph.tmpl')
|
||||
sed -i -e "s|#![ ]*/usr/bin/env /usr/bin/python$|#!/usr/bin/env python2|" \
|
||||
$(find "$pkgdir" -name '*.py')
|
||||
find "$pkgdir/" -name '*.pyc' -delete
|
||||
find "$pkgdir/" -name '*.pyo' -delete
|
||||
}
|
||||
|
||||
package_gnuradio-companion() {
|
||||
pkgdesc="GUI frontend for gnuradio and SDR."
|
||||
depends=('gnuradio' 'python2-cheetah' 'python2-lxml' 'pygtk' 'wxpython' 'python2-opengl')
|
||||
optdepends=()
|
||||
conflicts=()
|
||||
install="gnuradio-companion.install"
|
||||
# Yup, nothing in the package except dependencies,
|
||||
# because five optdeps is too many for most people.
|
||||
}
|
||||
|
||||
# options for armv6:
|
||||
# -Dhave_mfpu_neon=0 \
|
||||
# -DCMAKE_CXX_FLAGS:STRING="-march=armv6 -mfpu=vfp -mfloat-abi=hard" \
|
||||
# -DCMAKE_C_FLAGS:STRING="-march=armv6 -mfpu=vfp -mfloat-abi=hard" \
|
||||
|
||||
# options for armv7:
|
||||
# -DCMAKE_CXX_FLAGS:STRING="-march=armv7-a -mcpu=cortex-a9 -mfpu=neon -mfloat-abi=hard"
|
||||
# -DCMAKE_C_FLAGS:STRING="-march=armv7-a -mcpu=cortex-a9 -mfpu=neon -mfloat-abi=hard"
|
||||
# line 341 add /usr/lib/arm-linux-gnueabihf /usr/lib/arm-linux-gnueabi
|
||||
|
||||
|
15
community/gnuradio/gnuradio-companion.install
Normal file
15
community/gnuradio/gnuradio-companion.install
Normal file
|
@ -0,0 +1,15 @@
|
|||
|
||||
# null file because devtools breaks without it
|
||||
|
||||
post_upgrade() {
|
||||
true
|
||||
}
|
||||
|
||||
post_install() {
|
||||
true
|
||||
}
|
||||
|
||||
pre_remove() {
|
||||
true
|
||||
}
|
||||
|
51
community/gnuradio/gnuradio.install
Normal file
51
community/gnuradio/gnuradio.install
Normal file
|
@ -0,0 +1,51 @@
|
|||
|
||||
# clean up for anyone silly enough to run this as root
|
||||
|
||||
# it would be great if pkgname and not just pkgver was passed in the arg list
|
||||
|
||||
_pkg='gnuradio'
|
||||
_cpython='cpython-34'
|
||||
|
||||
post_upgrade() {
|
||||
while read _f; do
|
||||
if [[ "${_f:(-3)}" != ".py" ]]; then
|
||||
continue
|
||||
fi
|
||||
if [[ ! -f "$_f" ]]; then
|
||||
continue
|
||||
fi
|
||||
if [[ -e "${_f}c" ]]; then
|
||||
rm -f "${_f}c"
|
||||
fi
|
||||
if [[ -e "${_f}o" ]]; then
|
||||
rm -f "${_f}o"
|
||||
fi
|
||||
continue
|
||||
_thisdir="$(dirname "$_f")/__pycache__"
|
||||
if [[ ! -d "$_thisdir" ]]; then
|
||||
continue
|
||||
fi
|
||||
_thisfile="$(basename "$_f")"
|
||||
_thisfile="${_thisfile/%.py/.${_cpython}.py}"
|
||||
if [[ -e "${_thisdir}/${_thisfile}c" ]]; then
|
||||
rm -f "${_thisdir}/${_thisfile}c"
|
||||
fi
|
||||
if [[ -e "${_thisdir}/${_thisfile}o" ]]; then
|
||||
rm -f "${_thisdir}/${_thisfile}o"
|
||||
fi
|
||||
# no good way to test for empty dir
|
||||
# would be 25% faster if there were
|
||||
rmdir --ignore-fail-on-non-empty "$_thisdir" &> /dev/null
|
||||
done <<< "$(pacman -Qql $_pkg | grep '\.py$')"
|
||||
|
||||
update-desktop-database -q
|
||||
}
|
||||
|
||||
post_install() {
|
||||
post_upgrade $1
|
||||
}
|
||||
|
||||
pre_remove() {
|
||||
post_upgrade $1
|
||||
}
|
||||
|
Loading…
Reference in a new issue