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
19 BuildRequires: Qt5DBus-devel
20 BuildRequires: Qt5Declarative-devel
21 BuildRequires: Qt5Designer-devel
22 BuildRequires: Qt5Gui-devel
23 BuildRequires: Qt5Help-devel
24 BuildRequires: Qt5Network-devel
25 BuildRequires: Qt5OpenGL-devel
26 BuildRequires: Qt5Script-devel
27 BuildRequires: Qt5ScriptTools-devel
28 BuildRequires: Qt5Sql-devel
29 BuildRequires: Qt5Svg-devel
30 BuildRequires: Qt5Test-devel
31 BuildRequires: Qt5UiTools-devel
32 BuildRequires: Qt5WebKit-devel
33 BuildRequires: Qt5Xml-devel
34 BuildRequires: Qt5XmlPatterns-devel
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
48 BuildRequires: gtk+3 >= 3.10.8
49 BuildRequires: ice-devel
50 BuildRequires: jack-audio-connection-kit-devel >= 0.8
51 BuildRequires: libstdc++-devel >= 6:4.8.4
52 BuildRequires: libusb-devel
53 BuildRequires: log4cpp-devel
54 BuildRequires: orc-devel >= 0.4.11
56 BuildRequires: pango >= 1:1.26.0
57 BuildRequires: pkgconfig
58 BuildRequires: portaudio-devel >= 19
59 BuildRequires: python3 >= 1:3.6.5
60 BuildRequires: python3-Mako >= 0.9.1
62 BuildRequires: python3-PyOpenGL
64 BuildRequires: python3-PyYAML >= 3.10
65 BuildRequires: python3-click
66 BuildRequires: python3-devel >= 2.5
67 BuildRequires: python3-devel-tools
68 BuildRequires: python3-lxml >= 1.3.6
69 BuildRequires: python3-numpy >= 1.1.0
70 BuildRequires: python3-pygobject3 >= 2.28.6
71 BuildRequires: qt5-build
72 BuildRequires: qt5-qmake
73 BuildRequires: qwt5-devel
74 BuildRequires: sip-PyQt5
75 BuildRequires: sphinx-pdg
76 BuildRequires: swig-python >= 3.0.8
77 BuildRequires: texlive-latex
78 %{?with_uhd:BuildRequires: uhd-devel >= 3.0.0}
79 BuildRequires: xdg-utils
81 BuildConflicts: python-thrift
83 Requires: python3-PyQt5
84 Requires: python3-PyYAML >= 3.10
85 Requires: python3-click
86 Requires: python3-lxml
87 Requires: python3-numpy
88 Requires: python3-scipy
89 Obsoletes: grc < 0.80-1
90 Obsoletes: usrp < 3.3.0-1
91 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
93 %define filterout_cpp -pipe
96 GNU Radio is a collection of software that when combined with minimal
97 hardware, allows the construction of radios where the actual waveforms
98 transmitted and received are defined by software. What this means is
99 that it turns the digital modulation schemes used in today's high
100 performance wireless devices into software problems.
103 Summary: GNU Radio development files
104 Group: Applications/Engineering
105 Requires: %{name} = %{version}-%{release}
106 Requires: boost-devel
107 Obsoletes: usrp-devel < 3.3.0-1
115 Requires: %{name} = %{version}-%{release}
116 %if "%{_rpmversion}" >= "4.6"
121 GNU Radio Documentation.
124 Summary: GNU Radio examples
126 Requires: %{name} = %{version}-%{release}
127 %if "%{_rpmversion}" >= "4.6"
131 %description examples
144 -DCMAKE_BUILD_TYPE=None \
145 -DENABLE_DOXYGEN=FORCE \
146 -DENABLE_GR_ATSC=FORCE \
147 -DENABLE_GR_AUDIO=FORCE \
149 -DENABLE-GR_COMEDI=FORCE \
150 -DENABLE_GR_CORE=FORCE \
151 -DENABLE_GR_FCD=FORCE \
152 -DENABLE_GR_NOAA=FORCE \
153 -DENABLE_GR_PAGER=FORCE \
154 -DENABLE_GR_TRELLIS=FORCE \
155 -DENABLE_GRUEL=FORCE \
156 %{?with_uhd:-DENABLE_GR_UHD=FORCE} \
157 -DENABLE_GR_UTILS=FORCE \
158 -DENABLE_GR_VIDEO_SDL=FORCE \
159 -DENABLE_GR_VOCODER=FORCE \
160 -DENABLE_GR_WXGUI=FORCE \
161 -DENABLE_PYTHON=FORCE \
162 -DENABLE_VOLK=FORCE \
163 -DSYSCONFDIR=%{_sysconfdir} \
168 rm -rf $RPM_BUILD_ROOT
170 %{__make} -C build install \
171 DESTDIR=$RPM_BUILD_ROOT
175 %{__mv} $RPM_BUILD_ROOT%{_docdir}/gnuradio-*/* inst-doc
177 # filter bundled cmake files for other libraries
178 cd $RPM_BUILD_ROOT%{_libdir}/cmake/gnuradio
181 FindUHD.cmake|Gr*.cmake|Gnu*.cmake)
190 %{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/gnome
192 # remove binary from noarch examples
193 %{__rm} $RPM_BUILD_ROOT%{_datadir}/gnuradio/examples/{audio/dial_tone,qt-gui/display_qt}
196 rm -rf $RPM_BUILD_ROOT
198 %post -p /sbin/ldconfig
199 %postun -p /sbin/ldconfig
202 %defattr(644,root,root,755)
204 %attr(755,root,root) %{_bindir}/gnuradio-*
205 %attr(755,root,root) %{_bindir}/gr-*
206 %attr(755,root,root) %{_bindir}/gr_*
207 %attr(755,root,root) %{_bindir}/grcc
208 %attr(755,root,root) %{_bindir}/polar_channel_construction
209 %attr(755,root,root) %{_bindir}/volk-config-info
210 %attr(755,root,root) %{_bindir}/volk_modtool
211 %attr(755,root,root) %{_bindir}/volk_profile
212 %attr(755,root,root) %{_libdir}/libgnuradio-*.so.*.*.*.*
213 %attr(755,root,root) %ghost %{_libdir}/libgnuradio-*.so.3.8.0
214 %attr(755,root,root) %{_libdir}/libvolk.so.*.*
215 %dir %{_sysconfdir}/gnuradio
216 %dir %{_sysconfdir}/gnuradio/conf.d
217 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnuradio/conf.d/*.conf
219 %dir %{py3_sitedir}/gnuradio
220 %{py3_sitedir}/gnuradio/*.py*
221 %dir %{py3_sitedir}/gnuradio/analog
222 %attr(755,root,root) %{py3_sitedir}/gnuradio/analog/*.so
223 %{py3_sitedir}/gnuradio/analog/*.py*
225 %dir %{py3_sitedir}/gnuradio/audio
226 %attr(755,root,root) %{py3_sitedir}/gnuradio/audio/*.so
227 %{py3_sitedir}/gnuradio/audio/*.py*
229 %dir %{py3_sitedir}/gnuradio/blocks
230 %attr(755,root,root) %{py3_sitedir}/gnuradio/blocks/*.so
231 %{py3_sitedir}/gnuradio/blocks/*.py*
233 %dir %{py3_sitedir}/gnuradio/channels
234 %attr(755,root,root) %{py3_sitedir}/gnuradio/channels/*.so
235 %{py3_sitedir}/gnuradio/channels/*.py*
237 %{py3_sitedir}/gnuradio/ctrlport
239 %dir %{py3_sitedir}/gnuradio/digital
240 %attr(755,root,root) %{py3_sitedir}/gnuradio/digital/*.so
241 %{py3_sitedir}/gnuradio/digital/*.py*
242 %{py3_sitedir}/gnuradio/digital/utils
244 %dir %{py3_sitedir}/gnuradio/dtv
245 %{py3_sitedir}/gnuradio/dtv/*.py*
246 %attr(755,root,root) %{py3_sitedir}/gnuradio/dtv/_dtv_swig.so
248 %dir %{py3_sitedir}/gnuradio/fec
249 %attr(755,root,root) %{py3_sitedir}/gnuradio/fec/*.so
250 %{py3_sitedir}/gnuradio/fec/*.py*
251 %dir %{py3_sitedir}/gnuradio/fec/LDPC
252 %{py3_sitedir}/gnuradio/fec/LDPC/*.py*
253 %dir %{py3_sitedir}/gnuradio/fec/polar
254 %{py3_sitedir}/gnuradio/fec/polar/*.py*
256 %dir %{py3_sitedir}/gnuradio/fft
257 %attr(755,root,root) %{py3_sitedir}/gnuradio/fft/*.so
258 %{py3_sitedir}/gnuradio/fft/*.py*
260 %dir %{py3_sitedir}/gnuradio/filter
261 %attr(755,root,root) %{py3_sitedir}/gnuradio/filter/*.so
262 %{py3_sitedir}/gnuradio/filter/*.py*
264 %dir %{py3_sitedir}/gnuradio/gr
265 %attr(755,root,root) %{py3_sitedir}/gnuradio/gr/*.so
266 %{py3_sitedir}/gnuradio/gr/*.py*
268 %{py3_sitedir}/gnuradio/grc
269 %{py3_sitedir}/gnuradio/gru
271 %dir %{py3_sitedir}/gnuradio/qtgui
272 %attr(755,root,root) %{py3_sitedir}/gnuradio/qtgui/*.so
273 %{py3_sitedir}/gnuradio/qtgui/*.py*
275 %dir %{py3_sitedir}/gnuradio/trellis
276 %attr(755,root,root) %{py3_sitedir}/gnuradio/trellis/*.so
277 %{py3_sitedir}/gnuradio/trellis/*.py*
279 %dir %{py3_sitedir}/gnuradio/video_sdl
280 %attr(755,root,root) %{py3_sitedir}/gnuradio/video_sdl/*.so
281 %{py3_sitedir}/gnuradio/video_sdl/*.py*
283 %dir %{py3_sitedir}/gnuradio/vocoder
284 %attr(755,root,root) %{py3_sitedir}/gnuradio/vocoder/*.so
285 %{py3_sitedir}/gnuradio/vocoder/*.py*
287 %dir %{py3_sitedir}/gnuradio/wavelet
288 %attr(755,root,root) %{py3_sitedir}/gnuradio/wavelet/*.so
289 %{py3_sitedir}/gnuradio/wavelet/*.py*
291 %dir %{py3_sitedir}/gnuradio/zeromq
292 %attr(755,root,root) %{py3_sitedir}/gnuradio/zeromq/*.so
293 %{py3_sitedir}/gnuradio/zeromq/*.py*
295 %dir %{py3_sitedir}/pmt
296 %attr(755,root,root) %{py3_sitedir}/pmt/_pmt_swig.so
297 %{py3_sitedir}/pmt/*.py*
298 %{py3_sitedir}/volk_modtool
301 %exclude %{_datadir}/gnuradio/examples
303 %dir %{_libexecdir}/gnuradio
304 %attr(755,root,root) %{_libexecdir}/gnuradio/grc_setup_freedesktop
306 %{_desktopdir}/gnuradio-grc.desktop
307 %{_iconsdir}/hicolor/*x*/apps/gnuradio-grc.png
308 %{_datadir}/mime/packages/gnuradio-grc.xml
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}/volk.pc
319 %{_libdir}/cmake/gnuradio
320 %{_libdir}/cmake/volk
323 %defattr(644,root,root,755)
327 %defattr(644,root,root,755)
328 %{_datadir}/gnuradio/examples