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