diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5e69f86 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/gr-funcube-*.tar.gz diff --git a/10-funcube.rules b/10-funcube.rules new file mode 100644 index 0000000..1fe2672 --- /dev/null +++ b/10-funcube.rules @@ -0,0 +1,4 @@ +# FUNcube Dongle Pro+ +SUBSYSTEMS=="usb", ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="fb31", GROUP:="rtlsdr", MODE:="0660", ENV{ID_SOFTWARE_RADIO}="1" +# FUNcube Dongle Pro +SUBSYSTEMS=="usb", ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="fb56", GROUP:="rtlsdr", MODE:="0660", ENV{ID_SOFTWARE_RADIO}="1" diff --git a/README.md b/README.md deleted file mode 100644 index 63a6439..0000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# gr-funcube - -The gr-funcube package diff --git a/gr-funcube-1.0.0-tests-fix-path.patch b/gr-funcube-1.0.0-tests-fix-path.patch new file mode 100644 index 0000000..f05bdb8 --- /dev/null +++ b/gr-funcube-1.0.0-tests-fix-path.patch @@ -0,0 +1,92 @@ +diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt +index e381563..89e2348 100644 +--- a/python/CMakeLists.txt ++++ b/python/CMakeLists.txt +@@ -31,6 +31,7 @@ GR_PYTHON_INSTALL( + include(GrTest) + + set(GR_TEST_TARGET_DEPS gnuradio-funcube) ++set(GR_TEST_PYTHON_DIRS ${CMAKE_BINARY_DIR}/python/bindings) + GR_ADD_TEST(qa_fcd_control ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_fcd_control.py) + GR_ADD_TEST(qa_fcd ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_fcd.py) + GR_ADD_TEST(qa_fcdpp_control ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_fcdpp_control.py) +diff --git a/python/qa_fcd.py b/python/qa_fcd.py +index faffc64..f186a7d 100755 +--- a/python/qa_fcd.py ++++ b/python/qa_fcd.py +@@ -9,13 +9,13 @@ + from gnuradio import gr, gr_unittest + # from gnuradio import blocks + try: +- from funcube import fcd ++ from funcube_python import fcd + except ImportError: + import os + import sys + dirname, filename = os.path.split(os.path.abspath(__file__)) + sys.path.append(os.path.join(dirname, "bindings")) +- from funcube import fcd ++ from funcube_python import fcd + + class qa_fcd(gr_unittest.TestCase): + +diff --git a/python/qa_fcd_control.py b/python/qa_fcd_control.py +index cdbefd2..7d25764 100755 +--- a/python/qa_fcd_control.py ++++ b/python/qa_fcd_control.py +@@ -9,13 +9,13 @@ + from gnuradio import gr, gr_unittest + # from gnuradio import blocks + try: +- from funcube import fcd_control ++ from funcube_python import fcd_control + except ImportError: + import os + import sys + dirname, filename = os.path.split(os.path.abspath(__file__)) + sys.path.append(os.path.join(dirname, "bindings")) +- from funcube import fcd_control ++ from funcube_python import fcd_control + + class qa_fcd_control(gr_unittest.TestCase): + +diff --git a/python/qa_fcdpp.py b/python/qa_fcdpp.py +index c26c877..e1a4f28 100755 +--- a/python/qa_fcdpp.py ++++ b/python/qa_fcdpp.py +@@ -9,13 +9,13 @@ + from gnuradio import gr, gr_unittest + # from gnuradio import blocks + try: +- from funcube import fcdpp ++ from funcube_python import fcdpp + except ImportError: + import os + import sys + dirname, filename = os.path.split(os.path.abspath(__file__)) + sys.path.append(os.path.join(dirname, "bindings")) +- from funcube import fcdpp ++ from funcube_python import fcdpp + + class qa_fcdpp(gr_unittest.TestCase): + +diff --git a/python/qa_fcdpp_control.py b/python/qa_fcdpp_control.py +index 39c39a1..f553d26 100755 +--- a/python/qa_fcdpp_control.py ++++ b/python/qa_fcdpp_control.py +@@ -9,13 +9,13 @@ + from gnuradio import gr, gr_unittest + # from gnuradio import blocks + try: +- from funcube import fcdpp_control ++ from funcube_python import fcdpp_control + except ImportError: + import os + import sys + dirname, filename = os.path.split(os.path.abspath(__file__)) + sys.path.append(os.path.join(dirname, "bindings")) +- from funcube import fcdpp_control ++ from funcube_python import fcdpp_control + + class qa_fcdpp_control(gr_unittest.TestCase): + diff --git a/gr-funcube.spec b/gr-funcube.spec new file mode 100644 index 0000000..b69c000 --- /dev/null +++ b/gr-funcube.spec @@ -0,0 +1,98 @@ +Name: gr-funcube +URL: https://github.com/dl1ksv/gr-funcube +Version: 1.0.0 +Release: 1%{?dist} +License: GPLv3+ +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: gnuradio-devel +BuildRequires: hidapi-devel +BuildRequires: doxygen +BuildRequires: graphviz +BuildRequires: pybind11-devel +BuildRequires: libunwind-devel +BuildRequires: alsa-lib-devel +BuildRequires: libusbx-devel +BuildRequires: python3-devel +BuildRequires: log4cpp-devel +BuildRequires: jack-audio-connection-kit-devel +BuildRequires: portaudio-devel +BuildRequires: gmp-devel +BuildRequires: orc-devel +BuildRequires: libsndfile-devel +Obsoletes: gr-fcdproplus < 3.8.0-5.20200807git06069c2e +Summary: GNURadio support for FUNcube Dongle Pro and FUNcube Dongle Pro+ +Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz +Source1: 10-funcube.rules +# https://github.com/dl1ksv/gr-funcube/issues/3 +Patch0: gr-funcube-1.0.0-tests-fix-path.patch + +%description +GNURadio support for FUNcube Dongle Pro and FUNcube Dongle Pro+. + +%package devel +Summary: Development files for gr-funcube +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +Development files for gr-funcube. + +%package doc +Summary: Documentation files for gr-funcube +Requires: %{name} = %{version}-%{release} +# Workaround for rhbz#1814356 +#BuildArch: noarch + +%description doc +Documentation files for gr-funcube. + +%prep +%autosetup -p1 + +%build +%cmake -DENABLE_DOXYGEN=on -DGR_PKG_DOC_DIR=%{_docdir}/%{name} +%cmake_build + +%check +cd %{_vpath_builddir} +make test + +%install +%cmake_install + +# udev rule +install -Dpm 0644 %{S:1} %{buildroot}%{_udevrulesdir}/10-funcube.rules + +%ldconfig_scriptlets + +%pre +# sharing group with the rtl-sdr package not to introduce new group +# todo: consolidate also with the uhd package (usrp group) to have one generic +# group e.g. 'sdr' for this class of devices +getent group rtlsdr >/dev/null || \ + %{_sbindir}/groupadd -r rtlsdr >/dev/null 2>&1 +exit 0 + +%files +%exclude %{_docdir}/%{name}/html +%exclude %{_docdir}/%{name}/xml +%license COPYING +%doc README.md +%{_libdir}/*.so.* +%{python3_sitearch}/funcube +%{_datadir}/gnuradio/grc/blocks/* +%{_udevrulesdir}/10-funcube.rules + +%files devel +%{_includedir}/funcube +%{_libdir}/*.so +%{_libdir}/cmake/funcube + +%files doc +%doc %{_docdir}/%{name}/html +%doc %{_docdir}/%{name}/xml + +%changelog +* Wed Feb 17 2021 Jaroslav Škarvada - 1.0.0-1 +- Initial version + Related: rhbz#1924712 diff --git a/sources b/sources new file mode 100644 index 0000000..8056f81 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (gr-funcube-1.0.0.tar.gz) = 4c2617e41594cd064c393d2ebe3ba7db6b7f2ab1a68fd8e673285699abb0646cc17c3d4a412e93ef384a066f7a85d441864d7525188ef336dcde0ef52ef8dece