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