gnuradio/gnuradio.spec
Martin Hauke 0d48663629 Accepting request 696788 from home:wkazubski:test:science
- Update to version 3.7.13.5
  * Project Scope - fixed PMT: in multiple places, we triggered undef. 
    behaviour by accessing the first element of potentially empty
    uvectors
  * gr-audio - fixed Windows audio for higher output multiples broken
  * gr-blocks - fixed QA: udp_source_sink flakiness
  * gr-dtv - fixed sveral broken optimizations
    - fixed 64-APSK parti	ally wrong ordering
    - fixed OOB access in interleaver
    - fixed uncovered worst case LDPC LUT generation
  * gr-qtgui - fixed compiler Warnings
  * gr-fec - fixed polar_encoder/_common: Memory leak
  * gr-uhd - fixed GRC bindings: DC filter was could not be disabled
    with IQ imbalance correction disabled
  * gnuradio-runtime - ctrlport: added int64 for rpcbasic_inserter
  * GRC - Removed generation time from generated python code

OBS-URL: https://build.opensuse.org/request/show/696788
OBS-URL: https://build.opensuse.org/package/show/hardware:sdr/gnuradio?expand=0&rev=32
2019-04-22 19:04:26 +00:00

355 lines
13 KiB
RPMSpec

#
# spec file for package gnuradio
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define sover 3_7_12-0_0_0
%define sover_volk 1_4
%define volk_version 1.4
Name: gnuradio
Version: 3.7.13.5
Release: 0
Summary: GNU software radio
License: GPL-3.0-or-later
Group: Productivity/Hamradio/Other
URL: http://gnuradio.org
Source0: https://github.com/gnuradio/gnuradio/releases/download/v%{version}/gnuradio-%{version}.tar.xz
Source1: https://github.com/gnuradio/gnuradio/releases/download/v%{version}/gnuradio-%{version}.tar.xz.asc
Source2: %{name}.keyring
Source3: https://github.com/gnuradio/volk/archive/v%{volk_version}.tar.gz#/volk-%{volk_version}.tar.gz
# http://www.nathanwest.us/grc_to_37.sh
Source4: grc_to_37.sh
Source99: %{name}-rpmlintrc
Patch2: missing_library.patch
BuildRequires: alsa-devel
%if 0%{?suse_version} > 1325
BuildRequires: libboost_filesystem-devel
BuildRequires: libboost_system-devel
%else
BuildRequires: boost-devel
%endif
BuildRequires: cmake
BuildRequires: cppunit-devel
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: fftw3-threads-devel
BuildRequires: gcc-c++
BuildRequires: gsl-devel
BuildRequires: libSDL-devel
BuildRequires: libjack-devel
BuildRequires: libxslt-python
BuildRequires: memory-constraints
BuildRequires: orc
BuildRequires: pkgconfig
BuildRequires: portaudio-devel
BuildRequires: python-Cheetah
BuildRequires: python-Sphinx
BuildRequires: python-gtk
BuildRequires: python-lxml
BuildRequires: python-mako
BuildRequires: python-numpy
BuildRequires: python-qt4-devel
BuildRequires: qwt6-devel
BuildRequires: swig
BuildRequires: texlive-dvips
BuildRequires: texlive-latex
BuildRequires: uhd-devel
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(libusb-1.0)
BuildRequires: pkgconfig(libxml-2.0)
# Workaround for openssl migration
#!BuildIgnore: openssl-1_0_0
Requires: python
Requires: python-Cheetah
Requires: python-gtk
Requires: python-lxml
Requires: python-numpy
Requires: python-qt4
%if 0%{?suse_version} > 1320
BuildRequires: python-wxWidgets-3_0
%else
BuildRequires: python-wxWidgets
%endif
%description
GNU Radio is a collection of software that when combined with minimal
hardware, allows the construction of radios where the actual waveforms
transmitted and received are defined by software. What this means is
that it turns the digital modulation schemes used in today's high
performance wireless devices into software problems.
%package wxgui
Summary: Libraries for GNU Radio
Group: System/Libraries
%if 0%{?suse_version} > 1320
Requires: python-wxWidgets-3_0
%else
Requires: python-wxWidgets
%endif
%description wxgui
GNU Radio is a collection of software that when combined with minimal
hardware, allows the construction of radios where the actual waveforms
transmitted and received are defined by software. What this means is
that it turns the digital modulation schemes used in today's high
performance wireless devices into software problems.
This package contains the wxgui blocks
%package -n libgnuradio-%{sover}
Summary: Libraries for GNU Radio
Group: System/Libraries
Obsoletes: libgnuradio0
%description -n libgnuradio-%{sover}
GNU Radio is a collection of software that when combined with minimal
hardware, allows the construction of radios where the actual waveforms
transmitted and received are defined by software. What this means is
that it turns the digital modulation schemes used in today's high
performance wireless devices into software problems.
This package contains the libraries for GNU Radio.
%package -n libvolk%{sover_volk}
Summary: Libraries for GNU Radio
Group: System/Libraries
Conflicts: libgnuradio0
Obsoletes: libvolk0_0_0
%description -n libvolk%{sover_volk}
GNU Radio is a collection of software that when combined with minimal
hardware, allows the construction of radios where the actual waveforms
transmitted and received are defined by software. What this means is
that it turns the digital modulation schemes used in today's high
performance wireless devices into software problems.
This package contains the Vector-Optimized Library of Kernels (VOLK)
%package devel
Summary: Deveopment files for GNU Radio
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
%description devel
GNU Radio is a collection of software that when combined with minimal
hardware, allows the construction of radios where the actual waveforms
transmitted and received are defined by software. What this means is
that it turns the digital modulation schemes used in today's high
performance wireless devices into software problems.
This package contains libraries and header files for developing
applications that use GNU Radio.
%package doc
Summary: GNU Radio documentation
Group: Documentation/HTML
Requires: %{name} = %{version}
BuildArch: noarch
%description doc
GNU Radio is a collection of software that when combined with minimal
hardware, allows the construction of radios where the actual waveforms
transmitted and received are defined by software. What this means is
that it turns the digital modulation schemes used in today's high
performance wireless devices into software problems.
This package contains documentation for GNU Radio.
%package examples
Summary: GNU Radio examples
Group: Productivity/Hamradio/Other
Requires: %{name} = %{version}
%description examples
GNU Radio is a collection of software that when combined with minimal
hardware, allows the construction of radios where the actual waveforms
transmitted and received are defined by software. What this means is
that it turns the digital modulation schemes used in today's high
performance wireless devices into software problems.
This package contains some examples of using GNU Radio.
%package examples-wxgui
Summary: GNU Radio wxgui examples
Group: Productivity/Hamradio/Other
Requires: %{name}-wxgui = %{version}
%description examples-wxgui
GNU Radio is a collection of software that when combined with minimal
hardware, allows the construction of radios where the actual waveforms
transmitted and received are defined by software. What this means is
that it turns the digital modulation schemes used in today's high
performance wireless devices into software problems.
This package contains the examples of using GNU Radio depending on wxWidgets.
%prep
%setup -q
tar xzf %{SOURCE3} -C volk/ --strip-components=1
%patch2 -p1
# remove buildtime from documentation
sed -i 's|^HTML_TIMESTAMP = YES|HTML_TIMESTAMP = NO|' docs/doxygen/Doxyfile.in
sed -i 's|^HTML_TIMESTAMP = YES|HTML_TIMESTAMP = NO|' docs/doxygen/Doxyfile.swig_doc.in
%build
%limit_build -m 2000
%ifnarch armv6l armv6hl
%cmake
%else
%cmake -Dhave_mfpu_neon=0
%endif
%make_jobs
%install
%cmake_install
install -d %{buildroot}%{_docdir}/%{name}
mv %{buildroot}/%{_datadir}/doc/%{name}-*/* %{buildroot}%{_docdir}/%{name}/
# recompile python modules to avoid timestamp problems
%py_compile %{buildroot}%{python_sitearch}
%py_compile -O %{buildroot}%{python_sitearch}
# install icons and desktop file
install -Dpm 0644 %{buildroot}%{_datadir}/gnuradio/grc/freedesktop/grc-icon-32.png \
%{buildroot}%{_datadir}/icons/hicolor/32x32/apps/gnuradio-grc.png
install -Dpm 0644 %{buildroot}%{_datadir}/gnuradio/grc/freedesktop/grc-icon-48.png \
%{buildroot}%{_datadir}/icons/hicolor/48x48/apps/gnuradio-grc.png
install -Dpm 0644 %{buildroot}%{_datadir}/gnuradio/grc/freedesktop/grc-icon-64.png \
%{buildroot}%{_datadir}/icons/hicolor/64x64/apps/gnuradio-grc.png
install -Dpm 0644 %{buildroot}%{_datadir}/gnuradio/grc/freedesktop/grc-icon-128.png \
%{buildroot}%{_datadir}/icons/hicolor/128x128/apps/gnuradio-grc.png
install -Dpm 0644 %{buildroot}%{_datadir}/gnuradio/grc/freedesktop/grc-icon-256.png \
%{buildroot}%{_datadir}/icons/hicolor/256x256/apps/gnuradio-grc.png
install -Dpm 0644 %{buildroot}%{_datadir}/gnuradio/grc/freedesktop/gnuradio-grc.desktop \
%{buildroot}%{_datadir}/applications/gnuradio-grc.desktop
%suse_update_desktop_file -r %{buildroot}%{_datadir}/applications/gnuradio-grc.desktop Network HamRadio
install -Dpm 0755 %{SOURCE4} %{buildroot}/%{_bindir}
#remove unneeded stuff
rm -rf %{buildroot}%{_datadir}/%{name}/grc/freedesktop
rm -rf %{buildroot}%{_prefix}/libexec
%fdupes -s %{buildroot}%{_docdir}
%fdupes -s %{buildroot}%{_includedir}
%fdupes -s %{buildroot}%{_libdir}
%post -n libgnuradio-%{sover} -p /sbin/ldconfig
%post -n libvolk%{sover_volk} -p /sbin/ldconfig
%postun -n libgnuradio-%{sover} -p /sbin/ldconfig
%postun -n libvolk%{sover_volk} -p /sbin/ldconfig
%files
%license COPYING
%{_bindir}/*
%dir %{_datadir}/gnuradio
%{_datadir}/gnuradio/grc/
%{_datadir}/gnuradio/modtool/
%{_datadir}/gnuradio/themes/
%{_datadir}/gnuradio/fec/
%{_datadir}/icons/hicolor/*/apps/gnuradio-grc.png
%{_datadir}/applications/gnuradio-grc.desktop
%{python_sitearch}/*
%dir %{_sysconfdir}/gnuradio
%dir %{_sysconfdir}/gnuradio/conf.d
%config(noreplace) %{_sysconfdir}/gnuradio/conf.d/*.conf
%dir %{_docdir}/%{name}/
%{_docdir}/%{name}/README*
%{_docdir}/%{name}/CHANGELOG*
# doc package
%exclude %{_docdir}/%{name}/html/
%exclude %{_docdir}/%{name}/xml/
%exclude %{_docdir}/%{name}/*.py
%exclude %{_docdir}/%{name}/*.grc
# wxgui package
%exclude %{python_sitearch}/gnuradio/wxgui/
%exclude %{_datadir}/gnuradio/grc/blocks/wxgui*.xml
%exclude %{_datadir}/gnuradio/grc/blocks/notebook.xml
%exclude %{_datadir}/gnuradio/grc/blocks/variable_check_box.xml
%exclude %{_datadir}/gnuradio/grc/blocks/variable_chooser.xml
%exclude %{_datadir}/gnuradio/grc/blocks/variable_slider.xml
%exclude %{_datadir}/gnuradio/grc/blocks/variable_static_text.xml
%exclude %{_datadir}/gnuradio/grc/blocks/variable_text_box.xml
%files wxgui
%{python_sitearch}/gnuradio/wxgui/
%{_datadir}/gnuradio/grc/blocks/wxgui*.xml
%{_datadir}/gnuradio/grc/blocks/notebook.xml
%{_datadir}/gnuradio/grc/blocks/variable_check_box.xml
%{_datadir}/gnuradio/grc/blocks/variable_chooser.xml
%{_datadir}/gnuradio/grc/blocks/variable_slider.xml
%{_datadir}/gnuradio/grc/blocks/variable_static_text.xml
%{_datadir}/gnuradio/grc/blocks/variable_text_box.xml
%files -n libgnuradio-%{sover}
%{_libdir}/libgnuradio*.so.*
%files -n libvolk%{sover_volk}
%{_libdir}/libvolk*.so.*
%files devel
%{_includedir}/%{name}/
%{_includedir}/pmt/
%{_includedir}/volk/
%{_libdir}/lib*.so
%{_libdir}/pkgconfig/*.pc
%{_libdir}/cmake/gnuradio/
%{_libdir}/cmake/volk/
%files doc
%dir %{_docdir}/%{name}
%{_docdir}/%{name}/html/
%{_docdir}/%{name}/xml/
%{_docdir}/%{name}/*.py
%{_docdir}/%{name}/*.grc
%files examples
%{_datadir}/gnuradio/examples/
%exclude %{_datadir}/gnuradio/examples/audio/audio_fft.py
%exclude %{_datadir}/gnuradio/examples/hf_explorer/
%exclude %{_datadir}/gnuradio/examples/hf_radio/
%exclude %{_datadir}/gnuradio/examples/noaa/usrp_rx_hrpt.grc
%exclude %{_datadir}/gnuradio/examples/uhd/fm_tx4.py
%exclude %{_datadir}/gnuradio/examples/uhd/usrp_am_mw_rcv.py
%exclude %{_datadir}/gnuradio/examples/uhd/usrp_nbfm_ptt.py
%exclude %{_datadir}/gnuradio/examples/uhd/usrp_nbfm_rcv.py
%exclude %{_datadir}/gnuradio/examples/uhd/usrp_tv_rcv.py
%exclude %{_datadir}/gnuradio/examples/uhd/usrp_wfm_rcv_fmdet.py
%exclude %{_datadir}/gnuradio/examples/uhd/usrp_wfm_rcv_pll.py
%exclude %{_datadir}/gnuradio/examples/uhd/usrp_wfm_rcv.py
%exclude %{_datadir}/gnuradio/examples/uhd/usrp_wfm_rcv_sca.py
%exclude %{_datadir}/gnuradio/examples/uhd/usrp_wxapt_rcv.py
%files examples-wxgui
%{_datadir}/gnuradio/examples/audio/audio_fft.py
%{_datadir}/gnuradio/examples/hf_explorer/
%{_datadir}/gnuradio/examples/hf_radio/
%{_datadir}/gnuradio/examples/noaa/usrp_rx_hrpt.grc
%{_datadir}/gnuradio/examples/uhd/fm_tx4.py
%{_datadir}/gnuradio/examples/uhd/usrp_am_mw_rcv.py
%{_datadir}/gnuradio/examples/uhd/usrp_nbfm_ptt.py
%{_datadir}/gnuradio/examples/uhd/usrp_nbfm_rcv.py
%{_datadir}/gnuradio/examples/uhd/usrp_tv_rcv.py
%{_datadir}/gnuradio/examples/uhd/usrp_wfm_rcv_fmdet.py
%{_datadir}/gnuradio/examples/uhd/usrp_wfm_rcv_pll.py
%{_datadir}/gnuradio/examples/uhd/usrp_wfm_rcv.py
%{_datadir}/gnuradio/examples/uhd/usrp_wfm_rcv_sca.py
%{_datadir}/gnuradio/examples/uhd/usrp_wxapt_rcv.py
%changelog