Blob Blame History Raw
# NEON support is by default disabled on ARMs
%bcond_with neon

%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%{?_smp_mflags: %global my_smp_mflags %(echo "%{_smp_mflags}" | sed 's/-j[0-9]\\+/-j1/g')}

%ifarch %{arm}
%if %{with neon}
%global my_optflags %(echo -n "%{optflags}" | sed 's/-mfpu=[^ \\t]\\+//g'; echo " -mfpu=neon")
%{expand: %global optflags %{my_optflags}}
%global mfpu_neon -Dhave_mfpu_neon=1
%else
%global mfpu_neon -Dhave_mfpu_neon=0
%endif
%endif

# For versions not yet on ftp, pull from git
#%%global git_commit 441a3767e05d15e62c519ea66b848b5adb0f4b3a

Name:		gnuradio
Version:	3.6.5
Release:	3%{?dist}
Summary:	Software defined radio framework

Group:		Applications/Engineering
License:	GPLv3
URL:		http://www.gnuradio.org
#Source0:	ftp://ftp.gnu.org/gnu/gnuradio/gnuradio-%%{version}.tar.gz
#Source0:	http://gnuradio.org/redmine/attachments/download/%%{attachment_id}/gnuradio-%%{version}.tar.gz
Source0:	http://gnuradio.org/releases/gnuradio/gnuradio-%{version}.tar.gz
# git clone git://gnuradio.org/gnuradio
# cd gnuradio
# git archive --format=tar --prefix=%%{name}-%%{version}/ %%{git_commit} | \
# gzip > ../%%{name}-%%{version}.tar.gz

Requires(pre):	shadow-utils
BuildRequires:	cmake, fftw-devel, cppunit-devel, wxPython-devel, xmlto
BuildRequires:	graphviz, boost-devel, python-devel, swig, doxygen
BuildRequires:	libusbx-devel, alsa-lib-devel, SDL-devel, guile-devel
BuildRequires:	portaudio-devel, libtool
# Gnuradio deprecated gr-comedi
# http://gnuradio.org/redmine/issues/show/395
# BuildRequires: comedilib-devel
BuildRequires:	gsl-devel, tex(latex), numpy, PyQt4-devel, PyQwt-devel
BuildRequires:	qwt-devel, qwtplot3d-qt4-devel, python-cheetah
BuildRequires:	xdg-utils, python-lxml, pygtk2-devel, orc-devel
BuildRequires:	uhd-devel, dos2unix
Requires:	numpy, wxPython, scipy, portaudio, python-lxml
Requires:	pygtk2, python-cheetah, PyQt4, PyQwt
Obsoletes:	usrp < 3.3.0-1
Obsoletes:	grc < 0.80-1
# Make cmake modules installation directory configurable,
# patch sent upstream, ticket 548
Patch0:		gnuradio-3.6.5-cmake-modules-fix.patch
# big endian fix
Patch1:		gnuradio-3.6.5-bigendian.patch

%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 devel
Summary:	GNU Radio
Group:		Applications/Engineering
Requires:	%{name} = %{version}-%{release}
Obsoletes:	usrp-devel <  3.3.0-1

%description devel
GNU Radio Headers

%package doc
Summary:	GNU Radio
Group:		Applications/Engineering
Requires:	%{name} = %{version}-%{release}
BuildArch:	noarch

%description doc
GNU Radio Documentation

%package examples
Summary:	GNU Radio
Group:		Applications/Engineering
Requires:	%{name} = %{version}-%{release}

%description examples
GNU Radio examples

%prep
%setup -q

%patch0 -p1 -b .cmake-modules-fix
%patch1 -p1 -b .bigendian

#force regeneration of cached moc output files
find . -name "*_moc.cc" -exec rm {} \;

# Convert CR + LF to LF in GnuradioConfig.cmake and GnuradioConfigVersion.cmake.in
# upstream ticket 549
dos2unix cmake/Modules/{GnuradioConfig.cmake,GnuradioConfigVersion.cmake.in}

%build
mkdir build
cd build
%cmake -DENABLE_GR_CORE=FORCE \
-DENABLE_PYTHON=FORCE -DENABLE_DOXYGEN=FORCE \
-DENABLE_VOLK=FORCE -DENABLE_GRUEL=FORCE \
-DENABLE_GR_AUDIO=FORCE -DENABLE_GR_ATSC=FORCE \
-DENABLE_GR_VOCODER=FORCE -DENABLE_GR_UHD=FORCE \
-DENABLE_GR_NOAA=FORCE -DENABLE_GR_PAGER=FORCE \
-DENABLE_GR_TRELLIS=FORCE -DENABLE_GR_VIDEO_SDL=FORCE \
-DENABLE_GR_WXGUI=FORCE -DENABLE_GR_UTILS=FORCE \
-DENABLE_GRC=FORCE -DENABLE-GR_COMEDI=FORCE \
-DENABLE_GR_FCD=FORCE \
-DSYSCONFDIR=%{_sysconfdir} \
-DCMAKE_MODULES_DIR=%{_datadir}/cmake/Modules \
%{?mfpu_neon} \
..

## make with -j1 and compile without strict-aliasing
#make %{?my_smp_mflags} CFLAGS="%{optflags} -fno-strict-aliasing" CXXFLAGS="%{optflags} -fno-strict-aliasing"

make %{?_smp_mflags} CFLAGS="%{optflags} -fno-strict-aliasing" CXXFLAGS="%{optflags} -fno-strict-aliasing"

%install
rm -rf %{buildroot}
pushd build
make install DESTDIR=%{buildroot}

# install some more docs
popd
mkdir -p %{buildroot}%{_docdir}/%{name}-%{version}
install -m 644 -t %{buildroot}%{_docdir}/%{name}-%{version} COPYING AUTHORS

%clean
rm -rf %{buildroot}

%post -n gnuradio -p /sbin/ldconfig
%postun -n gnuradio -p /sbin/ldconfig

%files
%defattr(-,root,root,-)
%{python_sitearch}/*
%{_bindir}/*
%{_libdir}/lib*.so.*
%{_libexecdir}/*
%{_datadir}/gnuradio
%config(noreplace) %{_sysconfdir}/gnuradio
%exclude %{_datadir}/gnuradio/examples
%exclude %{_docdir}/%{name}-%{version}/html
%exclude %{_docdir}/%{name}-%{version}/xml
%doc %{_docdir}/%{name}-%{version}

%files devel
%defattr(-,root,root,-)
%{_includedir}/*
%{_libdir}/lib*.so
%{_libdir}/pkgconfig/*.pc
%{_datadir}/cmake/Modules/*.cmake

%files doc
%defattr(-,root,root,-)
%doc %{_docdir}/%{name}-%{version}/html
%doc %{_docdir}/%{name}-%{version}/xml

%files examples
%defattr(-,root,root,-)
%{_datadir}/gnuradio/examples

%changelog
* Mon Jun 24 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6.5-3
- Rebuilt for new uhd
  Resolves: rhbz#977172

* Wed Jun 12 2013 Dan Horák <dan[at]danny.cz> - 3.6.5-2
- fix build on big endian arches

* Tue Jun  4 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6.5-1
- New version
  Resolves: rhbz#967804
- Make cmake modules installation directory configurable
  (by cmake-modules-fix patch)
- Tried to switch back to parallel build (hopefully the koji builder
  machines have now enough resources)

* Wed Mar 20 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6.4.1-1
- New version
  Resolves: rhbz#923699

* Thu Feb 28 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6.4-1
- New version
  Resolves: rhbz#916530

* Sun Feb 10 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 3.6.3-0.4.rc0
- Rebuild for Boost-1.53.0

* Sat Feb 09 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 3.6.3-0.3.rc0
- Rebuild for Boost-1.53.0

* Fri Jan 11 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6.3-0.2.rc0
- Fixed unowned directories
  Resolves: rhbz#894200

* Wed Jan  2 2013 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6.3-0.1.rc0
- New version
  Resolves: rhbz#890393
- Fixed bogus date in changelog

* Thu Nov 15 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6.2-4
- Added PyQwt requirement
  Resolves: rhbz#876830

* Wed Oct 31 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6.2-3
- Forced gr-core build

* Tue Oct 30 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6.2-2
- Fixed libusb requirements
- Enabled gr-fcd
  Resolves: rhbz#871513

* Thu Oct 25 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6.2-1
- New version
  Resolves: rhbz#869840
- Dropped neon patch (upstreamed)

* Fri Oct 19 2012 Rex Dieter <rdieter@fedoraproject.org> 3.6.1-8
- rebuild (qwt)

* Mon Sep 24 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6.1-7
- Fixed doc subpackage to be noarch

* Wed Aug 29 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6.1-6
- Added conditional for ARM NEON build (%%bcond_with neon)

* Fri Aug 10 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6.1-5
- Rebuilt for new boost

* Tue Jul 24 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6.1-4
- On non ARM expand disable_mfpu_neon macro to empty string

* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.6.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Fri Jul 13 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6.1-2
- Disabled NEON optimisations (neon patch, sent upstream)
  Resolves: rhbz#837028
- Removed sdcc build requires (not needed)

* Tue Jun 12 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6.1-1
- New version
  Resolves: rhbz#831187
  Dropped pygtk2-no-x-detect patch (upstreamed)

* Mon Apr 23 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.6.0-1
- New version
  Resolves: rhbz#815070
- Dropped ARM patch (not used in new buildsystem)
- Fixed pygtk detection (pygtk2-no-x-detect patch)

* Wed Apr 18 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.5.3.1-1
- New version
  Resolves: rhbz#813725

* Wed Apr 18 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 3.5.3-2
- Fix building on ARM

* Tue Apr 10 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.5.3-1
- New version
  Resolves: rhbz#810683

* Tue Mar 27 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.5.2.1-2
- Rebuilt with new uhd

* Fri Mar 16 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.5.2.1-1
- New version
  Resolves: rhbz#804032

* Thu Mar 15 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.5.2-1
- New version
  Resolves: rhbz#802950
- Dropped compile-fix patch (upstreamed)

* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.1-3
- Rebuilt for c++ ABI breakage

* Tue Jan 17 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.5.1-2
- Added explicit requires on PyQt4
  Resolves: rhbz#781494

* Fri Jan 13 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 3.5.1-1
- New version
  Resolves: rhbz#781355
- Fixed compilation with gcc-4.7.0 (compile-fix patch)

* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Tue Dec 20 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 3.5.0-2
- Fixed double packaging of doc
  Resolves: rhbz#769069
- Fixed rpmlint warnings

* Tue Dec 13 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 3.5.0-1
- New version
- Used macros instead of variables in spec
- Dropped sdcc hack, was needed by obsoleted libusrp

* Sun Dec  4 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 3.5.0-0.2.rc0
- Added python-cheetah dependency
  Resolves: rhbz#759834

* Fri Dec 02 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 3.5.0-0.1.rc0
- New pre-release version
- Followed upstream and dropped support for usrp, use uhd instead
- Dropped sdcc3 and libusb-detect-fix patches
- Dropped 10-usrp.rules and usrp group creation, now handled by uhd

* Sun Nov 20 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 3.4.2-2
- Rebuilt for new boost

* Thu Oct 27 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 3.4.2-1
- New version
- Dropped retval patch

* Fri Oct 21 2011 Dan Horák <dan[at]danny.cz> - 3.4.0-5
- add missing return value in generated code
- add BR: orc-devel - needed for secondary arches in volk

* Thu Oct 20 2011 Dan Horák <dan[at]danny.cz> - 3.4.0-4
- explicitly set boost libdir to workaround build failures on non-x86 64-bit arches

* Thu Jul 21 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 3.4.0-3
- Enabled volk
- Rebuilt for new boost

* Sun Jul 03 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 3.4.0-2
- Rebuilt with -j1, otherwise the build process may fail on machines with low RAM
- Define changed to global

* Mon Jun 27 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 3.4.0-1
- New version
- Updated 10-usrp.rules
  Resolves: rhbz#597023
- Merged usrp to gnuradio, fixes some packaging bugs
  Resolves: rhbz#516352
  Resolves: rhbz#619195
- Rebuilt with included grc, obsoleted grc package
  Resolves: rhbz#592486
- Removed unneeded patches (libtool, configure, gcc45, ptrdifft-std)
- Fixed compilation with sdcc3 (sdcc3 patch)
- Fixed detection of libusb (libusb-detect-fix patch)
- Compiled with -fno-strict-aliasing

* Thu Apr 07 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 3.2.2-13
- Rebuild for new boost

* Tue Mar 15 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 3.2.2-12
- Rebuild for new boost

* Tue Feb 15 2011 Jaroslav Škarvada <jskarvad@redhat.com> - 3.2.2-11
- Fix compilation with ptrdifft-std patch
- Rebuild for new boost

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.2-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Mon Feb 07 2011 Thomas Spura <tomspur@fedoraproject.org> - 3.2.2-9
- rebuild for new boost

* Tue Sep 07 2010 Dan Horák <dan[at]danny.cz> - 3.2.2-8
- Add sparc64 and s390x to 64-bit platforms

* Sun Aug 01 2010 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 3.2.2-7
- Fix gcc-4.5 build errors

* Wed Jul 21 2010 David Malcolm <dmalcolm@redhat.com> - 3.2.2-6
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild

* Fri May 21 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 3.2.2-5
- re-export PATH for %%install

* Fri May 21 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 3.2.2-4
- don't BuildRequires: comedilib-devel, code doesn't use it

* Tue Feb 09 2010 Caolán McNamara <caolanm@redhat.com> - 3.2.2-3
- Resolves: rhbz#539069 FTBFS

* Fri Jan 22 2010 Rahul Sundaram <sundaram@fedoraproject.org> - 3.2.2-2
- Rebuild for Boost soname bump

* Wed Jul 29 2009 Marek Mahut <mmahut@fedoraproject.org> - 3.2.2-1
- Upstream release 3.2.2
- Dropped patch gnuradio-3.2-gcc44.patch

* Sat Jul 25 2009 Marek Mahut <mmahut@fedoraproject.org> - 3.2-1
- Upstream release 3.2

* Wed Mar  4 2009 Lubomir Rintel <lkundrak@v3.sk> - 3.1.3-5
- Fix build with GCC 4.4

* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Wed Dec 31 2008 Marek Mahut <mmahut@fedoraproject.org> - 3.1.3-3
- Adding udev rule for USRP device
- Adding usrp system group

* Fri Dec 19 2008 Marek Mahut <mmahut@fedoraproject.org> - 3.1.3-2
- Upstream release 3.1.3
- Comedi support
- RHBZ#473928 Unowned directories  

* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 3.1.2-3
- Rebuild for Python 2.6

* Tue Jun 10 2008 Marek Mahut <mmahut@fedoraproject.org> - 3.1.2-2
- Moving usrp header files to usrp-devel (reported by Philip Balister)

* Fri Apr  4 2008 Marek Mahut <mmahut@fedoraproject.org> - 3.1.2-1
- Upstream release
- Modification of gnuradio-3.1.2-gcc34.patch to the new release

* Thu Mar 27 2008 Marek Mahut <mmahut@fedoraproject.org> - 3.1.1-4
- Moving libusrp to gnuradio package

* Wed Feb 20 2008 Marek Mahut <mmahut@fedoraproject.org> - 3.1.1-2
- Upstream release
- Spec file rewrite

* Mon Mar 12 2007 Trond Danielsen <trond.danielsen@gmail.com> - 3.0.3-1
- Initial version.