2 # - fix uhd build (create uhd.spec first)
3 # - GUIs split/subpackages?
6 Summary: Software defined radio framework
11 Group: Applications/Engineering
12 Source0: http://gnuradio.org/releases/gnuradio/%{name}-%{version}.tar.gz
13 # Source0-md5: f2ea23a30cb02802870fe8cb9bf272c9
14 URL: http://www.gnuradio.org/
15 BuildRequires: SDL-devel >= 1.2.0
16 BuildRequires: Qt3Support >= 4.8
17 BuildRequires: QtCLucene-devel >= 4.8
18 BuildRequires: QtCore-devel >= 4.8
19 BuildRequires: QtDBus-devel >= 4.8
20 BuildRequires: QtDeclarative-devel >= 4.8
21 BuildRequires: QtDesigner-devel >= 4.8
22 BuildRequires: QtGui-devel >= 4.8
23 BuildRequires: QtHelp-devel >= 4.8
24 BuildRequires: QtNetwork-devel >= 4.8
25 BuildRequires: QtOpenGL-devel >= 4.8
26 BuildRequires: QtScript-devel >= 4.8
27 BuildRequires: QtScriptTools-devel >= 4.8
28 BuildRequires: QtSql-devel >= 4.8
29 BuildRequires: QtSvg-devel >= 4.8
30 BuildRequires: QtTest-devel >= 4.8
31 BuildRequires: QtUiTools-devel >= 4.8
32 BuildRequires: QtWebKit-devel >= 4.8
33 BuildRequires: QtXml-devel >= 4.8
34 BuildRequires: QtXmlPatterns-devel >= 4.8
35 BuildRequires: alsa-lib-devel >= 0.9
36 BuildRequires: boost-devel >= 1.35
37 BuildRequires: cmake >= 2.6
38 BuildRequires: cppunit-devel >= 1.9.14
39 BuildRequires: doxygen >= 1.5
40 BuildRequires: fftw3-devel >= 3.0
41 BuildRequires: gsl-devel >= 1.10
42 BuildRequires: jack-audio-connection-kit-devel >= 0.8
43 BuildRequires: libusb-devel
44 BuildRequires: log4cpp-devel
45 BuildRequires: orc-devel >= 0.4.11
46 BuildRequires: portaudio-devel >= 19
48 BuildRequires: python-PyOpenGL
49 BuildRequires: python-PyQt4-devel >= 4.4
51 BuildRequires: python-PyQwt-devel >= 5.2
52 BuildRequires: python-cheetah >= 2.0.0
53 BuildRequires: python-devel >= 2.5
54 BuildRequires: python-devel-tools
55 BuildRequires: python-ice
56 BuildRequires: python-lxml >= 1.3.6
57 BuildRequires: python-numpy >= 1.1.0
58 BuildRequires: python-pygtk-devel >= 2.10.0
60 BuildRequires: python-wxPython-devel >= 2.8
61 BuildRequires: qt4-qmake >= 4.2.0
62 BuildRequires: qwt-devel >= 5.2
64 BuildRequires: swig-python >= 1.3.31
65 BuildRequires: texlive-latex
66 %{?with_uhd:BuildRequires: uhd-devel >= 3.0.0}
67 BuildRequires: xdg-utils
69 BuildConflicts: boost-devel = 1.46.0
70 BuildConflicts: boost-devel = 1.46.1
71 BuildConflicts: boost-devel = 1.47.0
72 BuildConflicts: boost-devel = 1.52.0
74 Requires: python-PyQt4
75 Requires: python-cheetah
77 Requires: python-numpy
78 Requires: python-pygtk-gtk
79 Requires: python-scipy
80 Requires: python-wxPython
81 Obsoletes: grc < 0.80-1
82 Obsoletes: usrp < 3.3.0-1
83 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
85 %define filterout_cpp -pipe
88 GNU Radio is a collection of software that when combined with minimal
89 hardware, allows the construction of radios where the actual waveforms
90 transmitted and received are defined by software. What this means is
91 that it turns the digital modulation schemes used in today's high
92 performance wireless devices into software problems.
95 Summary: GNU Radio development files
96 Group: Applications/Engineering
97 Requires: %{name} = %{version}-%{release}
99 Obsoletes: usrp-devel < 3.3.0-1
105 Summary: GNU Radio examples
106 Group: Applications/Engineering
107 Requires: %{name} = %{version}-%{release}
109 %description examples
114 sed -e '/Prevented in-tree build. This is bad practice./d' -i CMakeLists.txt
115 sed -e 's/list(APPEND gnuradio_runtime_libs rt)/list(APPEND gnuradio_runtime_libs rt pthread)/' -i gnuradio-runtime/lib/CMakeLists.txt
116 sed -e 's/list(APPEND gr_audio_libs ${JACK_LIBRARIES})/list(APPEND gr_audio_libs ${JACK_LIBRARIES} pthread)/' -i gr-audio/lib/CMakeLists.txt
117 sed -e 's/list(APPEND fcd_libs rt)/list(APPEND fcd_libs rt pthread)/' -i gr-fcd/lib/CMakeLists.txt
118 sed -e 's/target_link_libraries(volk ${volk_libraries})/target_link_libraries(volk ${volk_libraries} m)/' -i volk/lib/CMakeLists.txt
124 -DENABLE_DOXYGEN=FORCE \
125 -DENABLE_GR_ATSC=FORCE \
126 -DENABLE_GR_AUDIO=FORCE \
128 -DENABLE-GR_COMEDI=FORCE \
129 -DENABLE_GR_CORE=FORCE \
130 -DENABLE_GR_FCD=FORCE \
131 -DENABLE_GR_NOAA=FORCE \
132 -DENABLE_GR_PAGER=FORCE \
133 -DENABLE_GR_TRELLIS=FORCE \
134 -DENABLE_GRUEL=FORCE \
135 %{?with_uhd:-DENABLE_GR_UHD=FORCE} \
136 -DENABLE_GR_UTILS=FORCE \
137 -DENABLE_GR_VIDEO_SDL=FORCE \
138 -DENABLE_GR_VOCODER=FORCE \
139 -DENABLE_GR_WXGUI=FORCE \
140 -DENABLE_PYTHON=FORCE \
141 -DENABLE_VOLK=FORCE \
142 -DSYSCONFDIR=%{_sysconfdir} \
147 rm -rf $RPM_BUILD_ROOT
149 %{__make} -C build install \
150 DESTDIR=$RPM_BUILD_ROOT
154 mv $RPM_BUILD_ROOT%{_docdir}/gnuradio-*/* inst-doc
156 # filter bundled cmake files for other libraries
157 cd $RPM_BUILD_ROOT%{_libdir}/cmake/gnuradio
160 FindUHD.cmake|Gr*.cmake|Gnu*.cmake)
169 rm -rf $RPM_BUILD_ROOT
171 %post -p /sbin/ldconfig
172 %postun -p /sbin/ldconfig
175 %defattr(644,root,root,755)
178 %attr(755,root,root) %{_bindir}/gnuradio-*
179 %attr(755,root,root) %{_bindir}/gr-ctrlport-*
180 %attr(755,root,root) %{_bindir}/gr-perf-*
181 %attr(755,root,root) %{_bindir}/gr_*
182 %attr(755,root,root) %{_bindir}/grcc
183 %attr(755,root,root) %{_bindir}/usrp_flex
184 %attr(755,root,root) %{_bindir}/usrp_flex_all
185 %attr(755,root,root) %{_bindir}/usrp_flex_band
186 %attr(755,root,root) %{_bindir}/volk_modtool
187 %attr(755,root,root) %{_bindir}/volk_profile
188 %attr(755,root,root) %{_libdir}/libgnuradio-*.so.*.*
189 %attr(755,root,root) %ghost %{_libdir}/libgnuradio-*.so.0
190 %attr(755,root,root) %{_libdir}/libvolk.so.*.*
191 #%attr(755,root,root) %ghost %{_libdir}/libvolk.so.0
192 %dir %{_sysconfdir}/gnuradio
193 %dir %{_sysconfdir}/gnuradio/conf.d
194 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnuradio/conf.d/*.conf
197 %dir %{py_sitedir}/gnuradio
198 %{py_sitedir}/gnuradio/*.py*
199 %dir %{py_sitedir}/gnuradio/analog
200 %attr(755,root,root) %{py_sitedir}/gnuradio/analog/*.so
201 %{py_sitedir}/gnuradio/analog/*.py*
203 %dir %{py_sitedir}/gnuradio/atsc
204 %attr(755,root,root) %{py_sitedir}/gnuradio/atsc/*.so
205 %{py_sitedir}/gnuradio/atsc/*.py*
207 %dir %{py_sitedir}/gnuradio/audio
208 %attr(755,root,root) %{py_sitedir}/gnuradio/audio/*.so
209 %{py_sitedir}/gnuradio/audio/*.py*
211 %dir %{py_sitedir}/gnuradio/blocks
212 %attr(755,root,root) %{py_sitedir}/gnuradio/blocks/*.so
213 %{py_sitedir}/gnuradio/blocks/*.py*
215 %dir %{py_sitedir}/gnuradio/channels
216 %attr(755,root,root) %{py_sitedir}/gnuradio/channels/*.so
217 %{py_sitedir}/gnuradio/channels/*.py*
219 %{py_sitedir}/gnuradio/ctrlport
221 %dir %{py_sitedir}/gnuradio/digital
222 %attr(755,root,root) %{py_sitedir}/gnuradio/digital/*.so
223 %{py_sitedir}/gnuradio/digital/*.py*
224 %{py_sitedir}/gnuradio/digital/utils
226 %dir %{py_sitedir}/gnuradio/fcd
227 %attr(755,root,root) %{py_sitedir}/gnuradio/fcd/*.so
228 %{py_sitedir}/gnuradio/fcd/*.py*
230 %dir %{py_sitedir}/gnuradio/fec
231 %attr(755,root,root) %{py_sitedir}/gnuradio/fec/*.so
232 %{py_sitedir}/gnuradio/fec/*.py*
234 %dir %{py_sitedir}/gnuradio/fft
235 %attr(755,root,root) %{py_sitedir}/gnuradio/fft/*.so
236 %{py_sitedir}/gnuradio/fft/*.py*
238 %dir %{py_sitedir}/gnuradio/filter
239 %attr(755,root,root) %{py_sitedir}/gnuradio/filter/*.so
240 %{py_sitedir}/gnuradio/filter/*.py*
242 %dir %{py_sitedir}/gnuradio/gr
243 %attr(755,root,root) %{py_sitedir}/gnuradio/gr/*.so
244 %{py_sitedir}/gnuradio/gr/*.py*
246 %{py_sitedir}/gnuradio/grc
247 %{py_sitedir}/gnuradio/gru
248 %{py_sitedir}/gnuradio/modtool
250 %dir %{py_sitedir}/gnuradio/noaa
251 %attr(755,root,root) %{py_sitedir}/gnuradio/noaa/*.so
252 %{py_sitedir}/gnuradio/noaa/*.py*
254 %dir %{py_sitedir}/gnuradio/pager
255 %attr(755,root,root) %{py_sitedir}/gnuradio/pager/*.so
256 %{py_sitedir}/gnuradio/pager/*.py*
258 %dir %{py_sitedir}/gnuradio/qtgui
259 %attr(755,root,root) %{py_sitedir}/gnuradio/qtgui/*.so
260 %{py_sitedir}/gnuradio/qtgui/*.py*
262 %dir %{py_sitedir}/gnuradio/trellis
263 %attr(755,root,root) %{py_sitedir}/gnuradio/trellis/*.so
264 %{py_sitedir}/gnuradio/trellis/*.py*
266 %dir %{py_sitedir}/gnuradio/video_sdl
267 %attr(755,root,root) %{py_sitedir}/gnuradio/video_sdl/*.so
268 %{py_sitedir}/gnuradio/video_sdl/*.py*
270 %dir %{py_sitedir}/gnuradio/vocoder
271 %attr(755,root,root) %{py_sitedir}/gnuradio/vocoder/*.so
272 %{py_sitedir}/gnuradio/vocoder/*.py*
274 %dir %{py_sitedir}/gnuradio/wavelet
275 %attr(755,root,root) %{py_sitedir}/gnuradio/wavelet/*.so
276 %{py_sitedir}/gnuradio/wavelet/*.py*
278 %dir %{py_sitedir}/gnuradio/wxgui
279 %attr(755,root,root) %{py_sitedir}/gnuradio/wxgui/*.so
280 %{py_sitedir}/gnuradio/wxgui/*.py*
281 %{py_sitedir}/gnuradio/wxgui/forms
282 %{py_sitedir}/gnuradio/wxgui/plotter
284 %{py_sitedir}/grc_gnuradio
285 %dir %{py_sitedir}/pmt
286 %attr(755,root,root) %{py_sitedir}/pmt/_pmt_swig.so
287 %{py_sitedir}/pmt/*.py*
288 %{py_sitedir}/volk_modtool
291 %exclude %{_datadir}/gnuradio/examples
294 %defattr(644,root,root,755)
295 %{_includedir}/gnuradio
298 %attr(755,root,root) %{_libdir}/libgnuradio-*.so
299 %attr(755,root,root) %{_libdir}/libvolk.so
300 %{_pkgconfigdir}/gnuradio-*.pc
301 %{_pkgconfigdir}/gr-wxgui.pc
302 %{_pkgconfigdir}/volk.pc
303 %dir %{_libdir}/cmake/gnuradio
304 %{_libdir}/cmake/gnuradio/Gnu*.cmake
305 %{_libdir}/cmake/gnuradio/Gr*.cmake
306 %{?with_uhd:%{_libdir}/cmake/gnuradio/FindUHD.cmake}
307 %{_libdir}/cmake/volk
310 %defattr(644,root,root,755)
311 %{_datadir}/gnuradio/examples