Summary: Software defined radio framework
Name: gnuradio
-Version: 3.7.2.1
-Release: 7
+Version: 3.8.0.0
+Release: 2
License: GPL v3
Group: Applications/Engineering
Source0: http://gnuradio.org/releases/gnuradio/%{name}-%{version}.tar.gz
-# Source0-md5: f2ea23a30cb02802870fe8cb9bf272c9
+# Source0-md5: 85e1ed4b18c46227731d83f8c3fbe45a
+Patch0: link.patch
+Patch1: python-libdir.patch
URL: http://www.gnuradio.org/
-BuildRequires: Qt3Support >= 4.8
-BuildRequires: QtCLucene-devel >= 4.8
-BuildRequires: QtCore-devel >= 4.8
-BuildRequires: QtDBus-devel >= 4.8
-BuildRequires: QtDeclarative-devel >= 4.8
-BuildRequires: QtDesigner-devel >= 4.8
-BuildRequires: QtGui-devel >= 4.8
-BuildRequires: QtHelp-devel >= 4.8
-BuildRequires: QtNetwork-devel >= 4.8
-BuildRequires: QtOpenGL-devel >= 4.8
-BuildRequires: QtScript-devel >= 4.8
-BuildRequires: QtScriptTools-devel >= 4.8
-BuildRequires: QtSql-devel >= 4.8
-BuildRequires: QtSvg-devel >= 4.8
-BuildRequires: QtTest-devel >= 4.8
-BuildRequires: QtUiTools-devel >= 4.8
-BuildRequires: QtWebKit-devel >= 4.8
-BuildRequires: QtXml-devel >= 4.8
-BuildRequires: QtXmlPatterns-devel >= 4.8
+BuildRequires: Qt5Core-devel
+BuildRequires: Qt5DBus-devel
+BuildRequires: Qt5Declarative-devel
+BuildRequires: Qt5Designer-devel
+BuildRequires: Qt5Gui-devel
+BuildRequires: Qt5Help-devel
+BuildRequires: Qt5Network-devel
+BuildRequires: Qt5OpenGL-devel
+BuildRequires: Qt5Script-devel
+BuildRequires: Qt5ScriptTools-devel
+BuildRequires: Qt5Sql-devel
+BuildRequires: Qt5Svg-devel
+BuildRequires: Qt5Test-devel
+BuildRequires: Qt5UiTools-devel
+BuildRequires: Qt5WebKit-devel
+BuildRequires: Qt5Xml-devel
+BuildRequires: Qt5XmlPatterns-devel
BuildRequires: SDL-devel >= 1.2.0
BuildRequires: alsa-lib-devel >= 0.9
-BuildRequires: boost-devel >= 1.35
+BuildRequires: boost-devel >= 1.53
BuildRequires: cmake >= 2.6
BuildRequires: cppunit-devel >= 1.9.14
+BuildRequires: cppzmq-devel
BuildRequires: doxygen >= 1.5
BuildRequires: fftw3-devel >= 3.0
BuildRequires: fftw3-single-devel >= 3.0
BuildRequires: pkgconfig
BuildRequires: portaudio-devel >= 19
# R/S instead?
-BuildRequires: python-PyOpenGL
-BuildRequires: sip-PyQt4 >= 4.4
+BuildRequires: python3-PyOpenGL
+BuildRequires: sip-PyQt5
# R/S instead?
-BuildRequires: python-PyQwt-devel >= 5.2
-BuildRequires: python-cheetah >= 2.0.0
-BuildRequires: python-devel >= 2.5
-BuildRequires: python-devel-tools
-BuildRequires: python-ice
-BuildRequires: python-lxml >= 1.3.6
-BuildRequires: python-numpy >= 1.1.0
-BuildRequires: python-pygtk-devel >= 2.10.0
-# R/S instead?
-BuildRequires: python-wxPython-devel >= 2.8
-BuildRequires: qt4-qmake >= 4.2.0
-BuildRequires: qwt-devel >= 5.2
+BuildRequires: python3-PyYAML
+BuildRequires: python3-click
+BuildRequires: python3-devel >= 2.5
+BuildRequires: python3-devel-tools
+BuildRequires: python3-lxml >= 1.3.6
+BuildRequires: python3-numpy >= 1.1.0
+BuildRequires: qt5-build
+BuildRequires: qt5-qmake
+BuildRequires: qwt5-devel
BuildRequires: sphinx-pdg
BuildRequires: swig-python >= 1.3.31
BuildRequires: texlive-latex
%{?with_uhd:BuildRequires: uhd-devel >= 3.0.0}
BuildRequires: xdg-utils
BuildRequires: xmlto
-BuildConflicts: boost-devel = 1.46.0
-BuildConflicts: boost-devel = 1.46.1
-BuildConflicts: boost-devel = 1.47.0
-BuildConflicts: boost-devel = 1.52.0
+BuildConflicts: python-thrift
Requires: portaudio
-Requires: python-PyQt4
-Requires: python-cheetah
-Requires: python-lxml
-Requires: python-numpy
-Requires: python-pygtk-gtk
-Requires: python-scipy
-Requires: python-wxPython
+Requires: python3-PyQt5
+Requires: python3-PyYAML
+Requires: python3-click
+Requires: python3-lxml
+Requires: python3-numpy
+Requires: python3-scipy
Obsoletes: grc < 0.80-1
Obsoletes: usrp < 3.3.0-1
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%prep
%setup -q
-sed -e '/Prevented in-tree build. This is bad practice./d' -i CMakeLists.txt
-sed -e 's/list(APPEND gnuradio_runtime_libs rt)/list(APPEND gnuradio_runtime_libs rt pthread)/' -i gnuradio-runtime/lib/CMakeLists.txt
-sed -e 's/list(APPEND gr_audio_libs ${JACK_LIBRARIES})/list(APPEND gr_audio_libs ${JACK_LIBRARIES} pthread)/' -i gr-audio/lib/CMakeLists.txt
-sed -e 's/list(APPEND fcd_libs rt)/list(APPEND fcd_libs rt pthread)/' -i gr-fcd/lib/CMakeLists.txt
-sed -e 's/target_link_libraries(volk ${volk_libraries})/target_link_libraries(volk ${volk_libraries} m)/' -i volk/lib/CMakeLists.txt
+%patch0 -p1
+%patch1 -p1
%build
%{__mkdir_p} build
cd build
-%cmake \
+%cmake -Wno-dev \
+ -DCMAKE_BUILD_TYPE=None \
-DENABLE_DOXYGEN=FORCE \
-DENABLE_GR_ATSC=FORCE \
-DENABLE_GR_AUDIO=FORCE \
esac
done
+# remove binary from noarch examples
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/gnuradio/examples/{audio/dial_tone,qt-gui/display_qt}
+
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
%doc README.hacking
-%doc inst-doc/*
%attr(755,root,root) %{_bindir}/gnuradio-*
-%attr(755,root,root) %{_bindir}/gr-ctrlport-*
-%attr(755,root,root) %{_bindir}/gr-perf-*
+%attr(755,root,root) %{_bindir}/gr-*
%attr(755,root,root) %{_bindir}/gr_*
%attr(755,root,root) %{_bindir}/grcc
-%attr(755,root,root) %{_bindir}/usrp_flex
-%attr(755,root,root) %{_bindir}/usrp_flex_all
-%attr(755,root,root) %{_bindir}/usrp_flex_band
+%attr(755,root,root) %{_bindir}/polar_channel_construction
+%attr(755,root,root) %{_bindir}/volk-config-info
%attr(755,root,root) %{_bindir}/volk_modtool
%attr(755,root,root) %{_bindir}/volk_profile
-%attr(755,root,root) %{_libdir}/libgnuradio-*.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgnuradio-*.so.0
+%attr(755,root,root) %{_libdir}/libgnuradio-*.so.*.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libgnuradio-*.so.3.8.0
%attr(755,root,root) %{_libdir}/libvolk.so.*.*
-#%attr(755,root,root) %ghost %{_libdir}/libvolk.so.0
%dir %{_sysconfdir}/gnuradio
%dir %{_sysconfdir}/gnuradio/conf.d
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnuradio/conf.d/*.conf
-%{py_sitedir}/*.py*
-%dir %{py_sitedir}/gnuradio
-%{py_sitedir}/gnuradio/*.py*
-%dir %{py_sitedir}/gnuradio/analog
-%attr(755,root,root) %{py_sitedir}/gnuradio/analog/*.so
-%{py_sitedir}/gnuradio/analog/*.py*
-
-%dir %{py_sitedir}/gnuradio/atsc
-%attr(755,root,root) %{py_sitedir}/gnuradio/atsc/*.so
-%{py_sitedir}/gnuradio/atsc/*.py*
-
-%dir %{py_sitedir}/gnuradio/audio
-%attr(755,root,root) %{py_sitedir}/gnuradio/audio/*.so
-%{py_sitedir}/gnuradio/audio/*.py*
-
-%dir %{py_sitedir}/gnuradio/blocks
-%attr(755,root,root) %{py_sitedir}/gnuradio/blocks/*.so
-%{py_sitedir}/gnuradio/blocks/*.py*
+%dir %{py3_sitedir}/gnuradio
+%{py3_sitedir}/gnuradio/*.py*
+%dir %{py3_sitedir}/gnuradio/analog
+%attr(755,root,root) %{py3_sitedir}/gnuradio/analog/*.so
+%{py3_sitedir}/gnuradio/analog/*.py*
-%dir %{py_sitedir}/gnuradio/channels
-%attr(755,root,root) %{py_sitedir}/gnuradio/channels/*.so
-%{py_sitedir}/gnuradio/channels/*.py*
+%dir %{py3_sitedir}/gnuradio/audio
+%attr(755,root,root) %{py3_sitedir}/gnuradio/audio/*.so
+%{py3_sitedir}/gnuradio/audio/*.py*
-%{py_sitedir}/gnuradio/ctrlport
+%dir %{py3_sitedir}/gnuradio/blocks
+%attr(755,root,root) %{py3_sitedir}/gnuradio/blocks/*.so
+%{py3_sitedir}/gnuradio/blocks/*.py*
-%dir %{py_sitedir}/gnuradio/digital
-%attr(755,root,root) %{py_sitedir}/gnuradio/digital/*.so
-%{py_sitedir}/gnuradio/digital/*.py*
-%{py_sitedir}/gnuradio/digital/utils
+%dir %{py3_sitedir}/gnuradio/channels
+%attr(755,root,root) %{py3_sitedir}/gnuradio/channels/*.so
+%{py3_sitedir}/gnuradio/channels/*.py*
-%dir %{py_sitedir}/gnuradio/fcd
-%attr(755,root,root) %{py_sitedir}/gnuradio/fcd/*.so
-%{py_sitedir}/gnuradio/fcd/*.py*
+%{py3_sitedir}/gnuradio/ctrlport
-%dir %{py_sitedir}/gnuradio/fec
-%attr(755,root,root) %{py_sitedir}/gnuradio/fec/*.so
-%{py_sitedir}/gnuradio/fec/*.py*
+%dir %{py3_sitedir}/gnuradio/digital
+%attr(755,root,root) %{py3_sitedir}/gnuradio/digital/*.so
+%{py3_sitedir}/gnuradio/digital/*.py*
+%{py3_sitedir}/gnuradio/digital/utils
-%dir %{py_sitedir}/gnuradio/fft
-%attr(755,root,root) %{py_sitedir}/gnuradio/fft/*.so
-%{py_sitedir}/gnuradio/fft/*.py*
+%dir %{py3_sitedir}/gnuradio/dtv
+%{py3_sitedir}/gnuradio/dtv/*.py*
+%attr(755,root,root) %{py3_sitedir}/gnuradio/dtv/_dtv_swig.so
-%dir %{py_sitedir}/gnuradio/filter
-%attr(755,root,root) %{py_sitedir}/gnuradio/filter/*.so
-%{py_sitedir}/gnuradio/filter/*.py*
+%dir %{py3_sitedir}/gnuradio/fec
+%attr(755,root,root) %{py3_sitedir}/gnuradio/fec/*.so
+%{py3_sitedir}/gnuradio/fec/*.py*
+%dir %{py3_sitedir}/gnuradio/fec/LDPC
+%{py3_sitedir}/gnuradio/fec/LDPC/*.py*
+%dir %{py3_sitedir}/gnuradio/fec/polar
+%{py3_sitedir}/gnuradio/fec/polar/*.py*
-%dir %{py_sitedir}/gnuradio/gr
-%attr(755,root,root) %{py_sitedir}/gnuradio/gr/*.so
-%{py_sitedir}/gnuradio/gr/*.py*
+%dir %{py3_sitedir}/gnuradio/fft
+%attr(755,root,root) %{py3_sitedir}/gnuradio/fft/*.so
+%{py3_sitedir}/gnuradio/fft/*.py*
-%{py_sitedir}/gnuradio/grc
-%{py_sitedir}/gnuradio/gru
-%{py_sitedir}/gnuradio/modtool
+%dir %{py3_sitedir}/gnuradio/filter
+%attr(755,root,root) %{py3_sitedir}/gnuradio/filter/*.so
+%{py3_sitedir}/gnuradio/filter/*.py*
-%dir %{py_sitedir}/gnuradio/noaa
-%attr(755,root,root) %{py_sitedir}/gnuradio/noaa/*.so
-%{py_sitedir}/gnuradio/noaa/*.py*
+%dir %{py3_sitedir}/gnuradio/gr
+%attr(755,root,root) %{py3_sitedir}/gnuradio/gr/*.so
+%{py3_sitedir}/gnuradio/gr/*.py*
-%dir %{py_sitedir}/gnuradio/pager
-%attr(755,root,root) %{py_sitedir}/gnuradio/pager/*.so
-%{py_sitedir}/gnuradio/pager/*.py*
+%{py3_sitedir}/gnuradio/grc
+%{py3_sitedir}/gnuradio/gru
-%dir %{py_sitedir}/gnuradio/qtgui
-%attr(755,root,root) %{py_sitedir}/gnuradio/qtgui/*.so
-%{py_sitedir}/gnuradio/qtgui/*.py*
+%dir %{py3_sitedir}/gnuradio/qtgui
+%attr(755,root,root) %{py3_sitedir}/gnuradio/qtgui/*.so
+%{py3_sitedir}/gnuradio/qtgui/*.py*
-%dir %{py_sitedir}/gnuradio/trellis
-%attr(755,root,root) %{py_sitedir}/gnuradio/trellis/*.so
-%{py_sitedir}/gnuradio/trellis/*.py*
+%dir %{py3_sitedir}/gnuradio/trellis
+%attr(755,root,root) %{py3_sitedir}/gnuradio/trellis/*.so
+%{py3_sitedir}/gnuradio/trellis/*.py*
-%dir %{py_sitedir}/gnuradio/video_sdl
-%attr(755,root,root) %{py_sitedir}/gnuradio/video_sdl/*.so
-%{py_sitedir}/gnuradio/video_sdl/*.py*
+%dir %{py3_sitedir}/gnuradio/video_sdl
+%attr(755,root,root) %{py3_sitedir}/gnuradio/video_sdl/*.so
+%{py3_sitedir}/gnuradio/video_sdl/*.py*
-%dir %{py_sitedir}/gnuradio/vocoder
-%attr(755,root,root) %{py_sitedir}/gnuradio/vocoder/*.so
-%{py_sitedir}/gnuradio/vocoder/*.py*
+%dir %{py3_sitedir}/gnuradio/vocoder
+%attr(755,root,root) %{py3_sitedir}/gnuradio/vocoder/*.so
+%{py3_sitedir}/gnuradio/vocoder/*.py*
-%dir %{py_sitedir}/gnuradio/wavelet
-%attr(755,root,root) %{py_sitedir}/gnuradio/wavelet/*.so
-%{py_sitedir}/gnuradio/wavelet/*.py*
+%dir %{py3_sitedir}/gnuradio/wavelet
+%attr(755,root,root) %{py3_sitedir}/gnuradio/wavelet/*.so
+%{py3_sitedir}/gnuradio/wavelet/*.py*
-%dir %{py_sitedir}/gnuradio/wxgui
-%attr(755,root,root) %{py_sitedir}/gnuradio/wxgui/*.so
-%{py_sitedir}/gnuradio/wxgui/*.py*
-%{py_sitedir}/gnuradio/wxgui/forms
-%{py_sitedir}/gnuradio/wxgui/plotter
+%dir %{py3_sitedir}/gnuradio/zeromq
+%attr(755,root,root) %{py3_sitedir}/gnuradio/zeromq/*.so
+%{py3_sitedir}/gnuradio/zeromq/*.py*
-%{py_sitedir}/grc_gnuradio
-%dir %{py_sitedir}/pmt
-%attr(755,root,root) %{py_sitedir}/pmt/_pmt_swig.so
-%{py_sitedir}/pmt/*.py*
-%{py_sitedir}/volk_modtool
+%dir %{py3_sitedir}/pmt
+%attr(755,root,root) %{py3_sitedir}/pmt/_pmt_swig.so
+%{py3_sitedir}/pmt/*.py*
+%{py3_sitedir}/volk_modtool
%{_datadir}/gnuradio
%exclude %{_datadir}/gnuradio/examples
+%dir %{_libexecdir}/gnuradio
+%attr(755,root,root) %{_libexecdir}/gnuradio/grc_setup_freedesktop
+
+%{_desktopdir}/gnuradio-grc.desktop
+%{_iconsdir}/hicolor/*x*/apps/gnuradio-grc.png
+%{_datadir}/mime/packages/gnuradio-grc.xml
+
%files devel
%defattr(644,root,root,755)
%{_includedir}/gnuradio
%attr(755,root,root) %{_libdir}/libgnuradio-*.so
%attr(755,root,root) %{_libdir}/libvolk.so
%{_pkgconfigdir}/gnuradio-*.pc
-%{_pkgconfigdir}/gr-wxgui.pc
%{_pkgconfigdir}/volk.pc
%dir %{_libdir}/cmake/gnuradio
%{_libdir}/cmake/gnuradio/Gnu*.cmake
%{?with_uhd:%{_libdir}/cmake/gnuradio/FindUHD.cmake}
%{_libdir}/cmake/volk
+%files doc
+%defattr(644,root,root,755)
+%doc inst-doc/*
+
%files examples
%defattr(644,root,root,755)
%{_datadir}/gnuradio/examples