dde46138bb0d700e37f59735daf154ef3295100a
[packages/uhd.git] / uhd.spec
1 # TODO:
2 # - complete %files
3 #
4 # Conditional build
5 %bcond_without  mpm     # Module Peripheral Manager (run on embedded devices)
6 %bcond_with     tests   # build tests
7
8 Summary:        Universal Hardware Driver for Ettus Research products
9 Summary(pl.UTF-8):      Uniwersalny sterownik sprzętowy do produktów Ettus Research
10 Name:           uhd
11 Version:        4.1.0.1
12 Release:        0.1
13 License:        GPL v3+
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
38 %if %{with mpm}
39 BuildRequires:  udev-devel
40 %endif
41 Requires:       %{name}-libs = %{version}-%{release}
42 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43
44 %description
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
48 GNU Radio.
49
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
54 bez GNU Radio.
55
56 %package libs
57 Summary:        USRP Hardware Driver library
58 Summary(pl.UTF-8):      Biblioteka USRP Hardware Driver
59 Group:          Libraries
60
61 %description libs
62 USRP Hardware Driver library.
63
64 %description libs -l pl.UTF-8
65 Biblioteka USRP Hardware Driver.
66
67 %package devel
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
73
74 %description devel
75 Header files for USRP Hardware Driver for Ettus Research products.
76
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.
80
81 %package examples
82 Summary:        Examples for UHD
83 Summary(pl.UTF-8):      Przykłady do UHD
84 Group:          Applications/System
85 Requires:       %{name}-libs = %{version}-%{release}
86
87 %description examples
88 Example programs for USRP Hardware Driver for Ettus Research products.
89
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.
93
94 %package doc
95 Summary:        Documentation for UHD
96 Summary(pl.UTF-8):      Dokumentacja do UHD
97 Group:          Documentation
98 BuildArch:      noarch
99
100 %description doc
101 Documentation for USRP Hardware Driver for Ettus Research products.
102
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.
106
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
111
112 %description -n python3-uhd
113 Python interface for USRP Hardware Driver library.
114
115 %description -n python3-uhd -l pl.UTF-8
116 Interfejs Pythona do biblioteki USRP Hardware Driver.
117
118 %package mpm
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}
123
124 %description mpm
125 USRP Module Peripheral Manager.
126
127 %description mpm -l pl.UTF-8
128 USRP Module Peripheral Manager - zarządca urządzeń peryferyjnych.
129
130 %package mpm-libs
131 Summary:        USRP Module Peripheral Manager library
132 Summary(pl.UTF-8):      Biblioteka USRP Module Peripheral Manager
133 Group:          Libraries
134
135 %description mpm-libs
136 USRP Module Peripheral Manager library.
137
138 %description mpm-libs -l pl.UTF-8
139 Biblioteka USRP Module Peripheral Manager.
140
141 %package mpm-devel
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}
146
147 %description mpm-devel
148 USRP Module Peripheral Manager library.
149
150 %description mpm-devel -l pl.UTF-8
151 Biblioteka USRP Module Peripheral Manager.
152
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}
158
159 %description -n python3-usrp_mpm
160 Python USRP Module Peripheral Manager library.
161
162 %description -n python3-usrp_mpm -l pl.UTF-8
163 Biblioteka USRP Module Peripheral Manager dla Pythona.
164
165 %prep
166 %setup -q
167 #%patch0 -p1
168 %patch1 -p1
169 #%patch2 -p1
170 %patch3 -p1
171
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},'
176
177 %build
178 install -d build-{host,mpm}
179 cd build-host
180 %cmake ../host \
181         -DUHD_VERSION="%{version}" \
182         %{cmake_on_off tests ENABLE_TESTS} \
183         -DENABLE_USB=ON
184
185 %{__make}
186
187 %if %{with mpm}
188 cd ../build-mpm
189 %cmake ../mpm
190
191 # -DMPM_DEVICE= n3xx (Mykonos+Magnesium), e320, e31x
192 %endif
193
194 %{__make}
195
196 %install
197 rm -rf $RPM_BUILD_ROOT
198
199 %{__make} -C build-host install \
200         DESTDIR=$RPM_BUILD_ROOT
201
202 # outdated (binaries removed)
203 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{octoclock_firmware_burner,usrp_n2xx_simple_net_burner,usrp_x3xx_fpga_burner}.1*
204 %if %{with tests}
205 # not packaging tests
206 %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{name}/tests \
207         $RPM_BUILD_ROOT%{_libdir}/%{name}/utils/latency/run_tests.py
208 %endif
209 # packaged as %doc
210 %{__rm} $RPM_BUILD_ROOT%{_docdir}/uhd/{LICENSE,README.md}
211
212 %if %{with mpm}
213 %{__make} -C build-mpm install \
214         DESTDIR=$RPM_BUILD_ROOT
215
216 %{__rm} $RPM_BUILD_ROOT%{_bindir}/aurora_bist_test.py
217 %endif
218
219 %py3_comp $RPM_BUILD_ROOT%{py3_sitedir}
220 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}
221
222 %clean
223 rm -rf $RPM_BUILD_ROOT
224
225 %post   libs -p /sbin/ldconfig
226 %postun libs -p /sbin/ldconfig
227
228 %post   mpm-libs -p /sbin/ldconfig
229 %postun mpm-libs -p /sbin/ldconfig
230
231 %files
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
268 %{_datadir}/%{name}
269
270 %files libs
271 %defattr(644,root,root,755)
272 %attr(755,root,root) %{_libdir}/libuhd.so.4.1.0
273 %dir %{_libdir}/%{name}
274
275 %files devel
276 %defattr(644,root,root,755)
277 %attr(755,root,root) %{_libdir}/libuhd.so
278 %{_includedir}/uhd
279 %{_includedir}/uhd.h
280 %{_libdir}/cmake/uhd
281 %{_pkgconfigdir}/uhd.pc
282
283 %files examples
284 %defattr(644,root,root,755)
285 %dir %{_libdir}/%{name}/examples
286 %attr(755,root,root) %{_libdir}/%{name}/examples/*
287
288 %files doc
289 %defattr(644,root,root,755)
290 %{_docdir}/%{name}
291
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__
298
299 %if %{with mpm}
300 %files mpm
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
317
318 %files mpm-libs
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
322
323 %files mpm-devel
324 %defattr(644,root,root,755)
325 %attr(755,root,root) %{_libdir}/libusrp-periphs.so
326 %{_includedir}/mpm
327
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
340 %endif
This page took 0.08031 seconds and 2 git commands to generate.