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
140 export CFLAGS="%{rpmcflags} %{rpmcppflags}"
141 export CXXFLAGS="%{rpmcxxflags} %{rpmcppflags}"
142 export LDFLAGS="%{rpmldflags}"
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