]> git.pld-linux.org Git - packages/gnuradio.git/blob - gnuradio.spec
rebuild with python 3.10
[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:        9
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 export CFLAGS="%{rpmcflags} %{rpmcppflags}"
141 export CXXFLAGS="%{rpmcxxflags} %{rpmcppflags}"
142 export LDFLAGS="%{rpmldflags}"
143 %cmake -Wno-dev \
144         -DCMAKE_BUILD_TYPE=None \
145         -DENABLE_DOXYGEN=FORCE \
146         -DENABLE_GR_ATSC=FORCE \
147         -DENABLE_GR_AUDIO=FORCE \
148         -DENABLE_GRC=FORCE \
149         -DENABLE-GR_COMEDI=FORCE \
150         -DENABLE_GR_CORE=FORCE \
151         -DENABLE_GR_FCD=FORCE \
152         -DENABLE_GR_NOAA=FORCE \
153         -DENABLE_GR_PAGER=FORCE \
154         -DENABLE_GR_TRELLIS=FORCE \
155         -DENABLE_GRUEL=FORCE \
156         %{?with_uhd:-DENABLE_GR_UHD=FORCE} \
157         -DENABLE_GR_UTILS=FORCE \
158         -DENABLE_GR_VIDEO_SDL=FORCE \
159         -DENABLE_GR_VOCODER=FORCE \
160         -DENABLE_GR_WXGUI=FORCE \
161         -DENABLE_PYTHON=FORCE \
162         -DENABLE_VOLK=FORCE \
163         -DSYSCONFDIR=%{_sysconfdir} \
164         ..
165 %{__make}
166
167 %install
168 rm -rf $RPM_BUILD_ROOT
169
170 %{__make} -C build install \
171         DESTDIR=$RPM_BUILD_ROOT
172
173 rm -rf inst-doc
174 install -d inst-doc
175 %{__mv} $RPM_BUILD_ROOT%{_docdir}/gnuradio-*/* inst-doc
176
177 # filter bundled cmake files for other libraries
178 cd $RPM_BUILD_ROOT%{_libdir}/cmake/gnuradio
179 for f in *.cmake; do
180         case $f in
181                 FindUHD.cmake|Gr*.cmake|Gnu*.cmake)
182                         ;;
183                 *)
184                         rm "$f"
185                         ;;
186         esac
187 done
188
189 # obsolete theme
190 %{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/gnome
191
192 # remove binary from noarch examples
193 %{__rm} $RPM_BUILD_ROOT%{_datadir}/gnuradio/examples/{audio/dial_tone,qt-gui/display_qt}
194
195 %clean
196 rm -rf $RPM_BUILD_ROOT
197
198 %post   -p /sbin/ldconfig
199 %postun -p /sbin/ldconfig
200
201 %files
202 %defattr(644,root,root,755)
203 %doc README.hacking
204 %attr(755,root,root) %{_bindir}/gnuradio-*
205 %attr(755,root,root) %{_bindir}/gr-*
206 %attr(755,root,root) %{_bindir}/gr_*
207 %attr(755,root,root) %{_bindir}/grcc
208 %attr(755,root,root) %{_bindir}/polar_channel_construction
209 %attr(755,root,root) %{_bindir}/volk-config-info
210 %attr(755,root,root) %{_bindir}/volk_modtool
211 %attr(755,root,root) %{_bindir}/volk_profile
212 %attr(755,root,root) %{_libdir}/libgnuradio-*.so.*.*.*.*
213 %attr(755,root,root) %ghost %{_libdir}/libgnuradio-*.so.3.8.0
214 %attr(755,root,root) %{_libdir}/libvolk.so.*.*
215 %dir %{_sysconfdir}/gnuradio
216 %dir %{_sysconfdir}/gnuradio/conf.d
217 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnuradio/conf.d/*.conf
218
219 %dir %{py3_sitedir}/gnuradio
220 %{py3_sitedir}/gnuradio/*.py*
221 %dir %{py3_sitedir}/gnuradio/analog
222 %attr(755,root,root) %{py3_sitedir}/gnuradio/analog/*.so
223 %{py3_sitedir}/gnuradio/analog/*.py*
224
225 %dir %{py3_sitedir}/gnuradio/audio
226 %attr(755,root,root) %{py3_sitedir}/gnuradio/audio/*.so
227 %{py3_sitedir}/gnuradio/audio/*.py*
228
229 %dir %{py3_sitedir}/gnuradio/blocks
230 %attr(755,root,root) %{py3_sitedir}/gnuradio/blocks/*.so
231 %{py3_sitedir}/gnuradio/blocks/*.py*
232
233 %dir %{py3_sitedir}/gnuradio/channels
234 %attr(755,root,root) %{py3_sitedir}/gnuradio/channels/*.so
235 %{py3_sitedir}/gnuradio/channels/*.py*
236
237 %{py3_sitedir}/gnuradio/ctrlport
238
239 %dir %{py3_sitedir}/gnuradio/digital
240 %attr(755,root,root) %{py3_sitedir}/gnuradio/digital/*.so
241 %{py3_sitedir}/gnuradio/digital/*.py*
242 %{py3_sitedir}/gnuradio/digital/utils
243
244 %dir %{py3_sitedir}/gnuradio/dtv
245 %{py3_sitedir}/gnuradio/dtv/*.py*
246 %attr(755,root,root) %{py3_sitedir}/gnuradio/dtv/_dtv_swig.so
247
248 %dir %{py3_sitedir}/gnuradio/fec
249 %attr(755,root,root) %{py3_sitedir}/gnuradio/fec/*.so
250 %{py3_sitedir}/gnuradio/fec/*.py*
251 %dir %{py3_sitedir}/gnuradio/fec/LDPC
252 %{py3_sitedir}/gnuradio/fec/LDPC/*.py*
253 %dir %{py3_sitedir}/gnuradio/fec/polar
254 %{py3_sitedir}/gnuradio/fec/polar/*.py*
255
256 %dir %{py3_sitedir}/gnuradio/fft
257 %attr(755,root,root) %{py3_sitedir}/gnuradio/fft/*.so
258 %{py3_sitedir}/gnuradio/fft/*.py*
259
260 %dir %{py3_sitedir}/gnuradio/filter
261 %attr(755,root,root) %{py3_sitedir}/gnuradio/filter/*.so
262 %{py3_sitedir}/gnuradio/filter/*.py*
263
264 %dir %{py3_sitedir}/gnuradio/gr
265 %attr(755,root,root) %{py3_sitedir}/gnuradio/gr/*.so
266 %{py3_sitedir}/gnuradio/gr/*.py*
267
268 %{py3_sitedir}/gnuradio/grc
269 %{py3_sitedir}/gnuradio/gru
270
271 %dir %{py3_sitedir}/gnuradio/qtgui
272 %attr(755,root,root) %{py3_sitedir}/gnuradio/qtgui/*.so
273 %{py3_sitedir}/gnuradio/qtgui/*.py*
274
275 %dir %{py3_sitedir}/gnuradio/trellis
276 %attr(755,root,root) %{py3_sitedir}/gnuradio/trellis/*.so
277 %{py3_sitedir}/gnuradio/trellis/*.py*
278
279 %dir %{py3_sitedir}/gnuradio/video_sdl
280 %attr(755,root,root) %{py3_sitedir}/gnuradio/video_sdl/*.so
281 %{py3_sitedir}/gnuradio/video_sdl/*.py*
282
283 %dir %{py3_sitedir}/gnuradio/vocoder
284 %attr(755,root,root) %{py3_sitedir}/gnuradio/vocoder/*.so
285 %{py3_sitedir}/gnuradio/vocoder/*.py*
286
287 %dir %{py3_sitedir}/gnuradio/wavelet
288 %attr(755,root,root) %{py3_sitedir}/gnuradio/wavelet/*.so
289 %{py3_sitedir}/gnuradio/wavelet/*.py*
290
291 %dir %{py3_sitedir}/gnuradio/zeromq
292 %attr(755,root,root) %{py3_sitedir}/gnuradio/zeromq/*.so
293 %{py3_sitedir}/gnuradio/zeromq/*.py*
294
295 %dir %{py3_sitedir}/pmt
296 %attr(755,root,root) %{py3_sitedir}/pmt/_pmt_swig.so
297 %{py3_sitedir}/pmt/*.py*
298 %{py3_sitedir}/volk_modtool
299
300 %{_datadir}/gnuradio
301 %exclude %{_datadir}/gnuradio/examples
302
303 %dir %{_libexecdir}/gnuradio
304 %attr(755,root,root) %{_libexecdir}/gnuradio/grc_setup_freedesktop
305
306 %{_desktopdir}/gnuradio-grc.desktop
307 %{_iconsdir}/hicolor/*x*/apps/gnuradio-grc.png
308 %{_datadir}/mime/packages/gnuradio-grc.xml
309
310 %files devel
311 %defattr(644,root,root,755)
312 %{_includedir}/gnuradio
313 %{_includedir}/pmt
314 %{_includedir}/volk
315 %attr(755,root,root) %{_libdir}/libgnuradio-*.so
316 %attr(755,root,root) %{_libdir}/libvolk.so
317 %{_pkgconfigdir}/gnuradio-*.pc
318 %{_pkgconfigdir}/volk.pc
319 %{_libdir}/cmake/gnuradio
320 %{_libdir}/cmake/volk
321
322 %files doc
323 %defattr(644,root,root,755)
324 %doc inst-doc/*
325
326 %files examples
327 %defattr(644,root,root,755)
328 %{_datadir}/gnuradio/examples
This page took 0.051223 seconds and 3 git commands to generate.