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: 85e1ed4b18c46227731d83f8c3fbe45a
15 Patch1: python-libdir.patch
16 Patch2: %{name}-boost.patch
17 URL: http://www.gnuradio.org/
18 BuildRequires: Qt5Core-devel >= 5
19 BuildRequires: Qt5DBus-devel >= 5
20 BuildRequires: Qt5Declarative-devel >= 5
21 BuildRequires: Qt5Designer-devel >= 5
22 BuildRequires: Qt5Gui-devel >= 5
23 BuildRequires: Qt5Help-devel >= 5
24 BuildRequires: Qt5Network-devel >= 5
25 BuildRequires: Qt5OpenGL-devel >= 5
26 BuildRequires: Qt5Script-devel >= 5
27 BuildRequires: Qt5ScriptTools-devel >= 5
28 BuildRequires: Qt5Sql-devel >= 5
29 BuildRequires: Qt5Svg-devel >= 5
30 BuildRequires: Qt5Test-devel >= 5
31 BuildRequires: Qt5UiTools-devel >= 5
32 BuildRequires: Qt5WebKit-devel >= 5
33 BuildRequires: Qt5Xml-devel >= 5
34 BuildRequires: Qt5XmlPatterns-devel >= 5
35 BuildRequires: SDL-devel >= 1.2.0
36 BuildRequires: alsa-lib-devel >= 0.9
37 BuildRequires: boost-devel >= 1.53
39 BuildRequires: cairo-gobject >= 1.0
40 BuildRequires: cmake >= 3.5.1
41 BuildRequires: cppunit-devel >= 1.9.14
42 BuildRequires: cppzmq-devel
43 BuildRequires: doxygen >= 1.5
44 BuildRequires: fftw3-devel >= 3.0
45 BuildRequires: fftw3-single-devel >= 3.0
46 BuildRequires: gsl-devel >= 1.10
47 BuildRequires: gmp-c++-devel
49 BuildRequires: gtk+3 >= 3.10.8
50 BuildRequires: ice-devel
51 BuildRequires: jack-audio-connection-kit-devel >= 0.8
52 BuildRequires: libstdc++-devel >= 6:4.8.4
53 BuildRequires: libusb-devel
54 BuildRequires: log4cpp-devel
55 BuildRequires: orc-devel >= 0.4.11
57 BuildRequires: pango >= 1:1.26.0
58 BuildRequires: pkgconfig
59 BuildRequires: portaudio-devel >= 19
60 BuildRequires: python3 >= 1:3.6.5
61 BuildRequires: python3-Mako >= 0.9.1
63 BuildRequires: python3-PyOpenGL
65 BuildRequires: python3-PyYAML >= 3.10
66 BuildRequires: python3-click
67 BuildRequires: python3-devel >= 2.5
68 BuildRequires: python3-devel-tools
69 BuildRequires: python3-lxml >= 1.3.6
70 BuildRequires: python3-numpy >= 1.1.0
71 BuildRequires: python3-pygobject3 >= 2.28.6
72 BuildRequires: qt5-build >= 5
73 BuildRequires: qt5-qmake >= 5
74 BuildRequires: qwt5-devel
75 BuildRequires: sip-PyQt5
76 BuildRequires: sphinx-pdg
77 BuildRequires: swig-python >= 3.0.8
78 BuildRequires: texlive-latex
79 %{?with_uhd:BuildRequires: uhd-devel >= 3.0.0}
80 BuildRequires: xdg-utils
82 BuildConflicts: python-thrift
84 Requires: python3-PyQt5
85 Requires: python3-PyYAML >= 3.10
86 Requires: python3-click
87 Requires: python3-lxml
88 Requires: python3-numpy
89 Requires: python3-scipy
90 Obsoletes: grc < 0.80-1
91 Obsoletes: usrp < 3.3.0-1
92 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
94 %define filterout_cpp -pipe
97 GNU Radio is a collection of software that when combined with minimal
98 hardware, allows the construction of radios where the actual waveforms
99 transmitted and received are defined by software. What this means is
100 that it turns the digital modulation schemes used in today's high
101 performance wireless devices into software problems.
104 Summary: GNU Radio development files
105 Group: Applications/Engineering
106 Requires: %{name} = %{version}-%{release}
107 Requires: boost-devel
108 Obsoletes: usrp-devel < 3.3.0-1
116 Requires: %{name} = %{version}-%{release}
120 GNU Radio Documentation.
123 Summary: GNU Radio examples
125 Requires: %{name} = %{version}-%{release}
128 %description examples
141 -DCMAKE_BUILD_TYPE=None \
142 -DENABLE_DOXYGEN=FORCE \
143 -DENABLE_GR_ATSC=FORCE \
144 -DENABLE_GR_AUDIO=FORCE \
146 -DENABLE-GR_COMEDI=FORCE \
147 -DENABLE_GR_CORE=FORCE \
148 -DENABLE_GR_FCD=FORCE \
149 -DENABLE_GR_NOAA=FORCE \
150 -DENABLE_GR_PAGER=FORCE \
151 -DENABLE_GR_TRELLIS=FORCE \
152 -DENABLE_GRUEL=FORCE \
153 %{?with_uhd:-DENABLE_GR_UHD=FORCE} \
154 -DENABLE_GR_UTILS=FORCE \
155 -DENABLE_GR_VIDEO_SDL=FORCE \
156 -DENABLE_GR_VOCODER=FORCE \
157 -DENABLE_GR_WXGUI=FORCE \
158 -DENABLE_PYTHON=FORCE \
159 -DENABLE_VOLK=FORCE \
160 -DSYSCONFDIR=%{_sysconfdir} \
165 rm -rf $RPM_BUILD_ROOT
167 %{__make} -C build install \
168 DESTDIR=$RPM_BUILD_ROOT
172 %{__mv} $RPM_BUILD_ROOT%{_docdir}/gnuradio-*/* inst-doc
174 # filter bundled cmake files for other libraries
175 cd $RPM_BUILD_ROOT%{_libdir}/cmake/gnuradio
178 FindUHD.cmake|Gr*.cmake|Gnu*.cmake)
187 %{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/gnome
189 # remove binary from noarch examples
190 %{__rm} $RPM_BUILD_ROOT%{_datadir}/gnuradio/examples/{audio/dial_tone,qt-gui/display_qt}
193 rm -rf $RPM_BUILD_ROOT
195 %post -p /sbin/ldconfig
196 %postun -p /sbin/ldconfig
199 %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}/gr_*
204 %attr(755,root,root) %{_bindir}/grcc
205 %attr(755,root,root) %{_bindir}/polar_channel_construction
206 %attr(755,root,root) %{_bindir}/volk-config-info
207 %attr(755,root,root) %{_bindir}/volk_modtool
208 %attr(755,root,root) %{_bindir}/volk_profile
209 %attr(755,root,root) %{_libdir}/libgnuradio-*.so.*.*.*.*
210 %attr(755,root,root) %ghost %{_libdir}/libgnuradio-*.so.3.8.0
211 %attr(755,root,root) %{_libdir}/libvolk.so.*.*
212 %dir %{_sysconfdir}/gnuradio
213 %dir %{_sysconfdir}/gnuradio/conf.d
214 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnuradio/conf.d/*.conf
216 %dir %{py3_sitedir}/gnuradio
217 %{py3_sitedir}/gnuradio/*.py*
218 %dir %{py3_sitedir}/gnuradio/analog
219 %attr(755,root,root) %{py3_sitedir}/gnuradio/analog/*.so
220 %{py3_sitedir}/gnuradio/analog/*.py*
222 %dir %{py3_sitedir}/gnuradio/audio
223 %attr(755,root,root) %{py3_sitedir}/gnuradio/audio/*.so
224 %{py3_sitedir}/gnuradio/audio/*.py*
226 %dir %{py3_sitedir}/gnuradio/blocks
227 %attr(755,root,root) %{py3_sitedir}/gnuradio/blocks/*.so
228 %{py3_sitedir}/gnuradio/blocks/*.py*
230 %dir %{py3_sitedir}/gnuradio/channels
231 %attr(755,root,root) %{py3_sitedir}/gnuradio/channels/*.so
232 %{py3_sitedir}/gnuradio/channels/*.py*
234 %{py3_sitedir}/gnuradio/ctrlport
236 %dir %{py3_sitedir}/gnuradio/digital
237 %attr(755,root,root) %{py3_sitedir}/gnuradio/digital/*.so
238 %{py3_sitedir}/gnuradio/digital/*.py*
239 %{py3_sitedir}/gnuradio/digital/utils
241 %dir %{py3_sitedir}/gnuradio/dtv
242 %{py3_sitedir}/gnuradio/dtv/*.py*
243 %attr(755,root,root) %{py3_sitedir}/gnuradio/dtv/_dtv_swig.so
245 %dir %{py3_sitedir}/gnuradio/fec
246 %attr(755,root,root) %{py3_sitedir}/gnuradio/fec/*.so
247 %{py3_sitedir}/gnuradio/fec/*.py*
248 %dir %{py3_sitedir}/gnuradio/fec/LDPC
249 %{py3_sitedir}/gnuradio/fec/LDPC/*.py*
250 %dir %{py3_sitedir}/gnuradio/fec/polar
251 %{py3_sitedir}/gnuradio/fec/polar/*.py*
253 %dir %{py3_sitedir}/gnuradio/fft
254 %attr(755,root,root) %{py3_sitedir}/gnuradio/fft/*.so
255 %{py3_sitedir}/gnuradio/fft/*.py*
257 %dir %{py3_sitedir}/gnuradio/filter
258 %attr(755,root,root) %{py3_sitedir}/gnuradio/filter/*.so
259 %{py3_sitedir}/gnuradio/filter/*.py*
261 %dir %{py3_sitedir}/gnuradio/gr
262 %attr(755,root,root) %{py3_sitedir}/gnuradio/gr/*.so
263 %{py3_sitedir}/gnuradio/gr/*.py*
265 %{py3_sitedir}/gnuradio/grc
266 %{py3_sitedir}/gnuradio/gru
268 %dir %{py3_sitedir}/gnuradio/qtgui
269 %attr(755,root,root) %{py3_sitedir}/gnuradio/qtgui/*.so
270 %{py3_sitedir}/gnuradio/qtgui/*.py*
272 %dir %{py3_sitedir}/gnuradio/trellis
273 %attr(755,root,root) %{py3_sitedir}/gnuradio/trellis/*.so
274 %{py3_sitedir}/gnuradio/trellis/*.py*
276 %dir %{py3_sitedir}/gnuradio/video_sdl
277 %attr(755,root,root) %{py3_sitedir}/gnuradio/video_sdl/*.so
278 %{py3_sitedir}/gnuradio/video_sdl/*.py*
280 %dir %{py3_sitedir}/gnuradio/vocoder
281 %attr(755,root,root) %{py3_sitedir}/gnuradio/vocoder/*.so
282 %{py3_sitedir}/gnuradio/vocoder/*.py*
284 %dir %{py3_sitedir}/gnuradio/wavelet
285 %attr(755,root,root) %{py3_sitedir}/gnuradio/wavelet/*.so
286 %{py3_sitedir}/gnuradio/wavelet/*.py*
288 %dir %{py3_sitedir}/gnuradio/zeromq
289 %attr(755,root,root) %{py3_sitedir}/gnuradio/zeromq/*.so
290 %{py3_sitedir}/gnuradio/zeromq/*.py*
292 %dir %{py3_sitedir}/pmt
293 %attr(755,root,root) %{py3_sitedir}/pmt/_pmt_swig.so
294 %{py3_sitedir}/pmt/*.py*
295 %{py3_sitedir}/volk_modtool
298 %exclude %{_datadir}/gnuradio/examples
300 %dir %{_libexecdir}/gnuradio
301 %attr(755,root,root) %{_libexecdir}/gnuradio/grc_setup_freedesktop
303 %{_desktopdir}/gnuradio-grc.desktop
304 %{_iconsdir}/hicolor/*x*/apps/gnuradio-grc.png
305 %{_datadir}/mime/packages/gnuradio-grc.xml
308 %defattr(644,root,root,755)
309 %{_includedir}/gnuradio
312 %attr(755,root,root) %{_libdir}/libgnuradio-*.so
313 %attr(755,root,root) %{_libdir}/libvolk.so
314 %{_pkgconfigdir}/gnuradio-*.pc
315 %{_pkgconfigdir}/volk.pc
316 %{_libdir}/cmake/gnuradio
317 %{_libdir}/cmake/volk
320 %defattr(644,root,root,755)
324 %defattr(644,root,root,755)
325 %{_datadir}/gnuradio/examples