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