]> git.pld-linux.org Git - packages/gnuradio.git/blob - gnuradio.spec
- updated to 3.7.13.4
[packages/gnuradio.git] / gnuradio.spec
1 # TODO:
2 # - fix uhd build (create uhd.spec first)
3 # - GUIs split/subpackages?
4 %bcond_with     uhd
5
6 Summary:        Software defined radio framework
7 Name:           gnuradio
8 Version:        3.7.13.4
9 Release:        1
10 License:        GPL v3
11 Group:          Applications/Engineering
12 Source0:        http://gnuradio.org/releases/gnuradio/%{name}-%{version}.tar.gz
13 # Source0-md5:  b38d9cfa7cb4dcb97f5d19ebcabe8dcb
14 Patch0:         link.patch
15 Patch1:         gsl.patch
16 Patch2:         libexec.patch
17 Patch3:         qwt-includes.patch
18 URL:            http://www.gnuradio.org/
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
38 BuildRequires:  SDL-devel >= 1.2.0
39 BuildRequires:  alsa-lib-devel >= 0.9
40 BuildRequires:  boost-devel >= 1.53
41 BuildRequires:  cmake >= 2.6
42 BuildRequires:  cppunit-devel >= 1.9.14
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:  ice-devel
48 BuildRequires:  jack-audio-connection-kit-devel >= 0.8
49 BuildRequires:  libusb-devel
50 BuildRequires:  log4cpp-devel
51 BuildRequires:  orc-devel >= 0.4.11
52 BuildRequires:  pkgconfig
53 BuildRequires:  portaudio-devel >= 19
54 # R/S instead?
55 BuildRequires:  python-PyOpenGL
56 BuildRequires:  sip-PyQt4 >= 4.4
57 # R/S instead?
58 BuildRequires:  python-PyQwt-devel >= 5.2
59 BuildRequires:  python-cheetah >= 2.0.0
60 BuildRequires:  python-devel >= 2.5
61 BuildRequires:  python-devel-tools
62 BuildRequires:  python-ice
63 BuildRequires:  python-lxml >= 1.3.6
64 BuildRequires:  python-numpy >= 1.1.0
65 BuildRequires:  python-pygtk-devel >= 2.10.0
66 # R/S instead?
67 BuildRequires:  python-wxPython-devel >= 2.8
68 BuildRequires:  qt4-qmake >= 4.2.0
69 BuildRequires:  qwt-devel >= 5.2
70 BuildRequires:  sphinx-pdg
71 BuildRequires:  swig-python >= 1.3.31
72 BuildRequires:  texlive-latex
73 %{?with_uhd:BuildRequires:      uhd-devel >= 3.0.0}
74 BuildRequires:  xdg-utils
75 BuildRequires:  xmlto
76 Requires:       portaudio
77 Requires:       python-PyQt4
78 Requires:       python-cheetah
79 Requires:       python-lxml
80 Requires:       python-numpy
81 Requires:       python-pygtk-gtk
82 Requires:       python-scipy
83 Requires:       python-wxPython
84 Obsoletes:      grc < 0.80-1
85 Obsoletes:      usrp < 3.3.0-1
86 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
87
88 %define         filterout_cpp   -pipe
89
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
98 Summary:        GNU Radio development files
99 Group:          Applications/Engineering
100 Requires:       %{name} = %{version}-%{release}
101 Requires:       boost-devel
102 Obsoletes:      usrp-devel < 3.3.0-1
103
104 %description devel
105 GNU Radio Headers.
106
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
118 %package examples
119 Summary:        GNU Radio examples
120 Group:          Documentation
121 Requires:       %{name} = %{version}-%{release}
122 %if "%{_rpmversion}" >= "5"
123 BuildArch:      noarch
124 %endif
125
126 %description examples
127 GNU Radio examples.
128
129 %prep
130 %setup -q
131 %patch0 -p1
132 %patch1 -p1
133 %patch2 -p1
134 %patch3 -p1
135
136 %build
137 %{__mkdir_p} build
138 cd build
139 %cmake -Wno-dev \
140         -DCMAKE_BUILD_TYPE=None \
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         ..
161 %{__make}
162
163 %install
164 rm -rf $RPM_BUILD_ROOT
165
166 %{__make} -C build install \
167         DESTDIR=$RPM_BUILD_ROOT
168
169 rm -rf inst-doc
170 install -d inst-doc
171 mv $RPM_BUILD_ROOT%{_docdir}/gnuradio-*/* inst-doc
172
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
184
185 # remove binary from noarch examples
186 %{__rm} $RPM_BUILD_ROOT%{_datadir}/gnuradio/examples/{audio/dial_tone,fcd/fcd_nfm_rx}
187
188 %clean
189 rm -rf $RPM_BUILD_ROOT
190
191 %post   -p /sbin/ldconfig
192 %postun -p /sbin/ldconfig
193
194 %files
195 %defattr(644,root,root,755)
196 %doc README.hacking
197 %attr(755,root,root) %{_bindir}/gnuradio-*
198 %attr(755,root,root) %{_bindir}/gr-*
199 %attr(755,root,root) %{_bindir}/gr_*
200 %attr(755,root,root) %{_bindir}/grcc
201 %attr(755,root,root) %{_bindir}/polar_channel_construction
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
205 %attr(755,root,root) %{_bindir}/volk-config-info
206 %attr(755,root,root) %{_bindir}/volk_modtool
207 %attr(755,root,root) %{_bindir}/volk_profile
208 %attr(755,root,root) %{_libdir}/libgnuradio-*.so.*.*
209 %attr(755,root,root) %ghost %{_libdir}/libgnuradio-*.so.0
210 %attr(755,root,root) %{_libdir}/libvolk.so.*.*
211 %dir %{_sysconfdir}/gnuradio
212 %dir %{_sysconfdir}/gnuradio/conf.d
213 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnuradio/conf.d/*.conf
214
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
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
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*
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*
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
310 %dir %{py_sitedir}/gnuradio/zeromq
311 %attr(755,root,root) %{py_sitedir}/gnuradio/zeromq/*.so
312 %{py_sitedir}/gnuradio/zeromq/*.py*
313
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
319
320 %{_datadir}/gnuradio
321 %exclude %{_datadir}/gnuradio/examples
322
323 %dir %{_libdir}/gnuradio
324 %attr(755,root,root) %{_libdir}/gnuradio/grc_setup_freedesktop
325
326 %files devel
327 %defattr(644,root,root,755)
328 %{_includedir}/gnuradio
329 %{_includedir}/pmt
330 %{_includedir}/volk
331 %attr(755,root,root) %{_libdir}/libgnuradio-*.so
332 %attr(755,root,root) %{_libdir}/libvolk.so
333 %{_pkgconfigdir}/gnuradio-*.pc
334 %{_pkgconfigdir}/gr-wxgui.pc
335 %{_pkgconfigdir}/volk.pc
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
341
342 %files doc
343 %defattr(644,root,root,755)
344 %doc inst-doc/*
345
346 %files examples
347 %defattr(644,root,root,755)
348 %{_datadir}/gnuradio/examples
This page took 0.094254 seconds and 3 git commands to generate.