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