3 %bcond_without mpm # Module Peripheral Manager (run on embedded devices)
4 %bcond_with tests # build tests
6 Summary: Universal Hardware Driver for Ettus Research products
7 Summary(pl.UTF-8): Uniwersalny sterownik sprzętowy do produktów Ettus Research
12 Group: Applications/System
13 #Source0Download: https://github.com/EttusResearch/uhd/releases
14 Source0: https://github.com/EttusResearch/uhd/archive/v%{version}/%{name}-%{version}.tar.gz
15 # Source0-md5: a05185b631e7f0491d76d75a2568219e
16 Patch0: %{name}-boost.patch
17 Patch1: %{name}-libdir.patch
18 Patch2: %{name}-link.patch
19 Patch3: %{name}-mpm-build.patch
20 URL: https://www.ettus.com/sdr-software/uhd-usrp-hardware-driver/
21 BuildRequires: boost-devel >= 1.58
22 BuildRequires: cmake >= 3.5.1
23 BuildRequires: doxygen
24 BuildRequires: gpsd-devel >= 3.11
25 BuildRequires: libstdc++-devel >= 6:5
26 BuildRequires: libusb-devel >= 1.0
27 BuildRequires: ncurses-devel
28 BuildRequires: pkgconfig
29 BuildRequires: python3 >= 1:3.5
30 BuildRequires: python3-Mako >= 0.4.2
31 BuildRequires: python3-devel >= 1:3.5
32 BuildRequires: python3-numpy >= 1.7
33 BuildRequires: python3-requests >= 2.0
34 BuildRequires: rpm-pythonprov
35 BuildRequires: rpmbuild(macros) >= 1.742
37 BuildRequires: udev-devel
39 Requires: %{name}-libs = %{version}-%{release}
40 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43 The UHD is the universal hardware driver for Ettus Research products.
44 The goal of the UHD is to provide a host driver and API for current
45 and future Ettus Research products. It can be used standalone without
48 %description -l pl.UTF-8
49 UHD to uniwersalny sterownik sprzętowy do produktów Ettus Research.
50 Celem UHD jest zapewnienie sterownika gospodarza oraz API do obecnych
51 i przyszłych produków Ettus Research. Może być używany samodzielnie
55 Summary: USRP Hardware Driver library
56 Summary(pl.UTF-8): Biblioteka USRP Hardware Driver
60 USRP Hardware Driver library.
62 %description libs -l pl.UTF-8
63 Biblioteka USRP Hardware Driver.
66 Summary: Development files for USRP Hardware Driver library
67 Summary(pl.UTF-8): Pliki programistyczne biblioteki USRP Hardware Driver
68 Group: Development/Libraries
69 Requires: %{name}-libs = %{version}-%{release}
70 Requires: boost-devel >= 1.53
73 Header files for USRP Hardware Driver for Ettus Research products.
75 %description devel -l pl.UTF-8
76 Pliki nagłówkowe biblioteki USRP Hardware Driver (sterownika dla
77 sprzętu USRP) do produktów Ettus Research.
80 Summary: Examples for UHD
81 Summary(pl.UTF-8): Przykłady do UHD
82 Group: Applications/System
83 Requires: %{name}-libs = %{version}-%{release}
86 Example programs for USRP Hardware Driver for Ettus Research products.
88 %description examples -l pl.UTF-8
89 Programy przykładowe do biblioteki USRP Hardware Driver (sterownika
90 dla sprzętu USRP) do produktów Ettus Research.
93 Summary: Documentation for UHD
94 Summary(pl.UTF-8): Dokumentacja do UHD
99 Documentation for USRP Hardware Driver for Ettus Research products.
101 %description doc -l pl.UTF-8
102 Dokumentacja do biblioteki USRP Hardware Driver (sterownika dla
103 sprzętu USRP) do produktów Ettus Research.
105 %package -n python3-uhd
106 Summary: Python interface for USRP Hardware Driver library
107 Summary(pl.UTF-8): Interfejs Pythona do biblioteki USRP Hardware Driver
108 Group: Libraries/Python
110 %description -n python3-uhd
111 Python interface for USRP Hardware Driver library.
113 %description -n python3-uhd -l pl.UTF-8
114 Interfejs Pythona do biblioteki USRP Hardware Driver.
117 Summary: USRP Module Peripheral Manager
118 Summary(pl.UTF-8): USRP Module Peripheral Manager - zarządca urządzeń peryferyjnych
119 Group: Applications/System
120 Requires: %{name}-mpm-libs = %{version}-%{release}
123 USRP Module Peripheral Manager.
125 %description mpm -l pl.UTF-8
126 USRP Module Peripheral Manager - zarządca urządzeń peryferyjnych.
129 Summary: USRP Module Peripheral Manager library
130 Summary(pl.UTF-8): Biblioteka USRP Module Peripheral Manager
133 %description mpm-libs
134 USRP Module Peripheral Manager library.
136 %description mpm-libs -l pl.UTF-8
137 Biblioteka USRP Module Peripheral Manager.
140 Summary: USRP Module Peripheral Manager library
141 Summary(pl.UTF-8): Biblioteka USRP Module Peripheral Manager
142 Group: Development/Libraries
143 Requires: %{name}-mpm-libs = %{version}-%{release}
145 %description mpm-devel
146 USRP Module Peripheral Manager library.
148 %description mpm-devel -l pl.UTF-8
149 Biblioteka USRP Module Peripheral Manager.
151 %package -n python3-usrp_mpm
152 Summary: Python USRP Module Peripheral Manager library
153 Summary(pl.UTF-8): Biblioteka USRP Module Peripheral Manager dla Pythona
154 Group: Libraries/Python
155 Requires: %{name}-mpm-libs = %{version}-%{release}
157 %description -n python3-usrp_mpm
158 Python USRP Module Peripheral Manager library.
160 %description -n python3-usrp_mpm -l pl.UTF-8
161 Biblioteka USRP Module Peripheral Manager dla Pythona.
170 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' host/examples/python/*.py
171 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' host/utils/{converter_benchmark.py,usrp2_{card_burner,card_burner_gui,recovery}.py}
172 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' host/utils/latency/graph.py
173 grep -rl '/usr/bin/env python3' . | xargs %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},'
176 install -d build-{host,mpm}
179 -DUHD_VERSION="%{version}" \
180 %{cmake_on_off tests ENABLE_TESTS} \
189 # -DMPM_DEVICE= n3xx (Mykonos+Magnesium), e320, e31x
195 rm -rf $RPM_BUILD_ROOT
197 %{__make} -C build-host install \
198 DESTDIR=$RPM_BUILD_ROOT
200 # outdated (binaries removed)
201 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{octoclock_firmware_burner,usrp_n2xx_simple_net_burner,usrp_x3xx_fpga_burner}.1*
203 # not packaging tests
204 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{name}/tests \
205 $RPM_BUILD_ROOT%{_libdir}/%{name}/utils/latency/run_tests.py
208 %{__rm} $RPM_BUILD_ROOT%{_docdir}/uhd/{LICENSE,README.md}
211 %{__make} -C build-mpm install \
212 DESTDIR=$RPM_BUILD_ROOT
214 %{__rm} $RPM_BUILD_ROOT%{_bindir}/aurora_bist_test.py
217 %py3_comp $RPM_BUILD_ROOT%{py3_sitedir}
218 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}
221 rm -rf $RPM_BUILD_ROOT
223 %post libs -p /sbin/ldconfig
224 %postun libs -p /sbin/ldconfig
226 %post mpm-libs -p /sbin/ldconfig
227 %postun mpm-libs -p /sbin/ldconfig
230 %defattr(644,root,root,755)
231 %doc host/{LICENSE,README.md}
232 %attr(755,root,root) %{_bindir}/uhd_cal_rx_iq_balance
233 %attr(755,root,root) %{_bindir}/uhd_cal_tx_dc_offset
234 %attr(755,root,root) %{_bindir}/uhd_cal_tx_iq_balance
235 %attr(755,root,root) %{_bindir}/uhd_config_info
236 %attr(755,root,root) %{_bindir}/uhd_find_devices
237 %attr(755,root,root) %{_bindir}/uhd_image_loader
238 %attr(755,root,root) %{_bindir}/uhd_images_downloader
239 %attr(755,root,root) %{_bindir}/uhd_usrp_probe
240 %attr(755,root,root) %{_bindir}/usrp2_card_burner
241 %{_mandir}/man1/uhd_cal_rx_iq_balance.1*
242 %{_mandir}/man1/uhd_cal_tx_dc_offset.1*
243 %{_mandir}/man1/uhd_cal_tx_iq_balance.1*
244 %{_mandir}/man1/uhd_config_info.1*
245 %{_mandir}/man1/uhd_find_devices.1*
246 %{_mandir}/man1/uhd_image_loader.1*
247 %{_mandir}/man1/uhd_images_downloader.1*
248 %{_mandir}/man1/uhd_usrp_probe.1*
249 %{_mandir}/man1/usrp2_card_burner.1*
250 %dir %{_libdir}/%{name}/utils
251 %attr(755,root,root) %{_libdir}/%{name}/utils/b2xx_fx3_utils
252 %attr(755,root,root) %{_libdir}/%{name}/utils/converter_benchmark
253 %attr(755,root,root) %{_libdir}/%{name}/utils/converter_benchmark.py
254 %attr(755,root,root) %{_libdir}/%{name}/utils/fx2_init_eeprom
255 %attr(755,root,root) %{_libdir}/%{name}/utils/octoclock_burn_eeprom
256 %attr(755,root,root) %{_libdir}/%{name}/utils/query_gpsdo_sensors
257 %attr(755,root,root) %{_libdir}/%{name}/utils/uhd_images_downloader.py
258 %attr(755,root,root) %{_libdir}/%{name}/utils/usrp2_card_burner.py
259 %attr(755,root,root) %{_libdir}/%{name}/utils/usrp2_recovery.py
260 %attr(755,root,root) %{_libdir}/%{name}/utils/usrp_burn_db_eeprom
261 %attr(755,root,root) %{_libdir}/%{name}/utils/usrp_burn_mb_eeprom
262 %{_libdir}/%{name}/utils/uhd-usrp.rules
263 %dir %{_libdir}/%{name}/utils/latency
264 %attr(755,root,root) %{_libdir}/%{name}/utils/latency/graph.py
265 %attr(755,root,root) %{_libdir}/%{name}/utils/latency/responder
269 %defattr(644,root,root,755)
270 %attr(755,root,root) %{_libdir}/libuhd.so.3.15.0
271 %dir %{_libdir}/%{name}
274 %defattr(644,root,root,755)
275 %attr(755,root,root) %{_libdir}/libuhd.so
279 %{_pkgconfigdir}/uhd.pc
282 %defattr(644,root,root,755)
283 %dir %{_libdir}/%{name}/examples
284 %attr(755,root,root) %{_libdir}/%{name}/examples/*
287 %defattr(644,root,root,755)
290 %files -n python3-uhd
291 %defattr(644,root,root,755)
292 %dir %{py3_sitedir}/uhd
293 %attr(755,root,root) %{py3_sitedir}/uhd/libpyuhd.so
294 %{py3_sitedir}/uhd/*.py
295 %{py3_sitedir}/uhd/__pycache__
299 %defattr(644,root,root,755)
300 %attr(755,root,root) %{_bindir}/db-dump
301 %attr(755,root,root) %{_bindir}/db-id
302 %attr(755,root,root) %{_bindir}/db-init
303 %attr(755,root,root) %{_bindir}/eeprom-blank
304 %attr(755,root,root) %{_bindir}/eeprom-dump
305 %attr(755,root,root) %{_bindir}/eeprom-id
306 %attr(755,root,root) %{_bindir}/eeprom-init
307 %attr(755,root,root) %{_bindir}/eeprom-set-flags
308 %attr(755,root,root) %{_bindir}/fan-limits
309 %attr(755,root,root) %{_bindir}/mpm_debug.py
310 %attr(755,root,root) %{_bindir}/mpm_shell.py
311 %attr(755,root,root) %{_bindir}/n3xx_bist
312 %attr(755,root,root) %{_bindir}/usrp_hwd.py
313 %attr(755,root,root) %{_bindir}/usrp_update_fs
314 %{systemdunitdir}/usrp-hwd.service
317 %defattr(644,root,root,755)
318 %attr(755,root,root) %{_libdir}/libusrp-periphs.so.*.*.*
319 %attr(755,root,root) %ghost %{_libdir}/libusrp-periphs.so.3
322 %defattr(644,root,root,755)
323 %attr(755,root,root) %{_libdir}/libusrp-periphs.so
326 %files -n python3-usrp_mpm
327 %defattr(644,root,root,755)
328 %dir %{py3_sitedir}/usrp_mpm
329 %attr(755,root,root) %{py3_sitedir}/usrp_mpm/libpyusrp_periphs.so
330 %{py3_sitedir}/usrp_mpm/*.py
331 %{py3_sitedir}/usrp_mpm/__pycache__
332 %{py3_sitedir}/usrp_mpm/chips
333 %{py3_sitedir}/usrp_mpm/cores
334 %{py3_sitedir}/usrp_mpm/dboard_manager
335 %{py3_sitedir}/usrp_mpm/periph_manager
336 %{py3_sitedir}/usrp_mpm/sys_utils
337 %{py3_sitedir}/usrp_mpm/xports