]> git.pld-linux.org Git - packages/gnuradio.git/blob - gnuradio.spec
update BR
[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.2.1
9 Release:        7
10 License:        GPL v3
11 Group:          Applications/Engineering
12 Source0:        http://gnuradio.org/releases/gnuradio/%{name}-%{version}.tar.gz
13 # Source0-md5:  f2ea23a30cb02802870fe8cb9bf272c9
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 %build
138 %{__mkdir_p} build
139 cd build
140 %cmake \
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 %clean
186 rm -rf $RPM_BUILD_ROOT
187
188 %post   -p /sbin/ldconfig
189 %postun -p /sbin/ldconfig
190
191 %files
192 %defattr(644,root,root,755)
193 %doc README.hacking
194 %doc inst-doc/*
195 %attr(755,root,root) %{_bindir}/gnuradio-*
196 %attr(755,root,root) %{_bindir}/gr-ctrlport-*
197 %attr(755,root,root) %{_bindir}/gr-perf-*
198 %attr(755,root,root) %{_bindir}/gr_*
199 %attr(755,root,root) %{_bindir}/grcc
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_modtool
204 %attr(755,root,root) %{_bindir}/volk_profile
205 %attr(755,root,root) %{_libdir}/libgnuradio-*.so.*.*
206 %attr(755,root,root) %ghost %{_libdir}/libgnuradio-*.so.0
207 %attr(755,root,root) %{_libdir}/libvolk.so.*.*
208 #%attr(755,root,root) %ghost %{_libdir}/libvolk.so.0
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 %{py_sitedir}/*.py*
214 %dir %{py_sitedir}/gnuradio
215 %{py_sitedir}/gnuradio/*.py*
216 %dir %{py_sitedir}/gnuradio/analog
217 %attr(755,root,root) %{py_sitedir}/gnuradio/analog/*.so
218 %{py_sitedir}/gnuradio/analog/*.py*
219
220 %dir %{py_sitedir}/gnuradio/atsc
221 %attr(755,root,root) %{py_sitedir}/gnuradio/atsc/*.so
222 %{py_sitedir}/gnuradio/atsc/*.py*
223
224 %dir %{py_sitedir}/gnuradio/audio
225 %attr(755,root,root) %{py_sitedir}/gnuradio/audio/*.so
226 %{py_sitedir}/gnuradio/audio/*.py*
227
228 %dir %{py_sitedir}/gnuradio/blocks
229 %attr(755,root,root) %{py_sitedir}/gnuradio/blocks/*.so
230 %{py_sitedir}/gnuradio/blocks/*.py*
231
232 %dir %{py_sitedir}/gnuradio/channels
233 %attr(755,root,root) %{py_sitedir}/gnuradio/channels/*.so
234 %{py_sitedir}/gnuradio/channels/*.py*
235
236 %{py_sitedir}/gnuradio/ctrlport
237
238 %dir %{py_sitedir}/gnuradio/digital
239 %attr(755,root,root) %{py_sitedir}/gnuradio/digital/*.so
240 %{py_sitedir}/gnuradio/digital/*.py*
241 %{py_sitedir}/gnuradio/digital/utils
242
243 %dir %{py_sitedir}/gnuradio/fcd
244 %attr(755,root,root) %{py_sitedir}/gnuradio/fcd/*.so
245 %{py_sitedir}/gnuradio/fcd/*.py*
246
247 %dir %{py_sitedir}/gnuradio/fec
248 %attr(755,root,root) %{py_sitedir}/gnuradio/fec/*.so
249 %{py_sitedir}/gnuradio/fec/*.py*
250
251 %dir %{py_sitedir}/gnuradio/fft
252 %attr(755,root,root) %{py_sitedir}/gnuradio/fft/*.so
253 %{py_sitedir}/gnuradio/fft/*.py*
254
255 %dir %{py_sitedir}/gnuradio/filter
256 %attr(755,root,root) %{py_sitedir}/gnuradio/filter/*.so
257 %{py_sitedir}/gnuradio/filter/*.py*
258
259 %dir %{py_sitedir}/gnuradio/gr
260 %attr(755,root,root) %{py_sitedir}/gnuradio/gr/*.so
261 %{py_sitedir}/gnuradio/gr/*.py*
262
263 %{py_sitedir}/gnuradio/grc
264 %{py_sitedir}/gnuradio/gru
265 %{py_sitedir}/gnuradio/modtool
266
267 %dir %{py_sitedir}/gnuradio/noaa
268 %attr(755,root,root) %{py_sitedir}/gnuradio/noaa/*.so
269 %{py_sitedir}/gnuradio/noaa/*.py*
270
271 %dir %{py_sitedir}/gnuradio/pager
272 %attr(755,root,root) %{py_sitedir}/gnuradio/pager/*.so
273 %{py_sitedir}/gnuradio/pager/*.py*
274
275 %dir %{py_sitedir}/gnuradio/qtgui
276 %attr(755,root,root) %{py_sitedir}/gnuradio/qtgui/*.so
277 %{py_sitedir}/gnuradio/qtgui/*.py*
278
279 %dir %{py_sitedir}/gnuradio/trellis
280 %attr(755,root,root) %{py_sitedir}/gnuradio/trellis/*.so
281 %{py_sitedir}/gnuradio/trellis/*.py*
282
283 %dir %{py_sitedir}/gnuradio/video_sdl
284 %attr(755,root,root) %{py_sitedir}/gnuradio/video_sdl/*.so
285 %{py_sitedir}/gnuradio/video_sdl/*.py*
286
287 %dir %{py_sitedir}/gnuradio/vocoder
288 %attr(755,root,root) %{py_sitedir}/gnuradio/vocoder/*.so
289 %{py_sitedir}/gnuradio/vocoder/*.py*
290
291 %dir %{py_sitedir}/gnuradio/wavelet
292 %attr(755,root,root) %{py_sitedir}/gnuradio/wavelet/*.so
293 %{py_sitedir}/gnuradio/wavelet/*.py*
294
295 %dir %{py_sitedir}/gnuradio/wxgui
296 %attr(755,root,root) %{py_sitedir}/gnuradio/wxgui/*.so
297 %{py_sitedir}/gnuradio/wxgui/*.py*
298 %{py_sitedir}/gnuradio/wxgui/forms
299 %{py_sitedir}/gnuradio/wxgui/plotter
300
301 %{py_sitedir}/grc_gnuradio
302 %dir %{py_sitedir}/pmt
303 %attr(755,root,root) %{py_sitedir}/pmt/_pmt_swig.so
304 %{py_sitedir}/pmt/*.py*
305 %{py_sitedir}/volk_modtool
306
307 %{_datadir}/gnuradio
308 %exclude %{_datadir}/gnuradio/examples
309
310 %files devel
311 %defattr(644,root,root,755)
312 %{_includedir}/gnuradio
313 %{_includedir}/pmt
314 %{_includedir}/volk
315 %attr(755,root,root) %{_libdir}/libgnuradio-*.so
316 %attr(755,root,root) %{_libdir}/libvolk.so
317 %{_pkgconfigdir}/gnuradio-*.pc
318 %{_pkgconfigdir}/gr-wxgui.pc
319 %{_pkgconfigdir}/volk.pc
320 %dir %{_libdir}/cmake/gnuradio
321 %{_libdir}/cmake/gnuradio/Gnu*.cmake
322 %{_libdir}/cmake/gnuradio/Gr*.cmake
323 %{?with_uhd:%{_libdir}/cmake/gnuradio/FindUHD.cmake}
324 %{_libdir}/cmake/volk
325
326 %files examples
327 %defattr(644,root,root,755)
328 %{_datadir}/gnuradio/examples
This page took 0.065046 seconds and 4 git commands to generate.