X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=gnuradio.spec;h=cbd2717288c1aabf4ce66fea4741b88b2d3a3daf;hb=921f46a9c1943b8a3787dced322b854bd8ae2562;hp=7763c486663de6cd1b6797543d1101c80ff9adf8;hpb=f01d4f32029b0ee2f2b6537f5ea8dda6d0b58179;p=packages%2Fgnuradio.git diff --git a/gnuradio.spec b/gnuradio.spec index 7763c48..cbd2717 100644 --- a/gnuradio.spec +++ b/gnuradio.spec @@ -1,50 +1,76 @@ # TODO: -# - fix volk, drop bcond and enable by default -# - fix uhd build +# - fix uhd build (create uhd.spec first) +# - GUIs split/subpackages? %bcond_with uhd -%bcond_with volk -# -%define snap 2012-04-02 -%define snaps %(echo %{snap} | tr -d "-") + Summary: Software defined radio framework Name: gnuradio -Version: 3.5.3 -Release: 0.%{snaps}.3 +Version: 3.7.13.4 +Release: 1 License: GPL v3 Group: Applications/Engineering +Source0: http://gnuradio.org/releases/gnuradio/%{name}-%{version}.tar.gz +# Source0-md5: b38d9cfa7cb4dcb97f5d19ebcabe8dcb +Patch0: link.patch +Patch1: gsl.patch +Patch2: libexec.patch +Patch3: qwt-includes.patch URL: http://www.gnuradio.org/ -Source0: http://gnuradio.org/files/builds/%{name}-%{version}-%{snap}.tar.gz -# Source0-md5: 9d839403ef713a07e07131e4fc19a543 -Patch0: %{name}-build.patch -BuildRequires: SDL-devel -BuildRequires: alsa-lib-devel -BuildRequires: autoconf -BuildRequires: automake >= 1:1.11.3-2 -BuildRequires: boost-devel >= 1.35 -BuildRequires: cppunit-devel -BuildRequires: doxygen -BuildRequires: fftw3-devel -BuildRequires: graphviz -BuildRequires: gsl-devel -BuildRequires: guile-devel -BuildRequires: libtool -BuildRequires: libtool +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: SDL-devel >= 1.2.0 +BuildRequires: alsa-lib-devel >= 0.9 +BuildRequires: boost-devel >= 1.53 +BuildRequires: cmake >= 2.6 +BuildRequires: cppunit-devel >= 1.9.14 +BuildRequires: doxygen >= 1.5 +BuildRequires: fftw3-devel >= 3.0 +BuildRequires: fftw3-single-devel >= 3.0 +BuildRequires: gsl-devel >= 1.10 +BuildRequires: ice-devel +BuildRequires: jack-audio-connection-kit-devel >= 0.8 BuildRequires: libusb-devel -BuildRequires: orc-devel -BuildRequires: portaudio-devel -BuildRequires: python-PyQt4-devel -BuildRequires: python-PyQwt-devel -BuildRequires: python-cheetah -BuildRequires: python-devel -BuildRequires: python-lxml -BuildRequires: python-numpy -BuildRequires: python-pygtk-devel -BuildRequires: python-wxPython-devel -BuildRequires: qwt-devel -BuildRequires: sdcc -BuildRequires: swig +BuildRequires: log4cpp-devel +BuildRequires: orc-devel >= 0.4.11 +BuildRequires: pkgconfig +BuildRequires: portaudio-devel >= 19 +# R/S instead? +BuildRequires: python-PyOpenGL +BuildRequires: sip-PyQt4 >= 4.4 +# 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: sphinx-pdg +BuildRequires: swig-python >= 1.3.31 BuildRequires: texlive-latex -%{?with_uhd:BuildRequires: uhd-devel} +%{?with_uhd:BuildRequires: uhd-devel >= 3.0.0} BuildRequires: xdg-utils BuildRequires: xmlto Requires: portaudio @@ -59,6 +85,8 @@ Obsoletes: grc < 0.80-1 Obsoletes: usrp < 3.3.0-1 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +%define filterout_cpp -pipe + %description GNU Radio is a collection of software that when combined with minimal hardware, allows the construction of radios where the actual waveforms @@ -67,78 +95,96 @@ that it turns the digital modulation schemes used in today's high performance wireless devices into software problems. %package devel -Summary: GNU Radio +Summary: GNU Radio development files Group: Applications/Engineering Requires: %{name} = %{version}-%{release} +Requires: boost-devel Obsoletes: usrp-devel < 3.3.0-1 %description devel -GNU Radio Headers +GNU Radio Headers. -%package examples +%package doc Summary: GNU Radio -Group: Applications/Engineering +Group: Documentation Requires: %{name} = %{version}-%{release} +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif + +%description doc +GNU Radio Documentation. + +%package examples +Summary: GNU Radio examples +Group: Documentation +Requires: %{name} = %{version}-%{release} +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description examples -GNU Radio examples +GNU Radio examples. %prep -%setup -q -n %{name} +%setup -q %patch0 -p1 - -# force regeneration of cached moc output files (for final tarballs) -find -name "*_moc.cc" | xargs -r rm +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 %build -%{__libtoolize} -%{__aclocal} -I config -%{__autoheader} -%{__automake} -Wno-portability -Wno-override -Wnone -%{__autoconf} -%configure \ - --enable-dependency-tracking \ - --enable-python \ - --enable-doxygen \ - --enable-dot \ - --%{?with_volk:en}%{!?with_volk:dis}able-volk \ - --enable-gruel \ - --enable-gnuradio-core \ - --enable-gr-msdd6000 \ - --enable-gr-audio \ - --enable-gr-atsc \ - --enable-gr-cvsd-vocoder \ - --enable-gr-gpio \ - %{?with_uhd:--enable-gr-uhd} \ - --enable-gr-gsm-fr-vocoder \ - --enable-gr-noaa \ - --enable-gr-pager \ - --enable-gr-radar-pager \ - --enable-gr-radar-mono \ - --enable-gr-radio-astronomy \ - --enable-gr-trellis \ - --enable-gr-video-sdl \ - --enable-gr-wxgui \ - --enable-gr-sounder \ - --enable-gr-utils \ - --enable-gnuradio-examples \ - --enable-grc \ - --enable-docs \ - --with-boost-libdir=%{_libdir} - +%{__mkdir_p} build +cd build +%cmake -Wno-dev \ + -DCMAKE_BUILD_TYPE=None \ + -DENABLE_DOXYGEN=FORCE \ + -DENABLE_GR_ATSC=FORCE \ + -DENABLE_GR_AUDIO=FORCE \ + -DENABLE_GRC=FORCE \ + -DENABLE-GR_COMEDI=FORCE \ + -DENABLE_GR_CORE=FORCE \ + -DENABLE_GR_FCD=FORCE \ + -DENABLE_GR_NOAA=FORCE \ + -DENABLE_GR_PAGER=FORCE \ + -DENABLE_GR_TRELLIS=FORCE \ + -DENABLE_GRUEL=FORCE \ + %{?with_uhd:-DENABLE_GR_UHD=FORCE} \ + -DENABLE_GR_UTILS=FORCE \ + -DENABLE_GR_VIDEO_SDL=FORCE \ + -DENABLE_GR_VOCODER=FORCE \ + -DENABLE_GR_WXGUI=FORCE \ + -DENABLE_PYTHON=FORCE \ + -DENABLE_VOLK=FORCE \ + -DSYSCONFDIR=%{_sysconfdir} \ + .. %{__make} %install rm -rf $RPM_BUILD_ROOT -%{__make} install -j1 \ - pythondir=%{py_sitedir} \ +%{__make} -C build install \ DESTDIR=$RPM_BUILD_ROOT rm -rf inst-doc install -d inst-doc mv $RPM_BUILD_ROOT%{_docdir}/gnuradio-*/* inst-doc +# filter bundled cmake files for other libraries +cd $RPM_BUILD_ROOT%{_libdir}/cmake/gnuradio +for f in *.cmake; do + case $f in + FindUHD.cmake|Gr*.cmake|Gnu*.cmake) + ;; + *) + rm "$f" + ;; + esac +done + +# remove binary from noarch examples +%{__rm} $RPM_BUILD_ROOT%{_datadir}/gnuradio/examples/{audio/dial_tone,fcd/fcd_nfm_rx} + %clean rm -rf $RPM_BUILD_ROOT @@ -147,79 +193,155 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) -%doc ChangeLog NEWS INSTALL COPYING AUTHORS -%doc inst-doc/* -%attr(755,root,root) %{_bindir}/create-gnuradio-out-of-tree-project -%attr(755,root,root) %{_bindir}/file_rx_*.py +%doc README.hacking %attr(755,root,root) %{_bindir}/gnuradio-* -%attr(755,root,root) %{_bindir}/gr_*.py -%attr(755,root,root) %{_bindir}/hrpt_*.py -%attr(755,root,root) %{_bindir}/qt_digital_window.ui -%attr(755,root,root) %{_bindir}/usrp_display_qtgui.ui -%attr(755,root,root) %{_bindir}/usrp_*.py +%attr(755,root,root) %{_bindir}/gr-* +%attr(755,root,root) %{_bindir}/gr_* +%attr(755,root,root) %{_bindir}/grcc +%attr(755,root,root) %{_bindir}/polar_channel_construction +%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}/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}/libgruel-*.so.*.* -%attr(755,root,root) %ghost %{_libdir}/libgruel-*.so.0 -%dir %{_libdir}/gnuradio -%attr(755,root,root) %{_libdir}/gnuradio/grc_setup_freedesktop -%{_datadir}/gnuradio +%attr(755,root,root) %{_libdir}/libvolk.so.*.* %dir %{_sysconfdir}/gnuradio %dir %{_sysconfdir}/gnuradio/conf.d %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnuradio/conf.d/*.conf -%dir %{py_sitedir}/gruel -%{py_sitedir}/gruel/*.py* -%dir %{py_sitedir}/gruel/pmt -%{py_sitedir}/gruel/pmt/*.py* -%attr(755,root,root) %{py_sitedir}/gruel/pmt/*.so + %dir %{py_sitedir}/gnuradio %{py_sitedir}/gnuradio/*.py* -%attr(755,root,root) %{py_sitedir}/gnuradio/*.so -%dir %{py_sitedir}/gnuradio/gr -%{py_sitedir}/gnuradio/gr/*.py* -%attr(755,root,root) %{py_sitedir}/gnuradio/gr/*.so -%dir %{py_sitedir}/gnuradio/digital -%{py_sitedir}/gnuradio/digital/*.py* -%attr(755,root,root) %{py_sitedir}/gnuradio/digital/*.so -%dir %{py_sitedir}/gnuradio/digital/utils -%{py_sitedir}/gnuradio/digital/utils/*.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 -%{py_sitedir}/gnuradio/audio/*.py* %attr(755,root,root) %{py_sitedir}/gnuradio/audio/*.so -%dir %{py_sitedir}/gnuradio/vocoder -%{py_sitedir}/gnuradio/vocoder/*.py* -%attr(755,root,root) %{py_sitedir}/gnuradio/vocoder/*.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 %{py_sitedir}/gnuradio/channels +%attr(755,root,root) %{py_sitedir}/gnuradio/channels/*.so +%{py_sitedir}/gnuradio/channels/*.py* + +%{py_sitedir}/gnuradio/ctrlport + +%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 %{py_sitedir}/gnuradio/dtv +%{py_sitedir}/gnuradio/dtv/*.py* +%attr(755,root,root) %{py_sitedir}/gnuradio/dtv/_dtv_swig.so + +%dir %{py_sitedir}/gnuradio/fcd +%attr(755,root,root) %{py_sitedir}/gnuradio/fcd/*.so +%{py_sitedir}/gnuradio/fcd/*.py* + +%dir %{py_sitedir}/gnuradio/fec +%attr(755,root,root) %{py_sitedir}/gnuradio/fec/*.so +%{py_sitedir}/gnuradio/fec/*.py* +%dir %{py_sitedir}/gnuradio/fec/LDPC +%{py_sitedir}/gnuradio/fec/LDPC/*.py* +%dir %{py_sitedir}/gnuradio/fec/polar +%{py_sitedir}/gnuradio/fec/polar/*.py* + +%dir %{py_sitedir}/gnuradio/fft +%attr(755,root,root) %{py_sitedir}/gnuradio/fft/*.so +%{py_sitedir}/gnuradio/fft/*.py* + +%dir %{py_sitedir}/gnuradio/filter +%attr(755,root,root) %{py_sitedir}/gnuradio/filter/*.so +%{py_sitedir}/gnuradio/filter/*.py* + +%dir %{py_sitedir}/gnuradio/gr +%attr(755,root,root) %{py_sitedir}/gnuradio/gr/*.so +%{py_sitedir}/gnuradio/gr/*.py* + +%{py_sitedir}/gnuradio/grc +%{py_sitedir}/gnuradio/gru +%{py_sitedir}/gnuradio/modtool + %dir %{py_sitedir}/gnuradio/noaa -%{py_sitedir}/gnuradio/noaa/*.py* %attr(755,root,root) %{py_sitedir}/gnuradio/noaa/*.so +%{py_sitedir}/gnuradio/noaa/*.py* + %dir %{py_sitedir}/gnuradio/pager -%{py_sitedir}/gnuradio/pager/*.py* %attr(755,root,root) %{py_sitedir}/gnuradio/pager/*.so +%{py_sitedir}/gnuradio/pager/*.py* + %dir %{py_sitedir}/gnuradio/qtgui -%{py_sitedir}/gnuradio/qtgui/*.py* %attr(755,root,root) %{py_sitedir}/gnuradio/qtgui/*.so -%{py_sitedir}/gnuradio/blks2 -%{py_sitedir}/gnuradio/blks2impl -%{py_sitedir}/gnuradio/grc -%{py_sitedir}/gnuradio/gru -%{py_sitedir}/gnuradio/gruimpl -%{py_sitedir}/gnuradio/wxgui +%{py_sitedir}/gnuradio/qtgui/*.py* + +%dir %{py_sitedir}/gnuradio/trellis +%attr(755,root,root) %{py_sitedir}/gnuradio/trellis/*.so +%{py_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 %{py_sitedir}/gnuradio/vocoder +%attr(755,root,root) %{py_sitedir}/gnuradio/vocoder/*.so +%{py_sitedir}/gnuradio/vocoder/*.py* + +%dir %{py_sitedir}/gnuradio/wavelet +%attr(755,root,root) %{py_sitedir}/gnuradio/wavelet/*.so +%{py_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 %{py_sitedir}/gnuradio/zeromq +%attr(755,root,root) %{py_sitedir}/gnuradio/zeromq/*.so +%{py_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 + +%{_datadir}/gnuradio %exclude %{_datadir}/gnuradio/examples -%exclude %{py_sitedir}/gruel/*/*.la -%exclude %{py_sitedir}/gnuradio/*.la -%exclude %{py_sitedir}/gnuradio/*/*.la + +%dir %{_libdir}/gnuradio +%attr(755,root,root) %{_libdir}/gnuradio/grc_setup_freedesktop %files devel %defattr(644,root,root,755) %{_includedir}/gnuradio -%{_includedir}/gruel +%{_includedir}/pmt +%{_includedir}/volk %attr(755,root,root) %{_libdir}/libgnuradio-*.so -%attr(755,root,root) %{_libdir}/libgruel.so +%attr(755,root,root) %{_libdir}/libvolk.so %{_pkgconfigdir}/gnuradio-*.pc %{_pkgconfigdir}/gr-wxgui.pc -%{_pkgconfigdir}/gruel.pc -%exclude %{_libdir}/*.la +%{_pkgconfigdir}/volk.pc +%dir %{_libdir}/cmake/gnuradio +%{_libdir}/cmake/gnuradio/Gnu*.cmake +%{_libdir}/cmake/gnuradio/Gr*.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)