]> git.pld-linux.org Git - packages/uhd.git/blob - uhd.spec
disable tests (compilation failure)
[packages/uhd.git] / uhd.spec
1 #
2 # Conditional build
3 %bcond_without  mpm     # Module Peripheral Manager (run on embedded devices)
4 %bcond_with     tests   # build tests
5
6 Summary:        Universal Hardware Driver for Ettus Research products
7 Summary(pl.UTF-8):      Uniwersalny sterownik sprzętowy do produktów Ettus Research
8 Name:           uhd
9 Version:        4.1.0.1
10 Release:        1
11 License:        GPL v3+
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
36 %if %{with mpm}
37 BuildRequires:  udev-devel
38 %endif
39 Requires:       %{name}-libs = %{version}-%{release}
40 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
41
42 %description
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
46 GNU Radio.
47
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
52 bez GNU Radio.
53
54 %package libs
55 Summary:        USRP Hardware Driver library
56 Summary(pl.UTF-8):      Biblioteka USRP Hardware Driver
57 Group:          Libraries
58
59 %description libs
60 USRP Hardware Driver library.
61
62 %description libs -l pl.UTF-8
63 Biblioteka USRP Hardware Driver.
64
65 %package devel
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
71
72 %description devel
73 Header files for USRP Hardware Driver for Ettus Research products.
74
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.
78
79 %package examples
80 Summary:        Examples for UHD
81 Summary(pl.UTF-8):      Przykłady do UHD
82 Group:          Applications/System
83 Requires:       %{name}-libs = %{version}-%{release}
84
85 %description examples
86 Example programs for USRP Hardware Driver for Ettus Research products.
87
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.
91
92 %package doc
93 Summary:        Documentation for UHD
94 Summary(pl.UTF-8):      Dokumentacja do UHD
95 Group:          Documentation
96 BuildArch:      noarch
97
98 %description doc
99 Documentation for USRP Hardware Driver for Ettus Research products.
100
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.
104
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
109
110 %description -n python3-uhd
111 Python interface for USRP Hardware Driver library.
112
113 %description -n python3-uhd -l pl.UTF-8
114 Interfejs Pythona do biblioteki USRP Hardware Driver.
115
116 %package mpm
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}
121
122 %description mpm
123 USRP Module Peripheral Manager.
124
125 %description mpm -l pl.UTF-8
126 USRP Module Peripheral Manager - zarządca urządzeń peryferyjnych.
127
128 %package mpm-libs
129 Summary:        USRP Module Peripheral Manager library
130 Summary(pl.UTF-8):      Biblioteka USRP Module Peripheral Manager
131 Group:          Libraries
132
133 %description mpm-libs
134 USRP Module Peripheral Manager library.
135
136 %description mpm-libs -l pl.UTF-8
137 Biblioteka USRP Module Peripheral Manager.
138
139 %package mpm-devel
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}
144
145 %description mpm-devel
146 USRP Module Peripheral Manager library.
147
148 %description mpm-devel -l pl.UTF-8
149 Biblioteka USRP Module Peripheral Manager.
150
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}
156
157 %description -n python3-usrp_mpm
158 Python USRP Module Peripheral Manager library.
159
160 %description -n python3-usrp_mpm -l pl.UTF-8
161 Biblioteka USRP Module Peripheral Manager dla Pythona.
162
163 %prep
164 %setup -q
165 #%patch0 -p1
166 %patch1 -p1
167 #%patch2 -p1
168 %patch3 -p1
169
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 %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' mpm/python/{n3xx_bist,usrp_hwd.py,usrp_update_fs}
174 %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' mpm/tools/mpm_{debug,shell}.py
175
176 %build
177 install -d build-{host,mpm}
178 cd build-host
179 %cmake ../host \
180         -DUHD_VERSION="%{version}" \
181         %{cmake_on_off tests ENABLE_TESTS} \
182         -DENABLE_USB=ON
183
184 %{__make}
185
186 %if %{with mpm}
187 cd ../build-mpm
188 %cmake ../mpm
189
190 # -DMPM_DEVICE= n3xx (Mykonos+Magnesium), e320, e31x
191 %endif
192
193 %{__make}
194
195 %install
196 rm -rf $RPM_BUILD_ROOT
197
198 %{__make} -C build-host install \
199         DESTDIR=$RPM_BUILD_ROOT
200
201 # outdated (binaries removed)
202 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{octoclock_firmware_burner,usrp_n2xx_simple_net_burner,usrp_x3xx_fpga_burner}.1*
203 %if %{with tests}
204 # not packaging tests
205 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{name}/tests \
206         $RPM_BUILD_ROOT%{_libdir}/%{name}/utils/latency/run_tests.py
207 %endif
208 # packaged as %doc
209 %{__rm} $RPM_BUILD_ROOT%{_docdir}/uhd/{LICENSE,README.md}
210
211 %if %{with mpm}
212 %{__make} -C build-mpm install \
213         DESTDIR=$RPM_BUILD_ROOT
214
215 %{__rm} $RPM_BUILD_ROOT%{_bindir}/aurora_bist_test.py
216 %endif
217
218 %py3_comp $RPM_BUILD_ROOT%{py3_sitedir}
219 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}
220
221 %clean
222 rm -rf $RPM_BUILD_ROOT
223
224 %post   libs -p /sbin/ldconfig
225 %postun libs -p /sbin/ldconfig
226
227 %post   mpm-libs -p /sbin/ldconfig
228 %postun mpm-libs -p /sbin/ldconfig
229
230 %files
231 %defattr(644,root,root,755)
232 %doc host/{LICENSE,README.md}
233 %attr(755,root,root) %{_bindir}/uhd_cal_rx_iq_balance
234 %attr(755,root,root) %{_bindir}/uhd_cal_tx_dc_offset
235 %attr(755,root,root) %{_bindir}/uhd_cal_tx_iq_balance
236 %attr(755,root,root) %{_bindir}/uhd_config_info
237 %attr(755,root,root) %{_bindir}/uhd_find_devices
238 %attr(755,root,root) %{_bindir}/uhd_image_loader
239 %attr(755,root,root) %{_bindir}/uhd_images_downloader
240 %attr(755,root,root) %{_bindir}/uhd_usrp_probe
241 %attr(755,root,root) %{_bindir}/usrp2_card_burner
242 %{_mandir}/man1/uhd_cal_rx_iq_balance.1*
243 %{_mandir}/man1/uhd_cal_tx_dc_offset.1*
244 %{_mandir}/man1/uhd_cal_tx_iq_balance.1*
245 %{_mandir}/man1/uhd_config_info.1*
246 %{_mandir}/man1/uhd_find_devices.1*
247 %{_mandir}/man1/uhd_image_loader.1*
248 %{_mandir}/man1/uhd_images_downloader.1*
249 %{_mandir}/man1/uhd_usrp_probe.1*
250 %{_mandir}/man1/usrp2_card_burner.1*
251 %dir %{_libdir}/%{name}/utils
252 %attr(755,root,root) %{_libdir}/%{name}/utils/b2xx_fx3_utils
253 %attr(755,root,root) %{_libdir}/%{name}/utils/converter_benchmark
254 %attr(755,root,root) %{_libdir}/%{name}/utils/converter_benchmark.py
255 %attr(755,root,root) %{_libdir}/%{name}/utils/fx2_init_eeprom
256 %attr(755,root,root) %{_libdir}/%{name}/utils/octoclock_burn_eeprom
257 %attr(755,root,root) %{_libdir}/%{name}/utils/query_gpsdo_sensors
258 %attr(755,root,root) %{_libdir}/%{name}/utils/uhd_images_downloader.py
259 %attr(755,root,root) %{_libdir}/%{name}/utils/usrp2_card_burner.py
260 %attr(755,root,root) %{_libdir}/%{name}/utils/usrp2_recovery.py
261 %attr(755,root,root) %{_libdir}/%{name}/utils/usrp_burn_db_eeprom
262 %attr(755,root,root) %{_libdir}/%{name}/utils/usrp_burn_mb_eeprom
263 %{_libdir}/%{name}/utils/uhd-usrp.rules
264 %dir %{_libdir}/%{name}/utils/latency
265 %attr(755,root,root) %{_libdir}/%{name}/utils/latency/graph.py
266 %attr(755,root,root) %{_libdir}/%{name}/utils/latency/responder
267 %{_datadir}/%{name}
268
269 %files libs
270 %defattr(644,root,root,755)
271 %attr(755,root,root) %{_libdir}/libuhd.so.3.15.0
272 %dir %{_libdir}/%{name}
273
274 %files devel
275 %defattr(644,root,root,755)
276 %attr(755,root,root) %{_libdir}/libuhd.so
277 %{_includedir}/uhd
278 %{_includedir}/uhd.h
279 %{_libdir}/cmake/uhd
280 %{_pkgconfigdir}/uhd.pc
281
282 %files examples
283 %defattr(644,root,root,755)
284 %dir %{_libdir}/%{name}/examples
285 %attr(755,root,root) %{_libdir}/%{name}/examples/*
286
287 %files doc
288 %defattr(644,root,root,755)
289 %{_docdir}/%{name}
290
291 %files -n python3-uhd
292 %defattr(644,root,root,755)
293 %dir %{py3_sitedir}/uhd
294 %attr(755,root,root) %{py3_sitedir}/uhd/libpyuhd.so
295 %{py3_sitedir}/uhd/*.py
296 %{py3_sitedir}/uhd/__pycache__
297
298 %if %{with mpm}
299 %files mpm
300 %defattr(644,root,root,755)
301 %attr(755,root,root) %{_bindir}/db-dump
302 %attr(755,root,root) %{_bindir}/db-id
303 %attr(755,root,root) %{_bindir}/db-init
304 %attr(755,root,root) %{_bindir}/eeprom-blank
305 %attr(755,root,root) %{_bindir}/eeprom-dump
306 %attr(755,root,root) %{_bindir}/eeprom-id
307 %attr(755,root,root) %{_bindir}/eeprom-init
308 %attr(755,root,root) %{_bindir}/eeprom-set-flags
309 %attr(755,root,root) %{_bindir}/fan-limits
310 %attr(755,root,root) %{_bindir}/mpm_debug.py
311 %attr(755,root,root) %{_bindir}/mpm_shell.py
312 %attr(755,root,root) %{_bindir}/n3xx_bist
313 %attr(755,root,root) %{_bindir}/usrp_hwd.py
314 %attr(755,root,root) %{_bindir}/usrp_update_fs
315 %{systemdunitdir}/usrp-hwd.service
316
317 %files mpm-libs
318 %defattr(644,root,root,755)
319 %attr(755,root,root) %{_libdir}/libusrp-periphs.so.*.*.*
320 %attr(755,root,root) %ghost %{_libdir}/libusrp-periphs.so.3
321
322 %files mpm-devel
323 %defattr(644,root,root,755)
324 %attr(755,root,root) %{_libdir}/libusrp-periphs.so
325 %{_includedir}/mpm
326
327 %files -n python3-usrp_mpm
328 %defattr(644,root,root,755)
329 %dir %{py3_sitedir}/usrp_mpm
330 %attr(755,root,root) %{py3_sitedir}/usrp_mpm/libpyusrp_periphs.so
331 %{py3_sitedir}/usrp_mpm/*.py
332 %{py3_sitedir}/usrp_mpm/__pycache__
333 %{py3_sitedir}/usrp_mpm/chips
334 %{py3_sitedir}/usrp_mpm/cores
335 %{py3_sitedir}/usrp_mpm/dboard_manager
336 %{py3_sitedir}/usrp_mpm/periph_manager
337 %{py3_sitedir}/usrp_mpm/sys_utils
338 %{py3_sitedir}/usrp_mpm/xports
339 %endif
This page took 0.134587 seconds and 4 git commands to generate.