]> git.pld-linux.org Git - packages/gnuradio.git/blame - gnuradio.spec
rebuild with python 3.10
[packages/gnuradio.git] / gnuradio.spec
CommitLineData
bd978e6e 1# TODO:
f7595bf5
AM
2# - fix uhd build (create uhd.spec first)
3# - GUIs split/subpackages?
bd978e6e 4%bcond_with uhd
79e30fd3 5
bd978e6e
AM
6Summary: Software defined radio framework
7Name: gnuradio
7961c90e 8Version: 3.8.0.0
9059c05a 9Release: 9
bd978e6e
AM
10License: GPL v3
11Group: Applications/Engineering
9bfaf30a 12Source0: http://gnuradio.org/releases/gnuradio/%{name}-%{version}.tar.gz
7961c90e 13# Source0-md5: 85e1ed4b18c46227731d83f8c3fbe45a
d6476722 14Patch0: link.patch
7961c90e 15Patch1: python-libdir.patch
8621df22 16Patch2: %{name}-boost.patch
5da91619 17URL: http://www.gnuradio.org/
65618ced
JB
18BuildRequires: Qt5Core-devel >= 5
19BuildRequires: Qt5DBus-devel >= 5
20BuildRequires: Qt5Declarative-devel >= 5
21BuildRequires: Qt5Designer-devel >= 5
22BuildRequires: Qt5Gui-devel >= 5
23BuildRequires: Qt5Help-devel >= 5
24BuildRequires: Qt5Network-devel >= 5
25BuildRequires: Qt5OpenGL-devel >= 5
26BuildRequires: Qt5Script-devel >= 5
27BuildRequires: Qt5ScriptTools-devel >= 5
28BuildRequires: Qt5Sql-devel >= 5
29BuildRequires: Qt5Svg-devel >= 5
30BuildRequires: Qt5Test-devel >= 5
31BuildRequires: Qt5UiTools-devel >= 5
32BuildRequires: Qt5WebKit-devel >= 5
33BuildRequires: Qt5Xml-devel >= 5
34BuildRequires: Qt5XmlPatterns-devel >= 5
79e30fd3 35BuildRequires: SDL-devel >= 1.2.0
ccd7cc61 36BuildRequires: alsa-lib-devel >= 0.9
d6476722 37BuildRequires: boost-devel >= 1.53
8621df22
JB
38# GI
39BuildRequires: cairo-gobject >= 1.0
40BuildRequires: cmake >= 3.5.1
ccd7cc61 41BuildRequires: cppunit-devel >= 1.9.14
d979be4a 42BuildRequires: cppzmq-devel
ccd7cc61 43BuildRequires: doxygen >= 1.5
5da91619 44BuildRequires: fftw3-devel >= 3.0
40931f23 45BuildRequires: fftw3-single-devel >= 3.0
5da91619 46BuildRequires: gsl-devel >= 1.10
40ee670f 47BuildRequires: gmp-c++-devel
8621df22
JB
48# GI
49BuildRequires: gtk+3 >= 3.10.8
dd7e9430 50BuildRequires: ice-devel
ccd7cc61 51BuildRequires: jack-audio-connection-kit-devel >= 0.8
8621df22 52BuildRequires: libstdc++-devel >= 6:4.8.4
bd978e6e 53BuildRequires: libusb-devel
ccd7cc61
TP
54BuildRequires: log4cpp-devel
55BuildRequires: orc-devel >= 0.4.11
8621df22
JB
56# PangoCairo GI
57BuildRequires: pango >= 1:1.26.0
40931f23 58BuildRequires: pkgconfig
ccd7cc61 59BuildRequires: portaudio-devel >= 19
8621df22
JB
60BuildRequires: python3 >= 1:3.6.5
61BuildRequires: python3-Mako >= 0.9.1
9356aa73 62# R/S instead?
7961c90e 63BuildRequires: python3-PyOpenGL
9356aa73 64# R/S instead?
8621df22 65BuildRequires: python3-PyYAML >= 3.10
7961c90e
JR
66BuildRequires: python3-click
67BuildRequires: python3-devel >= 2.5
68BuildRequires: python3-devel-tools
69BuildRequires: python3-lxml >= 1.3.6
70BuildRequires: python3-numpy >= 1.1.0
8621df22 71BuildRequires: python3-pygobject3 >= 2.28.6
65618ced
JB
72BuildRequires: qt5-build >= 5
73BuildRequires: qt5-qmake >= 5
7961c90e 74BuildRequires: qwt5-devel
8621df22 75BuildRequires: sip-PyQt5
40931f23 76BuildRequires: sphinx-pdg
8621df22 77BuildRequires: swig-python >= 3.0.8
bd978e6e 78BuildRequires: texlive-latex
ccd7cc61 79%{?with_uhd:BuildRequires: uhd-devel >= 3.0.0}
bd978e6e
AM
80BuildRequires: xdg-utils
81BuildRequires: xmlto
164807ce 82BuildConflicts: python-thrift
bd978e6e 83Requires: portaudio
7961c90e 84Requires: python3-PyQt5
8621df22 85Requires: python3-PyYAML >= 3.10
7961c90e
JR
86Requires: python3-click
87Requires: python3-lxml
88Requires: python3-numpy
89Requires: python3-scipy
bd978e6e
AM
90Obsoletes: grc < 0.80-1
91Obsoletes: usrp < 3.3.0-1
92BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
93
37537e21
TP
94%define filterout_cpp -pipe
95
bd978e6e
AM
96%description
97GNU Radio is a collection of software that when combined with minimal
98hardware, allows the construction of radios where the actual waveforms
99transmitted and received are defined by software. What this means is
100that it turns the digital modulation schemes used in today's high
101performance wireless devices into software problems.
102
103%package devel
9d5b7836 104Summary: GNU Radio development files
bd978e6e
AM
105Group: Applications/Engineering
106Requires: %{name} = %{version}-%{release}
f7595bf5 107Requires: boost-devel
bd978e6e
AM
108Obsoletes: usrp-devel < 3.3.0-1
109
110%description devel
ccd7cc61 111GNU Radio Headers.
bd978e6e 112
79e30fd3
ER
113%package doc
114Summary: GNU Radio
115Group: Documentation
116Requires: %{name} = %{version}-%{release}
79e30fd3 117BuildArch: noarch
79e30fd3
ER
118
119%description doc
120GNU Radio Documentation.
121
bd978e6e 122%package examples
9d5b7836 123Summary: GNU Radio examples
79e30fd3 124Group: Documentation
bd978e6e 125Requires: %{name} = %{version}-%{release}
79e30fd3 126BuildArch: noarch
bd978e6e
AM
127
128%description examples
ccd7cc61 129GNU Radio examples.
bd978e6e
AM
130
131%prep
9d5b7836 132%setup -q
d6476722
JR
133%patch0 -p1
134%patch1 -p1
8621df22 135%patch2 -p1
1805fc77 136
bd978e6e 137%build
9d5b7836
TP
138%{__mkdir_p} build
139cd build
666ea1df
JP
140export CFLAGS="%{rpmcflags} %{rpmcppflags}"
141export CXXFLAGS="%{rpmcxxflags} %{rpmcppflags}"
142export LDFLAGS="%{rpmldflags}"
d6476722 143%cmake -Wno-dev \
1805fc77 144 -DCMAKE_BUILD_TYPE=None \
f7595bf5
AM
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 ..
bd978e6e
AM
165%{__make}
166
167%install
168rm -rf $RPM_BUILD_ROOT
169
f7595bf5 170%{__make} -C build install \
bd978e6e
AM
171 DESTDIR=$RPM_BUILD_ROOT
172
27dc4c8e 173rm -rf inst-doc
a9e3794d 174install -d inst-doc
8621df22 175%{__mv} $RPM_BUILD_ROOT%{_docdir}/gnuradio-*/* inst-doc
a9e3794d 176
f7595bf5
AM
177# filter bundled cmake files for other libraries
178cd $RPM_BUILD_ROOT%{_libdir}/cmake/gnuradio
179for f in *.cmake; do
180 case $f in
181 FindUHD.cmake|Gr*.cmake|Gnu*.cmake)
182 ;;
183 *)
184 rm "$f"
185 ;;
186 esac
187done
400a7613 188
8621df22
JB
189# obsolete theme
190%{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/gnome
191
9430b8d3 192# remove binary from noarch examples
12665bc8 193%{__rm} $RPM_BUILD_ROOT%{_datadir}/gnuradio/examples/{audio/dial_tone,qt-gui/display_qt}
9430b8d3 194
bd978e6e
AM
195%clean
196rm -rf $RPM_BUILD_ROOT
197
27dc4c8e
ER
198%post -p /sbin/ldconfig
199%postun -p /sbin/ldconfig
bd978e6e
AM
200
201%files
202%defattr(644,root,root,755)
9d5b7836 203%doc README.hacking
a9e3794d 204%attr(755,root,root) %{_bindir}/gnuradio-*
d6476722 205%attr(755,root,root) %{_bindir}/gr-*
9d5b7836
TP
206%attr(755,root,root) %{_bindir}/gr_*
207%attr(755,root,root) %{_bindir}/grcc
d6476722 208%attr(755,root,root) %{_bindir}/polar_channel_construction
1805fc77 209%attr(755,root,root) %{_bindir}/volk-config-info
f7595bf5
AM
210%attr(755,root,root) %{_bindir}/volk_modtool
211%attr(755,root,root) %{_bindir}/volk_profile
7961c90e
JR
212%attr(755,root,root) %{_libdir}/libgnuradio-*.so.*.*.*.*
213%attr(755,root,root) %ghost %{_libdir}/libgnuradio-*.so.3.8.0
f7595bf5 214%attr(755,root,root) %{_libdir}/libvolk.so.*.*
a9e3794d
AM
215%dir %{_sysconfdir}/gnuradio
216%dir %{_sysconfdir}/gnuradio/conf.d
217%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnuradio/conf.d/*.conf
9d5b7836 218
7961c90e
JR
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
9d5b7836
TP
299
300%{_datadir}/gnuradio
bd978e6e 301%exclude %{_datadir}/gnuradio/examples
bd978e6e 302
7961c90e
JR
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
1805fc77 309
bd978e6e
AM
310%files devel
311%defattr(644,root,root,755)
a9e3794d 312%{_includedir}/gnuradio
9d5b7836
TP
313%{_includedir}/pmt
314%{_includedir}/volk
a9e3794d 315%attr(755,root,root) %{_libdir}/libgnuradio-*.so
9d5b7836 316%attr(755,root,root) %{_libdir}/libvolk.so
a9e3794d 317%{_pkgconfigdir}/gnuradio-*.pc
9d5b7836 318%{_pkgconfigdir}/volk.pc
8621df22 319%{_libdir}/cmake/gnuradio
f7595bf5 320%{_libdir}/cmake/volk
bd978e6e 321
80987876
ER
322%files doc
323%defattr(644,root,root,755)
324%doc inst-doc/*
325
bd978e6e
AM
326%files examples
327%defattr(644,root,root,755)
328%{_datadir}/gnuradio/examples
This page took 0.189084 seconds and 4 git commands to generate.