# By default include binary_firmware, otherwise try to rebuild # the firmware from sources. If you want to rebuild all firmware # images you need to install appropriate tools (e.g. Xilinx ISE). %bcond_without binary_firmware %global ver_major 3 %global ver_minor 6 %global ver_patch 2 %global ver %(printf "%03d.%03d.%03d" %{ver_major} %{ver_minor} %{ver_patch}) %global ver_ %(printf "%03d_%03d_%03d" %{ver_major} %{ver_minor} %{ver_patch}) Name: uhd URL: http://code.ettus.com/redmine/ettus/projects/uhd/wiki Version: %{ver_major}.%{ver_minor}.%{ver_patch} Release: 1%{?dist} License: GPLv3+ BuildRequires: cmake BuildRequires: boost-devel libusb1-devel python-cheetah BuildRequires: docutils doxygen pkgconfig %if ! %{with binary_firmware} BuildRequires: sdcc sed %endif Requires(pre): shadow-utils Requires: tkinter Group: Applications/Engineering Summary: Universal Hardware Driver for Ettus Research products Source0: http://github.com/EttusResearch/uhd/archive/release_%{ver_}.tar.gz#/uhd-release_%{ver_}.tar.gz Source1: %{name}-limits.conf Source2: http://files.ettus.com/binaries/uhd_stable/latest_release/uhd-images_%{ver}-release.tar.gz # ARM convert_test fix (rhbz#813393) Patch0: uhd-3.5.3-no-neon.patch # Fix firmware build with sdcc-3 Patch1: uhd-3.4.2-sdcc-3-fix.patch %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. %package firmware Summary: Firmware files for UHD Group: Applications/Engineering Requires: %{name} = %{version}-%{release} BuildArch: noarch %description firmware Firmware files for the Universal Hardware driver (UHD). %package devel Summary: Development files for UHD Group: Applications/Engineering Requires: %{name} = %{version}-%{release} %description devel Development files for the Universal Hardware Driver (UHD). %package doc Summary: Documentation files for UHD Group: Applications/Engineering BuildArch: noarch %description doc Documentation for the Universal Hardware Driver (UHD). %prep %setup -q -n uhd-release_%{ver_} %patch0 -p1 -b .no-neon %patch1 -p1 -b .sdcc-3-fix # firmware %if %{with binary_firmware} # extract binary firmware mkdir -p images/images tar -xzf %{SOURCE2} -C images/images --strip-components=4 rm -f images/images/{LICENSE.txt,*.tag} %endif %build # firmware %if ! %{with binary_firmware} # rebuilt from sources export PATH=$PATH:%{_libexecdir}/sdcc pushd images sed -i '/-name "\*\.twr" | xargs grep constraint | grep met/ s/^/#/' Makefile make %{?_smp_mflags} images popd %endif mkdir -p host/build pushd host/build %cmake ../ make %{?_smp_mflags} popd %check cd host/build make test %install pushd host/build make install DESTDIR=%{buildroot} # Fix udev rules and allow access only to users in usrp group sed -i 's/BUS==/SUBSYSTEM==/;s/SYSFS{/ATTRS{/;s/MODE:="0666"/GROUP:="usrp", MODE:="0660"/' %{buildroot}%{_libdir}/uhd/utils/uhd-usrp.rules mkdir -p %{buildroot}%{_sysconfdir}/udev/rules.d mv %{buildroot}%{_libdir}/uhd/utils/uhd-usrp.rules %{buildroot}%{_sysconfdir}/udev/rules.d/10-usrp-uhd.rules # Remove tests, examples binaries rm -rf %{buildroot}%{_libdir}/uhd/{tests,examples} # Move the utils stuff to libexec dir mkdir -p %{buildroot}%{_libexecdir}/uhd mv %{buildroot}%{_libdir}/uhd/utils/* %{buildroot}%{_libexecdir}/uhd popd # Package base docs to base package mkdir _tmpdoc mv %{buildroot}%{_docdir}/%{name}/{LICENSE,README.md} _tmpdoc install -m 644 -D %{SOURCE1} %{buildroot}%{_sysconfdir}/security/limits.d/99-usrp.conf # firmware mkdir -p %{buildroot}%{_datadir}/uhd/images cp -r images/images/* %{buildroot}%{_datadir}/uhd/images # remove win stuff rm -rf %{buildroot}%{_datadir}/uhd/images/winusb_driver # convert hardlinks to symlinks (to not package the file twice) pushd %{buildroot}%{_bindir} unlink ./usrp_n2xx_simple_net_burner ln -s ../..%{_libexecdir}/uhd/usrp_n2xx_simple_net_burner popd %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %pre getent group usrp >/dev/null || groupadd -r usrp >/dev/null %files %exclude %{_docdir}/%{name}/manual %exclude %{_docdir}/%{name}/doxygen %exclude %{_datadir}/uhd/images %doc _tmpdoc/* %{_bindir}/* %config(noreplace) %{_sysconfdir}/udev/rules.d/10-usrp-uhd.rules %config(noreplace) %{_sysconfdir}/security/limits.d/*.conf %{_libdir}/lib*.so.* %{_libexecdir}/uhd %{_mandir}/man1/*.1* %{_datadir}/uhd %files firmware %dir %{_datadir}/uhd/images %{_datadir}/uhd/images/* %files devel %{_includedir}/* %{_libdir}/lib*.so %{_libdir}/pkgconfig/*.pc %files doc %doc %{_docdir}/%{name}/manual %doc %{_docdir}/%{name}/doxygen %changelog * Tue Feb 11 2014 Jaroslav Škarvada - 3.6.2-1 - New version Resolves: rhbz#1063587 * Sun Aug 04 2013 Fedora Release Engineering - 3.5.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Sat Jul 27 2013 pmachata@redhat.com - 3.5.3-2 - Rebuild for boost 1.54.0 * Wed Jun 05 2013 Jaroslav Škarvada - 3.5.3-1 - New version - Defuzzified no-neon patch * Sun Feb 10 2013 Denis Arnaud - 3.4.3-3 - Rebuild for Boost-1.53.0 * Sat Feb 09 2013 Denis Arnaud - 3.4.3-2 - Rebuild for Boost-1.53.0 * Wed Aug 22 2012 Jaroslav Škarvada - 3.4.3-1 - New version * Fri Aug 10 2012 Jaroslav Škarvada - 3.4.2-4 - Rebuilt for new boost * Sun Jul 22 2012 Fedora Release Engineering - 3.4.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Wed Jun 6 2012 Jaroslav Škarvada - 3.4.2-2 - Added firmware subpackage Resolves: rhbz#769684 * Wed May 23 2012 Jaroslav Škarvada - 3.4.2-1 - New version - Removed usrp1-r45-dbsrx-i2c-fix patch (upstreamed) - Fixed convert_test failure on ARM by no-neon patch Resolves: rhbz#813393 * Tue Mar 27 2012 Jaroslav Škarvada - 3.4.0-1 - New version - Fixed lockup on USRP1 r4.5 + DBSRX + another i2c board combo (usrp1-r45-dbsrx-i2c-fix patch) Resolves: rhbz#804440 * Mon Mar 19 2012 Jaroslav Škarvada - 3.3.2-1 - New version * Tue Feb 28 2012 Fedora Release Engineering - 3.3.1-4 - Rebuilt for c++ ABI breakage * Fri Feb 10 2012 Jaroslav Škarvada - 3.3.1-3 - Allowed UHD to boost the thread's scheduling priority Resolves: rhbz#781540 * Wed Jan 11 2012 Jaroslav Škarvada - 3.3.1-2 - Minor tweaks to %%pre scriptlet - Fixed udev rules - Added tkinter requires Resolves: rhbz#769678 * Fri Dec 2 2011 Jaroslav Škarvada - 3.3.1-1 - New version * Thu Dec 1 2011 Jaroslav Škarvada - 3.3.0-3 - Updated summary to be more descriptive * Wed Nov 30 2011 Jaroslav Škarvada - 3.3.0-2 - Fixed according to reviewer comments * Tue Nov 01 2011 Jaroslav Škarvada - 3.3.0-1 - Initial version