]>
Commit | Line | Data |
---|---|---|
bd978e6e | 1 | # TODO: |
f7595bf5 AM |
2 | # - fix uhd build (create uhd.spec first) |
3 | # - GUIs split/subpackages? | |
bd978e6e | 4 | %bcond_with uhd |
79e30fd3 | 5 | |
bd978e6e AM |
6 | Summary: Software defined radio framework |
7 | Name: gnuradio | |
921f46a9 JR |
8 | Version: 3.7.13.4 |
9 | Release: 1 | |
bd978e6e AM |
10 | License: GPL v3 |
11 | Group: Applications/Engineering | |
9bfaf30a | 12 | Source0: http://gnuradio.org/releases/gnuradio/%{name}-%{version}.tar.gz |
921f46a9 | 13 | # Source0-md5: b38d9cfa7cb4dcb97f5d19ebcabe8dcb |
d6476722 JR |
14 | Patch0: link.patch |
15 | Patch1: gsl.patch | |
16 | Patch2: libexec.patch | |
921f46a9 | 17 | Patch3: qwt-includes.patch |
5da91619 | 18 | URL: http://www.gnuradio.org/ |
ccd7cc61 TP |
19 | BuildRequires: Qt3Support >= 4.8 |
20 | BuildRequires: QtCLucene-devel >= 4.8 | |
21 | BuildRequires: QtCore-devel >= 4.8 | |
22 | BuildRequires: QtDBus-devel >= 4.8 | |
23 | BuildRequires: QtDeclarative-devel >= 4.8 | |
24 | BuildRequires: QtDesigner-devel >= 4.8 | |
25 | BuildRequires: QtGui-devel >= 4.8 | |
26 | BuildRequires: QtHelp-devel >= 4.8 | |
27 | BuildRequires: QtNetwork-devel >= 4.8 | |
28 | BuildRequires: QtOpenGL-devel >= 4.8 | |
29 | BuildRequires: QtScript-devel >= 4.8 | |
30 | BuildRequires: QtScriptTools-devel >= 4.8 | |
31 | BuildRequires: QtSql-devel >= 4.8 | |
32 | BuildRequires: QtSvg-devel >= 4.8 | |
33 | BuildRequires: QtTest-devel >= 4.8 | |
34 | BuildRequires: QtUiTools-devel >= 4.8 | |
35 | BuildRequires: QtWebKit-devel >= 4.8 | |
36 | BuildRequires: QtXml-devel >= 4.8 | |
37 | BuildRequires: QtXmlPatterns-devel >= 4.8 | |
79e30fd3 | 38 | BuildRequires: SDL-devel >= 1.2.0 |
ccd7cc61 | 39 | BuildRequires: alsa-lib-devel >= 0.9 |
d6476722 | 40 | BuildRequires: boost-devel >= 1.53 |
ccd7cc61 TP |
41 | BuildRequires: cmake >= 2.6 |
42 | BuildRequires: cppunit-devel >= 1.9.14 | |
43 | BuildRequires: doxygen >= 1.5 | |
5da91619 | 44 | BuildRequires: fftw3-devel >= 3.0 |
40931f23 | 45 | BuildRequires: fftw3-single-devel >= 3.0 |
5da91619 | 46 | BuildRequires: gsl-devel >= 1.10 |
dd7e9430 | 47 | BuildRequires: ice-devel |
ccd7cc61 | 48 | BuildRequires: jack-audio-connection-kit-devel >= 0.8 |
bd978e6e | 49 | BuildRequires: libusb-devel |
ccd7cc61 TP |
50 | BuildRequires: log4cpp-devel |
51 | BuildRequires: orc-devel >= 0.4.11 | |
40931f23 | 52 | BuildRequires: pkgconfig |
ccd7cc61 | 53 | BuildRequires: portaudio-devel >= 19 |
9356aa73 | 54 | # R/S instead? |
ccd7cc61 | 55 | BuildRequires: python-PyOpenGL |
8d8f9a04 | 56 | BuildRequires: sip-PyQt4 >= 4.4 |
9356aa73 | 57 | # R/S instead? |
ccd7cc61 | 58 | BuildRequires: python-PyQwt-devel >= 5.2 |
5da91619 TP |
59 | BuildRequires: python-cheetah >= 2.0.0 |
60 | BuildRequires: python-devel >= 2.5 | |
9bdafdd3 | 61 | BuildRequires: python-devel-tools |
9356aa73 | 62 | BuildRequires: python-ice |
5da91619 | 63 | BuildRequires: python-lxml >= 1.3.6 |
ccd7cc61 | 64 | BuildRequires: python-numpy >= 1.1.0 |
5da91619 | 65 | BuildRequires: python-pygtk-devel >= 2.10.0 |
9356aa73 | 66 | # R/S instead? |
ccd7cc61 | 67 | BuildRequires: python-wxPython-devel >= 2.8 |
9356aa73 | 68 | BuildRequires: qt4-qmake >= 4.2.0 |
ccd7cc61 | 69 | BuildRequires: qwt-devel >= 5.2 |
40931f23 | 70 | BuildRequires: sphinx-pdg |
ccd7cc61 | 71 | BuildRequires: swig-python >= 1.3.31 |
bd978e6e | 72 | BuildRequires: texlive-latex |
ccd7cc61 | 73 | %{?with_uhd:BuildRequires: uhd-devel >= 3.0.0} |
bd978e6e AM |
74 | BuildRequires: xdg-utils |
75 | BuildRequires: xmlto | |
bd978e6e | 76 | Requires: portaudio |
27dc4c8e | 77 | Requires: python-PyQt4 |
bd978e6e AM |
78 | Requires: python-cheetah |
79 | Requires: python-lxml | |
80 | Requires: python-numpy | |
81 | Requires: python-pygtk-gtk | |
a9e3794d | 82 | Requires: python-scipy |
27dc4c8e | 83 | Requires: python-wxPython |
bd978e6e AM |
84 | Obsoletes: grc < 0.80-1 |
85 | Obsoletes: usrp < 3.3.0-1 | |
86 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
87 | ||
37537e21 TP |
88 | %define filterout_cpp -pipe |
89 | ||
bd978e6e AM |
90 | %description |
91 | GNU Radio is a collection of software that when combined with minimal | |
92 | hardware, allows the construction of radios where the actual waveforms | |
93 | transmitted and received are defined by software. What this means is | |
94 | that it turns the digital modulation schemes used in today's high | |
95 | performance wireless devices into software problems. | |
96 | ||
97 | %package devel | |
9d5b7836 | 98 | Summary: GNU Radio development files |
bd978e6e AM |
99 | Group: Applications/Engineering |
100 | Requires: %{name} = %{version}-%{release} | |
f7595bf5 | 101 | Requires: boost-devel |
bd978e6e AM |
102 | Obsoletes: usrp-devel < 3.3.0-1 |
103 | ||
104 | %description devel | |
ccd7cc61 | 105 | GNU Radio Headers. |
bd978e6e | 106 | |
79e30fd3 ER |
107 | %package doc |
108 | Summary: GNU Radio | |
109 | Group: Documentation | |
110 | Requires: %{name} = %{version}-%{release} | |
111 | %if "%{_rpmversion}" >= "5" | |
112 | BuildArch: noarch | |
113 | %endif | |
114 | ||
115 | %description doc | |
116 | GNU Radio Documentation. | |
117 | ||
bd978e6e | 118 | %package examples |
9d5b7836 | 119 | Summary: GNU Radio examples |
79e30fd3 | 120 | Group: Documentation |
bd978e6e | 121 | Requires: %{name} = %{version}-%{release} |
79e30fd3 ER |
122 | %if "%{_rpmversion}" >= "5" |
123 | BuildArch: noarch | |
124 | %endif | |
bd978e6e AM |
125 | |
126 | %description examples | |
ccd7cc61 | 127 | GNU Radio examples. |
bd978e6e AM |
128 | |
129 | %prep | |
9d5b7836 | 130 | %setup -q |
d6476722 JR |
131 | %patch0 -p1 |
132 | %patch1 -p1 | |
133 | %patch2 -p1 | |
921f46a9 | 134 | %patch3 -p1 |
1805fc77 | 135 | |
bd978e6e | 136 | %build |
9d5b7836 TP |
137 | %{__mkdir_p} build |
138 | cd build | |
d6476722 | 139 | %cmake -Wno-dev \ |
1805fc77 | 140 | -DCMAKE_BUILD_TYPE=None \ |
f7595bf5 AM |
141 | -DENABLE_DOXYGEN=FORCE \ |
142 | -DENABLE_GR_ATSC=FORCE \ | |
143 | -DENABLE_GR_AUDIO=FORCE \ | |
144 | -DENABLE_GRC=FORCE \ | |
145 | -DENABLE-GR_COMEDI=FORCE \ | |
146 | -DENABLE_GR_CORE=FORCE \ | |
147 | -DENABLE_GR_FCD=FORCE \ | |
148 | -DENABLE_GR_NOAA=FORCE \ | |
149 | -DENABLE_GR_PAGER=FORCE \ | |
150 | -DENABLE_GR_TRELLIS=FORCE \ | |
151 | -DENABLE_GRUEL=FORCE \ | |
152 | %{?with_uhd:-DENABLE_GR_UHD=FORCE} \ | |
153 | -DENABLE_GR_UTILS=FORCE \ | |
154 | -DENABLE_GR_VIDEO_SDL=FORCE \ | |
155 | -DENABLE_GR_VOCODER=FORCE \ | |
156 | -DENABLE_GR_WXGUI=FORCE \ | |
157 | -DENABLE_PYTHON=FORCE \ | |
158 | -DENABLE_VOLK=FORCE \ | |
159 | -DSYSCONFDIR=%{_sysconfdir} \ | |
160 | .. | |
bd978e6e AM |
161 | %{__make} |
162 | ||
163 | %install | |
164 | rm -rf $RPM_BUILD_ROOT | |
165 | ||
f7595bf5 | 166 | %{__make} -C build install \ |
bd978e6e AM |
167 | DESTDIR=$RPM_BUILD_ROOT |
168 | ||
27dc4c8e | 169 | rm -rf inst-doc |
a9e3794d | 170 | install -d inst-doc |
27dc4c8e | 171 | mv $RPM_BUILD_ROOT%{_docdir}/gnuradio-*/* inst-doc |
a9e3794d | 172 | |
f7595bf5 AM |
173 | # filter bundled cmake files for other libraries |
174 | cd $RPM_BUILD_ROOT%{_libdir}/cmake/gnuradio | |
175 | for f in *.cmake; do | |
176 | case $f in | |
177 | FindUHD.cmake|Gr*.cmake|Gnu*.cmake) | |
178 | ;; | |
179 | *) | |
180 | rm "$f" | |
181 | ;; | |
182 | esac | |
183 | done | |
400a7613 | 184 | |
9430b8d3 | 185 | # remove binary from noarch examples |
ff8df080 | 186 | %{__rm} $RPM_BUILD_ROOT%{_datadir}/gnuradio/examples/{audio/dial_tone,fcd/fcd_nfm_rx} |
9430b8d3 | 187 | |
bd978e6e AM |
188 | %clean |
189 | rm -rf $RPM_BUILD_ROOT | |
190 | ||
27dc4c8e ER |
191 | %post -p /sbin/ldconfig |
192 | %postun -p /sbin/ldconfig | |
bd978e6e AM |
193 | |
194 | %files | |
195 | %defattr(644,root,root,755) | |
9d5b7836 | 196 | %doc README.hacking |
a9e3794d | 197 | %attr(755,root,root) %{_bindir}/gnuradio-* |
d6476722 | 198 | %attr(755,root,root) %{_bindir}/gr-* |
9d5b7836 TP |
199 | %attr(755,root,root) %{_bindir}/gr_* |
200 | %attr(755,root,root) %{_bindir}/grcc | |
d6476722 | 201 | %attr(755,root,root) %{_bindir}/polar_channel_construction |
f7595bf5 AM |
202 | %attr(755,root,root) %{_bindir}/usrp_flex |
203 | %attr(755,root,root) %{_bindir}/usrp_flex_all | |
204 | %attr(755,root,root) %{_bindir}/usrp_flex_band | |
1805fc77 | 205 | %attr(755,root,root) %{_bindir}/volk-config-info |
f7595bf5 AM |
206 | %attr(755,root,root) %{_bindir}/volk_modtool |
207 | %attr(755,root,root) %{_bindir}/volk_profile | |
4892c550 ER |
208 | %attr(755,root,root) %{_libdir}/libgnuradio-*.so.*.* |
209 | %attr(755,root,root) %ghost %{_libdir}/libgnuradio-*.so.0 | |
f7595bf5 | 210 | %attr(755,root,root) %{_libdir}/libvolk.so.*.* |
a9e3794d AM |
211 | %dir %{_sysconfdir}/gnuradio |
212 | %dir %{_sysconfdir}/gnuradio/conf.d | |
213 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnuradio/conf.d/*.conf | |
9d5b7836 | 214 | |
f7595bf5 AM |
215 | %dir %{py_sitedir}/gnuradio |
216 | %{py_sitedir}/gnuradio/*.py* | |
217 | %dir %{py_sitedir}/gnuradio/analog | |
218 | %attr(755,root,root) %{py_sitedir}/gnuradio/analog/*.so | |
219 | %{py_sitedir}/gnuradio/analog/*.py* | |
220 | ||
221 | %dir %{py_sitedir}/gnuradio/atsc | |
222 | %attr(755,root,root) %{py_sitedir}/gnuradio/atsc/*.so | |
223 | %{py_sitedir}/gnuradio/atsc/*.py* | |
224 | ||
225 | %dir %{py_sitedir}/gnuradio/audio | |
226 | %attr(755,root,root) %{py_sitedir}/gnuradio/audio/*.so | |
227 | %{py_sitedir}/gnuradio/audio/*.py* | |
228 | ||
229 | %dir %{py_sitedir}/gnuradio/blocks | |
230 | %attr(755,root,root) %{py_sitedir}/gnuradio/blocks/*.so | |
231 | %{py_sitedir}/gnuradio/blocks/*.py* | |
232 | ||
233 | %dir %{py_sitedir}/gnuradio/channels | |
234 | %attr(755,root,root) %{py_sitedir}/gnuradio/channels/*.so | |
235 | %{py_sitedir}/gnuradio/channels/*.py* | |
236 | ||
237 | %{py_sitedir}/gnuradio/ctrlport | |
238 | ||
239 | %dir %{py_sitedir}/gnuradio/digital | |
240 | %attr(755,root,root) %{py_sitedir}/gnuradio/digital/*.so | |
241 | %{py_sitedir}/gnuradio/digital/*.py* | |
242 | %{py_sitedir}/gnuradio/digital/utils | |
243 | ||
1805fc77 AM |
244 | %dir %{py_sitedir}/gnuradio/dtv |
245 | %{py_sitedir}/gnuradio/dtv/*.py* | |
246 | %attr(755,root,root) %{py_sitedir}/gnuradio/dtv/_dtv_swig.so | |
247 | ||
f7595bf5 AM |
248 | %dir %{py_sitedir}/gnuradio/fcd |
249 | %attr(755,root,root) %{py_sitedir}/gnuradio/fcd/*.so | |
250 | %{py_sitedir}/gnuradio/fcd/*.py* | |
251 | ||
252 | %dir %{py_sitedir}/gnuradio/fec | |
253 | %attr(755,root,root) %{py_sitedir}/gnuradio/fec/*.so | |
254 | %{py_sitedir}/gnuradio/fec/*.py* | |
d6476722 JR |
255 | %dir %{py_sitedir}/gnuradio/fec/LDPC |
256 | %{py_sitedir}/gnuradio/fec/LDPC/*.py* | |
257 | %dir %{py_sitedir}/gnuradio/fec/polar | |
258 | %{py_sitedir}/gnuradio/fec/polar/*.py* | |
f7595bf5 AM |
259 | |
260 | %dir %{py_sitedir}/gnuradio/fft | |
261 | %attr(755,root,root) %{py_sitedir}/gnuradio/fft/*.so | |
262 | %{py_sitedir}/gnuradio/fft/*.py* | |
263 | ||
264 | %dir %{py_sitedir}/gnuradio/filter | |
265 | %attr(755,root,root) %{py_sitedir}/gnuradio/filter/*.so | |
266 | %{py_sitedir}/gnuradio/filter/*.py* | |
267 | ||
268 | %dir %{py_sitedir}/gnuradio/gr | |
269 | %attr(755,root,root) %{py_sitedir}/gnuradio/gr/*.so | |
270 | %{py_sitedir}/gnuradio/gr/*.py* | |
271 | ||
272 | %{py_sitedir}/gnuradio/grc | |
273 | %{py_sitedir}/gnuradio/gru | |
274 | %{py_sitedir}/gnuradio/modtool | |
275 | ||
276 | %dir %{py_sitedir}/gnuradio/noaa | |
277 | %attr(755,root,root) %{py_sitedir}/gnuradio/noaa/*.so | |
278 | %{py_sitedir}/gnuradio/noaa/*.py* | |
279 | ||
280 | %dir %{py_sitedir}/gnuradio/pager | |
281 | %attr(755,root,root) %{py_sitedir}/gnuradio/pager/*.so | |
282 | %{py_sitedir}/gnuradio/pager/*.py* | |
283 | ||
284 | %dir %{py_sitedir}/gnuradio/qtgui | |
285 | %attr(755,root,root) %{py_sitedir}/gnuradio/qtgui/*.so | |
286 | %{py_sitedir}/gnuradio/qtgui/*.py* | |
287 | ||
288 | %dir %{py_sitedir}/gnuradio/trellis | |
289 | %attr(755,root,root) %{py_sitedir}/gnuradio/trellis/*.so | |
290 | %{py_sitedir}/gnuradio/trellis/*.py* | |
291 | ||
292 | %dir %{py_sitedir}/gnuradio/video_sdl | |
293 | %attr(755,root,root) %{py_sitedir}/gnuradio/video_sdl/*.so | |
294 | %{py_sitedir}/gnuradio/video_sdl/*.py* | |
295 | ||
296 | %dir %{py_sitedir}/gnuradio/vocoder | |
297 | %attr(755,root,root) %{py_sitedir}/gnuradio/vocoder/*.so | |
298 | %{py_sitedir}/gnuradio/vocoder/*.py* | |
299 | ||
300 | %dir %{py_sitedir}/gnuradio/wavelet | |
301 | %attr(755,root,root) %{py_sitedir}/gnuradio/wavelet/*.so | |
302 | %{py_sitedir}/gnuradio/wavelet/*.py* | |
303 | ||
304 | %dir %{py_sitedir}/gnuradio/wxgui | |
305 | %attr(755,root,root) %{py_sitedir}/gnuradio/wxgui/*.so | |
306 | %{py_sitedir}/gnuradio/wxgui/*.py* | |
307 | %{py_sitedir}/gnuradio/wxgui/forms | |
308 | %{py_sitedir}/gnuradio/wxgui/plotter | |
309 | ||
921f46a9 JR |
310 | %dir %{py_sitedir}/gnuradio/zeromq |
311 | %attr(755,root,root) %{py_sitedir}/gnuradio/zeromq/*.so | |
312 | %{py_sitedir}/gnuradio/zeromq/*.py* | |
313 | ||
f7595bf5 AM |
314 | %{py_sitedir}/grc_gnuradio |
315 | %dir %{py_sitedir}/pmt | |
316 | %attr(755,root,root) %{py_sitedir}/pmt/_pmt_swig.so | |
317 | %{py_sitedir}/pmt/*.py* | |
318 | %{py_sitedir}/volk_modtool | |
9d5b7836 TP |
319 | |
320 | %{_datadir}/gnuradio | |
bd978e6e | 321 | %exclude %{_datadir}/gnuradio/examples |
bd978e6e | 322 | |
1805fc77 AM |
323 | %dir %{_libdir}/gnuradio |
324 | %attr(755,root,root) %{_libdir}/gnuradio/grc_setup_freedesktop | |
325 | ||
bd978e6e AM |
326 | %files devel |
327 | %defattr(644,root,root,755) | |
a9e3794d | 328 | %{_includedir}/gnuradio |
9d5b7836 TP |
329 | %{_includedir}/pmt |
330 | %{_includedir}/volk | |
a9e3794d | 331 | %attr(755,root,root) %{_libdir}/libgnuradio-*.so |
9d5b7836 | 332 | %attr(755,root,root) %{_libdir}/libvolk.so |
a9e3794d AM |
333 | %{_pkgconfigdir}/gnuradio-*.pc |
334 | %{_pkgconfigdir}/gr-wxgui.pc | |
9d5b7836 | 335 | %{_pkgconfigdir}/volk.pc |
f7595bf5 AM |
336 | %dir %{_libdir}/cmake/gnuradio |
337 | %{_libdir}/cmake/gnuradio/Gnu*.cmake | |
338 | %{_libdir}/cmake/gnuradio/Gr*.cmake | |
339 | %{?with_uhd:%{_libdir}/cmake/gnuradio/FindUHD.cmake} | |
340 | %{_libdir}/cmake/volk | |
bd978e6e | 341 | |
80987876 ER |
342 | %files doc |
343 | %defattr(644,root,root,755) | |
344 | %doc inst-doc/* | |
345 | ||
bd978e6e AM |
346 | %files examples |
347 | %defattr(644,root,root,755) | |
348 | %{_datadir}/gnuradio/examples |