]> git.pld-linux.org Git - packages/gnuradio.git/blame - gnuradio.spec
- added boost patch, more dependencies
[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
12665bc8 9Release: 2
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/
7961c90e
JR
18BuildRequires: Qt5Core-devel
19BuildRequires: Qt5DBus-devel
20BuildRequires: Qt5Declarative-devel
21BuildRequires: Qt5Designer-devel
22BuildRequires: Qt5Gui-devel
23BuildRequires: Qt5Help-devel
24BuildRequires: Qt5Network-devel
25BuildRequires: Qt5OpenGL-devel
26BuildRequires: Qt5Script-devel
27BuildRequires: Qt5ScriptTools-devel
28BuildRequires: Qt5Sql-devel
29BuildRequires: Qt5Svg-devel
30BuildRequires: Qt5Test-devel
31BuildRequires: Qt5UiTools-devel
32BuildRequires: Qt5WebKit-devel
33BuildRequires: Qt5Xml-devel
34BuildRequires: Qt5XmlPatterns-devel
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
8621df22
JB
47# GI
48BuildRequires: gtk+3 >= 3.10.8
dd7e9430 49BuildRequires: ice-devel
ccd7cc61 50BuildRequires: jack-audio-connection-kit-devel >= 0.8
8621df22 51BuildRequires: libstdc++-devel >= 6:4.8.4
bd978e6e 52BuildRequires: libusb-devel
ccd7cc61
TP
53BuildRequires: log4cpp-devel
54BuildRequires: orc-devel >= 0.4.11
8621df22
JB
55# PangoCairo GI
56BuildRequires: pango >= 1:1.26.0
40931f23 57BuildRequires: pkgconfig
ccd7cc61 58BuildRequires: portaudio-devel >= 19
8621df22
JB
59BuildRequires: python3 >= 1:3.6.5
60BuildRequires: python3-Mako >= 0.9.1
9356aa73 61# R/S instead?
7961c90e 62BuildRequires: python3-PyOpenGL
9356aa73 63# R/S instead?
8621df22 64BuildRequires: python3-PyYAML >= 3.10
7961c90e
JR
65BuildRequires: python3-click
66BuildRequires: python3-devel >= 2.5
67BuildRequires: python3-devel-tools
68BuildRequires: python3-lxml >= 1.3.6
69BuildRequires: python3-numpy >= 1.1.0
8621df22 70BuildRequires: python3-pygobject3 >= 2.28.6
7961c90e
JR
71BuildRequires: qt5-build
72BuildRequires: qt5-qmake
73BuildRequires: qwt5-devel
8621df22 74BuildRequires: sip-PyQt5
40931f23 75BuildRequires: sphinx-pdg
8621df22 76BuildRequires: swig-python >= 3.0.8
bd978e6e 77BuildRequires: texlive-latex
ccd7cc61 78%{?with_uhd:BuildRequires: uhd-devel >= 3.0.0}
bd978e6e
AM
79BuildRequires: xdg-utils
80BuildRequires: xmlto
164807ce 81BuildConflicts: python-thrift
bd978e6e 82Requires: portaudio
7961c90e 83Requires: python3-PyQt5
8621df22 84Requires: python3-PyYAML >= 3.10
7961c90e
JR
85Requires: python3-click
86Requires: python3-lxml
87Requires: python3-numpy
88Requires: python3-scipy
bd978e6e
AM
89Obsoletes: grc < 0.80-1
90Obsoletes: usrp < 3.3.0-1
91BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
92
37537e21
TP
93%define filterout_cpp -pipe
94
bd978e6e
AM
95%description
96GNU Radio is a collection of software that when combined with minimal
97hardware, allows the construction of radios where the actual waveforms
98transmitted and received are defined by software. What this means is
99that it turns the digital modulation schemes used in today's high
100performance wireless devices into software problems.
101
102%package devel
9d5b7836 103Summary: GNU Radio development files
bd978e6e
AM
104Group: Applications/Engineering
105Requires: %{name} = %{version}-%{release}
f7595bf5 106Requires: boost-devel
bd978e6e
AM
107Obsoletes: usrp-devel < 3.3.0-1
108
109%description devel
ccd7cc61 110GNU Radio Headers.
bd978e6e 111
79e30fd3
ER
112%package doc
113Summary: GNU Radio
114Group: Documentation
115Requires: %{name} = %{version}-%{release}
8621df22 116%if "%{_rpmversion}" >= "4.6"
79e30fd3
ER
117BuildArch: noarch
118%endif
119
120%description doc
121GNU Radio Documentation.
122
bd978e6e 123%package examples
9d5b7836 124Summary: GNU Radio examples
79e30fd3 125Group: Documentation
bd978e6e 126Requires: %{name} = %{version}-%{release}
8621df22 127%if "%{_rpmversion}" >= "4.6"
79e30fd3
ER
128BuildArch: noarch
129%endif
bd978e6e
AM
130
131%description examples
ccd7cc61 132GNU Radio examples.
bd978e6e
AM
133
134%prep
9d5b7836 135%setup -q
d6476722
JR
136%patch0 -p1
137%patch1 -p1
8621df22 138%patch2 -p1
1805fc77 139
bd978e6e 140%build
9d5b7836
TP
141%{__mkdir_p} build
142cd build
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.078706 seconds and 4 git commands to generate.