]> git.pld-linux.org Git - packages/gnuradio.git/blob - gnuradio.spec
400ff6e99c742504d142725441cd0c5876fc13ec
[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.8.0.0
9 Release:        2
10 License:        GPL v3
11 Group:          Applications/Engineering
12 Source0:        http://gnuradio.org/releases/gnuradio/%{name}-%{version}.tar.gz
13 # Source0-md5:  85e1ed4b18c46227731d83f8c3fbe45a
14 Patch0:         link.patch
15 Patch1:         python-libdir.patch
16 URL:            http://www.gnuradio.org/
17 BuildRequires:  Qt5Core-devel
18 BuildRequires:  Qt5DBus-devel
19 BuildRequires:  Qt5Declarative-devel
20 BuildRequires:  Qt5Designer-devel
21 BuildRequires:  Qt5Gui-devel
22 BuildRequires:  Qt5Help-devel
23 BuildRequires:  Qt5Network-devel
24 BuildRequires:  Qt5OpenGL-devel
25 BuildRequires:  Qt5Script-devel
26 BuildRequires:  Qt5ScriptTools-devel
27 BuildRequires:  Qt5Sql-devel
28 BuildRequires:  Qt5Svg-devel
29 BuildRequires:  Qt5Test-devel
30 BuildRequires:  Qt5UiTools-devel
31 BuildRequires:  Qt5WebKit-devel
32 BuildRequires:  Qt5Xml-devel
33 BuildRequires:  Qt5XmlPatterns-devel
34 BuildRequires:  SDL-devel >= 1.2.0
35 BuildRequires:  alsa-lib-devel >= 0.9
36 BuildRequires:  boost-devel >= 1.53
37 BuildRequires:  cmake >= 2.6
38 BuildRequires:  cppunit-devel >= 1.9.14
39 BuildRequires:  cppzmq-devel
40 BuildRequires:  doxygen >= 1.5
41 BuildRequires:  fftw3-devel >= 3.0
42 BuildRequires:  fftw3-single-devel >= 3.0
43 BuildRequires:  gsl-devel >= 1.10
44 BuildRequires:  ice-devel
45 BuildRequires:  jack-audio-connection-kit-devel >= 0.8
46 BuildRequires:  libusb-devel
47 BuildRequires:  log4cpp-devel
48 BuildRequires:  orc-devel >= 0.4.11
49 BuildRequires:  pkgconfig
50 BuildRequires:  portaudio-devel >= 19
51 # R/S instead?
52 BuildRequires:  python3-PyOpenGL
53 BuildRequires:  sip-PyQt5
54 # R/S instead?
55 BuildRequires:  python3-PyYAML
56 BuildRequires:  python3-click
57 BuildRequires:  python3-devel >= 2.5
58 BuildRequires:  python3-devel-tools
59 BuildRequires:  python3-lxml >= 1.3.6
60 BuildRequires:  python3-numpy >= 1.1.0
61 BuildRequires:  qt5-build
62 BuildRequires:  qt5-qmake
63 BuildRequires:  qwt5-devel
64 BuildRequires:  sphinx-pdg
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: python-thrift
71 Requires:       portaudio
72 Requires:       python3-PyQt5
73 Requires:       python3-PyYAML
74 Requires:       python3-click
75 Requires:       python3-lxml
76 Requires:       python3-numpy
77 Requires:       python3-scipy
78 Obsoletes:      grc < 0.80-1
79 Obsoletes:      usrp < 3.3.0-1
80 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
81
82 %define         filterout_cpp   -pipe
83
84 %description
85 GNU Radio is a collection of software that when combined with minimal
86 hardware, allows the construction of radios where the actual waveforms
87 transmitted and received are defined by software. What this means is
88 that it turns the digital modulation schemes used in today's high
89 performance wireless devices into software problems.
90
91 %package devel
92 Summary:        GNU Radio development files
93 Group:          Applications/Engineering
94 Requires:       %{name} = %{version}-%{release}
95 Requires:       boost-devel
96 Obsoletes:      usrp-devel < 3.3.0-1
97
98 %description devel
99 GNU Radio Headers.
100
101 %package doc
102 Summary:        GNU Radio
103 Group:          Documentation
104 Requires:       %{name} = %{version}-%{release}
105 %if "%{_rpmversion}" >= "5"
106 BuildArch:      noarch
107 %endif
108
109 %description doc
110 GNU Radio Documentation.
111
112 %package examples
113 Summary:        GNU Radio examples
114 Group:          Documentation
115 Requires:       %{name} = %{version}-%{release}
116 %if "%{_rpmversion}" >= "5"
117 BuildArch:      noarch
118 %endif
119
120 %description examples
121 GNU Radio examples.
122
123 %prep
124 %setup -q
125 %patch0 -p1
126 %patch1 -p1
127
128 %build
129 %{__mkdir_p} build
130 cd build
131 %cmake -Wno-dev \
132         -DCMAKE_BUILD_TYPE=None \
133         -DENABLE_DOXYGEN=FORCE \
134         -DENABLE_GR_ATSC=FORCE \
135         -DENABLE_GR_AUDIO=FORCE \
136         -DENABLE_GRC=FORCE \
137         -DENABLE-GR_COMEDI=FORCE \
138         -DENABLE_GR_CORE=FORCE \
139         -DENABLE_GR_FCD=FORCE \
140         -DENABLE_GR_NOAA=FORCE \
141         -DENABLE_GR_PAGER=FORCE \
142         -DENABLE_GR_TRELLIS=FORCE \
143         -DENABLE_GRUEL=FORCE \
144         %{?with_uhd:-DENABLE_GR_UHD=FORCE} \
145         -DENABLE_GR_UTILS=FORCE \
146         -DENABLE_GR_VIDEO_SDL=FORCE \
147         -DENABLE_GR_VOCODER=FORCE \
148         -DENABLE_GR_WXGUI=FORCE \
149         -DENABLE_PYTHON=FORCE \
150         -DENABLE_VOLK=FORCE \
151         -DSYSCONFDIR=%{_sysconfdir} \
152         ..
153 %{__make}
154
155 %install
156 rm -rf $RPM_BUILD_ROOT
157
158 %{__make} -C build install \
159         DESTDIR=$RPM_BUILD_ROOT
160
161 rm -rf inst-doc
162 install -d inst-doc
163 mv $RPM_BUILD_ROOT%{_docdir}/gnuradio-*/* inst-doc
164
165 # filter bundled cmake files for other libraries
166 cd $RPM_BUILD_ROOT%{_libdir}/cmake/gnuradio
167 for f in *.cmake; do
168         case $f in
169                 FindUHD.cmake|Gr*.cmake|Gnu*.cmake)
170                         ;;
171                 *)
172                         rm "$f"
173                         ;;
174         esac
175 done
176
177 # remove binary from noarch examples
178 %{__rm} $RPM_BUILD_ROOT%{_datadir}/gnuradio/examples/{audio/dial_tone,qt-gui/display_qt}
179
180 %clean
181 rm -rf $RPM_BUILD_ROOT
182
183 %post   -p /sbin/ldconfig
184 %postun -p /sbin/ldconfig
185
186 %files
187 %defattr(644,root,root,755)
188 %doc README.hacking
189 %attr(755,root,root) %{_bindir}/gnuradio-*
190 %attr(755,root,root) %{_bindir}/gr-*
191 %attr(755,root,root) %{_bindir}/gr_*
192 %attr(755,root,root) %{_bindir}/grcc
193 %attr(755,root,root) %{_bindir}/polar_channel_construction
194 %attr(755,root,root) %{_bindir}/volk-config-info
195 %attr(755,root,root) %{_bindir}/volk_modtool
196 %attr(755,root,root) %{_bindir}/volk_profile
197 %attr(755,root,root) %{_libdir}/libgnuradio-*.so.*.*.*.*
198 %attr(755,root,root) %ghost %{_libdir}/libgnuradio-*.so.3.8.0
199 %attr(755,root,root) %{_libdir}/libvolk.so.*.*
200 %dir %{_sysconfdir}/gnuradio
201 %dir %{_sysconfdir}/gnuradio/conf.d
202 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnuradio/conf.d/*.conf
203
204 %dir %{py3_sitedir}/gnuradio
205 %{py3_sitedir}/gnuradio/*.py*
206 %dir %{py3_sitedir}/gnuradio/analog
207 %attr(755,root,root) %{py3_sitedir}/gnuradio/analog/*.so
208 %{py3_sitedir}/gnuradio/analog/*.py*
209
210 %dir %{py3_sitedir}/gnuradio/audio
211 %attr(755,root,root) %{py3_sitedir}/gnuradio/audio/*.so
212 %{py3_sitedir}/gnuradio/audio/*.py*
213
214 %dir %{py3_sitedir}/gnuradio/blocks
215 %attr(755,root,root) %{py3_sitedir}/gnuradio/blocks/*.so
216 %{py3_sitedir}/gnuradio/blocks/*.py*
217
218 %dir %{py3_sitedir}/gnuradio/channels
219 %attr(755,root,root) %{py3_sitedir}/gnuradio/channels/*.so
220 %{py3_sitedir}/gnuradio/channels/*.py*
221
222 %{py3_sitedir}/gnuradio/ctrlport
223
224 %dir %{py3_sitedir}/gnuradio/digital
225 %attr(755,root,root) %{py3_sitedir}/gnuradio/digital/*.so
226 %{py3_sitedir}/gnuradio/digital/*.py*
227 %{py3_sitedir}/gnuradio/digital/utils
228
229 %dir %{py3_sitedir}/gnuradio/dtv
230 %{py3_sitedir}/gnuradio/dtv/*.py*
231 %attr(755,root,root) %{py3_sitedir}/gnuradio/dtv/_dtv_swig.so
232
233 %dir %{py3_sitedir}/gnuradio/fec
234 %attr(755,root,root) %{py3_sitedir}/gnuradio/fec/*.so
235 %{py3_sitedir}/gnuradio/fec/*.py*
236 %dir %{py3_sitedir}/gnuradio/fec/LDPC
237 %{py3_sitedir}/gnuradio/fec/LDPC/*.py*
238 %dir %{py3_sitedir}/gnuradio/fec/polar
239 %{py3_sitedir}/gnuradio/fec/polar/*.py*
240
241 %dir %{py3_sitedir}/gnuradio/fft
242 %attr(755,root,root) %{py3_sitedir}/gnuradio/fft/*.so
243 %{py3_sitedir}/gnuradio/fft/*.py*
244
245 %dir %{py3_sitedir}/gnuradio/filter
246 %attr(755,root,root) %{py3_sitedir}/gnuradio/filter/*.so
247 %{py3_sitedir}/gnuradio/filter/*.py*
248
249 %dir %{py3_sitedir}/gnuradio/gr
250 %attr(755,root,root) %{py3_sitedir}/gnuradio/gr/*.so
251 %{py3_sitedir}/gnuradio/gr/*.py*
252
253 %{py3_sitedir}/gnuradio/grc
254 %{py3_sitedir}/gnuradio/gru
255
256 %dir %{py3_sitedir}/gnuradio/qtgui
257 %attr(755,root,root) %{py3_sitedir}/gnuradio/qtgui/*.so
258 %{py3_sitedir}/gnuradio/qtgui/*.py*
259
260 %dir %{py3_sitedir}/gnuradio/trellis
261 %attr(755,root,root) %{py3_sitedir}/gnuradio/trellis/*.so
262 %{py3_sitedir}/gnuradio/trellis/*.py*
263
264 %dir %{py3_sitedir}/gnuradio/video_sdl
265 %attr(755,root,root) %{py3_sitedir}/gnuradio/video_sdl/*.so
266 %{py3_sitedir}/gnuradio/video_sdl/*.py*
267
268 %dir %{py3_sitedir}/gnuradio/vocoder
269 %attr(755,root,root) %{py3_sitedir}/gnuradio/vocoder/*.so
270 %{py3_sitedir}/gnuradio/vocoder/*.py*
271
272 %dir %{py3_sitedir}/gnuradio/wavelet
273 %attr(755,root,root) %{py3_sitedir}/gnuradio/wavelet/*.so
274 %{py3_sitedir}/gnuradio/wavelet/*.py*
275
276 %dir %{py3_sitedir}/gnuradio/zeromq
277 %attr(755,root,root) %{py3_sitedir}/gnuradio/zeromq/*.so
278 %{py3_sitedir}/gnuradio/zeromq/*.py*
279
280 %dir %{py3_sitedir}/pmt
281 %attr(755,root,root) %{py3_sitedir}/pmt/_pmt_swig.so
282 %{py3_sitedir}/pmt/*.py*
283 %{py3_sitedir}/volk_modtool
284
285 %{_datadir}/gnuradio
286 %exclude %{_datadir}/gnuradio/examples
287
288 %dir %{_libexecdir}/gnuradio
289 %attr(755,root,root) %{_libexecdir}/gnuradio/grc_setup_freedesktop
290
291 %{_desktopdir}/gnuradio-grc.desktop
292 %{_iconsdir}/hicolor/*x*/apps/gnuradio-grc.png
293 %{_datadir}/mime/packages/gnuradio-grc.xml
294
295 %files devel
296 %defattr(644,root,root,755)
297 %{_includedir}/gnuradio
298 %{_includedir}/pmt
299 %{_includedir}/volk
300 %attr(755,root,root) %{_libdir}/libgnuradio-*.so
301 %attr(755,root,root) %{_libdir}/libvolk.so
302 %{_pkgconfigdir}/gnuradio-*.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 doc
311 %defattr(644,root,root,755)
312 %doc inst-doc/*
313
314 %files examples
315 %defattr(644,root,root,755)
316 %{_datadir}/gnuradio/examples
This page took 0.077734 seconds and 2 git commands to generate.