gnuradio/gnuradio.spec
Martin Pluskal 6283b2d0cf Accepting request 880754 from home:wkazubski:test:science
- Update to version 3.8.3.0:
  * Changed on project Scope
    + Preference file path may be set using the GR_PREFS_PATH
      environment variable
    + Lower message latency, previously slow when block aliases
      were used
    + PMT: is_dict() no longer returns True for PMT pairs, only
      for PMT dicts
    + Util gnuradio-config-info gets --print-all for those that 
      want it all
    + Allow Thrift versions up thorugh 0.13
    + (internal) Build system improvements and fixes
    + (internal) Reduce Boost usage by replacing bind() with lambdas
      supported in C++11
  * OOT Support
    + Allow override of gr python dir by setting -DGR_PYTHON_DIR
    + Modtool will not try to add duplicate block names in a module
    + Modtool can non-interactively add blocks with no parameters 
      (--argument-list="")
    + Modtool will use current installation prefix instead of
      /usr/local as source of templates
  * GRC
    + Better handling of gui hints, avoid hiding widgets in cases
      where some have GUI hints and some do not
    + Dark theme detection fix
    + Add window size option for bokeh gui
  * gr-audio
    + ALSA nperiods default increased to 32 frames to reduce drops
      (can be set in conf file under the audio_alsa section)
  * gr-blocks
    + File Source handles EOF properly in non-seekable files
      (e.g., pipes)
    + File Source handles large files on Windows
    + Several bounds checking and boundary condition improvements
  * gr-digital
    + MSK timing error detector improvement
    + Improvements to correlation estimator example
    + Correlate Access Code will not trigger until it receives
      enough bits to compare to the access code
  * gr-dtv
    + Performance improvements
  * gr-filter
    + Filter designer works with Qt5 and Python3
    + Taps blocks (e.g., Low Pass Filter Taps) now propagate
      parameter changes
  * gr-qtgui
    + Chooser label defaults now correct
    + Frequency Sink max hold plot for half spectrum width option
      shows correctly
    + Number Sink honors setting of 'avg' more consistently
  * gr-uhd
    + Add start time parameter to GRC blocks
    + Add message handler for GPIO control messages
    + Additional master clock rates in GRC blocks
    + UHD source sends tags on center frequency change
  * gr-video-sdl
    + Correct YUV format options
  * gr-zeromq
    + Connections no longer hang when flowgraph stops and other
      end is still connected (ZMQ_LINGER now set)
    + Receipt of bad PMTs logged (instead of exception)
- Patch 0002-boost_qualify_placeholders_with_their_full_namespace.patch
  removed (applied upstream).

OBS-URL: https://build.opensuse.org/request/show/880754
OBS-URL: https://build.opensuse.org/package/show/hardware:sdr/gnuradio?expand=0&rev=91
2021-03-24 06:53:21 +00:00

262 lines
8.4 KiB
RPMSpec

#
# spec file for package gnuradio
#
# Copyright (c) 2020 SUSE LLC
#
# 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/
#
%ifarch %{arm}
# boo#1182440
%define _lto_cflags %{nil}
%endif
%bcond_without docs
%define sover 3_8_3
Name: gnuradio
Version: 3.8.3.0
Release: 0
Summary: GNU software radio
License: GPL-3.0-or-later
Group: Productivity/Hamradio/Other
URL: https://gnuradio.org
Source0: https://github.com/gnuradio/gnuradio/releases/download/v%{version}/gnuradio-%{version}.tar.xz
# http://www.nathanwest.us/grc_to_37.sh
Source4: grc_to_37.sh
Source99: %{name}-rpmlintrc
Patch0: missing_library.patch
Patch1: revert-23cece0d0.patch
Patch2: 0001-gr-digital-glfsr.h-drop-boost-cstdint.hpp-and-use-cs.patch
BuildRequires: alsa-devel
BuildRequires: cmake >= 3.8
BuildRequires: cppunit-devel
BuildRequires: cppzmq-devel
%if %{with docs}
BuildRequires: doxygen
# TeX is required for formula rendering
BuildRequires: texlive-dvips
BuildRequires: texlive-latex
BuildRequires: tex(newunicodechar.sty)
%endif
BuildRequires: fdupes
BuildRequires: fftw3-threads-devel
BuildRequires: gcc-c++
BuildRequires: gmp-devel
BuildRequires: gsl-devel
BuildRequires: libSDL-devel
BuildRequires: libboost_atomic-devel >= 1.53
BuildRequires: libboost_filesystem-devel >= 1.53
BuildRequires: libboost_system-devel
BuildRequires: libgsm-devel
BuildRequires: libjack-devel
BuildRequires: libmpir-devel
BuildRequires: log4cpp-devel
BuildRequires: orc
BuildRequires: pkgconfig
BuildRequires: portaudio-devel
BuildRequires: python-rpm-macros
BuildRequires: python3-Sphinx
BuildRequires: python3-click
BuildRequires: python3-click-plugins
BuildRequires: python3-gobject
BuildRequires: python3-gobject-cairo
BuildRequires: python3-mako >= 0.9.1
BuildRequires: python3-numpy
BuildRequires: python3-pyaml >= 3.11
BuildRequires: python3-pycairo
BuildRequires: python3-qt5-devel
BuildRequires: python3-six
BuildRequires: qwt6-qt5-devel
BuildRequires: swig >= 3.0.8
BuildRequires: uhd-devel
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(codec2)
BuildRequires: pkgconfig(libusb-1.0)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(py3cairo)
BuildRequires: pkgconfig(volk) >= 2.0
BuildRequires: typelib(Gtk) = 3.0
BuildRequires: typelib(PangoCairo) = 1.0
BuildRequires: typelib(cairo) = 1.0
Requires: python3-numpy
Requires: python3-pyaml >= 3.11
Requires: python3-qt5
# gr_modtool dependencies
Requires: python3-click
Requires: python3-click-plugins
Requires: python3-mako
%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 -n libgnuradio-%{sover}
Summary: Libraries for GNU Radio
Group: System/Libraries
%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 devel
Summary: Deveopment files for GNU Radio
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
Requires: gmp-devel
Requires: log4cpp-devel
%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.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%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
# protect the template files from %%cmake macro magic / mangling
find gr-utils/python/modtool/templates/gr-newmod -name CMakeLists.txt -exec mv '{}' '{}.tmpl' \;
%build
%cmake \
-DENABLE_GRC=ON \
%ifarch armv6l armv6hl
-Dhave_mfpu_neon=0 \
%endif
-DGR_PYTHON_DIR=%{python3_sitearch} \
-DENABLE_INTERNAL_VOLK:BOOL=OFF
%cmake_build
%install
# move the template files back
find gr-utils/python/modtool/templates/gr-newmod -name CMakeLists.txt.tmpl -execdir mv '{}' 'CMakeLists.txt' \;
%cmake_install
install -d %{buildroot}%{_docdir}/%{name}
mv %{buildroot}/%{_datadir}/doc/%{name}-*/* %{buildroot}%{_docdir}/%{name}/
%suse_update_desktop_file -r %{buildroot}%{_datadir}/applications/gnuradio-grc.desktop Network HamRadio
install -Dpm 0755 %{SOURCE4} %{buildroot}/%{_bindir}
# Compiled examples are installed as "data", but are arch dependent
install -dm 0755 %{buildroot}%{_libdir}/gnuradio
mv %{buildroot}%{_datadir}/gnuradio/examples %{buildroot}%{_libdir}/gnuradio/
# remove duplicate icons (just keep hicolor)
rm -rf %{buildroot}%{_datadir}/%{name}/grc/freedesktop
rm -rf %{buildroot}%{_datadir}/icons/gnome
%fdupes %{buildroot}%{_docdir}
%fdupes %{buildroot}%{_includedir}
%fdupes %{buildroot}%{_libdir}
%post -n libgnuradio-%{sover} -p /sbin/ldconfig
%postun -n libgnuradio-%{sover} -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
%{_datadir}/mime/packages/gnuradio-grc.xml
%{python3_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
%files -n libgnuradio-%{sover}
%{_libdir}/libgnuradio*.so.*
%files devel
%{_includedir}/%{name}/
%{_includedir}/pmt/
%{_libdir}/lib*.so
%{_libdir}/pkgconfig/*.pc
%{_libdir}/cmake/gnuradio/
%files doc
%dir %{_docdir}/%{name}
%{_docdir}/%{name}/html/
%{_docdir}/%{name}/xml/
%{_docdir}/%{name}/*.py
%{_docdir}/%{name}/*.grc
%files examples
%dir %{_libdir}/gnuradio
%{_libdir}/gnuradio/examples/
%changelog