]> git.pld-linux.org Git - packages/gnuradio.git/blob - gnuradio.spec
- rel 1
[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:        1
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:  jack-audio-connection-kit-devel >= 0.8
43 BuildRequires:  libusb-devel
44 BuildRequires:  log4cpp-devel
45 BuildRequires:  orc-devel >= 0.4.11
46 BuildRequires:  portaudio-devel >= 19
47 # R/S instead?
48 BuildRequires:  python-PyOpenGL
49 BuildRequires:  python-PyQt4-devel >= 4.4
50 # R/S instead?
51 BuildRequires:  python-PyQwt-devel >= 5.2
52 BuildRequires:  python-cheetah >= 2.0.0
53 BuildRequires:  python-devel >= 2.5
54 BuildRequires:  python-devel-tools
55 BuildRequires:  python-ice
56 BuildRequires:  python-lxml >= 1.3.6
57 BuildRequires:  python-numpy >= 1.1.0
58 BuildRequires:  python-pygtk-devel >= 2.10.0
59 # R/S instead?
60 BuildRequires:  python-wxPython-devel >= 2.8
61 BuildRequires:  qt4-qmake >= 4.2.0
62 BuildRequires:  qwt-devel >= 5.2
63 BuildRequires:  sphinx
64 BuildRequires:  swig-python >= 1.3.31
65 BuildRequires:  texlive-latex
66 %{?with_uhd:BuildRequires:      uhd-devel >= 3.0.0}
67 BuildRequires:  xdg-utils
68 BuildRequires:  xmlto
69 BuildConflicts: boost-devel = 1.46.0
70 BuildConflicts: boost-devel = 1.46.1
71 BuildConflicts: boost-devel = 1.47.0
72 BuildConflicts: boost-devel = 1.52.0
73 Requires:       portaudio
74 Requires:       python-PyQt4
75 Requires:       python-cheetah
76 Requires:       python-lxml
77 Requires:       python-numpy
78 Requires:       python-pygtk-gtk
79 Requires:       python-scipy
80 Requires:       python-wxPython
81 Obsoletes:      grc < 0.80-1
82 Obsoletes:      usrp < 3.3.0-1
83 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
84
85 %define         filterout_cpp   -pipe
86
87 %description
88 GNU Radio is a collection of software that when combined with minimal
89 hardware, allows the construction of radios where the actual waveforms
90 transmitted and received are defined by software. What this means is
91 that it turns the digital modulation schemes used in today's high
92 performance wireless devices into software problems.
93
94 %package devel
95 Summary:        GNU Radio development files
96 Group:          Applications/Engineering
97 Requires:       %{name} = %{version}-%{release}
98 Requires:       boost-devel
99 Obsoletes:      usrp-devel < 3.3.0-1
100
101 %description devel
102 GNU Radio Headers.
103
104 %package examples
105 Summary:        GNU Radio examples
106 Group:          Applications/Engineering
107 Requires:       %{name} = %{version}-%{release}
108
109 %description examples
110 GNU Radio examples.
111
112 %prep
113 %setup -q
114 sed -e '/Prevented in-tree build. This is bad practice./d' -i CMakeLists.txt
115 sed -e 's/list(APPEND gnuradio_runtime_libs rt)/list(APPEND gnuradio_runtime_libs rt pthread)/' -i gnuradio-runtime/lib/CMakeLists.txt
116 sed -e 's/list(APPEND gr_audio_libs ${JACK_LIBRARIES})/list(APPEND gr_audio_libs ${JACK_LIBRARIES} pthread)/' -i gr-audio/lib/CMakeLists.txt
117 sed -e 's/list(APPEND fcd_libs rt)/list(APPEND fcd_libs rt pthread)/' -i gr-fcd/lib/CMakeLists.txt
118 sed -e 's/target_link_libraries(volk ${volk_libraries})/target_link_libraries(volk ${volk_libraries} m)/' -i volk/lib/CMakeLists.txt
119
120 %build
121 %{__mkdir_p} build
122 cd build
123 %cmake \
124         -DENABLE_DOXYGEN=FORCE \
125         -DENABLE_GR_ATSC=FORCE \
126         -DENABLE_GR_AUDIO=FORCE \
127         -DENABLE_GRC=FORCE \
128         -DENABLE-GR_COMEDI=FORCE \
129         -DENABLE_GR_CORE=FORCE \
130         -DENABLE_GR_FCD=FORCE \
131         -DENABLE_GR_NOAA=FORCE \
132         -DENABLE_GR_PAGER=FORCE \
133         -DENABLE_GR_TRELLIS=FORCE \
134         -DENABLE_GRUEL=FORCE \
135         %{?with_uhd:-DENABLE_GR_UHD=FORCE} \
136         -DENABLE_GR_UTILS=FORCE \
137         -DENABLE_GR_VIDEO_SDL=FORCE \
138         -DENABLE_GR_VOCODER=FORCE \
139         -DENABLE_GR_WXGUI=FORCE \
140         -DENABLE_PYTHON=FORCE \
141         -DENABLE_VOLK=FORCE \
142         -DSYSCONFDIR=%{_sysconfdir} \
143         ..
144 %{__make}
145
146 %install
147 rm -rf $RPM_BUILD_ROOT
148
149 %{__make} -C build install \
150         DESTDIR=$RPM_BUILD_ROOT
151
152 rm -rf inst-doc
153 install -d inst-doc
154 mv $RPM_BUILD_ROOT%{_docdir}/gnuradio-*/* inst-doc
155
156 # filter bundled cmake files for other libraries
157 cd $RPM_BUILD_ROOT%{_libdir}/cmake/gnuradio
158 for f in *.cmake; do
159         case $f in
160                 FindUHD.cmake|Gr*.cmake|Gnu*.cmake)
161                         ;;
162                 *)
163                         rm "$f"
164                         ;;
165         esac
166 done
167
168 %clean
169 rm -rf $RPM_BUILD_ROOT
170
171 %post   -p /sbin/ldconfig
172 %postun -p /sbin/ldconfig
173
174 %files
175 %defattr(644,root,root,755)
176 %doc README.hacking
177 %doc inst-doc/*
178 %attr(755,root,root) %{_bindir}/gnuradio-*
179 %attr(755,root,root) %{_bindir}/gr-ctrlport-*
180 %attr(755,root,root) %{_bindir}/gr-perf-*
181 %attr(755,root,root) %{_bindir}/gr_*
182 %attr(755,root,root) %{_bindir}/grcc
183 %attr(755,root,root) %{_bindir}/usrp_flex
184 %attr(755,root,root) %{_bindir}/usrp_flex_all
185 %attr(755,root,root) %{_bindir}/usrp_flex_band
186 %attr(755,root,root) %{_bindir}/volk_modtool
187 %attr(755,root,root) %{_bindir}/volk_profile
188 %attr(755,root,root) %{_libdir}/libgnuradio-*.so.*.*
189 %attr(755,root,root) %ghost %{_libdir}/libgnuradio-*.so.0
190 %attr(755,root,root) %{_libdir}/libvolk.so.*.*
191 #%attr(755,root,root) %ghost %{_libdir}/libvolk.so.0
192 %dir %{_sysconfdir}/gnuradio
193 %dir %{_sysconfdir}/gnuradio/conf.d
194 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnuradio/conf.d/*.conf
195
196 %{py_sitedir}/*.py*
197 %dir %{py_sitedir}/gnuradio
198 %{py_sitedir}/gnuradio/*.py*
199 %dir %{py_sitedir}/gnuradio/analog
200 %attr(755,root,root) %{py_sitedir}/gnuradio/analog/*.so
201 %{py_sitedir}/gnuradio/analog/*.py*
202
203 %dir %{py_sitedir}/gnuradio/atsc
204 %attr(755,root,root) %{py_sitedir}/gnuradio/atsc/*.so
205 %{py_sitedir}/gnuradio/atsc/*.py*
206
207 %dir %{py_sitedir}/gnuradio/audio
208 %attr(755,root,root) %{py_sitedir}/gnuradio/audio/*.so
209 %{py_sitedir}/gnuradio/audio/*.py*
210
211 %dir %{py_sitedir}/gnuradio/blocks
212 %attr(755,root,root) %{py_sitedir}/gnuradio/blocks/*.so
213 %{py_sitedir}/gnuradio/blocks/*.py*
214
215 %dir %{py_sitedir}/gnuradio/channels
216 %attr(755,root,root) %{py_sitedir}/gnuradio/channels/*.so
217 %{py_sitedir}/gnuradio/channels/*.py*
218
219 %{py_sitedir}/gnuradio/ctrlport
220
221 %dir %{py_sitedir}/gnuradio/digital
222 %attr(755,root,root) %{py_sitedir}/gnuradio/digital/*.so
223 %{py_sitedir}/gnuradio/digital/*.py*
224 %{py_sitedir}/gnuradio/digital/utils
225
226 %dir %{py_sitedir}/gnuradio/fcd
227 %attr(755,root,root) %{py_sitedir}/gnuradio/fcd/*.so
228 %{py_sitedir}/gnuradio/fcd/*.py*
229
230 %dir %{py_sitedir}/gnuradio/fec
231 %attr(755,root,root) %{py_sitedir}/gnuradio/fec/*.so
232 %{py_sitedir}/gnuradio/fec/*.py*
233
234 %dir %{py_sitedir}/gnuradio/fft
235 %attr(755,root,root) %{py_sitedir}/gnuradio/fft/*.so
236 %{py_sitedir}/gnuradio/fft/*.py*
237
238 %dir %{py_sitedir}/gnuradio/filter
239 %attr(755,root,root) %{py_sitedir}/gnuradio/filter/*.so
240 %{py_sitedir}/gnuradio/filter/*.py*
241
242 %dir %{py_sitedir}/gnuradio/gr
243 %attr(755,root,root) %{py_sitedir}/gnuradio/gr/*.so
244 %{py_sitedir}/gnuradio/gr/*.py*
245
246 %{py_sitedir}/gnuradio/grc
247 %{py_sitedir}/gnuradio/gru
248 %{py_sitedir}/gnuradio/modtool
249
250 %dir %{py_sitedir}/gnuradio/noaa
251 %attr(755,root,root) %{py_sitedir}/gnuradio/noaa/*.so
252 %{py_sitedir}/gnuradio/noaa/*.py*
253
254 %dir %{py_sitedir}/gnuradio/pager
255 %attr(755,root,root) %{py_sitedir}/gnuradio/pager/*.so
256 %{py_sitedir}/gnuradio/pager/*.py*
257
258 %dir %{py_sitedir}/gnuradio/qtgui
259 %attr(755,root,root) %{py_sitedir}/gnuradio/qtgui/*.so
260 %{py_sitedir}/gnuradio/qtgui/*.py*
261
262 %dir %{py_sitedir}/gnuradio/trellis
263 %attr(755,root,root) %{py_sitedir}/gnuradio/trellis/*.so
264 %{py_sitedir}/gnuradio/trellis/*.py*
265
266 %dir %{py_sitedir}/gnuradio/video_sdl
267 %attr(755,root,root) %{py_sitedir}/gnuradio/video_sdl/*.so
268 %{py_sitedir}/gnuradio/video_sdl/*.py*
269
270 %dir %{py_sitedir}/gnuradio/vocoder
271 %attr(755,root,root) %{py_sitedir}/gnuradio/vocoder/*.so
272 %{py_sitedir}/gnuradio/vocoder/*.py*
273
274 %dir %{py_sitedir}/gnuradio/wavelet
275 %attr(755,root,root) %{py_sitedir}/gnuradio/wavelet/*.so
276 %{py_sitedir}/gnuradio/wavelet/*.py*
277
278 %dir %{py_sitedir}/gnuradio/wxgui
279 %attr(755,root,root) %{py_sitedir}/gnuradio/wxgui/*.so
280 %{py_sitedir}/gnuradio/wxgui/*.py*
281 %{py_sitedir}/gnuradio/wxgui/forms
282 %{py_sitedir}/gnuradio/wxgui/plotter
283
284 %{py_sitedir}/grc_gnuradio
285 %dir %{py_sitedir}/pmt
286 %attr(755,root,root) %{py_sitedir}/pmt/_pmt_swig.so
287 %{py_sitedir}/pmt/*.py*
288 %{py_sitedir}/volk_modtool
289
290 %{_datadir}/gnuradio
291 %exclude %{_datadir}/gnuradio/examples
292
293 %files devel
294 %defattr(644,root,root,755)
295 %{_includedir}/gnuradio
296 %{_includedir}/pmt
297 %{_includedir}/volk
298 %attr(755,root,root) %{_libdir}/libgnuradio-*.so
299 %attr(755,root,root) %{_libdir}/libvolk.so
300 %{_pkgconfigdir}/gnuradio-*.pc
301 %{_pkgconfigdir}/gr-wxgui.pc
302 %{_pkgconfigdir}/volk.pc
303 %dir %{_libdir}/cmake/gnuradio
304 %{_libdir}/cmake/gnuradio/Gnu*.cmake
305 %{_libdir}/cmake/gnuradio/Gr*.cmake
306 %{?with_uhd:%{_libdir}/cmake/gnuradio/FindUHD.cmake}
307 %{_libdir}/cmake/volk
308
309 %files examples
310 %defattr(644,root,root,755)
311 %{_datadir}/gnuradio/examples
This page took 0.045727 seconds and 3 git commands to generate.