]> git.pld-linux.org Git - packages/gnuradio.git/blob - gnuradio.spec
- release 3 (boost 1.73)
[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:        3
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 # GI
48 BuildRequires:  gtk+3 >= 3.10.8
49 BuildRequires:  ice-devel
50 BuildRequires:  jack-audio-connection-kit-devel >= 0.8
51 BuildRequires:  libstdc++-devel >= 6:4.8.4
52 BuildRequires:  libusb-devel
53 BuildRequires:  log4cpp-devel
54 BuildRequires:  orc-devel >= 0.4.11
55 # PangoCairo GI
56 BuildRequires:  pango >= 1:1.26.0
57 BuildRequires:  pkgconfig
58 BuildRequires:  portaudio-devel >= 19
59 BuildRequires:  python >= 1:3.6.5
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 %if "%{_rpmversion}" >= "4.6"
118 BuildArch:      noarch
119 %endif
120
121 %description doc
122 GNU Radio Documentation.
123
124 %package examples
125 Summary:        GNU Radio examples
126 Group:          Documentation
127 Requires:       %{name} = %{version}-%{release}
128 %if "%{_rpmversion}" >= "4.6"
129 BuildArch:      noarch
130 %endif
131
132 %description examples
133 GNU Radio examples.
134
135 %prep
136 %setup -q
137 %patch0 -p1
138 %patch1 -p1
139 %patch2 -p1
140
141 %build
142 %{__mkdir_p} build
143 cd build
144 %cmake -Wno-dev \
145         -DCMAKE_BUILD_TYPE=None \
146         -DENABLE_DOXYGEN=FORCE \
147         -DENABLE_GR_ATSC=FORCE \
148         -DENABLE_GR_AUDIO=FORCE \
149         -DENABLE_GRC=FORCE \
150         -DENABLE-GR_COMEDI=FORCE \
151         -DENABLE_GR_CORE=FORCE \
152         -DENABLE_GR_FCD=FORCE \
153         -DENABLE_GR_NOAA=FORCE \
154         -DENABLE_GR_PAGER=FORCE \
155         -DENABLE_GR_TRELLIS=FORCE \
156         -DENABLE_GRUEL=FORCE \
157         %{?with_uhd:-DENABLE_GR_UHD=FORCE} \
158         -DENABLE_GR_UTILS=FORCE \
159         -DENABLE_GR_VIDEO_SDL=FORCE \
160         -DENABLE_GR_VOCODER=FORCE \
161         -DENABLE_GR_WXGUI=FORCE \
162         -DENABLE_PYTHON=FORCE \
163         -DENABLE_VOLK=FORCE \
164         -DSYSCONFDIR=%{_sysconfdir} \
165         ..
166 %{__make}
167
168 %install
169 rm -rf $RPM_BUILD_ROOT
170
171 %{__make} -C build install \
172         DESTDIR=$RPM_BUILD_ROOT
173
174 rm -rf inst-doc
175 install -d inst-doc
176 %{__mv} $RPM_BUILD_ROOT%{_docdir}/gnuradio-*/* inst-doc
177
178 # filter bundled cmake files for other libraries
179 cd $RPM_BUILD_ROOT%{_libdir}/cmake/gnuradio
180 for f in *.cmake; do
181         case $f in
182                 FindUHD.cmake|Gr*.cmake|Gnu*.cmake)
183                         ;;
184                 *)
185                         rm "$f"
186                         ;;
187         esac
188 done
189
190 # obsolete theme
191 %{__rm} -r $RPM_BUILD_ROOT%{_iconsdir}/gnome
192
193 # remove binary from noarch examples
194 %{__rm} $RPM_BUILD_ROOT%{_datadir}/gnuradio/examples/{audio/dial_tone,qt-gui/display_qt}
195
196 %clean
197 rm -rf $RPM_BUILD_ROOT
198
199 %post   -p /sbin/ldconfig
200 %postun -p /sbin/ldconfig
201
202 %files
203 %defattr(644,root,root,755)
204 %doc README.hacking
205 %attr(755,root,root) %{_bindir}/gnuradio-*
206 %attr(755,root,root) %{_bindir}/gr-*
207 %attr(755,root,root) %{_bindir}/gr_*
208 %attr(755,root,root) %{_bindir}/grcc
209 %attr(755,root,root) %{_bindir}/polar_channel_construction
210 %attr(755,root,root) %{_bindir}/volk-config-info
211 %attr(755,root,root) %{_bindir}/volk_modtool
212 %attr(755,root,root) %{_bindir}/volk_profile
213 %attr(755,root,root) %{_libdir}/libgnuradio-*.so.*.*.*.*
214 %attr(755,root,root) %ghost %{_libdir}/libgnuradio-*.so.3.8.0
215 %attr(755,root,root) %{_libdir}/libvolk.so.*.*
216 %dir %{_sysconfdir}/gnuradio
217 %dir %{_sysconfdir}/gnuradio/conf.d
218 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnuradio/conf.d/*.conf
219
220 %dir %{py3_sitedir}/gnuradio
221 %{py3_sitedir}/gnuradio/*.py*
222 %dir %{py3_sitedir}/gnuradio/analog
223 %attr(755,root,root) %{py3_sitedir}/gnuradio/analog/*.so
224 %{py3_sitedir}/gnuradio/analog/*.py*
225
226 %dir %{py3_sitedir}/gnuradio/audio
227 %attr(755,root,root) %{py3_sitedir}/gnuradio/audio/*.so
228 %{py3_sitedir}/gnuradio/audio/*.py*
229
230 %dir %{py3_sitedir}/gnuradio/blocks
231 %attr(755,root,root) %{py3_sitedir}/gnuradio/blocks/*.so
232 %{py3_sitedir}/gnuradio/blocks/*.py*
233
234 %dir %{py3_sitedir}/gnuradio/channels
235 %attr(755,root,root) %{py3_sitedir}/gnuradio/channels/*.so
236 %{py3_sitedir}/gnuradio/channels/*.py*
237
238 %{py3_sitedir}/gnuradio/ctrlport
239
240 %dir %{py3_sitedir}/gnuradio/digital
241 %attr(755,root,root) %{py3_sitedir}/gnuradio/digital/*.so
242 %{py3_sitedir}/gnuradio/digital/*.py*
243 %{py3_sitedir}/gnuradio/digital/utils
244
245 %dir %{py3_sitedir}/gnuradio/dtv
246 %{py3_sitedir}/gnuradio/dtv/*.py*
247 %attr(755,root,root) %{py3_sitedir}/gnuradio/dtv/_dtv_swig.so
248
249 %dir %{py3_sitedir}/gnuradio/fec
250 %attr(755,root,root) %{py3_sitedir}/gnuradio/fec/*.so
251 %{py3_sitedir}/gnuradio/fec/*.py*
252 %dir %{py3_sitedir}/gnuradio/fec/LDPC
253 %{py3_sitedir}/gnuradio/fec/LDPC/*.py*
254 %dir %{py3_sitedir}/gnuradio/fec/polar
255 %{py3_sitedir}/gnuradio/fec/polar/*.py*
256
257 %dir %{py3_sitedir}/gnuradio/fft
258 %attr(755,root,root) %{py3_sitedir}/gnuradio/fft/*.so
259 %{py3_sitedir}/gnuradio/fft/*.py*
260
261 %dir %{py3_sitedir}/gnuradio/filter
262 %attr(755,root,root) %{py3_sitedir}/gnuradio/filter/*.so
263 %{py3_sitedir}/gnuradio/filter/*.py*
264
265 %dir %{py3_sitedir}/gnuradio/gr
266 %attr(755,root,root) %{py3_sitedir}/gnuradio/gr/*.so
267 %{py3_sitedir}/gnuradio/gr/*.py*
268
269 %{py3_sitedir}/gnuradio/grc
270 %{py3_sitedir}/gnuradio/gru
271
272 %dir %{py3_sitedir}/gnuradio/qtgui
273 %attr(755,root,root) %{py3_sitedir}/gnuradio/qtgui/*.so
274 %{py3_sitedir}/gnuradio/qtgui/*.py*
275
276 %dir %{py3_sitedir}/gnuradio/trellis
277 %attr(755,root,root) %{py3_sitedir}/gnuradio/trellis/*.so
278 %{py3_sitedir}/gnuradio/trellis/*.py*
279
280 %dir %{py3_sitedir}/gnuradio/video_sdl
281 %attr(755,root,root) %{py3_sitedir}/gnuradio/video_sdl/*.so
282 %{py3_sitedir}/gnuradio/video_sdl/*.py*
283
284 %dir %{py3_sitedir}/gnuradio/vocoder
285 %attr(755,root,root) %{py3_sitedir}/gnuradio/vocoder/*.so
286 %{py3_sitedir}/gnuradio/vocoder/*.py*
287
288 %dir %{py3_sitedir}/gnuradio/wavelet
289 %attr(755,root,root) %{py3_sitedir}/gnuradio/wavelet/*.so
290 %{py3_sitedir}/gnuradio/wavelet/*.py*
291
292 %dir %{py3_sitedir}/gnuradio/zeromq
293 %attr(755,root,root) %{py3_sitedir}/gnuradio/zeromq/*.so
294 %{py3_sitedir}/gnuradio/zeromq/*.py*
295
296 %dir %{py3_sitedir}/pmt
297 %attr(755,root,root) %{py3_sitedir}/pmt/_pmt_swig.so
298 %{py3_sitedir}/pmt/*.py*
299 %{py3_sitedir}/volk_modtool
300
301 %{_datadir}/gnuradio
302 %exclude %{_datadir}/gnuradio/examples
303
304 %dir %{_libexecdir}/gnuradio
305 %attr(755,root,root) %{_libexecdir}/gnuradio/grc_setup_freedesktop
306
307 %{_desktopdir}/gnuradio-grc.desktop
308 %{_iconsdir}/hicolor/*x*/apps/gnuradio-grc.png
309 %{_datadir}/mime/packages/gnuradio-grc.xml
310
311 %files devel
312 %defattr(644,root,root,755)
313 %{_includedir}/gnuradio
314 %{_includedir}/pmt
315 %{_includedir}/volk
316 %attr(755,root,root) %{_libdir}/libgnuradio-*.so
317 %attr(755,root,root) %{_libdir}/libvolk.so
318 %{_pkgconfigdir}/gnuradio-*.pc
319 %{_pkgconfigdir}/volk.pc
320 %{_libdir}/cmake/gnuradio
321 %{_libdir}/cmake/volk
322
323 %files doc
324 %defattr(644,root,root,755)
325 %doc inst-doc/*
326
327 %files examples
328 %defattr(644,root,root,755)
329 %{_datadir}/gnuradio/examples
This page took 0.098139 seconds and 3 git commands to generate.