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