]>
Commit | Line | Data |
---|---|---|
1 | # TODO: | |
2 | # - fix volk, drop bcond and enable by default | |
3 | # - fix uhd build | |
4 | %bcond_with uhd | |
5 | %bcond_with volk | |
6 | # | |
7 | %define snap 2012-04-02 | |
8 | %define snaps %(echo %{snap} | tr -d "-") | |
9 | Summary: Software defined radio framework | |
10 | Name: gnuradio | |
11 | Version: 3.5.3 | |
12 | Release: 0.%{snaps}.1 | |
13 | License: GPL v3 | |
14 | Group: Applications/Engineering | |
15 | URL: http://www.gnuradio.org/ | |
16 | Source0: http://gnuradio.org/files/builds/%{name}-%{version}-%{snap}.tar.gz | |
17 | # Source0-md5: 9d839403ef713a07e07131e4fc19a543 | |
18 | Patch0: %{name}-build.patch | |
19 | BuildRequires: SDL-devel | |
20 | BuildRequires: alsa-lib-devel | |
21 | BuildRequires: autoconf | |
22 | BuildRequires: automake >= 1:1.11.3-2 | |
23 | BuildRequires: boost-devel >= 1.35 | |
24 | BuildRequires: cppunit-devel | |
25 | BuildRequires: doxygen | |
26 | BuildRequires: fftw3-devel | |
27 | BuildRequires: graphviz | |
28 | BuildRequires: gsl-devel | |
29 | BuildRequires: guile-devel | |
30 | BuildRequires: libtool | |
31 | BuildRequires: libtool | |
32 | BuildRequires: libusb-devel | |
33 | BuildRequires: orc-devel | |
34 | BuildRequires: portaudio-devel | |
35 | BuildRequires: python-PyQt4-devel | |
36 | BuildRequires: python-PyQwt-devel | |
37 | BuildRequires: python-cheetah | |
38 | BuildRequires: python-devel | |
39 | BuildRequires: python-lxml | |
40 | BuildRequires: python-numpy | |
41 | BuildRequires: python-pygtk-devel | |
42 | BuildRequires: python-wxPython-devel | |
43 | BuildRequires: qwt-devel | |
44 | BuildRequires: sdcc | |
45 | BuildRequires: swig | |
46 | BuildRequires: texlive-latex | |
47 | %{?with_uhd:BuildRequires: uhd-devel} | |
48 | BuildRequires: xdg-utils | |
49 | BuildRequires: xmlto | |
50 | Requires: portaudio | |
51 | Requires: python-PyQt4 | |
52 | Requires: python-cheetah | |
53 | Requires: python-lxml | |
54 | Requires: python-numpy | |
55 | Requires: python-pygtk-gtk | |
56 | Requires: python-scipy | |
57 | Requires: python-wxPython | |
58 | Obsoletes: grc < 0.80-1 | |
59 | Obsoletes: usrp < 3.3.0-1 | |
60 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
61 | ||
62 | %description | |
63 | GNU Radio is a collection of software that when combined with minimal | |
64 | hardware, allows the construction of radios where the actual waveforms | |
65 | transmitted and received are defined by software. What this means is | |
66 | that it turns the digital modulation schemes used in today's high | |
67 | performance wireless devices into software problems. | |
68 | ||
69 | %package devel | |
70 | Summary: GNU Radio | |
71 | Group: Applications/Engineering | |
72 | Requires: %{name} = %{version}-%{release} | |
73 | Obsoletes: usrp-devel < 3.3.0-1 | |
74 | ||
75 | %description devel | |
76 | GNU Radio Headers | |
77 | ||
78 | %package examples | |
79 | Summary: GNU Radio | |
80 | Group: Applications/Engineering | |
81 | Requires: %{name} = %{version}-%{release} | |
82 | ||
83 | %description examples | |
84 | GNU Radio examples | |
85 | ||
86 | %prep | |
87 | %setup -q -n %{name} | |
88 | %patch0 -p1 | |
89 | ||
90 | # force regeneration of cached moc output files (for final tarballs) | |
91 | find -name "*_moc.cc" | xargs -r rm | |
92 | ||
93 | %build | |
94 | %{__libtoolize} | |
95 | %{__aclocal} -I config | |
96 | %{__autoheader} | |
97 | %{__automake} -Wno-portability -Wno-override -Wnone | |
98 | %{__autoconf} | |
99 | %configure \ | |
100 | --enable-dependency-tracking \ | |
101 | --enable-python \ | |
102 | --enable-doxygen \ | |
103 | --enable-dot \ | |
104 | --%{?with_volk:en}%{!?with_volk:dis}able-volk \ | |
105 | --enable-gruel \ | |
106 | --enable-gnuradio-core \ | |
107 | --enable-gr-msdd6000 \ | |
108 | --enable-gr-audio \ | |
109 | --enable-gr-atsc \ | |
110 | --enable-gr-cvsd-vocoder \ | |
111 | --enable-gr-gpio \ | |
112 | %{?with_uhd:--enable-gr-uhd} \ | |
113 | --enable-gr-gsm-fr-vocoder \ | |
114 | --enable-gr-noaa \ | |
115 | --enable-gr-pager \ | |
116 | --enable-gr-radar-pager \ | |
117 | --enable-gr-radar-mono \ | |
118 | --enable-gr-radio-astronomy \ | |
119 | --enable-gr-trellis \ | |
120 | --enable-gr-video-sdl \ | |
121 | --enable-gr-wxgui \ | |
122 | --enable-gr-sounder \ | |
123 | --enable-gr-utils \ | |
124 | --enable-gnuradio-examples \ | |
125 | --enable-grc \ | |
126 | --enable-docs \ | |
127 | --with-boost-libdir=%{_libdir} | |
128 | ||
129 | %{__make} | |
130 | ||
131 | %install | |
132 | rm -rf $RPM_BUILD_ROOT | |
133 | ||
134 | %{__make} install -j1 \ | |
135 | pythondir=%{py_sitedir} \ | |
136 | DESTDIR=$RPM_BUILD_ROOT | |
137 | ||
138 | rm -rf inst-doc | |
139 | install -d inst-doc | |
140 | mv $RPM_BUILD_ROOT%{_docdir}/gnuradio-*/* inst-doc | |
141 | ||
142 | %clean | |
143 | rm -rf $RPM_BUILD_ROOT | |
144 | ||
145 | %post -p /sbin/ldconfig | |
146 | %postun -p /sbin/ldconfig | |
147 | ||
148 | %files | |
149 | %defattr(644,root,root,755) | |
150 | %doc ChangeLog NEWS INSTALL COPYING AUTHORS | |
151 | %doc inst-doc/* | |
152 | %attr(755,root,root) %{_bindir}/create-gnuradio-out-of-tree-project | |
153 | %attr(755,root,root) %{_bindir}/file_rx_*.py | |
154 | %attr(755,root,root) %{_bindir}/gnuradio-* | |
155 | %attr(755,root,root) %{_bindir}/gr_*.py | |
156 | %attr(755,root,root) %{_bindir}/hrpt_*.py | |
157 | %attr(755,root,root) %{_bindir}/qt_digital_window.ui | |
158 | %attr(755,root,root) %{_bindir}/usrp_display_qtgui.ui | |
159 | %attr(755,root,root) %{_bindir}/usrp_*.py | |
160 | %attr(755,root,root) %{_libdir}/libgnuradio-*.so.*.* | |
161 | %attr(755,root,root) %ghost %{_libdir}/libgnuradio-*.so.0 | |
162 | %attr(755,root,root) %{_libdir}/libgruel-*.so.*.* | |
163 | %attr(755,root,root) %ghost %{_libdir}/libgruel-*.so.0 | |
164 | %dir %{_libdir}/gnuradio | |
165 | %attr(755,root,root) %{_libdir}/gnuradio/grc_setup_freedesktop | |
166 | %{_datadir}/gnuradio | |
167 | %dir %{_sysconfdir}/gnuradio | |
168 | %dir %{_sysconfdir}/gnuradio/conf.d | |
169 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnuradio/conf.d/*.conf | |
170 | %dir %{py_sitedir}/gruel | |
171 | %{py_sitedir}/gruel/*.py* | |
172 | %dir %{py_sitedir}/gruel/pmt | |
173 | %{py_sitedir}/gruel/pmt/*.py* | |
174 | %attr(755,root,root) %{py_sitedir}/gruel/pmt/*.so | |
175 | %dir %{py_sitedir}/gnuradio | |
176 | %{py_sitedir}/gnuradio/*.py* | |
177 | %attr(755,root,root) %{py_sitedir}/gnuradio/*.so | |
178 | %dir %{py_sitedir}/gnuradio/gr | |
179 | %{py_sitedir}/gnuradio/gr/*.py* | |
180 | %attr(755,root,root) %{py_sitedir}/gnuradio/gr/*.so | |
181 | %dir %{py_sitedir}/gnuradio/digital | |
182 | %{py_sitedir}/gnuradio/digital/*.py* | |
183 | %attr(755,root,root) %{py_sitedir}/gnuradio/digital/*.so | |
184 | %dir %{py_sitedir}/gnuradio/digital/utils | |
185 | %{py_sitedir}/gnuradio/digital/utils/*.py* | |
186 | %dir %{py_sitedir}/gnuradio/audio | |
187 | %{py_sitedir}/gnuradio/audio/*.py* | |
188 | %attr(755,root,root) %{py_sitedir}/gnuradio/audio/*.so | |
189 | %dir %{py_sitedir}/gnuradio/vocoder | |
190 | %{py_sitedir}/gnuradio/vocoder/*.py* | |
191 | %attr(755,root,root) %{py_sitedir}/gnuradio/vocoder/*.so | |
192 | %dir %{py_sitedir}/gnuradio/noaa | |
193 | %{py_sitedir}/gnuradio/noaa/*.py* | |
194 | %attr(755,root,root) %{py_sitedir}/gnuradio/noaa/*.so | |
195 | %dir %{py_sitedir}/gnuradio/pager | |
196 | %{py_sitedir}/gnuradio/pager/*.py* | |
197 | %attr(755,root,root) %{py_sitedir}/gnuradio/pager/*.so | |
198 | %dir %{py_sitedir}/gnuradio/qtgui | |
199 | %{py_sitedir}/gnuradio/qtgui/*.py* | |
200 | %attr(755,root,root) %{py_sitedir}/gnuradio/qtgui/*.so | |
201 | %{py_sitedir}/gnuradio/blks2 | |
202 | %{py_sitedir}/gnuradio/blks2impl | |
203 | %{py_sitedir}/gnuradio/grc | |
204 | %{py_sitedir}/gnuradio/gru | |
205 | %{py_sitedir}/gnuradio/gruimpl | |
206 | %{py_sitedir}/gnuradio/wxgui | |
207 | %{py_sitedir}/grc_gnuradio | |
208 | %exclude %{_datadir}/gnuradio/examples | |
209 | %exclude %{py_sitedir}/gruel/*/*.la | |
210 | %exclude %{py_sitedir}/gnuradio/*.la | |
211 | %exclude %{py_sitedir}/gnuradio/*/*.la | |
212 | ||
213 | %files devel | |
214 | %defattr(644,root,root,755) | |
215 | %{_includedir}/gnuradio | |
216 | %{_includedir}/gruel | |
217 | %attr(755,root,root) %{_libdir}/libgnuradio-*.so | |
218 | %attr(755,root,root) %{_libdir}/libgruel.so | |
219 | %{_pkgconfigdir}/gnuradio-*.pc | |
220 | %{_pkgconfigdir}/gr-wxgui.pc | |
221 | %{_pkgconfigdir}/gruel.pc | |
222 | %exclude %{_libdir}/*.la | |
223 | ||
224 | %files examples | |
225 | %defattr(644,root,root,755) | |
226 | %{_datadir}/gnuradio/examples |