Blob Blame History Raw
%global srcname pyrtlsdr
Name:             python-%{srcname}
Version:          0.2.2
Release:          5%{?dist}
Summary:          Python binding for librtlsdr
License:          GPLv3
URL:              https://github.com/roger-/pyrtlsdr
Source0:          https://github.com/roger-/%{srcname}/archive/v%{version}.tar.gz#/%{srcname}-%{version}.tar.gz
Patch0:           python-pyrtlsdr-0.2.2-no-markdown.patch
BuildArch:        noarch

%description
Python binding for librtlsdr (a driver for Realtek RTL2832U based SDR's).

%package -n python2-%{srcname}
Summary:          Python 2 binding for librtlsdr
%{?python_provide:%python_provide python2-%{srcname}}

BuildRequires:    python2-devel, python-setuptools
# needed for librtlsdr
Requires:         rtl-sdr
# faster arrays
Recommends:       numpy

%description -n python2-%{srcname}
Python 2 binding for librtlsdr (a driver for Realtek RTL2832U based SDR's).

%package -n python3-%{srcname}
Summary:          Python 3 binding for librtlsdr
%{?python_provide:%python_provide python3-%{srcname}}
BuildRequires:    python3-devel, python3-setuptools
# needed for librtlsdr
Requires:         rtl-sdr
# faster arrays
Recommends:       numpy

%description -n python3-%{srcname}
Python 3 binding for librtlsdr (a driver for Realtek RTL2832U based SDR's).

%prep
%setup -qcn %{srcname}-%{version}
mv %{srcname}-%{version} python2-%{srcname}
pushd python2-%{srcname}
%patch0 -p1 -b .no-markdown
rm -rf pyrtlsdr.egg-info
popd
cp -a python2-%{srcname} python3-%{srcname}
# asyncio is only for python3
rm -f python2-%{srcname}/rtlsdr/rtlsdraio.py

find python2-%{srcname} -name '*.py' | xargs sed -i '1s|^#!.*|#!%{__python2}|'
find python3-%{srcname} -name '*.py' | xargs sed -i '1s|^#!.*|#!%{__python3}|'

mv python2-%{srcname}/rtlsdr/rtlsdrtcp.py python2-%{srcname}/
mv python3-%{srcname}/rtlsdr/rtlsdrtcp.py python3-%{srcname}/

%build
pushd python2-%{srcname}
%py2_build
popd

pushd python3-%{srcname}
%py3_build
popd

%install
mkdir -p %{buildroot}%{_bindir}
pushd python2-%{srcname}
%py2_install
install -pDm 755 rtlsdrtcp.py %{buildroot}%{_bindir}/rtlsdrtcp-%{python2_version}
pushd %{buildroot}%{_bindir}
ln -s rtlsdrtcp-%{python2_version} rtlsdrtcp-2
ln -s rtlsdrtcp-%{python2_version} rtlsdrtcp
popd
popd

pushd python3-%{srcname}
%py3_install
install -pDm 755 rtlsdrtcp.py %{buildroot}%{_bindir}/rtlsdrtcp-%{python3_version}
pushd %{buildroot}%{_bindir}
ln -s rtlsdrtcp-%{python3_version} rtlsdrtcp-3
popd
popd

%files -n python2-%{srcname}
%doc python2-%{srcname}/README.md
%{_bindir}/rtlsdrtcp
%{_bindir}/rtlsdrtcp-2
%{_bindir}/rtlsdrtcp-%{python2_version}
%{python2_sitelib}/rtlsdr/
%{python2_sitelib}/%{srcname}-%{version}-*.egg-info

%files -n python3-%{srcname}
%doc python3-%{srcname}/README.md
%{_bindir}/rtlsdrtcp-3
%{_bindir}/rtlsdrtcp-%{python3_version}
%{python3_sitelib}/rtlsdr/
%{python3_sitelib}/%{srcname}-%{version}-*.egg-info

%changelog
* Tue Jul 12 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 0.2.2-5
- Release bump to fix upgrade path from f23

* Thu Apr 21 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 0.2.2-3
- Removed rtlsdrtcp python objects from the sitedir

* Wed Apr 20 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 0.2.2-2
- rtlsdrtcp packaged into /usr/bin

* Tue Apr 12 2016 Jaroslav Škarvada <jskarvad@redhat.com> - 0.2.2-1
- Initial release