]> git.pld-linux.org Git - packages/uhd.git/blob - uhd.spec
boost rebuild
[packages/uhd.git] / uhd.spec
1 #
2 # Conditional build
3 %bcond_without  mpm     # Module Peripheral Manager (run on embedded devices)
4 %bcond_with     dpdk    # DPDK support
5 %bcond_with     tests   # build tests
6
7 Summary:        Universal Hardware Driver for Ettus Research products
8 Summary(pl.UTF-8):      Uniwersalny sterownik sprzętowy do produktów Ettus Research
9 Name:           uhd
10 Version:        4.4.0.0
11 Release:        2
12 License:        GPL v3+
13 Group:          Applications/System
14 #Source0Download: https://github.com/EttusResearch/uhd/releases
15 Source0:        https://github.com/EttusResearch/uhd/archive/v%{version}/%{name}-%{version}.tar.gz
16 # Source0-md5:  d91249b0114b2ac2fc36457f294ee55b
17 Patch0:         gcc13.patch
18 Patch1:         %{name}-libdir.patch
19 Patch3:         %{name}-mpm-build.patch
20 URL:            https://www.ettus.com/sdr-software/uhd-usrp-hardware-driver/
21 BuildRequires:  boost-devel >= 1.66
22 BuildRequires:  cmake >= 3.8
23 BuildRequires:  doxygen
24 %if %{with dpdk}
25 BuildRequires:  dpdk-devel >= 18.11
26 BuildRequires:  dpdk-devel < 21.12
27 %endif
28 BuildRequires:  libstdc++-devel >= 6:6.3
29 BuildRequires:  libusb-devel >= 1.0
30 BuildRequires:  ncurses-devel
31 BuildRequires:  pkgconfig
32 BuildRequires:  python3 >= 1:3.6
33 BuildRequires:  python3-Mako >= 0.4.2
34 BuildRequires:  python3-devel >= 1:3.6
35 BuildRequires:  python3-modules >= 1:3.6
36 BuildRequires:  python3-numpy-devel >= 1.11
37 BuildRequires:  python3-requests >= 2.0
38 BuildRequires:  rpm-build >= 4.6
39 BuildRequires:  rpm-pythonprov
40 BuildRequires:  rpmbuild(macros) >= 1.742
41 %if %{with mpm}
42 BuildRequires:  udev-devel
43 %endif
44 Requires:       %{name}-libs = %{version}-%{release}
45 Requires:       python3-uhd = %{version}-%{release}
46 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
47
48 # per_lcore__lcore_id, per_lcore__rte_errno non-function symbols from dpdk
49 %define         skip_post_check_so      libuhd.so.*
50
51 %description
52 The UHD is the universal hardware driver for Ettus Research products.
53 The goal of the UHD is to provide a host driver and API for current
54 and future Ettus Research products. It can be used standalone without
55 GNU Radio.
56
57 %description -l pl.UTF-8
58 UHD to uniwersalny sterownik sprzętowy do produktów Ettus Research.
59 Celem UHD jest zapewnienie sterownika gospodarza oraz API do obecnych
60 i przyszłych produków Ettus Research. Może być używany samodzielnie
61 bez GNU Radio.
62
63 %package libs
64 Summary:        USRP Hardware Driver library
65 Summary(pl.UTF-8):      Biblioteka USRP Hardware Driver
66 Group:          Libraries
67
68 %description libs
69 USRP Hardware Driver library.
70
71 %description libs -l pl.UTF-8
72 Biblioteka USRP Hardware Driver.
73
74 %package devel
75 Summary:        Development files for USRP Hardware Driver library
76 Summary(pl.UTF-8):      Pliki programistyczne biblioteki USRP Hardware Driver
77 Group:          Development/Libraries
78 Requires:       %{name}-libs = %{version}-%{release}
79 Requires:       boost-devel >= 1.66
80
81 %description devel
82 Header files for USRP Hardware Driver for Ettus Research products.
83
84 %description devel -l pl.UTF-8
85 Pliki nagłówkowe biblioteki USRP Hardware Driver (sterownika dla
86 sprzętu USRP) do produktów Ettus Research.
87
88 %package examples
89 Summary:        Examples for UHD
90 Summary(pl.UTF-8):      Przykłady do UHD
91 Group:          Applications/System
92 Requires:       %{name}-libs = %{version}-%{release}
93
94 %description examples
95 Example programs for USRP Hardware Driver for Ettus Research products.
96
97 %description examples -l pl.UTF-8
98 Programy przykładowe do biblioteki USRP Hardware Driver (sterownika
99 dla sprzętu USRP) do produktów Ettus Research.
100
101 %package doc
102 Summary:        Documentation for UHD
103 Summary(pl.UTF-8):      Dokumentacja do UHD
104 Group:          Documentation
105 BuildArch:      noarch
106
107 %description doc
108 Documentation for USRP Hardware Driver for Ettus Research products.
109
110 %description doc -l pl.UTF-8
111 Dokumentacja do biblioteki USRP Hardware Driver (sterownika dla
112 sprzętu USRP) do produktów Ettus Research.
113
114 %package -n python3-uhd
115 Summary:        Python interface for USRP Hardware Driver library
116 Summary(pl.UTF-8):      Interfejs Pythona do biblioteki USRP Hardware Driver
117 Group:          Libraries/Python
118
119 %description -n python3-uhd
120 Python interface for USRP Hardware Driver library.
121
122 %description -n python3-uhd -l pl.UTF-8
123 Interfejs Pythona do biblioteki USRP Hardware Driver.
124
125 %package mpm
126 Summary:        USRP Module Peripheral Manager
127 Summary(pl.UTF-8):      USRP Module Peripheral Manager - zarządca urządzeń peryferyjnych
128 Group:          Applications/System
129 Requires:       %{name}-mpm-libs = %{version}-%{release}
130
131 %description mpm
132 USRP Module Peripheral Manager.
133
134 %description mpm -l pl.UTF-8
135 USRP Module Peripheral Manager - zarządca urządzeń peryferyjnych.
136
137 %package mpm-libs
138 Summary:        USRP Module Peripheral Manager library
139 Summary(pl.UTF-8):      Biblioteka USRP Module Peripheral Manager
140 Group:          Libraries
141
142 %description mpm-libs
143 USRP Module Peripheral Manager library.
144
145 %description mpm-libs -l pl.UTF-8
146 Biblioteka USRP Module Peripheral Manager.
147
148 %package mpm-devel
149 Summary:        USRP Module Peripheral Manager library
150 Summary(pl.UTF-8):      Biblioteka USRP Module Peripheral Manager
151 Group:          Development/Libraries
152 Requires:       %{name}-mpm-libs = %{version}-%{release}
153
154 %description mpm-devel
155 USRP Module Peripheral Manager library.
156
157 %description mpm-devel -l pl.UTF-8
158 Biblioteka USRP Module Peripheral Manager.
159
160 %package -n python3-usrp_mpm
161 Summary:        Python USRP Module Peripheral Manager library
162 Summary(pl.UTF-8):      Biblioteka USRP Module Peripheral Manager dla Pythona
163 Group:          Libraries/Python
164 Requires:       %{name}-mpm-libs = %{version}-%{release}
165
166 %description -n python3-usrp_mpm
167 Python USRP Module Peripheral Manager library.
168
169 %description -n python3-usrp_mpm -l pl.UTF-8
170 Biblioteka USRP Module Peripheral Manager dla Pythona.
171
172 %prep
173 %setup -q
174 %patch0 -p1
175 %patch1 -p1
176 %patch3 -p1
177
178 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' host/examples/python/*.py
179 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' host/utils/{converter_benchmark.py,usrp2_{card_burner,card_burner_gui,recovery}.py}
180 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' host/utils/latency/graph.py
181 grep -rl '/usr/bin/env python3' . | xargs %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},'
182
183 %build
184 install -d build-{host,mpm}
185 cd build-host
186 %cmake ../host \
187         -DUHD_VERSION="%{version}" \
188         %{!?with_dpdk:-DENABLE_DPDK=OFF} \
189         %{cmake_on_off tests ENABLE_TESTS} \
190         -DENABLE_USB=ON
191
192 %{__make}
193
194 %if %{with mpm}
195 cd ../build-mpm
196 %cmake ../mpm
197
198 # -DMPM_DEVICE= n3xx (Mykonos+Magnesium), e320, e31x
199 %endif
200
201 %{__make}
202
203 %install
204 rm -rf $RPM_BUILD_ROOT
205
206 %{__make} -C build-host install \
207         DESTDIR=$RPM_BUILD_ROOT
208
209 # outdated (binaries removed)
210 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/usrp_n2xx_simple_net_burner.1*
211 # not packaging tests
212 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/utils/latency/run_tests.py
213 %if %{with tests}
214 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{name}/tests
215 %endif
216 # packaged as %doc
217 %{__rm} $RPM_BUILD_ROOT%{_docdir}/uhd/{LICENSE,README.md}
218
219 %if %{with mpm}
220 %{__make} -C build-mpm install \
221         DESTDIR=$RPM_BUILD_ROOT
222
223 %{__rm} $RPM_BUILD_ROOT%{_bindir}/aurora_bist_test.py
224
225 # combine all rules
226 LC_ALL=C sort -u mpm/systemd/udev/????/70-sfp-net.rules >$RPM_BUILD_ROOT/lib/udev/rules.d/70-sfp-net.rules
227
228 # configuration examples
229 %{__rm} $RPM_BUILD_ROOT/lib/systemd/network/{eth0,int0,sfp*}.network
230 %endif
231
232 %py3_comp $RPM_BUILD_ROOT%{py3_sitedir}
233 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}
234
235 %clean
236 rm -rf $RPM_BUILD_ROOT
237
238 %post   libs -p /sbin/ldconfig
239 %postun libs -p /sbin/ldconfig
240
241 %post   mpm-libs -p /sbin/ldconfig
242 %postun mpm-libs -p /sbin/ldconfig
243
244 %files
245 %defattr(644,root,root,755)
246 %doc CHANGELOG host/{LICENSE,README.md}
247 %attr(755,root,root) %{_bindir}/check-filesystem
248 %attr(755,root,root) %{_bindir}/rfnoc_image_builder
249 %attr(755,root,root) %{_bindir}/uhd_adc_self_cal
250 %attr(755,root,root) %{_bindir}/uhd_cal_rx_iq_balance
251 %attr(755,root,root) %{_bindir}/uhd_cal_tx_dc_offset
252 %attr(755,root,root) %{_bindir}/uhd_cal_tx_iq_balance
253 %attr(755,root,root) %{_bindir}/uhd_config_info
254 %attr(755,root,root) %{_bindir}/uhd_find_devices
255 %attr(755,root,root) %{_bindir}/uhd_image_loader
256 %attr(755,root,root) %{_bindir}/uhd_images_downloader
257 %attr(755,root,root) %{_bindir}/uhd_usrp_probe
258 %attr(755,root,root) %{_bindir}/usrp2_card_burner
259 %attr(755,root,root) %{_bindir}/usrpctl
260 %{_mandir}/man1/uhd_cal_rx_iq_balance.1*
261 %{_mandir}/man1/uhd_cal_tx_dc_offset.1*
262 %{_mandir}/man1/uhd_cal_tx_iq_balance.1*
263 %{_mandir}/man1/uhd_config_info.1*
264 %{_mandir}/man1/uhd_find_devices.1*
265 %{_mandir}/man1/uhd_image_loader.1*
266 %{_mandir}/man1/uhd_images_downloader.1*
267 %{_mandir}/man1/uhd_usrp_probe.1*
268 %{_mandir}/man1/usrp2_card_burner.1*
269 %{_mandir}/man1/usrpctl.1*
270 %dir %{_libdir}/%{name}/utils
271 %attr(755,root,root) %{_libdir}/%{name}/utils/b2xx_fx3_utils
272 %attr(755,root,root) %{_libdir}/%{name}/utils/convert_cal_data.py
273 %attr(755,root,root) %{_libdir}/%{name}/utils/converter_benchmark
274 %attr(755,root,root) %{_libdir}/%{name}/utils/converter_benchmark.py
275 %attr(755,root,root) %{_libdir}/%{name}/utils/fx2_init_eeprom
276 %attr(755,root,root) %{_libdir}/%{name}/utils/octoclock_burn_eeprom
277 %attr(755,root,root) %{_libdir}/%{name}/utils/query_gpsdo_sensors
278 %attr(755,root,root) %{_libdir}/%{name}/utils/uhd_images_downloader.py
279 %attr(755,root,root) %{_libdir}/%{name}/utils/uhd_power_cal.py
280 %attr(755,root,root) %{_libdir}/%{name}/utils/usrp2_card_burner.py
281 %attr(755,root,root) %{_libdir}/%{name}/utils/usrp2_recovery.py
282 %attr(755,root,root) %{_libdir}/%{name}/utils/usrp_burn_db_eeprom
283 %attr(755,root,root) %{_libdir}/%{name}/utils/usrp_burn_mb_eeprom
284 %{_libdir}/%{name}/utils/uhd-usrp.rules
285 %dir %{_libdir}/%{name}/utils/latency
286 %attr(755,root,root) %{_libdir}/%{name}/utils/latency/graph.py
287 %attr(755,root,root) %{_libdir}/%{name}/utils/latency/responder
288 %{_datadir}/%{name}
289
290 %files libs
291 %defattr(644,root,root,755)
292 %attr(755,root,root) %{_libdir}/libuhd.so.4.4.0
293 %dir %{_libdir}/%{name}
294
295 %files devel
296 %defattr(644,root,root,755)
297 %attr(755,root,root) %{_libdir}/libuhd.so
298 %{_includedir}/uhd
299 %{_includedir}/uhd.h
300 %{_libdir}/cmake/uhd
301 %{_pkgconfigdir}/uhd.pc
302
303 %files examples
304 %defattr(644,root,root,755)
305 %dir %{_libdir}/%{name}/examples
306 %attr(755,root,root) %{_libdir}/%{name}/examples/*
307
308 %files doc
309 %defattr(644,root,root,755)
310 %{_docdir}/%{name}
311
312 %files -n python3-uhd
313 %defattr(644,root,root,755)
314 %dir %{py3_sitedir}/uhd
315 %attr(755,root,root) %{py3_sitedir}/uhd/libpyuhd.cpython-*.so
316 %{py3_sitedir}/uhd/*.py
317 %{py3_sitedir}/uhd/__pycache__
318 %{py3_sitedir}/uhd/dsp
319 %{py3_sitedir}/uhd/imgbuilder
320 %{py3_sitedir}/uhd/usrp
321 %{py3_sitedir}/uhd/usrpctl
322 %{py3_sitedir}/uhd/utils
323
324 %if %{with mpm}
325 %files mpm
326 %defattr(644,root,root,755)
327 %attr(755,root,root) %{_bindir}/db-dump
328 %attr(755,root,root) %{_bindir}/db-id
329 %attr(755,root,root) %{_bindir}/db-init
330 %attr(755,root,root) %{_bindir}/eeprom-blank
331 %attr(755,root,root) %{_bindir}/eeprom-dump
332 %attr(755,root,root) %{_bindir}/eeprom-id
333 %attr(755,root,root) %{_bindir}/eeprom-init
334 %attr(755,root,root) %{_bindir}/eeprom-set-flags
335 %attr(755,root,root) %{_bindir}/fan-limits
336 %attr(755,root,root) %{_bindir}/mpm_debug.py
337 %attr(755,root,root) %{_bindir}/mpm_shell.py
338 %attr(755,root,root) %{_bindir}/n3xx_bist
339 %attr(755,root,root) %{_bindir}/usrp_hwd.py
340 %attr(755,root,root) %{_bindir}/usrp_update_fs
341 /lib/udev/rules.d/70-sfp-net.rules
342 %{systemdunitdir}/usrp-hwd.service
343 /usr/lib/sysctl.d/usrp-hwd.conf
344
345 %files mpm-libs
346 %defattr(644,root,root,755)
347 %attr(755,root,root) %{_libdir}/libusrp-periphs.so.*.*.*
348 %attr(755,root,root) %ghost %{_libdir}/libusrp-periphs.so.4
349
350 %files mpm-devel
351 %defattr(644,root,root,755)
352 %attr(755,root,root) %{_libdir}/libusrp-periphs.so
353 %{_includedir}/mpm
354
355 %files -n python3-usrp_mpm
356 %defattr(644,root,root,755)
357 %dir %{py3_sitedir}/usrp_mpm
358 %attr(755,root,root) %{py3_sitedir}/usrp_mpm/libpyusrp_periphs.so
359 %{py3_sitedir}/usrp_mpm/*.py
360 %{py3_sitedir}/usrp_mpm/__pycache__
361 %{py3_sitedir}/usrp_mpm/chips
362 %{py3_sitedir}/usrp_mpm/cores
363 %{py3_sitedir}/usrp_mpm/dboard_manager
364 %{py3_sitedir}/usrp_mpm/periph_manager
365 %{py3_sitedir}/usrp_mpm/sys_utils
366 %{py3_sitedir}/usrp_mpm/xports
367 %{py3_sitedir}/usrp_mpm/simulator
368 %endif
This page took 0.201561 seconds and 4 git commands to generate.