]> git.pld-linux.org Git - packages/gnuradio.git/blob - gnuradio.spec
- one more binary needs removal
[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.7.1
9 Release:        3
10 License:        GPL v3
11 Group:          Applications/Engineering
12 Source0:        http://gnuradio.org/releases/gnuradio/%{name}-%{version}.tar.gz
13 # Source0-md5:  ca8e47abcb01edc72014ccabe38123a3
14 URL:            http://www.gnuradio.org/
15 BuildRequires:  Qt3Support >= 4.8
16 BuildRequires:  QtCLucene-devel >= 4.8
17 BuildRequires:  QtCore-devel >= 4.8
18 BuildRequires:  QtDBus-devel >= 4.8
19 BuildRequires:  QtDeclarative-devel >= 4.8
20 BuildRequires:  QtDesigner-devel >= 4.8
21 BuildRequires:  QtGui-devel >= 4.8
22 BuildRequires:  QtHelp-devel >= 4.8
23 BuildRequires:  QtNetwork-devel >= 4.8
24 BuildRequires:  QtOpenGL-devel >= 4.8
25 BuildRequires:  QtScript-devel >= 4.8
26 BuildRequires:  QtScriptTools-devel >= 4.8
27 BuildRequires:  QtSql-devel >= 4.8
28 BuildRequires:  QtSvg-devel >= 4.8
29 BuildRequires:  QtTest-devel >= 4.8
30 BuildRequires:  QtUiTools-devel >= 4.8
31 BuildRequires:  QtWebKit-devel >= 4.8
32 BuildRequires:  QtXml-devel >= 4.8
33 BuildRequires:  QtXmlPatterns-devel >= 4.8
34 BuildRequires:  SDL-devel >= 1.2.0
35 BuildRequires:  alsa-lib-devel >= 0.9
36 BuildRequires:  boost-devel >= 1.35
37 BuildRequires:  cmake >= 2.6
38 BuildRequires:  cppunit-devel >= 1.9.14
39 BuildRequires:  doxygen >= 1.5
40 BuildRequires:  fftw3-devel >= 3.0
41 BuildRequires:  fftw3-single-devel >= 3.0
42 BuildRequires:  gsl-devel >= 1.10
43 BuildRequires:  ice-devel
44 BuildRequires:  jack-audio-connection-kit-devel >= 0.8
45 BuildRequires:  libusb-devel
46 BuildRequires:  log4cpp-devel
47 BuildRequires:  orc-devel >= 0.4.11
48 BuildRequires:  pkgconfig
49 BuildRequires:  portaudio-devel >= 19
50 # R/S instead?
51 BuildRequires:  python-PyOpenGL
52 BuildRequires:  sip-PyQt4 >= 4.4
53 # R/S instead?
54 BuildRequires:  python-PyQwt-devel >= 5.2
55 BuildRequires:  python-cheetah >= 2.0.0
56 BuildRequires:  python-devel >= 2.5
57 BuildRequires:  python-devel-tools
58 BuildRequires:  python-ice
59 BuildRequires:  python-lxml >= 1.3.6
60 BuildRequires:  python-numpy >= 1.1.0
61 BuildRequires:  python-pygtk-devel >= 2.10.0
62 # R/S instead?
63 BuildRequires:  python-wxPython-devel >= 2.8
64 BuildRequires:  qt4-qmake >= 4.2.0
65 BuildRequires:  qwt-devel >= 5.2
66 BuildRequires:  sphinx-pdg
67 BuildRequires:  swig-python >= 1.3.31
68 BuildRequires:  texlive-latex
69 %{?with_uhd:BuildRequires:      uhd-devel >= 3.0.0}
70 BuildRequires:  xdg-utils
71 BuildRequires:  xmlto
72 BuildConflicts: boost-devel = 1.46.0
73 BuildConflicts: boost-devel = 1.46.1
74 BuildConflicts: boost-devel = 1.47.0
75 BuildConflicts: boost-devel = 1.52.0
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 sed -e '/Prevented in-tree build. This is bad practice./d' -i CMakeLists.txt
132 sed -e 's/list(APPEND gnuradio_runtime_libs rt)/list(APPEND gnuradio_runtime_libs rt pthread)/' -i gnuradio-runtime/lib/CMakeLists.txt
133 sed -e 's/list(APPEND gr_audio_libs ${JACK_LIBRARIES})/list(APPEND gr_audio_libs ${JACK_LIBRARIES} pthread)/' -i gr-audio/lib/CMakeLists.txt
134 sed -e 's/list(APPEND fcd_libs rt)/list(APPEND fcd_libs rt pthread)/' -i gr-fcd/lib/CMakeLists.txt
135 sed -e 's/target_link_libraries(volk ${volk_libraries})/target_link_libraries(volk ${volk_libraries} m)/' -i volk/lib/CMakeLists.txt
136
137 sed -i -e 's#libexec#%{_lib}#g' CMakeLists.txt
138
139 %build
140 %{__mkdir_p} build
141 cd build
142 %cmake \
143         -DCMAKE_BUILD_TYPE=None \
144         -DENABLE_DOXYGEN=FORCE \
145         -DENABLE_GR_ATSC=FORCE \
146         -DENABLE_GR_AUDIO=FORCE \
147         -DENABLE_GRC=FORCE \
148         -DENABLE-GR_COMEDI=FORCE \
149         -DENABLE_GR_CORE=FORCE \
150         -DENABLE_GR_FCD=FORCE \
151         -DENABLE_GR_NOAA=FORCE \
152         -DENABLE_GR_PAGER=FORCE \
153         -DENABLE_GR_TRELLIS=FORCE \
154         -DENABLE_GRUEL=FORCE \
155         %{?with_uhd:-DENABLE_GR_UHD=FORCE} \
156         -DENABLE_GR_UTILS=FORCE \
157         -DENABLE_GR_VIDEO_SDL=FORCE \
158         -DENABLE_GR_VOCODER=FORCE \
159         -DENABLE_GR_WXGUI=FORCE \
160         -DENABLE_PYTHON=FORCE \
161         -DENABLE_VOLK=FORCE \
162         -DSYSCONFDIR=%{_sysconfdir} \
163         ..
164 %{__make}
165
166 %install
167 rm -rf $RPM_BUILD_ROOT
168
169 %{__make} -C build install \
170         DESTDIR=$RPM_BUILD_ROOT
171
172 rm -rf inst-doc
173 install -d inst-doc
174 mv $RPM_BUILD_ROOT%{_docdir}/gnuradio-*/* inst-doc
175
176 # filter bundled cmake files for other libraries
177 cd $RPM_BUILD_ROOT%{_libdir}/cmake/gnuradio
178 for f in *.cmake; do
179         case $f in
180                 FindUHD.cmake|Gr*.cmake|Gnu*.cmake)
181                         ;;
182                 *)
183                         rm "$f"
184                         ;;
185         esac
186 done
187
188 # remove binary from noarch examples
189 %{__rm} $RPM_BUILD_ROOT%{_datadir}/gnuradio/examples/{audio/dial_tone,fcd/fcd_nfm_rx}
190
191 %clean
192 rm -rf $RPM_BUILD_ROOT
193
194 %post   -p /sbin/ldconfig
195 %postun -p /sbin/ldconfig
196
197 %files
198 %defattr(644,root,root,755)
199 %doc README.hacking
200 %doc inst-doc/*
201 %attr(755,root,root) %{_bindir}/gnuradio-*
202 %attr(755,root,root) %{_bindir}/gr_*
203 %attr(755,root,root) %{_bindir}/grcc
204 %attr(755,root,root) %{_bindir}/usrp_flex
205 %attr(755,root,root) %{_bindir}/usrp_flex_all
206 %attr(755,root,root) %{_bindir}/usrp_flex_band
207 %attr(755,root,root) %{_bindir}/volk-config-info
208 %attr(755,root,root) %{_bindir}/volk_modtool
209 %attr(755,root,root) %{_bindir}/volk_profile
210 %attr(755,root,root) %{_libdir}/libgnuradio-*.so.*.*
211 %attr(755,root,root) %ghost %{_libdir}/libgnuradio-*.so.0
212 %attr(755,root,root) %{_libdir}/libvolk.so.*.*
213 %dir %{_sysconfdir}/gnuradio
214 %dir %{_sysconfdir}/gnuradio/conf.d
215 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnuradio/conf.d/*.conf
216
217 %dir %{py_sitedir}/gnuradio
218 %{py_sitedir}/gnuradio/*.py*
219 %dir %{py_sitedir}/gnuradio/analog
220 %attr(755,root,root) %{py_sitedir}/gnuradio/analog/*.so
221 %{py_sitedir}/gnuradio/analog/*.py*
222
223 %dir %{py_sitedir}/gnuradio/atsc
224 %attr(755,root,root) %{py_sitedir}/gnuradio/atsc/*.so
225 %{py_sitedir}/gnuradio/atsc/*.py*
226
227 %dir %{py_sitedir}/gnuradio/audio
228 %attr(755,root,root) %{py_sitedir}/gnuradio/audio/*.so
229 %{py_sitedir}/gnuradio/audio/*.py*
230
231 %dir %{py_sitedir}/gnuradio/blocks
232 %attr(755,root,root) %{py_sitedir}/gnuradio/blocks/*.so
233 %{py_sitedir}/gnuradio/blocks/*.py*
234
235 %dir %{py_sitedir}/gnuradio/channels
236 %attr(755,root,root) %{py_sitedir}/gnuradio/channels/*.so
237 %{py_sitedir}/gnuradio/channels/*.py*
238
239 %{py_sitedir}/gnuradio/ctrlport
240
241 %dir %{py_sitedir}/gnuradio/digital
242 %attr(755,root,root) %{py_sitedir}/gnuradio/digital/*.so
243 %{py_sitedir}/gnuradio/digital/*.py*
244 %{py_sitedir}/gnuradio/digital/utils
245
246 %dir %{py_sitedir}/gnuradio/dtv
247 %{py_sitedir}/gnuradio/dtv/*.py*
248 %attr(755,root,root) %{py_sitedir}/gnuradio/dtv/_dtv_swig.so
249
250 %dir %{py_sitedir}/gnuradio/fcd
251 %attr(755,root,root) %{py_sitedir}/gnuradio/fcd/*.so
252 %{py_sitedir}/gnuradio/fcd/*.py*
253
254 %dir %{py_sitedir}/gnuradio/fec
255 %attr(755,root,root) %{py_sitedir}/gnuradio/fec/*.so
256 %{py_sitedir}/gnuradio/fec/*.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 examples
337 %defattr(644,root,root,755)
338 %{_datadir}/gnuradio/examples
This page took 0.085929 seconds and 4 git commands to generate.