X-Git-Url: http://git.pld-linux.org/?p=packages%2Fuhd.git;a=blobdiff_plain;f=uhd.spec;h=3a154a7091d3646a2cabef4bfa536536841892aa;hp=4a24e8c50c3f6c9b34a3eabb165786053facf0a4;hb=7bbfc1d;hpb=24404f1d2e6786058d5749859e49d1b9e86c73c6 diff --git a/uhd.spec b/uhd.spec index 4a24e8c..3a154a7 100644 --- a/uhd.spec +++ b/uhd.spec @@ -1,136 +1,338 @@ -%define ver_major 3 -%define ver_minor 8 -%define ver_patch 3 +# +# Conditional build +%bcond_without mpm # Module Peripheral Manager (run on embedded devices) +%bcond_with tests # build tests -%define ver %(printf "%03d.%03d.%03d" %{ver_major} %{ver_minor} %{ver_patch}) Summary: Universal Hardware Driver for Ettus Research products +Summary(pl.UTF-8): Uniwersalny sterownik sprzętowy do produktów Ettus Research Name: uhd -Version: %{ver_major}.%{ver_minor}.%{ver_patch} -Release: 0.1 +Version: 4.1.0.1 +Release: 1 License: GPL v3+ -Group: X11/Libraries -Source0: http://files.ettus.com/binaries/uhd/uhd_%{ver}-release/%{name}-%{version}.tar.gz -# Source0-md5: 84928825717678e77ffc400d73bcf412 -URL: http://www.qcustomplot.com/ -BuildRequires: QtCore-devel -BuildRequires: QtGui-devel -BuildRequires: boost-devel -BuildRequires: cmake >= 2.8.0 -BuildRequires: qt4-build +Group: Applications/System +#Source0Download: https://github.com/EttusResearch/uhd/releases +Source0: https://github.com/EttusResearch/uhd/archive/v%{version}/%{name}-%{version}.tar.gz +# Source0-md5: a05185b631e7f0491d76d75a2568219e +Patch0: %{name}-boost.patch +Patch1: %{name}-libdir.patch +Patch2: %{name}-link.patch +Patch3: %{name}-mpm-build.patch +URL: https://www.ettus.com/sdr-software/uhd-usrp-hardware-driver/ +BuildRequires: boost-devel >= 1.58 +BuildRequires: cmake >= 3.5.1 +BuildRequires: doxygen +BuildRequires: gpsd-devel >= 3.11 +BuildRequires: libstdc++-devel >= 6:5 +BuildRequires: libusb-devel >= 1.0 +BuildRequires: ncurses-devel +BuildRequires: pkgconfig +BuildRequires: python3 >= 1:3.5 +BuildRequires: python3-Mako >= 0.4.2 +BuildRequires: python3-devel >= 1:3.5 +BuildRequires: python3-numpy >= 1.7 +BuildRequires: python3-requests >= 2.0 +BuildRequires: rpm-pythonprov +BuildRequires: rpmbuild(macros) >= 1.742 +%if %{with mpm} +BuildRequires: udev-devel +%endif +Requires: %{name}-libs = %{version}-%{release} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%define filterout -flto - %description The UHD is the universal hardware driver for Ettus Research products. The goal of the UHD is to provide a host driver and API for current and future Ettus Research products. It can be used standalone without GNU Radio. +%description -l pl.UTF-8 +UHD to uniwersalny sterownik sprzętowy do produktów Ettus Research. +Celem UHD jest zapewnienie sterownika gospodarza oraz API do obecnych +i przyszłych produków Ettus Research. Może być używany samodzielnie +bez GNU Radio. + +%package libs +Summary: USRP Hardware Driver library +Summary(pl.UTF-8): Biblioteka USRP Hardware Driver +Group: Libraries + +%description libs +USRP Hardware Driver library. + +%description libs -l pl.UTF-8 +Biblioteka USRP Hardware Driver. + %package devel -Summary: Development files for %{name} -Group: X11/Development/Libraries -Requires: %{name} = %{version}-%{release} +Summary: Development files for USRP Hardware Driver library +Summary(pl.UTF-8): Pliki programistyczne biblioteki USRP Hardware Driver +Group: Development/Libraries +Requires: %{name}-libs = %{version}-%{release} +Requires: boost-devel >= 1.53 %description devel -Header files for Universal Hardware Driver for Ettus Research -products. +Header files for USRP Hardware Driver for Ettus Research products. + +%description devel -l pl.UTF-8 +Pliki nagłówkowe biblioteki USRP Hardware Driver (sterownika dla +sprzętu USRP) do produktów Ettus Research. + +%package examples +Summary: Examples for UHD +Summary(pl.UTF-8): Przykłady do UHD +Group: Applications/System +Requires: %{name}-libs = %{version}-%{release} + +%description examples +Example programs for USRP Hardware Driver for Ettus Research products. + +%description examples -l pl.UTF-8 +Programy przykładowe do biblioteki USRP Hardware Driver (sterownika +dla sprzętu USRP) do produktów Ettus Research. %package doc -Summary: Documentation and examples for uhd +Summary: Documentation for UHD +Summary(pl.UTF-8): Dokumentacja do UHD Group: Documentation -%if "%{_rpmversion}" >= "5" BuildArch: noarch -%endif %description doc -Documentation and examples for Universal Hardware Driver for Ettus -Research products +Documentation for USRP Hardware Driver for Ettus Research products. + +%description doc -l pl.UTF-8 +Dokumentacja do biblioteki USRP Hardware Driver (sterownika dla +sprzętu USRP) do produktów Ettus Research. + +%package -n python3-uhd +Summary: Python interface for USRP Hardware Driver library +Summary(pl.UTF-8): Interfejs Pythona do biblioteki USRP Hardware Driver +Group: Libraries/Python + +%description -n python3-uhd +Python interface for USRP Hardware Driver library. + +%description -n python3-uhd -l pl.UTF-8 +Interfejs Pythona do biblioteki USRP Hardware Driver. + +%package mpm +Summary: USRP Module Peripheral Manager +Summary(pl.UTF-8): USRP Module Peripheral Manager - zarządca urządzeń peryferyjnych +Group: Applications/System +Requires: %{name}-mpm-libs = %{version}-%{release} + +%description mpm +USRP Module Peripheral Manager. + +%description mpm -l pl.UTF-8 +USRP Module Peripheral Manager - zarządca urządzeń peryferyjnych. + +%package mpm-libs +Summary: USRP Module Peripheral Manager library +Summary(pl.UTF-8): Biblioteka USRP Module Peripheral Manager +Group: Libraries + +%description mpm-libs +USRP Module Peripheral Manager library. + +%description mpm-libs -l pl.UTF-8 +Biblioteka USRP Module Peripheral Manager. + +%package mpm-devel +Summary: USRP Module Peripheral Manager library +Summary(pl.UTF-8): Biblioteka USRP Module Peripheral Manager +Group: Development/Libraries +Requires: %{name}-mpm-libs = %{version}-%{release} + +%description mpm-devel +USRP Module Peripheral Manager library. + +%description mpm-devel -l pl.UTF-8 +Biblioteka USRP Module Peripheral Manager. + +%package -n python3-usrp_mpm +Summary: Python USRP Module Peripheral Manager library +Summary(pl.UTF-8): Biblioteka USRP Module Peripheral Manager dla Pythona +Group: Libraries/Python +Requires: %{name}-mpm-libs = %{version}-%{release} + +%description -n python3-usrp_mpm +Python USRP Module Peripheral Manager library. + +%description -n python3-usrp_mpm -l pl.UTF-8 +Biblioteka USRP Module Peripheral Manager dla Pythona. %prep %setup -q +#%patch0 -p1 +%patch1 -p1 +#%patch2 -p1 +%patch3 -p1 + +%{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' host/examples/python/*.py +%{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' host/utils/{converter_benchmark.py,usrp2_{card_burner,card_burner_gui,recovery}.py} +%{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' host/utils/latency/graph.py +grep -rl '/usr/bin/env python3' . | xargs %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' %build -install -d build -cd build -%cmake \ - .. +install -d build-{host,mpm} +cd build-host +%cmake ../host \ + -DUHD_VERSION="%{version}" \ + %{cmake_on_off tests ENABLE_TESTS} \ + -DENABLE_USB=ON + +%{__make} + +%if %{with mpm} +cd ../build-mpm +%cmake ../mpm + +# -DMPM_DEVICE= n3xx (Mykonos+Magnesium), e320, e31x +%endif + %{__make} %install rm -rf $RPM_BUILD_ROOT -%{__make} -C build install/fast \ + +%{__make} -C build-host install \ DESTDIR=$RPM_BUILD_ROOT -rm $RPM_BUILD_ROOT%{_libdir}/%{name}/utils/usrp_n2xx_simple_net_burner -rm $RPM_BUILD_ROOT%{_libdir}/%{name}/utils/usrp_x3xx_fpga_burner +# outdated (binaries removed) +%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{octoclock_firmware_burner,usrp_n2xx_simple_net_burner,usrp_x3xx_fpga_burner}.1* +%if %{with tests} +# not packaging tests +%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{name}/tests \ + $RPM_BUILD_ROOT%{_libdir}/%{name}/utils/latency/run_tests.py +%endif +# packaged as %doc +%{__rm} $RPM_BUILD_ROOT%{_docdir}/uhd/{LICENSE,README.md} -# not packaged -rm -r $RPM_BUILD_ROOT%{_libdir}/%{name}/tests +%if %{with mpm} +%{__make} -C build-mpm install \ + DESTDIR=$RPM_BUILD_ROOT + +%{__rm} $RPM_BUILD_ROOT%{_bindir}/aurora_bist_test.py +%endif + +%py3_comp $RPM_BUILD_ROOT%{py3_sitedir} +%py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir} %clean rm -rf $RPM_BUILD_ROOT -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig + +%post mpm-libs -p /sbin/ldconfig +%postun mpm-libs -p /sbin/ldconfig %files %defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/nirio_programmer -%attr(755,root,root) %{_bindir}/octoclock_firmware_burner +%doc host/{LICENSE,README.md} %attr(755,root,root) %{_bindir}/uhd_cal_rx_iq_balance %attr(755,root,root) %{_bindir}/uhd_cal_tx_dc_offset %attr(755,root,root) %{_bindir}/uhd_cal_tx_iq_balance +%attr(755,root,root) %{_bindir}/uhd_config_info %attr(755,root,root) %{_bindir}/uhd_find_devices +%attr(755,root,root) %{_bindir}/uhd_image_loader %attr(755,root,root) %{_bindir}/uhd_images_downloader %attr(755,root,root) %{_bindir}/uhd_usrp_probe %attr(755,root,root) %{_bindir}/usrp2_card_burner -%attr(755,root,root) %{_bindir}/usrp_n2xx_simple_net_burner -%attr(755,root,root) %{_bindir}/usrp_x3xx_fpga_burner -%{_mandir}/man1/octoclock_firmware_burner.1* %{_mandir}/man1/uhd_cal_rx_iq_balance.1* %{_mandir}/man1/uhd_cal_tx_dc_offset.1* %{_mandir}/man1/uhd_cal_tx_iq_balance.1* +%{_mandir}/man1/uhd_config_info.1* %{_mandir}/man1/uhd_find_devices.1* +%{_mandir}/man1/uhd_image_loader.1* %{_mandir}/man1/uhd_images_downloader.1* %{_mandir}/man1/uhd_usrp_probe.1* %{_mandir}/man1/usrp2_card_burner.1* -%{_mandir}/man1/usrp_n2xx_simple_net_burner.1* -%{_mandir}/man1/usrp_x3xx_fpga_burner.1* -%attr(755,root,root) %{_libdir}/libuhd.so.00*.00* -%attr(755,root,root) %ghost %{_libdir}/libuhd.so.003 +%dir %{_libdir}/%{name}/utils +%attr(755,root,root) %{_libdir}/%{name}/utils/b2xx_fx3_utils +%attr(755,root,root) %{_libdir}/%{name}/utils/converter_benchmark +%attr(755,root,root) %{_libdir}/%{name}/utils/converter_benchmark.py +%attr(755,root,root) %{_libdir}/%{name}/utils/fx2_init_eeprom +%attr(755,root,root) %{_libdir}/%{name}/utils/octoclock_burn_eeprom +%attr(755,root,root) %{_libdir}/%{name}/utils/query_gpsdo_sensors +%attr(755,root,root) %{_libdir}/%{name}/utils/uhd_images_downloader.py +%attr(755,root,root) %{_libdir}/%{name}/utils/usrp2_card_burner.py +%attr(755,root,root) %{_libdir}/%{name}/utils/usrp2_recovery.py +%attr(755,root,root) %{_libdir}/%{name}/utils/usrp_burn_db_eeprom +%attr(755,root,root) %{_libdir}/%{name}/utils/usrp_burn_mb_eeprom +%{_libdir}/%{name}/utils/uhd-usrp.rules +%dir %{_libdir}/%{name}/utils/latency +%attr(755,root,root) %{_libdir}/%{name}/utils/latency/graph.py +%attr(755,root,root) %{_libdir}/%{name}/utils/latency/responder +%{_datadir}/%{name} + +%files libs +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libuhd.so.4.1.0 %dir %{_libdir}/%{name} -%attr(755,root,root) %{_libdir}/%{name}/utils %files devel %defattr(644,root,root,755) -%{_pkgconfigdir}/uhd.pc +%attr(755,root,root) %{_libdir}/libuhd.so %{_includedir}/uhd +%{_includedir}/uhd.h %{_libdir}/cmake/uhd -%{_libdir}/libuhd.so +%{_pkgconfigdir}/uhd.pc + +%files examples +%defattr(644,root,root,755) +%dir %{_libdir}/%{name}/examples +%attr(755,root,root) %{_libdir}/%{name}/examples/* %files doc %defattr(644,root,root,755) %{_docdir}/%{name} -%dir %dir %{_libdir}/%{name} -%dir %{_libdir}/%{name}/examples -%{_libdir}/%{name}/examples/benchmark_rate -%{_libdir}/%{name}/examples/fpgpio -%{_libdir}/%{name}/examples/latency_test -%{_libdir}/%{name}/examples/network_relay -%{_libdir}/%{name}/examples/rx_ascii_art_dft -%{_libdir}/%{name}/examples/rx_multi_samples -%{_libdir}/%{name}/examples/rx_samples_to_file -%{_libdir}/%{name}/examples/rx_samples_to_udp -%{_libdir}/%{name}/examples/rx_timed_samples -%{_libdir}/%{name}/examples/test_clock_synch -%{_libdir}/%{name}/examples/test_dboard_coercion -%{_libdir}/%{name}/examples/test_messages -%{_libdir}/%{name}/examples/test_pps_input -%{_libdir}/%{name}/examples/test_timed_commands -%{_libdir}/%{name}/examples/transport_hammer -%{_libdir}/%{name}/examples/tx_bursts -%{_libdir}/%{name}/examples/tx_samples_from_file -%{_libdir}/%{name}/examples/tx_timed_samples -%{_libdir}/%{name}/examples/tx_waveforms -%{_libdir}/%{name}/examples/txrx_loopback_to_file + +%files -n python3-uhd +%defattr(644,root,root,755) +%dir %{py3_sitedir}/uhd +%attr(755,root,root) %{py3_sitedir}/uhd/libpyuhd.so +%{py3_sitedir}/uhd/*.py +%{py3_sitedir}/uhd/__pycache__ + +%if %{with mpm} +%files mpm +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/db-dump +%attr(755,root,root) %{_bindir}/db-id +%attr(755,root,root) %{_bindir}/db-init +%attr(755,root,root) %{_bindir}/eeprom-blank +%attr(755,root,root) %{_bindir}/eeprom-dump +%attr(755,root,root) %{_bindir}/eeprom-id +%attr(755,root,root) %{_bindir}/eeprom-init +%attr(755,root,root) %{_bindir}/eeprom-set-flags +%attr(755,root,root) %{_bindir}/fan-limits +%attr(755,root,root) %{_bindir}/mpm_debug.py +%attr(755,root,root) %{_bindir}/mpm_shell.py +%attr(755,root,root) %{_bindir}/n3xx_bist +%attr(755,root,root) %{_bindir}/usrp_hwd.py +%attr(755,root,root) %{_bindir}/usrp_update_fs +%{systemdunitdir}/usrp-hwd.service + +%files mpm-libs +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libusrp-periphs.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libusrp-periphs.so.4 + +%files mpm-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libusrp-periphs.so +%{_includedir}/mpm + +%files -n python3-usrp_mpm +%defattr(644,root,root,755) +%dir %{py3_sitedir}/usrp_mpm +%attr(755,root,root) %{py3_sitedir}/usrp_mpm/libpyusrp_periphs.so +%{py3_sitedir}/usrp_mpm/*.py +%{py3_sitedir}/usrp_mpm/__pycache__ +%{py3_sitedir}/usrp_mpm/chips +%{py3_sitedir}/usrp_mpm/cores +%{py3_sitedir}/usrp_mpm/dboard_manager +%{py3_sitedir}/usrp_mpm/periph_manager +%{py3_sitedir}/usrp_mpm/sys_utils +%{py3_sitedir}/usrp_mpm/xports +%endif