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: 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
141 -DENABLE_DOXYGEN=FORCE \
142 -DENABLE_GR_ATSC=FORCE \
143 -DENABLE_GR_AUDIO=FORCE \
145 -DENABLE-GR_COMEDI=FORCE \
146 -DENABLE_GR_CORE=FORCE \
147 -DENABLE_GR_FCD=FORCE \
148 -DENABLE_GR_NOAA=FORCE \
149 -DENABLE_GR_PAGER=FORCE \
150 -DENABLE_GR_TRELLIS=FORCE \
151 -DENABLE_GRUEL=FORCE \
152 %{?with_uhd:-DENABLE_GR_UHD=FORCE} \
153 -DENABLE_GR_UTILS=FORCE \
154 -DENABLE_GR_VIDEO_SDL=FORCE \
155 -DENABLE_GR_VOCODER=FORCE \
156 -DENABLE_GR_WXGUI=FORCE \
157 -DENABLE_PYTHON=FORCE \
158 -DENABLE_VOLK=FORCE \
159 -DSYSCONFDIR=%{_sysconfdir} \
164 rm -rf $RPM_BUILD_ROOT
166 %{__make} -C build install \
167 DESTDIR=$RPM_BUILD_ROOT
171 mv $RPM_BUILD_ROOT%{_docdir}/gnuradio-*/* inst-doc
173 # filter bundled cmake files for other libraries
174 cd $RPM_BUILD_ROOT%{_libdir}/cmake/gnuradio
177 FindUHD.cmake|Gr*.cmake|Gnu*.cmake)
186 rm -rf $RPM_BUILD_ROOT
188 %post -p /sbin/ldconfig
189 %postun -p /sbin/ldconfig
192 %defattr(644,root,root,755)
195 %attr(755,root,root) %{_bindir}/gnuradio-*
196 %attr(755,root,root) %{_bindir}/gr-ctrlport-*
197 %attr(755,root,root) %{_bindir}/gr-perf-*
198 %attr(755,root,root) %{_bindir}/gr_*
199 %attr(755,root,root) %{_bindir}/grcc
200 %attr(755,root,root) %{_bindir}/usrp_flex
201 %attr(755,root,root) %{_bindir}/usrp_flex_all
202 %attr(755,root,root) %{_bindir}/usrp_flex_band
203 %attr(755,root,root) %{_bindir}/volk_modtool
204 %attr(755,root,root) %{_bindir}/volk_profile
205 %attr(755,root,root) %{_libdir}/libgnuradio-*.so.*.*
206 %attr(755,root,root) %ghost %{_libdir}/libgnuradio-*.so.0
207 %attr(755,root,root) %{_libdir}/libvolk.so.*.*
208 #%attr(755,root,root) %ghost %{_libdir}/libvolk.so.0
209 %dir %{_sysconfdir}/gnuradio
210 %dir %{_sysconfdir}/gnuradio/conf.d
211 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnuradio/conf.d/*.conf
214 %dir %{py_sitedir}/gnuradio
215 %{py_sitedir}/gnuradio/*.py*
216 %dir %{py_sitedir}/gnuradio/analog
217 %attr(755,root,root) %{py_sitedir}/gnuradio/analog/*.so
218 %{py_sitedir}/gnuradio/analog/*.py*
220 %dir %{py_sitedir}/gnuradio/atsc
221 %attr(755,root,root) %{py_sitedir}/gnuradio/atsc/*.so
222 %{py_sitedir}/gnuradio/atsc/*.py*
224 %dir %{py_sitedir}/gnuradio/audio
225 %attr(755,root,root) %{py_sitedir}/gnuradio/audio/*.so
226 %{py_sitedir}/gnuradio/audio/*.py*
228 %dir %{py_sitedir}/gnuradio/blocks
229 %attr(755,root,root) %{py_sitedir}/gnuradio/blocks/*.so
230 %{py_sitedir}/gnuradio/blocks/*.py*
232 %dir %{py_sitedir}/gnuradio/channels
233 %attr(755,root,root) %{py_sitedir}/gnuradio/channels/*.so
234 %{py_sitedir}/gnuradio/channels/*.py*
236 %{py_sitedir}/gnuradio/ctrlport
238 %dir %{py_sitedir}/gnuradio/digital
239 %attr(755,root,root) %{py_sitedir}/gnuradio/digital/*.so
240 %{py_sitedir}/gnuradio/digital/*.py*
241 %{py_sitedir}/gnuradio/digital/utils
243 %dir %{py_sitedir}/gnuradio/fcd
244 %attr(755,root,root) %{py_sitedir}/gnuradio/fcd/*.so
245 %{py_sitedir}/gnuradio/fcd/*.py*
247 %dir %{py_sitedir}/gnuradio/fec
248 %attr(755,root,root) %{py_sitedir}/gnuradio/fec/*.so
249 %{py_sitedir}/gnuradio/fec/*.py*
251 %dir %{py_sitedir}/gnuradio/fft
252 %attr(755,root,root) %{py_sitedir}/gnuradio/fft/*.so
253 %{py_sitedir}/gnuradio/fft/*.py*
255 %dir %{py_sitedir}/gnuradio/filter
256 %attr(755,root,root) %{py_sitedir}/gnuradio/filter/*.so
257 %{py_sitedir}/gnuradio/filter/*.py*
259 %dir %{py_sitedir}/gnuradio/gr
260 %attr(755,root,root) %{py_sitedir}/gnuradio/gr/*.so
261 %{py_sitedir}/gnuradio/gr/*.py*
263 %{py_sitedir}/gnuradio/grc
264 %{py_sitedir}/gnuradio/gru
265 %{py_sitedir}/gnuradio/modtool
267 %dir %{py_sitedir}/gnuradio/noaa
268 %attr(755,root,root) %{py_sitedir}/gnuradio/noaa/*.so
269 %{py_sitedir}/gnuradio/noaa/*.py*
271 %dir %{py_sitedir}/gnuradio/pager
272 %attr(755,root,root) %{py_sitedir}/gnuradio/pager/*.so
273 %{py_sitedir}/gnuradio/pager/*.py*
275 %dir %{py_sitedir}/gnuradio/qtgui
276 %attr(755,root,root) %{py_sitedir}/gnuradio/qtgui/*.so
277 %{py_sitedir}/gnuradio/qtgui/*.py*
279 %dir %{py_sitedir}/gnuradio/trellis
280 %attr(755,root,root) %{py_sitedir}/gnuradio/trellis/*.so
281 %{py_sitedir}/gnuradio/trellis/*.py*
283 %dir %{py_sitedir}/gnuradio/video_sdl
284 %attr(755,root,root) %{py_sitedir}/gnuradio/video_sdl/*.so
285 %{py_sitedir}/gnuradio/video_sdl/*.py*
287 %dir %{py_sitedir}/gnuradio/vocoder
288 %attr(755,root,root) %{py_sitedir}/gnuradio/vocoder/*.so
289 %{py_sitedir}/gnuradio/vocoder/*.py*
291 %dir %{py_sitedir}/gnuradio/wavelet
292 %attr(755,root,root) %{py_sitedir}/gnuradio/wavelet/*.so
293 %{py_sitedir}/gnuradio/wavelet/*.py*
295 %dir %{py_sitedir}/gnuradio/wxgui
296 %attr(755,root,root) %{py_sitedir}/gnuradio/wxgui/*.so
297 %{py_sitedir}/gnuradio/wxgui/*.py*
298 %{py_sitedir}/gnuradio/wxgui/forms
299 %{py_sitedir}/gnuradio/wxgui/plotter
301 %{py_sitedir}/grc_gnuradio
302 %dir %{py_sitedir}/pmt
303 %attr(755,root,root) %{py_sitedir}/pmt/_pmt_swig.so
304 %{py_sitedir}/pmt/*.py*
305 %{py_sitedir}/volk_modtool
308 %exclude %{_datadir}/gnuradio/examples
311 %defattr(644,root,root,755)
312 %{_includedir}/gnuradio
315 %attr(755,root,root) %{_libdir}/libgnuradio-*.so
316 %attr(755,root,root) %{_libdir}/libvolk.so
317 %{_pkgconfigdir}/gnuradio-*.pc
318 %{_pkgconfigdir}/gr-wxgui.pc
319 %{_pkgconfigdir}/volk.pc
320 %dir %{_libdir}/cmake/gnuradio
321 %{_libdir}/cmake/gnuradio/Gnu*.cmake
322 %{_libdir}/cmake/gnuradio/Gr*.cmake
323 %{?with_uhd:%{_libdir}/cmake/gnuradio/FindUHD.cmake}
324 %{_libdir}/cmake/volk
327 %defattr(644,root,root,755)
328 %{_datadir}/gnuradio/examples