5 %bcond_without mpm # Module Peripheral Manager (run on embedded devices)
6 %bcond_with tests # build tests
8 Summary: Universal Hardware Driver for Ettus Research products
9 Summary(pl.UTF-8): Uniwersalny sterownik sprzętowy do produktów Ettus Research
14 Group: Applications/System
15 #Source0Download: https://github.com/EttusResearch/uhd/releases
16 Source0: https://github.com/EttusResearch/uhd/archive/v%{version}/%{name}-%{version}.tar.gz
17 # Source0-md5: a05185b631e7f0491d76d75a2568219e
18 Patch0: %{name}-boost.patch
19 Patch1: %{name}-libdir.patch
20 Patch2: %{name}-link.patch
21 Patch3: %{name}-mpm-build.patch
22 URL: https://www.ettus.com/sdr-software/uhd-usrp-hardware-driver/
23 BuildRequires: boost-devel >= 1.58
24 BuildRequires: cmake >= 3.5.1
25 BuildRequires: doxygen
26 BuildRequires: gpsd-devel >= 3.11
27 BuildRequires: libstdc++-devel >= 6:5
28 BuildRequires: libusb-devel >= 1.0
29 BuildRequires: ncurses-devel
30 BuildRequires: pkgconfig
31 BuildRequires: python3 >= 1:3.5
32 BuildRequires: python3-Mako >= 0.4.2
33 BuildRequires: python3-devel >= 1:3.5
34 BuildRequires: python3-numpy >= 1.7
35 BuildRequires: python3-requests >= 2.0
36 BuildRequires: rpm-pythonprov
37 BuildRequires: rpmbuild(macros) >= 1.742
39 BuildRequires: udev-devel
41 Requires: %{name}-libs = %{version}-%{release}
42 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45 The UHD is the universal hardware driver for Ettus Research products.
46 The goal of the UHD is to provide a host driver and API for current
47 and future Ettus Research products. It can be used standalone without
50 %description -l pl.UTF-8
51 UHD to uniwersalny sterownik sprzętowy do produktów Ettus Research.
52 Celem UHD jest zapewnienie sterownika gospodarza oraz API do obecnych
53 i przyszłych produków Ettus Research. Może być używany samodzielnie
57 Summary: USRP Hardware Driver library
58 Summary(pl.UTF-8): Biblioteka USRP Hardware Driver
62 USRP Hardware Driver library.
64 %description libs -l pl.UTF-8
65 Biblioteka USRP Hardware Driver.
68 Summary: Development files for USRP Hardware Driver library
69 Summary(pl.UTF-8): Pliki programistyczne biblioteki USRP Hardware Driver
70 Group: Development/Libraries
71 Requires: %{name}-libs = %{version}-%{release}
72 Requires: boost-devel >= 1.53
75 Header files for USRP Hardware Driver for Ettus Research products.
77 %description devel -l pl.UTF-8
78 Pliki nagłówkowe biblioteki USRP Hardware Driver (sterownika dla
79 sprzętu USRP) do produktów Ettus Research.
82 Summary: Examples for UHD
83 Summary(pl.UTF-8): Przykłady do UHD
84 Group: Applications/System
85 Requires: %{name}-libs = %{version}-%{release}
88 Example programs for USRP Hardware Driver for Ettus Research products.
90 %description examples -l pl.UTF-8
91 Programy przykładowe do biblioteki USRP Hardware Driver (sterownika
92 dla sprzętu USRP) do produktów Ettus Research.
95 Summary: Documentation for UHD
96 Summary(pl.UTF-8): Dokumentacja do UHD
101 Documentation for USRP Hardware Driver for Ettus Research products.
103 %description doc -l pl.UTF-8
104 Dokumentacja do biblioteki USRP Hardware Driver (sterownika dla
105 sprzętu USRP) do produktów Ettus Research.
107 %package -n python3-uhd
108 Summary: Python interface for USRP Hardware Driver library
109 Summary(pl.UTF-8): Interfejs Pythona do biblioteki USRP Hardware Driver
110 Group: Libraries/Python
112 %description -n python3-uhd
113 Python interface for USRP Hardware Driver library.
115 %description -n python3-uhd -l pl.UTF-8
116 Interfejs Pythona do biblioteki USRP Hardware Driver.
119 Summary: USRP Module Peripheral Manager
120 Summary(pl.UTF-8): USRP Module Peripheral Manager - zarządca urządzeń peryferyjnych
121 Group: Applications/System
122 Requires: %{name}-mpm-libs = %{version}-%{release}
125 USRP Module Peripheral Manager.
127 %description mpm -l pl.UTF-8
128 USRP Module Peripheral Manager - zarządca urządzeń peryferyjnych.
131 Summary: USRP Module Peripheral Manager library
132 Summary(pl.UTF-8): Biblioteka USRP Module Peripheral Manager
135 %description mpm-libs
136 USRP Module Peripheral Manager library.
138 %description mpm-libs -l pl.UTF-8
139 Biblioteka USRP Module Peripheral Manager.
142 Summary: USRP Module Peripheral Manager library
143 Summary(pl.UTF-8): Biblioteka USRP Module Peripheral Manager
144 Group: Development/Libraries
145 Requires: %{name}-mpm-libs = %{version}-%{release}
147 %description mpm-devel
148 USRP Module Peripheral Manager library.
150 %description mpm-devel -l pl.UTF-8
151 Biblioteka USRP Module Peripheral Manager.
153 %package -n python3-usrp_mpm
154 Summary: Python USRP Module Peripheral Manager library
155 Summary(pl.UTF-8): Biblioteka USRP Module Peripheral Manager dla Pythona
156 Group: Libraries/Python
157 Requires: %{name}-mpm-libs = %{version}-%{release}
159 %description -n python3-usrp_mpm
160 Python USRP Module Peripheral Manager library.
162 %description -n python3-usrp_mpm -l pl.UTF-8
163 Biblioteka USRP Module Peripheral Manager dla Pythona.
172 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' host/examples/python/*.py
173 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' host/utils/{converter_benchmark.py,usrp2_{card_burner,card_burner_gui,recovery}.py}
174 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' host/utils/latency/graph.py
175 grep -rl '/usr/bin/env python3' . | xargs %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},'
178 install -d build-{host,mpm}
181 -DUHD_VERSION="%{version}" \
182 %{cmake_on_off tests ENABLE_TESTS} \
191 # -DMPM_DEVICE= n3xx (Mykonos+Magnesium), e320, e31x
197 rm -rf $RPM_BUILD_ROOT
199 %{__make} -C build-host install \
200 DESTDIR=$RPM_BUILD_ROOT
202 # outdated (binaries removed)
203 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{octoclock_firmware_burner,usrp_n2xx_simple_net_burner,usrp_x3xx_fpga_burner}.1*
205 # not packaging tests
206 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{name}/tests \
207 $RPM_BUILD_ROOT%{_libdir}/%{name}/utils/latency/run_tests.py
210 %{__rm} $RPM_BUILD_ROOT%{_docdir}/uhd/{LICENSE,README.md}
213 %{__make} -C build-mpm install \
214 DESTDIR=$RPM_BUILD_ROOT
216 %{__rm} $RPM_BUILD_ROOT%{_bindir}/aurora_bist_test.py
219 %py3_comp $RPM_BUILD_ROOT%{py3_sitedir}
220 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}
223 rm -rf $RPM_BUILD_ROOT
225 %post libs -p /sbin/ldconfig
226 %postun libs -p /sbin/ldconfig
228 %post mpm-libs -p /sbin/ldconfig
229 %postun mpm-libs -p /sbin/ldconfig
232 %defattr(644,root,root,755)
233 %doc host/{LICENSE,README.md}
234 %attr(755,root,root) %{_bindir}/uhd_cal_rx_iq_balance
235 %attr(755,root,root) %{_bindir}/uhd_cal_tx_dc_offset
236 %attr(755,root,root) %{_bindir}/uhd_cal_tx_iq_balance
237 %attr(755,root,root) %{_bindir}/uhd_config_info
238 %attr(755,root,root) %{_bindir}/uhd_find_devices
239 %attr(755,root,root) %{_bindir}/uhd_image_loader
240 %attr(755,root,root) %{_bindir}/uhd_images_downloader
241 %attr(755,root,root) %{_bindir}/uhd_usrp_probe
242 %attr(755,root,root) %{_bindir}/usrp2_card_burner
243 %{_mandir}/man1/uhd_cal_rx_iq_balance.1*
244 %{_mandir}/man1/uhd_cal_tx_dc_offset.1*
245 %{_mandir}/man1/uhd_cal_tx_iq_balance.1*
246 %{_mandir}/man1/uhd_config_info.1*
247 %{_mandir}/man1/uhd_find_devices.1*
248 %{_mandir}/man1/uhd_image_loader.1*
249 %{_mandir}/man1/uhd_images_downloader.1*
250 %{_mandir}/man1/uhd_usrp_probe.1*
251 %{_mandir}/man1/usrp2_card_burner.1*
252 %dir %{_libdir}/%{name}/utils
253 %attr(755,root,root) %{_libdir}/%{name}/utils/b2xx_fx3_utils
254 %attr(755,root,root) %{_libdir}/%{name}/utils/converter_benchmark
255 %attr(755,root,root) %{_libdir}/%{name}/utils/converter_benchmark.py
256 %attr(755,root,root) %{_libdir}/%{name}/utils/fx2_init_eeprom
257 %attr(755,root,root) %{_libdir}/%{name}/utils/octoclock_burn_eeprom
258 %attr(755,root,root) %{_libdir}/%{name}/utils/query_gpsdo_sensors
259 %attr(755,root,root) %{_libdir}/%{name}/utils/uhd_images_downloader.py
260 %attr(755,root,root) %{_libdir}/%{name}/utils/usrp2_card_burner.py
261 %attr(755,root,root) %{_libdir}/%{name}/utils/usrp2_recovery.py
262 %attr(755,root,root) %{_libdir}/%{name}/utils/usrp_burn_db_eeprom
263 %attr(755,root,root) %{_libdir}/%{name}/utils/usrp_burn_mb_eeprom
264 %{_libdir}/%{name}/utils/uhd-usrp.rules
265 %dir %{_libdir}/%{name}/utils/latency
266 %attr(755,root,root) %{_libdir}/%{name}/utils/latency/graph.py
267 %attr(755,root,root) %{_libdir}/%{name}/utils/latency/responder
271 %defattr(644,root,root,755)
272 %attr(755,root,root) %{_libdir}/libuhd.so.4.1.0
273 %dir %{_libdir}/%{name}
276 %defattr(644,root,root,755)
277 %attr(755,root,root) %{_libdir}/libuhd.so
281 %{_pkgconfigdir}/uhd.pc
284 %defattr(644,root,root,755)
285 %dir %{_libdir}/%{name}/examples
286 %attr(755,root,root) %{_libdir}/%{name}/examples/*
289 %defattr(644,root,root,755)
292 %files -n python3-uhd
293 %defattr(644,root,root,755)
294 %dir %{py3_sitedir}/uhd
295 %attr(755,root,root) %{py3_sitedir}/uhd/libpyuhd.cpython-*.so
296 %{py3_sitedir}/uhd/*.py
297 %{py3_sitedir}/uhd/__pycache__
301 %defattr(644,root,root,755)
302 %attr(755,root,root) %{_bindir}/db-dump
303 %attr(755,root,root) %{_bindir}/db-id
304 %attr(755,root,root) %{_bindir}/db-init
305 %attr(755,root,root) %{_bindir}/eeprom-blank
306 %attr(755,root,root) %{_bindir}/eeprom-dump
307 %attr(755,root,root) %{_bindir}/eeprom-id
308 %attr(755,root,root) %{_bindir}/eeprom-init
309 %attr(755,root,root) %{_bindir}/eeprom-set-flags
310 %attr(755,root,root) %{_bindir}/fan-limits
311 %attr(755,root,root) %{_bindir}/mpm_debug.py
312 %attr(755,root,root) %{_bindir}/mpm_shell.py
313 %attr(755,root,root) %{_bindir}/n3xx_bist
314 %attr(755,root,root) %{_bindir}/usrp_hwd.py
315 %attr(755,root,root) %{_bindir}/usrp_update_fs
316 %{systemdunitdir}/usrp-hwd.service
319 %defattr(644,root,root,755)
320 %attr(755,root,root) %{_libdir}/libusrp-periphs.so.*.*.*
321 %attr(755,root,root) %ghost %{_libdir}/libusrp-periphs.so.4
324 %defattr(644,root,root,755)
325 %attr(755,root,root) %{_libdir}/libusrp-periphs.so
328 %files -n python3-usrp_mpm
329 %defattr(644,root,root,755)
330 %dir %{py3_sitedir}/usrp_mpm
331 %attr(755,root,root) %{py3_sitedir}/usrp_mpm/libpyusrp_periphs.so
332 %{py3_sitedir}/usrp_mpm/*.py
333 %{py3_sitedir}/usrp_mpm/__pycache__
334 %{py3_sitedir}/usrp_mpm/chips
335 %{py3_sitedir}/usrp_mpm/cores
336 %{py3_sitedir}/usrp_mpm/dboard_manager
337 %{py3_sitedir}/usrp_mpm/periph_manager
338 %{py3_sitedir}/usrp_mpm/sys_utils
339 %{py3_sitedir}/usrp_mpm/xports