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 URL: http://www.gnuradio.org/
17 BuildRequires: Qt5Core-devel
18 BuildRequires: Qt5DBus-devel
19 BuildRequires: Qt5Declarative-devel
20 BuildRequires: Qt5Designer-devel
21 BuildRequires: Qt5Gui-devel
22 BuildRequires: Qt5Help-devel
23 BuildRequires: Qt5Network-devel
24 BuildRequires: Qt5OpenGL-devel
25 BuildRequires: Qt5Script-devel
26 BuildRequires: Qt5ScriptTools-devel
27 BuildRequires: Qt5Sql-devel
28 BuildRequires: Qt5Svg-devel
29 BuildRequires: Qt5Test-devel
30 BuildRequires: Qt5UiTools-devel
31 BuildRequires: Qt5WebKit-devel
32 BuildRequires: Qt5Xml-devel
33 BuildRequires: Qt5XmlPatterns-devel
34 BuildRequires: SDL-devel >= 1.2.0
35 BuildRequires: alsa-lib-devel >= 0.9
36 BuildRequires: boost-devel >= 1.53
37 BuildRequires: cmake >= 2.6
38 BuildRequires: cppunit-devel >= 1.9.14
39 BuildRequires: cppzmq-devel
40 BuildRequires: doxygen >= 1.5
41 BuildRequires: fftw3-devel >= 3.0
42 BuildRequires: fftw3-single-devel >= 3.0
43 BuildRequires: gsl-devel >= 1.10
44 BuildRequires: ice-devel
45 BuildRequires: jack-audio-connection-kit-devel >= 0.8
46 BuildRequires: libusb-devel
47 BuildRequires: log4cpp-devel
48 BuildRequires: orc-devel >= 0.4.11
49 BuildRequires: pkgconfig
50 BuildRequires: portaudio-devel >= 19
52 BuildRequires: python3-PyOpenGL
53 BuildRequires: sip-PyQt5
55 BuildRequires: python3-PyYAML
56 BuildRequires: python3-click
57 BuildRequires: python3-devel >= 2.5
58 BuildRequires: python3-devel-tools
59 BuildRequires: python3-lxml >= 1.3.6
60 BuildRequires: python3-numpy >= 1.1.0
61 BuildRequires: qt5-build
62 BuildRequires: qt5-qmake
63 BuildRequires: qwt5-devel
64 BuildRequires: sphinx-pdg
65 BuildRequires: swig-python >= 1.3.31
66 BuildRequires: texlive-latex
67 %{?with_uhd:BuildRequires: uhd-devel >= 3.0.0}
68 BuildRequires: xdg-utils
70 BuildConflicts: python-thrift
72 Requires: python3-PyQt5
73 Requires: python3-PyYAML
74 Requires: python3-click
75 Requires: python3-lxml
76 Requires: python3-numpy
77 Requires: python3-scipy
78 Obsoletes: grc < 0.80-1
79 Obsoletes: usrp < 3.3.0-1
80 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
82 %define filterout_cpp -pipe
85 GNU Radio is a collection of software that when combined with minimal
86 hardware, allows the construction of radios where the actual waveforms
87 transmitted and received are defined by software. What this means is
88 that it turns the digital modulation schemes used in today's high
89 performance wireless devices into software problems.
92 Summary: GNU Radio development files
93 Group: Applications/Engineering
94 Requires: %{name} = %{version}-%{release}
96 Obsoletes: usrp-devel < 3.3.0-1
104 Requires: %{name} = %{version}-%{release}
105 %if "%{_rpmversion}" >= "5"
110 GNU Radio Documentation.
113 Summary: GNU Radio examples
115 Requires: %{name} = %{version}-%{release}
116 %if "%{_rpmversion}" >= "5"
120 %description examples
132 -DCMAKE_BUILD_TYPE=None \
133 -DENABLE_DOXYGEN=FORCE \
134 -DENABLE_GR_ATSC=FORCE \
135 -DENABLE_GR_AUDIO=FORCE \
137 -DENABLE-GR_COMEDI=FORCE \
138 -DENABLE_GR_CORE=FORCE \
139 -DENABLE_GR_FCD=FORCE \
140 -DENABLE_GR_NOAA=FORCE \
141 -DENABLE_GR_PAGER=FORCE \
142 -DENABLE_GR_TRELLIS=FORCE \
143 -DENABLE_GRUEL=FORCE \
144 %{?with_uhd:-DENABLE_GR_UHD=FORCE} \
145 -DENABLE_GR_UTILS=FORCE \
146 -DENABLE_GR_VIDEO_SDL=FORCE \
147 -DENABLE_GR_VOCODER=FORCE \
148 -DENABLE_GR_WXGUI=FORCE \
149 -DENABLE_PYTHON=FORCE \
150 -DENABLE_VOLK=FORCE \
151 -DSYSCONFDIR=%{_sysconfdir} \
156 rm -rf $RPM_BUILD_ROOT
158 %{__make} -C build install \
159 DESTDIR=$RPM_BUILD_ROOT
163 mv $RPM_BUILD_ROOT%{_docdir}/gnuradio-*/* inst-doc
165 # filter bundled cmake files for other libraries
166 cd $RPM_BUILD_ROOT%{_libdir}/cmake/gnuradio
169 FindUHD.cmake|Gr*.cmake|Gnu*.cmake)
177 # remove binary from noarch examples
178 %{__rm} $RPM_BUILD_ROOT%{_datadir}/gnuradio/examples/{audio/dial_tone,qt-gui/display_qt}
181 rm -rf $RPM_BUILD_ROOT
183 %post -p /sbin/ldconfig
184 %postun -p /sbin/ldconfig
187 %defattr(644,root,root,755)
189 %attr(755,root,root) %{_bindir}/gnuradio-*
190 %attr(755,root,root) %{_bindir}/gr-*
191 %attr(755,root,root) %{_bindir}/gr_*
192 %attr(755,root,root) %{_bindir}/grcc
193 %attr(755,root,root) %{_bindir}/polar_channel_construction
194 %attr(755,root,root) %{_bindir}/volk-config-info
195 %attr(755,root,root) %{_bindir}/volk_modtool
196 %attr(755,root,root) %{_bindir}/volk_profile
197 %attr(755,root,root) %{_libdir}/libgnuradio-*.so.*.*.*.*
198 %attr(755,root,root) %ghost %{_libdir}/libgnuradio-*.so.3.8.0
199 %attr(755,root,root) %{_libdir}/libvolk.so.*.*
200 %dir %{_sysconfdir}/gnuradio
201 %dir %{_sysconfdir}/gnuradio/conf.d
202 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnuradio/conf.d/*.conf
204 %dir %{py3_sitedir}/gnuradio
205 %{py3_sitedir}/gnuradio/*.py*
206 %dir %{py3_sitedir}/gnuradio/analog
207 %attr(755,root,root) %{py3_sitedir}/gnuradio/analog/*.so
208 %{py3_sitedir}/gnuradio/analog/*.py*
210 %dir %{py3_sitedir}/gnuradio/audio
211 %attr(755,root,root) %{py3_sitedir}/gnuradio/audio/*.so
212 %{py3_sitedir}/gnuradio/audio/*.py*
214 %dir %{py3_sitedir}/gnuradio/blocks
215 %attr(755,root,root) %{py3_sitedir}/gnuradio/blocks/*.so
216 %{py3_sitedir}/gnuradio/blocks/*.py*
218 %dir %{py3_sitedir}/gnuradio/channels
219 %attr(755,root,root) %{py3_sitedir}/gnuradio/channels/*.so
220 %{py3_sitedir}/gnuradio/channels/*.py*
222 %{py3_sitedir}/gnuradio/ctrlport
224 %dir %{py3_sitedir}/gnuradio/digital
225 %attr(755,root,root) %{py3_sitedir}/gnuradio/digital/*.so
226 %{py3_sitedir}/gnuradio/digital/*.py*
227 %{py3_sitedir}/gnuradio/digital/utils
229 %dir %{py3_sitedir}/gnuradio/dtv
230 %{py3_sitedir}/gnuradio/dtv/*.py*
231 %attr(755,root,root) %{py3_sitedir}/gnuradio/dtv/_dtv_swig.so
233 %dir %{py3_sitedir}/gnuradio/fec
234 %attr(755,root,root) %{py3_sitedir}/gnuradio/fec/*.so
235 %{py3_sitedir}/gnuradio/fec/*.py*
236 %dir %{py3_sitedir}/gnuradio/fec/LDPC
237 %{py3_sitedir}/gnuradio/fec/LDPC/*.py*
238 %dir %{py3_sitedir}/gnuradio/fec/polar
239 %{py3_sitedir}/gnuradio/fec/polar/*.py*
241 %dir %{py3_sitedir}/gnuradio/fft
242 %attr(755,root,root) %{py3_sitedir}/gnuradio/fft/*.so
243 %{py3_sitedir}/gnuradio/fft/*.py*
245 %dir %{py3_sitedir}/gnuradio/filter
246 %attr(755,root,root) %{py3_sitedir}/gnuradio/filter/*.so
247 %{py3_sitedir}/gnuradio/filter/*.py*
249 %dir %{py3_sitedir}/gnuradio/gr
250 %attr(755,root,root) %{py3_sitedir}/gnuradio/gr/*.so
251 %{py3_sitedir}/gnuradio/gr/*.py*
253 %{py3_sitedir}/gnuradio/grc
254 %{py3_sitedir}/gnuradio/gru
256 %dir %{py3_sitedir}/gnuradio/qtgui
257 %attr(755,root,root) %{py3_sitedir}/gnuradio/qtgui/*.so
258 %{py3_sitedir}/gnuradio/qtgui/*.py*
260 %dir %{py3_sitedir}/gnuradio/trellis
261 %attr(755,root,root) %{py3_sitedir}/gnuradio/trellis/*.so
262 %{py3_sitedir}/gnuradio/trellis/*.py*
264 %dir %{py3_sitedir}/gnuradio/video_sdl
265 %attr(755,root,root) %{py3_sitedir}/gnuradio/video_sdl/*.so
266 %{py3_sitedir}/gnuradio/video_sdl/*.py*
268 %dir %{py3_sitedir}/gnuradio/vocoder
269 %attr(755,root,root) %{py3_sitedir}/gnuradio/vocoder/*.so
270 %{py3_sitedir}/gnuradio/vocoder/*.py*
272 %dir %{py3_sitedir}/gnuradio/wavelet
273 %attr(755,root,root) %{py3_sitedir}/gnuradio/wavelet/*.so
274 %{py3_sitedir}/gnuradio/wavelet/*.py*
276 %dir %{py3_sitedir}/gnuradio/zeromq
277 %attr(755,root,root) %{py3_sitedir}/gnuradio/zeromq/*.so
278 %{py3_sitedir}/gnuradio/zeromq/*.py*
280 %dir %{py3_sitedir}/pmt
281 %attr(755,root,root) %{py3_sitedir}/pmt/_pmt_swig.so
282 %{py3_sitedir}/pmt/*.py*
283 %{py3_sitedir}/volk_modtool
286 %exclude %{_datadir}/gnuradio/examples
288 %dir %{_libexecdir}/gnuradio
289 %attr(755,root,root) %{_libexecdir}/gnuradio/grc_setup_freedesktop
291 %{_desktopdir}/gnuradio-grc.desktop
292 %{_iconsdir}/hicolor/*x*/apps/gnuradio-grc.png
293 %{_datadir}/mime/packages/gnuradio-grc.xml
296 %defattr(644,root,root,755)
297 %{_includedir}/gnuradio
300 %attr(755,root,root) %{_libdir}/libgnuradio-*.so
301 %attr(755,root,root) %{_libdir}/libvolk.so
302 %{_pkgconfigdir}/gnuradio-*.pc
303 %{_pkgconfigdir}/volk.pc
304 %dir %{_libdir}/cmake/gnuradio
305 %{_libdir}/cmake/gnuradio/Gnu*.cmake
306 %{_libdir}/cmake/gnuradio/Gr*.cmake
307 %{?with_uhd:%{_libdir}/cmake/gnuradio/FindUHD.cmake}
308 %{_libdir}/cmake/volk
311 %defattr(644,root,root,755)
315 %defattr(644,root,root,755)
316 %{_datadir}/gnuradio/examples