[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