summaryrefslogtreecommitdiff
path: root/community/gnuradio/PKGBUILD
blob: 0882d17d70c0184ac2f2a79d151a6ce29e9a403d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# $Id: PKGBUILD 110200 2014-04-26 20:06:48Z kkeen $
# Maintainer: Kyle Keen <keenerd@gmail.com>
# Contributor: Dominik Heidler <dheidler@gmail.com>
# Contributor:	Jonatan Sastre <jsastreh [ at ] hotmail.com>
pkgname=gnuradio
pkgver=3.7.3
pkgrel=3
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')
makedepends=('boost' 'cmake' 'python2-lxml' 'pygtk' 'wxpython' 'python2-cheetah' 'glu' 'swig')
optdepends=('python2-cheetah: gnuradio-companion'
            'python2-lxml: gnuradio-companion'
            'pygtk: gnuradio-companion'
            'wxpython: gr-wxgui'
            'pkgconfig: libuhd')
conflicts=('gnuradio-git')
install=gnuradio.install

# gr-qtgui todo
# talk to ronald about adding qwt5 to qwt package
# bring pyqwt in from AUR
# update optdepends
#            'qwtplot3d: gr-qtgui'
#            'pyqwt: gr-qtgui'
# update makedepends
#            'qwtplot3d'

# todo
# add gr-osmosdr-git to optdepends
# split the gui components?
# build doxygen docs?
# icons

# comedilib: gr-comedi
# zeroc-ice: gr-ctrlport
# doxygen: C++ autogenerated documentation
# python2-sphinx: Python autogenerated documentation

source=("http://gnuradio.org/releases/$pkgname/$pkgname-$pkgver.tar.gz"
        "21-fcd.rules")
md5sums=('a51e1c2860d6b289233e453d4085514f'
         '465e12c454c6a22ebec9849181af7bdc')

build() {
	export PYTHON=python2
	cd "$srcdir/$pkgname-$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."
	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 ../
	make
}

check() {
	cd "$srcdir/$pkgname-$pkgver/build"
	export PYTHON=python2
	#make test
}

package() {
	cd "$srcdir"
	install -Dm644 21-fcd.rules "$pkgdir/usr/lib/udev/rules.d/21-fcd.rules"
	cd "$srcdir/$pkgname-$pkgver/grc/freedesktop"
        install -Dm644 gnuradio-grc.desktop "$pkgdir/usr/share/applications/$pkgname.desktop"
	cd "$srcdir/$pkgname-$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')
	find "$pkgdir/" -name '*.pyc' -delete
	find "$pkgdir/" -name '*.pyo' -delete
}

# 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