]> git.pld-linux.org Git - packages/gnuradio.git/blob - gnuradio.spec
00b1e77948565f56691f79b767eaf8eb8a213324
[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:        5
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:  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
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:  gsl-devel >= 1.10
42 BuildRequires:  ice-devel
43 BuildRequires:  jack-audio-connection-kit-devel >= 0.8
44 BuildRequires:  libusb-devel
45 BuildRequires:  log4cpp-devel
46 BuildRequires:  orc-devel >= 0.4.11
47 BuildRequires:  portaudio-devel >= 19
48 # R/S instead?
49 BuildRequires:  python-PyOpenGL
50 BuildRequires:  python-PyQt4-devel >= 4.4
51 # R/S instead?
52 BuildRequires:  python-PyQwt-devel >= 5.2
53 BuildRequires:  python-cheetah >= 2.0.0
54 BuildRequires:  python-devel >= 2.5
55 BuildRequires:  python-devel-tools
56 BuildRequires:  python-ice
57 BuildRequires:  python-lxml >= 1.3.6
58 BuildRequires:  python-numpy >= 1.1.0
59 BuildRequires:  python-pygtk-devel >= 2.10.0
60 # R/S instead?
61 BuildRequires:  python-wxPython-devel >= 2.8
62 BuildRequires:  qt4-qmake >= 4.2.0
63 BuildRequires:  qwt-devel >= 5.2
64 BuildRequires:  sphinx
65 BuildRequires:  swig-python >= 1.3.31
66 BuildRequires:  texlive-latex
67 %{?with_uhd:BuildRequires:      uhd-devel >= 3.0.0}
68 BuildRequires:  xdg-utils
69 BuildRequires:  xmlto
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
74 Requires:       portaudio
75 Requires:       python-PyQt4
76 Requires:       python-cheetah
77 Requires:       python-lxml
78 Requires:       python-numpy
79 Requires:       python-pygtk-gtk
80 Requires:       python-scipy
81 Requires:       python-wxPython
82 Obsoletes:      grc < 0.80-1
83 Obsoletes:      usrp < 3.3.0-1
84 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
85
86 %define         filterout_cpp   -pipe
87
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
96 Summary:        GNU Radio development files
97 Group:          Applications/Engineering
98 Requires:       %{name} = %{version}-%{release}
99 Requires:       boost-devel
100 Obsoletes:      usrp-devel < 3.3.0-1
101
102 %description devel
103 GNU Radio Headers.
104
105 %package examples
106 Summary:        GNU Radio examples
107 Group:          Applications/Engineering
108 Requires:       %{name} = %{version}-%{release}
109
110 %description examples
111 GNU Radio examples.
112
113 %prep
114 %setup -q
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
120
121 %build
122 %{__mkdir_p} build
123 cd build
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         ..
145 %{__make}
146
147 %install
148 rm -rf $RPM_BUILD_ROOT
149
150 %{__make} -C build install \
151         DESTDIR=$RPM_BUILD_ROOT
152
153 rm -rf inst-doc
154 install -d inst-doc
155 mv $RPM_BUILD_ROOT%{_docdir}/gnuradio-*/* inst-doc
156
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
168
169 %clean
170 rm -rf $RPM_BUILD_ROOT
171
172 %post   -p /sbin/ldconfig
173 %postun -p /sbin/ldconfig
174
175 %files
176 %defattr(644,root,root,755)
177 %doc README.hacking
178 %doc inst-doc/*
179 %attr(755,root,root) %{_bindir}/gnuradio-*
180 %attr(755,root,root) %{_bindir}/gr-ctrlport-*
181 %attr(755,root,root) %{_bindir}/gr-perf-*
182 %attr(755,root,root) %{_bindir}/gr_*
183 %attr(755,root,root) %{_bindir}/grcc
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
189 %attr(755,root,root) %{_libdir}/libgnuradio-*.so.*.*
190 %attr(755,root,root) %ghost %{_libdir}/libgnuradio-*.so.0
191 %attr(755,root,root) %{_libdir}/libvolk.so.*.*
192 #%attr(755,root,root) %ghost %{_libdir}/libvolk.so.0
193 %dir %{_sysconfdir}/gnuradio
194 %dir %{_sysconfdir}/gnuradio/conf.d
195 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnuradio/conf.d/*.conf
196
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
290
291 %{_datadir}/gnuradio
292 %exclude %{_datadir}/gnuradio/examples
293
294 %files devel
295 %defattr(644,root,root,755)
296 %{_includedir}/gnuradio
297 %{_includedir}/pmt
298 %{_includedir}/volk
299 %attr(755,root,root) %{_libdir}/libgnuradio-*.so
300 %attr(755,root,root) %{_libdir}/libvolk.so
301 %{_pkgconfigdir}/gnuradio-*.pc
302 %{_pkgconfigdir}/gr-wxgui.pc
303 %{_pkgconfigdir}/volk.pc
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
309
310 %files examples
311 %defattr(644,root,root,755)
312 %{_datadir}/gnuradio/examples
This page took 0.065408 seconds and 2 git commands to generate.