]> git.pld-linux.org Git - packages/gnuradio.git/blob - gnuradio.spec
646f8e15e4ac3463abeb1102189beef2ad64a456
[packages/gnuradio.git] / gnuradio.spec
1 # TODO:
2 # - fix uhd build
3 %bcond_with     uhd
4 #
5 Summary:        Software defined radio framework
6 Name:           gnuradio
7 Version:        3.7.2.1
8 Release:        0.1
9 License:        GPL v3
10 Group:          Applications/Engineering
11 Source0:        http://gnuradio.org/releases/gnuradio/%{name}-%{version}.tar.gz
12 # Source0-md5:  f2ea23a30cb02802870fe8cb9bf272c9
13 URL:            http://www.gnuradio.org/
14 BuildRequires:  SDL-devel >= 1.2.0
15 BuildRequires:  Qt3Support >= 4.8
16 BuildRequires:  QtCLucene-devel >= 4.8
17 BuildRequires:  QtCore-devel >= 4.8
18 BuildRequires:  QtDBus-devel >= 4.8
19 BuildRequires:  QtDeclarative-devel >= 4.8
20 BuildRequires:  QtDesigner-devel >= 4.8
21 BuildRequires:  QtGui-devel >= 4.8
22 BuildRequires:  QtHelp-devel >= 4.8
23 BuildRequires:  QtNetwork-devel >= 4.8
24 BuildRequires:  QtOpenGL-devel >= 4.8
25 BuildRequires:  QtScript-devel >= 4.8
26 BuildRequires:  QtScriptTools-devel >= 4.8
27 BuildRequires:  QtSql-devel >= 4.8
28 BuildRequires:  QtSvg-devel >= 4.8
29 BuildRequires:  QtTest-devel >= 4.8
30 BuildRequires:  QtUiTools-devel >= 4.8
31 BuildRequires:  QtWebKit-devel >= 4.8
32 BuildRequires:  QtXml-devel >= 4.8
33 BuildRequires:  QtXmlPatterns-devel >= 4.8
34 BuildRequires:  alsa-lib-devel >= 0.9
35 BuildRequires:  boost-devel >= 1.35
36 BuildRequires:  cmake >= 2.6
37 BuildRequires:  cppunit-devel >= 1.9.14
38 BuildRequires:  doxygen >= 1.5
39 BuildRequires:  fftw3-devel >= 3.0
40 BuildRequires:  gsl-devel >= 1.10
41 BuildRequires:  jack-audio-connection-kit-devel >= 0.8
42 BuildRequires:  libusb-devel
43 BuildRequires:  log4cpp-devel
44 BuildRequires:  orc-devel >= 0.4.11
45 BuildRequires:  portaudio-devel >= 19
46 # R/S instead?
47 BuildRequires:  python-PyOpenGL
48 BuildRequires:  python-PyQt4-devel >= 4.4
49 # R/S instead?
50 BuildRequires:  python-PyQwt-devel >= 5.2
51 BuildRequires:  python-cheetah >= 2.0.0
52 BuildRequires:  python-devel >= 2.5
53 BuildRequires:  python-devel-tools
54 BuildRequires:  python-ice
55 BuildRequires:  python-lxml >= 1.3.6
56 BuildRequires:  python-numpy >= 1.1.0
57 BuildRequires:  python-pygtk-devel >= 2.10.0
58 # R/S instead?
59 BuildRequires:  python-wxPython-devel >= 2.8
60 BuildRequires:  qt4-qmake >= 4.2.0
61 BuildRequires:  qwt-devel >= 5.2
62 BuildRequires:  sphinx
63 BuildRequires:  swig-python >= 1.3.31
64 BuildRequires:  texlive-latex
65 %{?with_uhd:BuildRequires:      uhd-devel >= 3.0.0}
66 BuildRequires:  xdg-utils
67 BuildRequires:  xmlto
68 BuildConflicts: boost-devel = 1.46.0
69 BuildConflicts: boost-devel = 1.46.1
70 BuildConflicts: boost-devel = 1.47.0
71 BuildConflicts: boost-devel = 1.52.0
72 Requires:       portaudio
73 Requires:       python-PyQt4
74 Requires:       python-cheetah
75 Requires:       python-lxml
76 Requires:       python-numpy
77 Requires:       python-pygtk-gtk
78 Requires:       python-scipy
79 Requires:       python-wxPython
80 Obsoletes:      grc < 0.80-1
81 Obsoletes:      usrp < 3.3.0-1
82 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
83
84 %define         filterout_cpp   -pipe
85 # pthread_create, pthread_join, pthread_detach - not used from within this
86 %define         skip_post_check_so      libgnuradio-blocks-3.7.2.1.so.0.0.0
87
88 %description
89 GNU Radio is a collection of software that when combined with minimal
90 hardware, allows the construction of radios where the actual waveforms
91 transmitted and received are defined by software. What this means is
92 that it turns the digital modulation schemes used in today's high
93 performance wireless devices into software problems.
94
95 %package devel
96 Summary:        GNU Radio development files
97 Group:          Applications/Engineering
98 Requires:       %{name} = %{version}-%{release}
99 Obsoletes:      usrp-devel < 3.3.0-1
100
101 %description devel
102 GNU Radio Headers.
103
104 %package examples
105 Summary:        GNU Radio examples
106 Group:          Applications/Engineering
107 Requires:       %{name} = %{version}-%{release}
108
109 %description examples
110 GNU Radio examples.
111
112 %prep
113 %setup -q
114 sed -e '/Prevented in-tree build. This is bad practice./d' -i CMakeLists.txt
115 sed -e 's/list(APPEND gnuradio_runtime_libs rt)/list(APPEND gnuradio_runtime_libs rt pthread)/' -i gnuradio-runtime/lib/CMakeLists.txt
116 sed -e 's/list(APPEND gr_audio_libs ${JACK_LIBRARIES})/list(APPEND gr_audio_libs ${JACK_LIBRARIES} pthread)/' -i gr-audio/lib/CMakeLists.txt
117 sed -e 's/list(APPEND fcd_libs rt)/list(APPEND fcd_libs rt pthread)/' -i gr-fcd/lib/CMakeLists.txt
118 sed -e 's/target_link_libraries(volk ${volk_libraries})/target_link_libraries(volk ${volk_libraries} m)/' -i volk/lib/CMakeLists.txt
119
120 %build
121 %{__mkdir_p} build
122 cd build
123 %cmake ..
124 %{__make}
125
126 %install
127 rm -rf $RPM_BUILD_ROOT
128
129 cd build
130 %{__make} install \
131         DESTDIR=$RPM_BUILD_ROOT
132
133 rm -rf inst-doc
134 install -d inst-doc
135 mv $RPM_BUILD_ROOT%{_docdir}/gnuradio-*/* inst-doc
136
137 %clean
138 rm -rf $RPM_BUILD_ROOT
139
140 %post   -p /sbin/ldconfig
141 %postun -p /sbin/ldconfig
142
143 %files
144 %defattr(644,root,root,755)
145 %doc README.hacking
146 %doc inst-doc/*
147 %attr(755,root,root) %{_bindir}/gnuradio-*
148 %attr(755,root,root) %{_bindir}/gr_*
149 %attr(755,root,root) %{_bindir}/grcc
150 %attr(755,root,root) %{_libdir}/libgnuradio-*.so.*.*
151 %attr(755,root,root) %ghost %{_libdir}/libgnuradio-*.so.0
152 %attr(755,root,root) %{_libdir}/libvolk-*.so.*.*
153 %attr(755,root,root) %ghost %{_libdir}/libvolk-*.so.0
154 %dir %{_sysconfdir}/gnuradio
155 %dir %{_sysconfdir}/gnuradio/conf.d
156 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnuradio/conf.d/*.conf
157
158 %dir %{py_sitedir}/*
159 #%dir %{py_sitedir}/gruel
160 #%{py_sitedir}/gruel/*.py*
161 #%dir %{py_sitedir}/gruel/pmt
162 #%{py_sitedir}/gruel/pmt/*.py*
163 #%attr(755,root,root) %{py_sitedir}/gruel/pmt/*.so
164 #%dir %{py_sitedir}/gnuradio
165 #%{py_sitedir}/gnuradio/*.py*
166 #%attr(755,root,root) %{py_sitedir}/gnuradio/*.so
167 #%dir %{py_sitedir}/gnuradio/gr
168 #%{py_sitedir}/gnuradio/gr/*.py*
169 #%attr(755,root,root) %{py_sitedir}/gnuradio/gr/*.so
170 #%dir %{py_sitedir}/gnuradio/digital
171 #%{py_sitedir}/gnuradio/digital/*.py*
172 #%attr(755,root,root) %{py_sitedir}/gnuradio/digital/*.so
173 #%dir %{py_sitedir}/gnuradio/digital/utils
174 #%{py_sitedir}/gnuradio/digital/utils/*.py*
175 #%dir %{py_sitedir}/gnuradio/audio
176 #%{py_sitedir}/gnuradio/audio/*.py*
177 #%attr(755,root,root) %{py_sitedir}/gnuradio/audio/*.so
178 #%dir %{py_sitedir}/gnuradio/vocoder
179 #%{py_sitedir}/gnuradio/vocoder/*.py*
180 #%attr(755,root,root) %{py_sitedir}/gnuradio/vocoder/*.so
181 #%dir %{py_sitedir}/gnuradio/noaa
182 #%{py_sitedir}/gnuradio/noaa/*.py*
183 #%attr(755,root,root) %{py_sitedir}/gnuradio/noaa/*.so
184 #%dir %{py_sitedir}/gnuradio/pager
185 #%{py_sitedir}/gnuradio/pager/*.py*
186 #%attr(755,root,root) %{py_sitedir}/gnuradio/pager/*.so
187 #%dir %{py_sitedir}/gnuradio/qtgui
188 #%{py_sitedir}/gnuradio/qtgui/*.py*
189 #%attr(755,root,root) %{py_sitedir}/gnuradio/qtgui/*.so
190
191 #%{py_sitedir}/gnuradio/blks2
192 #%{py_sitedir}/gnuradio/blks2impl
193 #%{py_sitedir}/gnuradio/grc
194 #%{py_sitedir}/gnuradio/gru
195 #%{py_sitedir}/gnuradio/gruimpl
196 #%{py_sitedir}/gnuradio/wxgui
197 #%{py_sitedir}/grc_gnuradio
198
199 %{_datadir}/gnuradio
200 %exclude %{_datadir}/gnuradio/gr-newmod
201 %exclude %{_datadir}/gnuradio/examples
202
203 %files devel
204 %defattr(644,root,root,755)
205 %{_includedir}/gnuradio
206 %{_includedir}/pmt
207 %{_includedir}/volk
208 %attr(755,root,root) %{_libdir}/libgnuradio-*.so
209 %attr(755,root,root) %{_libdir}/libvolk.so
210 %{_pkgconfigdir}/gnuradio-*.pc
211 %{_pkgconfigdir}/gr-wxgui.pc
212 %{_pkgconfigdir}/volk.pc
213 %{_datadir}/gnuradio/gr-newmod
214
215 %files examples
216 %defattr(644,root,root,755)
217 %{_datadir}/gnuradio/examples
This page took 1.281973 seconds and 2 git commands to generate.