[gnuradio] New version Updated 10-usrp.rules Resolves: rhbz#597023 Merged usrp to gnuradio, fixes some packagin

Jaroslav Škarvada jskarvad at fedoraproject.org
Tue Jun 28 16:02:50 UTC 2011


commit dbd06bdfc8303c4b2993440f15e2af402f6651e3
Author: Jaroslav Škarvada <jskarvad at redhat.com>
Date:   Tue Jun 28 18:02:36 2011 +0200

    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

 10-usrp.rules                          |    2 +-
 gnuradio-3.2-configure.patch           |   12 -
 gnuradio-3.2-gcc44.patch               |  525 --------------------------------
 gnuradio-3.2-libtool.patch             |   14 -
 gnuradio-3.2.2-ptrdifft-std.patch      |   13 -
 gnuradio-3.4.0-libusb-detect-fix.patch |   40 +++
 gnuradio-3.4.0-sdcc3.patch             |   69 +++++
 gnuradio-gcc45.patch                   |   24 --
 gnuradio.spec                          |  164 +++++------
 sources                                |    2 +-
 10 files changed, 181 insertions(+), 684 deletions(-)
---
diff --git a/10-usrp.rules b/10-usrp.rules
index 554923a..996c52a 100644
--- a/10-usrp.rules
+++ b/10-usrp.rules
@@ -1,3 +1,3 @@
 # rule to grant read/write access on USRP to group named usrp.
 # to use, install this file in /etc/udev/rules.d as 10-usrp.rules
-ACTION=="add", BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", GROUP:="usrp", MODE:="0660"
+ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="fffe", ATTRS{idProduct}=="0002", GROUP:="usrp", MODE:="0660"
diff --git a/gnuradio-3.4.0-libusb-detect-fix.patch b/gnuradio-3.4.0-libusb-detect-fix.patch
new file mode 100644
index 0000000..aafc210
--- /dev/null
+++ b/gnuradio-3.4.0-libusb-detect-fix.patch
@@ -0,0 +1,40 @@
+diff -up gnuradio-3.4.0/config/usrp_libusb.m4.orig gnuradio-3.4.0/config/usrp_libusb.m4
+--- gnuradio-3.4.0/config/usrp_libusb.m4.orig	2011-06-12 05:54:36.000000000 +0200
++++ gnuradio-3.4.0/config/usrp_libusb.m4	2011-06-28 11:34:32.893634688 +0200
+@@ -160,36 +160,6 @@ AC_DEFUN([USRP_LIBUSB], [
+         AC_MSG_RESULT([$libusbok])
+         LIBS="$save_LIBS"
+         AC_LANG_POP(C)
+-
+-        if test $libusbok = yes; then
+-          if test ${libusb_name} != "libusb-1.0"; then
+-            dnl PKGCONFIG found a legacy version of libusb; make sure the
+-            dnl variable _usb_debug is available in the found library.
+-	    dnl Do not test on Windows, since that symbol is not defined.
+-            case "$host_os" in
+-              cygwin* | mingw*)
+-              ;;
+-            *)
+-              AC_LANG_PUSH(C)
+-              save_CPPFLAGS="$CPPFLAGS"
+-              if test x$USB_INCLUDEDIR != x; then
+-                CPPFLAGS="$USB_INCLUDES"
+-              fi
+-              save_LIBS="$LIBS"
+-              LIBS="$USB_LIBS"
+-              AC_MSG_CHECKING([$libusb_name for symbol usb_debug in library $usb_lib_name])
+-              AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+-                extern int usb_debug;]],
+-                [[usb_debug = 0;]])],
+-                [libusbok=yes],[libusbok=no])
+-              AC_MSG_RESULT([$libusbok])
+-              LIBS="$save_LIBS"
+-              CPPFLAGS="$save_CPPFLAGS"
+-              AC_LANG_POP(C)
+-              ;;
+-            esac
+-          fi
+-        fi
+       fi
+     fi
+     dnl if everything checks out OK, finish up
diff --git a/gnuradio-3.4.0-sdcc3.patch b/gnuradio-3.4.0-sdcc3.patch
new file mode 100644
index 0000000..7401f8c
--- /dev/null
+++ b/gnuradio-3.4.0-sdcc3.patch
@@ -0,0 +1,69 @@
+diff -up gnuradio-3.4.0/gr-howto-write-a-block/config/usrp_sdcc.m4.orig gnuradio-3.4.0/gr-howto-write-a-block/config/usrp_sdcc.m4
+--- gnuradio-3.4.0/gr-howto-write-a-block/config/usrp_sdcc.m4.orig	2011-06-12 05:54:36.000000000 +0200
++++ gnuradio-3.4.0/gr-howto-write-a-block/config/usrp_sdcc.m4	2011-06-27 16:17:42.001053649 +0200
+@@ -21,7 +21,7 @@ AC_DEFUN([USRP_SDCC],
+ [
+ 	sdccok=yes
+ 	AC_CHECK_PROG(XCC, sdcc, sdcc -mmcs51 --no-xinit-opt,no)
+-	AC_CHECK_PROG(XAS, asx8051, asx8051 -plosgff,no)
++	AC_CHECK_PROG(XAS, sdas8051, sdas8051 -plosgff,no)
+ 
+ 	if test "$XCC" = "no" -o "$XAS" = "no" ; then
+ 		AC_MSG_RESULT([USRP requires sdcc. sdcc not found. See http://sdcc.sf.net])
+diff -up gnuradio-3.4.0/config/usrp_sdcc.m4.orig gnuradio-3.4.0/config/usrp_sdcc.m4
+--- gnuradio-3.4.0/config/usrp_sdcc.m4.orig	2011-06-12 05:54:36.000000000 +0200
++++ gnuradio-3.4.0/config/usrp_sdcc.m4	2011-06-27 16:17:42.001053649 +0200
+@@ -21,7 +21,7 @@ AC_DEFUN([USRP_SDCC],
+ [
+ 	sdccok=yes
+ 	AC_CHECK_PROG(XCC, sdcc, sdcc -mmcs51 --no-xinit-opt,no)
+-	AC_CHECK_PROG(XAS, asx8051, asx8051 -plosgff,no)
++	AC_CHECK_PROG(XAS, sdas8051, sdas8051 -plosgff,no)
+ 
+ 	if test "$XCC" = "no" -o "$XAS" = "no" ; then
+ 		AC_MSG_RESULT([USRP requires sdcc version 2. sdcc not found. See http://sdcc.sf.net])
+diff -up gnuradio-3.4.0/usrp/firmware/lib/delay.c.orig gnuradio-3.4.0/usrp/firmware/lib/delay.c
+--- gnuradio-3.4.0/usrp/firmware/lib/delay.c.orig	2011-06-12 05:54:36.000000000 +0200
++++ gnuradio-3.4.0/usrp/firmware/lib/delay.c	2011-06-28 09:31:11.361044713 +0200
+@@ -24,7 +24,7 @@
+  * Delay approximately 1 microsecond (including overhead in udelay).
+  */
+ static void
+-udelay1 (void) _naked
++udelay1 (void) __naked
+ {
+   _asm				; lcall that got us here took 4 bus cycles
+ 	ret			; 4 bus cycles
+@@ -51,7 +51,7 @@ udelay (unsigned char usecs)
+  * but explains the factor of 4 problem below).
+  */
+ static void
+-mdelay1 (void) _naked
++mdelay1 (void) __naked
+ {
+   _asm
+ 	mov	dptr,#(-1200 & 0xffff)
+diff -up gnuradio-3.4.0/usrp/firmware/src/common/fpga_load.c.orig gnuradio-3.4.0/usrp/firmware/src/common/fpga_load.c
+--- gnuradio-3.4.0/usrp/firmware/src/common/fpga_load.c.orig	2011-06-12 05:54:36.000000000 +0200
++++ gnuradio-3.4.0/usrp/firmware/src/common/fpga_load.c	2011-06-28 09:32:03.222101208 +0200
+@@ -89,7 +89,7 @@ clock_out_config_byte (unsigned char bit
+ #else
+ 
+ static void 
+-clock_out_config_byte (unsigned char bits) _naked
++clock_out_config_byte (unsigned char bits) __naked
+ {
+     _asm
+ 	mov	a, dpl
+diff -up gnuradio-3.4.0/usrp/firmware/src/usrp2/spi.c.orig gnuradio-3.4.0/usrp/firmware/src/usrp2/spi.c
+--- gnuradio-3.4.0/usrp/firmware/src/usrp2/spi.c.orig	2011-06-28 09:31:40.754340711 +0200
++++ gnuradio-3.4.0/usrp/firmware/src/usrp2/spi.c	2011-06-28 09:31:27.800820713 +0200
+@@ -320,7 +320,7 @@ read_byte_msb (void)
+ }
+ #else
+ static unsigned char
+-read_byte_msb (void) _naked
++read_byte_msb (void) __naked
+ {
+   _asm
+ 	clr	a
diff --git a/gnuradio.spec b/gnuradio.spec
index 2c888cc..fe6be9c 100644
--- a/gnuradio.spec
+++ b/gnuradio.spec
@@ -1,21 +1,29 @@
 %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
 
+# 3.4.0 version is not yet on ftp, pull from git
+%define git_commit 441a3767e05d15e62c519ea66b848b5adb0f4b3a
+
 Name:		gnuradio
-Version:	3.2.2
-Release:	13%{?dist}
+Version:	3.4.0
+Release:	1%{?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:	ftp://ftp.gnu.org/gnu/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
+Source0:	gnuradio-%{version}.tar.gz
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 Source1:	10-usrp.rules
-Patch0:		gnuradio-3.2-libtool.patch
-Patch1:		gnuradio-3.2-configure.patch
-Patch2:		gnuradio-gcc45.patch
 Patch3:		gnuradio-3.2.2-64bit.patch
-Patch4:		gnuradio-3.2.2-ptrdifft-std.patch
+# fixed compilation with sdcc3
+Patch4:		gnuradio-3.4.0-sdcc3.patch
+# fixed detection of libusb
+Patch5:		gnuradio-3.4.0-libusb-detect-fix.patch
 
 Requires(pre):	shadow-utils
 BuildRequires:	sdcc
@@ -43,11 +51,19 @@ BuildRequires:	numpy
 BuildRequires:	PyQt4-devel
 BuildRequires:	PyQwt-devel
 BuildRequires:	qwtplot3d-qt4-devel
+BuildRequires:	python-cheetah
+BuildRequires:	xdg-utils
+BuildRequires:	python-lxml
+BuildRequires:	pygtk2-devel
 Requires:	numpy
 Requires:	wxPython
 Requires:	scipy
 Requires:	portaudio
-
+Requires:	python-lxml
+Requires:	pygtk2
+Provides:	usrp = %{version}-%{release}
+Obsoletes:	usrp <  3.3.0-1
+Obsoletes:	grc < 0.80-1
 
 %description
 GNU Radio is a collection of software that when combined with minimal 
@@ -60,6 +76,8 @@ performance wireless devices into software problems.
 Summary:	GNU Radio
 Group:		Applications/Engineering
 Requires:	%{name} = %{version}-%{release}
+Provides:	usrp-devel = %{version}-%{release}
+Obsoletes:	usrp-devel <  3.3.0-1
 
 %description devel
 GNU Radio Headers
@@ -80,65 +98,34 @@ Requires:	%{name} = %{version}-%{release}
 %description examples
 GNU Radio examples
 
-%package -n usrp
-Summary:	Universal Software Radio Peripheral
-Group:		Applications/Engineering
-Requires:	%{name} = %{version}-%{release}
-
-%description -n usrp
-Gnu Radio Universal Software Radio Peripheral software
-
-%package -n usrp-devel
-Summary:	Universal Software Radio Peripheral
-Group:		Applications/Engineering
-Requires:	usrp = %{version}-%{release}
-
-%description -n usrp-devel
-GNU Radio USRP headers
-
 %prep
 %setup -q
-%patch0 -p1 -b .libtool
-%patch1 -p1 -b .configure
-%patch2 -p1 -b .gcc45
 %patch3 -p1 -b .64bit
-%patch4 -p1 -b .ptrdifft-std
+%patch4 -p1 -b .sdcc3
+%patch5 -p1 -b .libusb-detect-fix
 
 #force regeneration of cached moc output files
 find . -name "*_moc.cc" -exec rm {} \;
 
 %build
 export PATH=%{_libexecdir}/sdcc:$PATH
-autoreconf -i
-%configure --enable-doxygen --enable-latex-doc --disable-gr-audio-oss --enable-usrp --enable-gnuradio-core --enable-gnuradio-examples
-sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
+./bootstrap
+#enabling deps tracking is workaround to build
+%configure --enable-dependency-tracking --enable-python --enable-doxygen \
+--enable-dot --enable-gruel --enable-gnuradio-core \
+--enable-usrp --enable-usrp2 --enable-gr-usrp --enable-gr-usrp2 \
+--enable-gr-msdd6000 --enable-gr-audio --enable-gr-atsc \
+--enable-gr-cvsd-vocoder --enable-gr-gpio \
+--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 \
+--disable-volk
+# volk disabled due to gcc-4.6 internal compiler error (#717240)
+
 sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
-mkdir -p gnuradio-core/src/lib/swig/.deps usrp/host/swig/.deps \
-         gr-usrp/src/.deps gr-usrp2/src/.deps gr-audio-alsa/src/.deps \
-         gr-audio-jack/src/.deps gr-audio-portaudio/src/.deps \
-         gr-cvsd-vocoder/src/lib/.deps gr-gsm-fr-vocoder/src/lib/.deps \
-         gr-pager/src/.deps gr-radio-astronomy/src/lib/.deps gr-trellis/src/lib/.deps \
-         gr-video-sdl/src/.deps gr-qtgui/src/lib/.deps
-touch gnuradio-core/src/lib/swig/.deps/gnuradio_swig_py_runtime.d \
-      gnuradio-core/src/lib/swig/.deps/gnuradio_swig_py_general.d \
-      gnuradio-core/src/lib/swig/.deps/gnuradio_swig_py_gengen.d \
-      gnuradio-core/src/lib/swig/.deps/gnuradio_swig_py_filter.d \
-      gnuradio-core/src/lib/swig/.deps/gnuradio_swig_py_io.d \
-      gnuradio-core/src/lib/swig/.deps/gnuradio_swig_py_hier.d \
-      usrp/host/swig/.deps/usrp_prims.d \
-      gr-usrp/src/.deps/usrp_swig.d \
-      gr-usrp2/src/.deps/usrp2.d \
-      gr-audio-alsa/src/.deps/audio_alsa.d \
-      gr-audio-jack/src/.deps/audio_jack.d \
-      gr-audio-portaudio/src/.deps/audio_portaudio.d \
-      gr-cvsd-vocoder/src/lib/.deps/cvsd_vocoder.d \
-      gr-gsm-fr-vocoder/src/lib/.deps/gsm_full_rate.d \
-      gr-pager/src/.deps/pager_swig.d \
-      gr-radio-astronomy/src/lib/.deps/ra.d \
-      gr-trellis/src/lib/.deps/trellis.d \
-      gr-video-sdl/src/.deps/video_sdl.d \
-      gr-qtgui/src/lib/.deps/qtgui.d
-make %{?_smp_mflags}
+make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -151,27 +138,22 @@ rm -rf $RPM_BUILD_ROOT
 
 %post -n gnuradio -p /sbin/ldconfig
 %postun -n gnuradio -p /sbin/ldconfig
-
-%post -n gnuradio-devel -p /sbin/ldconfig
-%postun -n gnuradio-devel -p /sbin/ldconfig
-
-%post -n usrp -p /sbin/ldconfig
-%postun -n usrp -p /sbin/ldconfig
-%pre -n usrp
+%pre -n gnuradio
 getent group usrp >/dev/null || groupadd -r usrp
 
 %files
 %defattr(-,root,root,-)
-%{python_sitearch}/gnuradio
-%exclude %{python_sitearch}/gnuradio/_usrp2.so
-%exclude %{python_sitearch}/gnuradio/usrp*  
-%{_sysconfdir}/gnuradio
-%{_bindir}/gr_*
-%{_bindir}/find_usrps
-%{_bindir}/lsusrp
+%{python_sitearch}/*
+%{_bindir}/*
 %{_libdir}/lib*.so.*
-%config(noreplace)%{_sysconfdir}/gnuradio/conf.d/*.conf
+%{_libexecdir}/*
+%{_datadir}/gnuradio
+%{_datadir}/usrp
+%config(noreplace) %{_sysconfdir}/udev/rules.d/10-usrp.rules
+%config(noreplace) %{_sysconfdir}/gnuradio/conf.d/*.conf
+%exclude %{_datadir}/gnuradio/examples
 %exclude %{python_sitearch}/gnuradio/*.la
+%doc ChangeLog README README.hacking NEWS INSTALL COPYING AUTHORS
 
 %files devel
 %defattr(-,root,root,-)
@@ -182,33 +164,27 @@ getent group usrp >/dev/null || groupadd -r usrp
 
 %files doc
 %defattr(-,root,root,-)
-%doc ChangeLog README README.hacking NEWS INSTALL COPYING AUTHORS
-%{_docdir}/usrp*
-%{_docdir}/gnuradio*
+%doc %{_docdir}/*
 
 %files examples
 %defattr(-,root,root,-)
-%{_datadir}/%{name}
-
-%files -n usrp
-%defattr(-,root,root,-)
-%{_bindir}/usrp*
-%{_bindir}/gpio*
-%{_datadir}/usrp
-%{_libdir}/libusrp.so.*
-%{python_sitearch}/usrpm
-%{python_sitearch}/gnuradio/_usrp2.so
-%{python_sitearch}/gnuradio/usrp*
-%config(noreplace) %{_sysconfdir}/udev/rules.d/10-usrp.rules
-%exclude %{_libdir}/*.la
-%exclude %{python_sitearch}/usrpm/*.la
-
-%files -n usrp-devel
-%defattr(-,root,root,-)
-%{_libdir}/libusrp.so
-%{_includedir}/usrp_*
+%{_datadir}/gnuradio/examples
 
 %changelog
+* Mon Jun 27 2011 Jaroslav Škarvada <jskarvad at 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 at redhat.com> - 3.2.2-13
 - Rebuild for new boost
 
diff --git a/sources b/sources
index 7c4afa2..8d1cf5e 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-3fedcd64c2f51671cc1417b4c1e06834  gnuradio-3.2.2.tar.gz
+d48283504e0e5abd1c2e6848bc885506  gnuradio-3.4.0.tar.gz


More information about the scm-commits mailing list