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
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: python >= 1:3.6.5
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}
117 %if "%{_rpmversion}" >= "4.6"
122 GNU Radio Documentation.
125 Summary: GNU Radio examples
127 Requires: %{name} = %{version}-%{release}
128 %if "%{_rpmversion}" >= "4.6"
132 %description examples
145 -DCMAKE_BUILD_TYPE=None \
146 -DENABLE_DOXYGEN=FORCE \
147 -DENABLE_GR_ATSC=FORCE \
148 -DENABLE_GR_AUDIO=FORCE \
150 -DENABLE-GR_COMEDI=FORCE \
151 -DENABLE_GR_CORE=FORCE \
152 -DENABLE_GR_FCD=FORCE \
153 -DENABLE_GR_NOAA=FORCE \
154 -DENABLE_GR_PAGER=FORCE \
155 -DENABLE_GR_TRELLIS=FORCE \
156 -DENABLE_GRUEL=FORCE \
157 %{?with_uhd:-DENABLE_GR_UHD=FORCE} \
158 -DENABLE_GR_UTILS=FORCE \
159 -DENABLE_GR_VIDEO_SDL=FORCE \
160 -DENABLE_GR_VOCODER=FORCE \
161 -DENABLE_GR_WXGUI=FORCE \
162 -DENABLE_PYTHON=FORCE \
163 -DENABLE_VOLK=FORCE \
164 -DSYSCONFDIR=%{_sysconfdir} \
169 rm -rf $RPM_BUILD_ROOT
171 %{__make} -C build install \
172 DESTDIR=$RPM_BUILD_ROOT
176 %{__mv} $RPM_BUILD_ROOT%{_docdir}/gnuradio-*/* inst-doc
178 # filter bundled cmake files for other libraries
179 cd $RPM_BUILD_ROOT%{_libdir}/cmake/gnuradio
182 FindUHD.cmake|Gr*.cmake|Gnu*.cmake)
191 %{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/gnome
193 # remove binary from noarch examples
194 %{__rm} $RPM_BUILD_ROOT%{_datadir}/gnuradio/examples/{audio/dial_tone,qt-gui/display_qt}
197 rm -rf $RPM_BUILD_ROOT
199 %post -p /sbin/ldconfig
200 %postun -p /sbin/ldconfig
203 %defattr(644,root,root,755)
205 %attr(755,root,root) %{_bindir}/gnuradio-*
206 %attr(755,root,root) %{_bindir}/gr-*
207 %attr(755,root,root) %{_bindir}/gr_*
208 %attr(755,root,root) %{_bindir}/grcc
209 %attr(755,root,root) %{_bindir}/polar_channel_construction
210 %attr(755,root,root) %{_bindir}/volk-config-info
211 %attr(755,root,root) %{_bindir}/volk_modtool
212 %attr(755,root,root) %{_bindir}/volk_profile
213 %attr(755,root,root) %{_libdir}/libgnuradio-*.so.*.*.*.*
214 %attr(755,root,root) %ghost %{_libdir}/libgnuradio-*.so.3.8.0
215 %attr(755,root,root) %{_libdir}/libvolk.so.*.*
216 %dir %{_sysconfdir}/gnuradio
217 %dir %{_sysconfdir}/gnuradio/conf.d
218 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnuradio/conf.d/*.conf
220 %dir %{py3_sitedir}/gnuradio
221 %{py3_sitedir}/gnuradio/*.py*
222 %dir %{py3_sitedir}/gnuradio/analog
223 %attr(755,root,root) %{py3_sitedir}/gnuradio/analog/*.so
224 %{py3_sitedir}/gnuradio/analog/*.py*
226 %dir %{py3_sitedir}/gnuradio/audio
227 %attr(755,root,root) %{py3_sitedir}/gnuradio/audio/*.so
228 %{py3_sitedir}/gnuradio/audio/*.py*
230 %dir %{py3_sitedir}/gnuradio/blocks
231 %attr(755,root,root) %{py3_sitedir}/gnuradio/blocks/*.so
232 %{py3_sitedir}/gnuradio/blocks/*.py*
234 %dir %{py3_sitedir}/gnuradio/channels
235 %attr(755,root,root) %{py3_sitedir}/gnuradio/channels/*.so
236 %{py3_sitedir}/gnuradio/channels/*.py*
238 %{py3_sitedir}/gnuradio/ctrlport
240 %dir %{py3_sitedir}/gnuradio/digital
241 %attr(755,root,root) %{py3_sitedir}/gnuradio/digital/*.so
242 %{py3_sitedir}/gnuradio/digital/*.py*
243 %{py3_sitedir}/gnuradio/digital/utils
245 %dir %{py3_sitedir}/gnuradio/dtv
246 %{py3_sitedir}/gnuradio/dtv/*.py*
247 %attr(755,root,root) %{py3_sitedir}/gnuradio/dtv/_dtv_swig.so
249 %dir %{py3_sitedir}/gnuradio/fec
250 %attr(755,root,root) %{py3_sitedir}/gnuradio/fec/*.so
251 %{py3_sitedir}/gnuradio/fec/*.py*
252 %dir %{py3_sitedir}/gnuradio/fec/LDPC
253 %{py3_sitedir}/gnuradio/fec/LDPC/*.py*
254 %dir %{py3_sitedir}/gnuradio/fec/polar
255 %{py3_sitedir}/gnuradio/fec/polar/*.py*
257 %dir %{py3_sitedir}/gnuradio/fft
258 %attr(755,root,root) %{py3_sitedir}/gnuradio/fft/*.so
259 %{py3_sitedir}/gnuradio/fft/*.py*
261 %dir %{py3_sitedir}/gnuradio/filter
262 %attr(755,root,root) %{py3_sitedir}/gnuradio/filter/*.so
263 %{py3_sitedir}/gnuradio/filter/*.py*
265 %dir %{py3_sitedir}/gnuradio/gr
266 %attr(755,root,root) %{py3_sitedir}/gnuradio/gr/*.so
267 %{py3_sitedir}/gnuradio/gr/*.py*
269 %{py3_sitedir}/gnuradio/grc
270 %{py3_sitedir}/gnuradio/gru
272 %dir %{py3_sitedir}/gnuradio/qtgui
273 %attr(755,root,root) %{py3_sitedir}/gnuradio/qtgui/*.so
274 %{py3_sitedir}/gnuradio/qtgui/*.py*
276 %dir %{py3_sitedir}/gnuradio/trellis
277 %attr(755,root,root) %{py3_sitedir}/gnuradio/trellis/*.so
278 %{py3_sitedir}/gnuradio/trellis/*.py*
280 %dir %{py3_sitedir}/gnuradio/video_sdl
281 %attr(755,root,root) %{py3_sitedir}/gnuradio/video_sdl/*.so
282 %{py3_sitedir}/gnuradio/video_sdl/*.py*
284 %dir %{py3_sitedir}/gnuradio/vocoder
285 %attr(755,root,root) %{py3_sitedir}/gnuradio/vocoder/*.so
286 %{py3_sitedir}/gnuradio/vocoder/*.py*
288 %dir %{py3_sitedir}/gnuradio/wavelet
289 %attr(755,root,root) %{py3_sitedir}/gnuradio/wavelet/*.so
290 %{py3_sitedir}/gnuradio/wavelet/*.py*
292 %dir %{py3_sitedir}/gnuradio/zeromq
293 %attr(755,root,root) %{py3_sitedir}/gnuradio/zeromq/*.so
294 %{py3_sitedir}/gnuradio/zeromq/*.py*
296 %dir %{py3_sitedir}/pmt
297 %attr(755,root,root) %{py3_sitedir}/pmt/_pmt_swig.so
298 %{py3_sitedir}/pmt/*.py*
299 %{py3_sitedir}/volk_modtool
302 %exclude %{_datadir}/gnuradio/examples
304 %dir %{_libexecdir}/gnuradio
305 %attr(755,root,root) %{_libexecdir}/gnuradio/grc_setup_freedesktop
307 %{_desktopdir}/gnuradio-grc.desktop
308 %{_iconsdir}/hicolor/*x*/apps/gnuradio-grc.png
309 %{_datadir}/mime/packages/gnuradio-grc.xml
312 %defattr(644,root,root,755)
313 %{_includedir}/gnuradio
316 %attr(755,root,root) %{_libdir}/libgnuradio-*.so
317 %attr(755,root,root) %{_libdir}/libvolk.so
318 %{_pkgconfigdir}/gnuradio-*.pc
319 %{_pkgconfigdir}/volk.pc
320 %{_libdir}/cmake/gnuradio
321 %{_libdir}/cmake/volk
324 %defattr(644,root,root,755)
328 %defattr(644,root,root,755)
329 %{_datadir}/gnuradio/examples