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