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: ca8e47abcb01edc72014ccabe38123a3
14 URL: http://www.gnuradio.org/
15 BuildRequires: Qt3Support >= 4.8
16 BuildRequires: QtCLucene-devel >= 4.8
17 BuildRequires: QtCore-devel >= 4.8
18 BuildRequires: QtDBus-devel >= 4.8
19 BuildRequires: QtDeclarative-devel >= 4.8
20 BuildRequires: QtDesigner-devel >= 4.8
21 BuildRequires: QtGui-devel >= 4.8
22 BuildRequires: QtHelp-devel >= 4.8
23 BuildRequires: QtNetwork-devel >= 4.8
24 BuildRequires: QtOpenGL-devel >= 4.8
25 BuildRequires: QtScript-devel >= 4.8
26 BuildRequires: QtScriptTools-devel >= 4.8
27 BuildRequires: QtSql-devel >= 4.8
28 BuildRequires: QtSvg-devel >= 4.8
29 BuildRequires: QtTest-devel >= 4.8
30 BuildRequires: QtUiTools-devel >= 4.8
31 BuildRequires: QtWebKit-devel >= 4.8
32 BuildRequires: QtXml-devel >= 4.8
33 BuildRequires: QtXmlPatterns-devel >= 4.8
34 BuildRequires: SDL-devel >= 1.2.0
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: fftw3-single-devel >= 3.0
42 BuildRequires: gsl-devel >= 1.10
43 BuildRequires: ice-devel
44 BuildRequires: jack-audio-connection-kit-devel >= 0.8
45 BuildRequires: libusb-devel
46 BuildRequires: log4cpp-devel
47 BuildRequires: orc-devel >= 0.4.11
48 BuildRequires: pkgconfig
49 BuildRequires: portaudio-devel >= 19
51 BuildRequires: python-PyOpenGL
52 BuildRequires: sip-PyQt4 >= 4.4
54 BuildRequires: python-PyQwt-devel >= 5.2
55 BuildRequires: python-cheetah >= 2.0.0
56 BuildRequires: python-devel >= 2.5
57 BuildRequires: python-devel-tools
58 BuildRequires: python-ice
59 BuildRequires: python-lxml >= 1.3.6
60 BuildRequires: python-numpy >= 1.1.0
61 BuildRequires: python-pygtk-devel >= 2.10.0
63 BuildRequires: python-wxPython-devel >= 2.8
64 BuildRequires: qt4-qmake >= 4.2.0
65 BuildRequires: qwt-devel >= 5.2
66 BuildRequires: sphinx-pdg
67 BuildRequires: swig-python >= 1.3.31
68 BuildRequires: texlive-latex
69 %{?with_uhd:BuildRequires: uhd-devel >= 3.0.0}
70 BuildRequires: xdg-utils
72 BuildConflicts: boost-devel = 1.46.0
73 BuildConflicts: boost-devel = 1.46.1
74 BuildConflicts: boost-devel = 1.47.0
75 BuildConflicts: boost-devel = 1.52.0
77 Requires: python-PyQt4
78 Requires: python-cheetah
80 Requires: python-numpy
81 Requires: python-pygtk-gtk
82 Requires: python-scipy
83 Requires: python-wxPython
84 Obsoletes: grc < 0.80-1
85 Obsoletes: usrp < 3.3.0-1
86 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
88 %define filterout_cpp -pipe
91 GNU Radio is a collection of software that when combined with minimal
92 hardware, allows the construction of radios where the actual waveforms
93 transmitted and received are defined by software. What this means is
94 that it turns the digital modulation schemes used in today's high
95 performance wireless devices into software problems.
98 Summary: GNU Radio development files
99 Group: Applications/Engineering
100 Requires: %{name} = %{version}-%{release}
101 Requires: boost-devel
102 Obsoletes: usrp-devel < 3.3.0-1
110 Requires: %{name} = %{version}-%{release}
111 %if "%{_rpmversion}" >= "5"
116 GNU Radio Documentation.
119 Summary: GNU Radio examples
121 Requires: %{name} = %{version}-%{release}
122 %if "%{_rpmversion}" >= "5"
126 %description examples
131 sed -e '/Prevented in-tree build. This is bad practice./d' -i CMakeLists.txt
132 sed -e 's/list(APPEND gnuradio_runtime_libs rt)/list(APPEND gnuradio_runtime_libs rt pthread)/' -i gnuradio-runtime/lib/CMakeLists.txt
133 sed -e 's/list(APPEND gr_audio_libs ${JACK_LIBRARIES})/list(APPEND gr_audio_libs ${JACK_LIBRARIES} pthread)/' -i gr-audio/lib/CMakeLists.txt
134 sed -e 's/list(APPEND fcd_libs rt)/list(APPEND fcd_libs rt pthread)/' -i gr-fcd/lib/CMakeLists.txt
135 sed -e 's/target_link_libraries(volk ${volk_libraries})/target_link_libraries(volk ${volk_libraries} m)/' -i volk/lib/CMakeLists.txt
137 sed -i -e 's#libexec#%{_lib}#g' CMakeLists.txt
143 -DCMAKE_BUILD_TYPE=None \
144 -DENABLE_DOXYGEN=FORCE \
145 -DENABLE_GR_ATSC=FORCE \
146 -DENABLE_GR_AUDIO=FORCE \
148 -DENABLE-GR_COMEDI=FORCE \
149 -DENABLE_GR_CORE=FORCE \
150 -DENABLE_GR_FCD=FORCE \
151 -DENABLE_GR_NOAA=FORCE \
152 -DENABLE_GR_PAGER=FORCE \
153 -DENABLE_GR_TRELLIS=FORCE \
154 -DENABLE_GRUEL=FORCE \
155 %{?with_uhd:-DENABLE_GR_UHD=FORCE} \
156 -DENABLE_GR_UTILS=FORCE \
157 -DENABLE_GR_VIDEO_SDL=FORCE \
158 -DENABLE_GR_VOCODER=FORCE \
159 -DENABLE_GR_WXGUI=FORCE \
160 -DENABLE_PYTHON=FORCE \
161 -DENABLE_VOLK=FORCE \
162 -DSYSCONFDIR=%{_sysconfdir} \
167 rm -rf $RPM_BUILD_ROOT
169 %{__make} -C build install \
170 DESTDIR=$RPM_BUILD_ROOT
174 mv $RPM_BUILD_ROOT%{_docdir}/gnuradio-*/* inst-doc
176 # filter bundled cmake files for other libraries
177 cd $RPM_BUILD_ROOT%{_libdir}/cmake/gnuradio
180 FindUHD.cmake|Gr*.cmake|Gnu*.cmake)
188 # remove binary from noarch examples
189 %{__rm} $RPM_BUILD_ROOT%{_datadir}/gnuradio/examples/{audio/dial_tone,fcd/fcd_nfm_rx}
192 rm -rf $RPM_BUILD_ROOT
194 %post -p /sbin/ldconfig
195 %postun -p /sbin/ldconfig
198 %defattr(644,root,root,755)
201 %attr(755,root,root) %{_bindir}/gnuradio-*
202 %attr(755,root,root) %{_bindir}/gr_*
203 %attr(755,root,root) %{_bindir}/grcc
204 %attr(755,root,root) %{_bindir}/usrp_flex
205 %attr(755,root,root) %{_bindir}/usrp_flex_all
206 %attr(755,root,root) %{_bindir}/usrp_flex_band
207 %attr(755,root,root) %{_bindir}/volk-config-info
208 %attr(755,root,root) %{_bindir}/volk_modtool
209 %attr(755,root,root) %{_bindir}/volk_profile
210 %attr(755,root,root) %{_libdir}/libgnuradio-*.so.*.*
211 %attr(755,root,root) %ghost %{_libdir}/libgnuradio-*.so.0
212 %attr(755,root,root) %{_libdir}/libvolk.so.*.*
213 %dir %{_sysconfdir}/gnuradio
214 %dir %{_sysconfdir}/gnuradio/conf.d
215 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnuradio/conf.d/*.conf
217 %dir %{py_sitedir}/gnuradio
218 %{py_sitedir}/gnuradio/*.py*
219 %dir %{py_sitedir}/gnuradio/analog
220 %attr(755,root,root) %{py_sitedir}/gnuradio/analog/*.so
221 %{py_sitedir}/gnuradio/analog/*.py*
223 %dir %{py_sitedir}/gnuradio/atsc
224 %attr(755,root,root) %{py_sitedir}/gnuradio/atsc/*.so
225 %{py_sitedir}/gnuradio/atsc/*.py*
227 %dir %{py_sitedir}/gnuradio/audio
228 %attr(755,root,root) %{py_sitedir}/gnuradio/audio/*.so
229 %{py_sitedir}/gnuradio/audio/*.py*
231 %dir %{py_sitedir}/gnuradio/blocks
232 %attr(755,root,root) %{py_sitedir}/gnuradio/blocks/*.so
233 %{py_sitedir}/gnuradio/blocks/*.py*
235 %dir %{py_sitedir}/gnuradio/channels
236 %attr(755,root,root) %{py_sitedir}/gnuradio/channels/*.so
237 %{py_sitedir}/gnuradio/channels/*.py*
239 %{py_sitedir}/gnuradio/ctrlport
241 %dir %{py_sitedir}/gnuradio/digital
242 %attr(755,root,root) %{py_sitedir}/gnuradio/digital/*.so
243 %{py_sitedir}/gnuradio/digital/*.py*
244 %{py_sitedir}/gnuradio/digital/utils
246 %dir %{py_sitedir}/gnuradio/dtv
247 %{py_sitedir}/gnuradio/dtv/*.py*
248 %attr(755,root,root) %{py_sitedir}/gnuradio/dtv/_dtv_swig.so
250 %dir %{py_sitedir}/gnuradio/fcd
251 %attr(755,root,root) %{py_sitedir}/gnuradio/fcd/*.so
252 %{py_sitedir}/gnuradio/fcd/*.py*
254 %dir %{py_sitedir}/gnuradio/fec
255 %attr(755,root,root) %{py_sitedir}/gnuradio/fec/*.so
256 %{py_sitedir}/gnuradio/fec/*.py*
258 %dir %{py_sitedir}/gnuradio/fft
259 %attr(755,root,root) %{py_sitedir}/gnuradio/fft/*.so
260 %{py_sitedir}/gnuradio/fft/*.py*
262 %dir %{py_sitedir}/gnuradio/filter
263 %attr(755,root,root) %{py_sitedir}/gnuradio/filter/*.so
264 %{py_sitedir}/gnuradio/filter/*.py*
266 %dir %{py_sitedir}/gnuradio/gr
267 %attr(755,root,root) %{py_sitedir}/gnuradio/gr/*.so
268 %{py_sitedir}/gnuradio/gr/*.py*
270 %{py_sitedir}/gnuradio/grc
271 %{py_sitedir}/gnuradio/gru
272 %{py_sitedir}/gnuradio/modtool
274 %dir %{py_sitedir}/gnuradio/noaa
275 %attr(755,root,root) %{py_sitedir}/gnuradio/noaa/*.so
276 %{py_sitedir}/gnuradio/noaa/*.py*
278 %dir %{py_sitedir}/gnuradio/pager
279 %attr(755,root,root) %{py_sitedir}/gnuradio/pager/*.so
280 %{py_sitedir}/gnuradio/pager/*.py*
282 %dir %{py_sitedir}/gnuradio/qtgui
283 %attr(755,root,root) %{py_sitedir}/gnuradio/qtgui/*.so
284 %{py_sitedir}/gnuradio/qtgui/*.py*
286 %dir %{py_sitedir}/gnuradio/trellis
287 %attr(755,root,root) %{py_sitedir}/gnuradio/trellis/*.so
288 %{py_sitedir}/gnuradio/trellis/*.py*
290 %dir %{py_sitedir}/gnuradio/video_sdl
291 %attr(755,root,root) %{py_sitedir}/gnuradio/video_sdl/*.so
292 %{py_sitedir}/gnuradio/video_sdl/*.py*
294 %dir %{py_sitedir}/gnuradio/vocoder
295 %attr(755,root,root) %{py_sitedir}/gnuradio/vocoder/*.so
296 %{py_sitedir}/gnuradio/vocoder/*.py*
298 %dir %{py_sitedir}/gnuradio/wavelet
299 %attr(755,root,root) %{py_sitedir}/gnuradio/wavelet/*.so
300 %{py_sitedir}/gnuradio/wavelet/*.py*
302 %dir %{py_sitedir}/gnuradio/wxgui
303 %attr(755,root,root) %{py_sitedir}/gnuradio/wxgui/*.so
304 %{py_sitedir}/gnuradio/wxgui/*.py*
305 %{py_sitedir}/gnuradio/wxgui/forms
306 %{py_sitedir}/gnuradio/wxgui/plotter
308 %{py_sitedir}/grc_gnuradio
309 %dir %{py_sitedir}/pmt
310 %attr(755,root,root) %{py_sitedir}/pmt/_pmt_swig.so
311 %{py_sitedir}/pmt/*.py*
312 %{py_sitedir}/volk_modtool
315 %exclude %{_datadir}/gnuradio/examples
317 %dir %{_libdir}/gnuradio
318 %attr(755,root,root) %{_libdir}/gnuradio/grc_setup_freedesktop
321 %defattr(644,root,root,755)
322 %{_includedir}/gnuradio
325 %attr(755,root,root) %{_libdir}/libgnuradio-*.so
326 %attr(755,root,root) %{_libdir}/libvolk.so
327 %{_pkgconfigdir}/gnuradio-*.pc
328 %{_pkgconfigdir}/gr-wxgui.pc
329 %{_pkgconfigdir}/volk.pc
330 %dir %{_libdir}/cmake/gnuradio
331 %{_libdir}/cmake/gnuradio/Gnu*.cmake
332 %{_libdir}/cmake/gnuradio/Gr*.cmake
333 %{?with_uhd:%{_libdir}/cmake/gnuradio/FindUHD.cmake}
334 %{_libdir}/cmake/volk
337 %defattr(644,root,root,755)
338 %{_datadir}/gnuradio/examples