]> git.pld-linux.org Git - packages/em8300.git/blob - em8300.spec
abab99680a00c84ef91a11267b9bb4a3faae6cf1
[packages/em8300.git] / em8300.spec
1 # TODO
2 # - cc
3 #
4 # Conditional build:
5 %bcond_without  dist_kernel     # allow non-distribution kernel
6 %bcond_without  kernel          # don't build kernel modules
7 %bcond_without  up              # don't build UP module
8 %bcond_without  smp             # don't build SMP module
9 %bcond_without  userspace       # don't build userspace tools
10 %bcond_with     verbose         # verbose build (V=1)
11 %bcond_with     grsec_kernel    # build for kernel-grsecurity
12
13 %ifarch sparc
14 # kernel modules won't build on sparc32, no I2C in kernel
15 %undefine       with_kernel
16 %endif
17
18 %if %{without kernel}
19 %undefine       with_dist_kernel
20 %endif
21 %if %{with kernel} && %{with dist_kernel} && %{with grsec_kernel}
22 %define alt_kernel      grsecurity
23 %endif
24 %if "%{_alt_kernel}" != "%{nil}"
25 %undefine       with_userspace
26 %endif
27
28 %define         _rel    57
29 %define         pname   em8300
30 Summary:        DXR3 and H+ driver
31 Summary(pl):    Sterowniki dla DXR3 i H+
32 Name:           %{pname}%{_alt_kernel}
33 Version:        0.16.0
34 Release:        %{_rel}
35 License:        GPL
36 Group:          Applications/System
37 Source0:        http://dl.sourceforge.net/dxr3/%{pname}-%{version}.tar.gz
38 # Source0-md5:  9e9b769b99927079b4fd6ec423d95049
39 Source1:        %{pname}.init
40 Source2:        %{pname}.sysconf
41 Patch0:         %{pname}-make.patch
42 URL:            http://dxr3.sourceforge.net/
43 %if %{with userspace}
44 BuildRequires:  autoconf >= 2.13
45 BuildRequires:  automake
46 BuildRequires:  gtk+2-devel >= 1:2.0.0
47 BuildRequires:  pkgconfig
48 %endif
49 %if %{with kernel}
50 %{?with_dist_kernel:BuildRequires:      kernel%{_alt_kernel}-module-build >= 3:2.6.14}
51 BuildRequires:  rpmbuild(macros) >= 1.308
52 %endif
53 Requires(post,preun):   /sbin/chkconfig
54 Requires:       rc-scripts
55 Provides:       dxr3
56 Obsoletes:      em8300-libs
57 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
58
59 %description
60 em8300 is a Linux driver for Creative DXR3 and Sigma Designs
61 Hollywood+ cards. Both cards are hardware MPEG1, MPEG2, AC3 decoders.
62 Additionaly Xine and MPlayer with help of this driver allow you to
63 play all the video formats that they recognise through the tv-out of
64 these cards.
65
66 %description -l pl
67 em8300 pozwala na uruchomienie pod Linuksem kart Creative DXR3 i Sigma
68 Designs Hollywood+. Obie karty, o prawie identycznej konstrukcji s±
69 sprzêtowymi dekoderami MPEG1, MPEG2 i AC3. Programy Xine i MPlayer
70 pozwalaj± przy u¿yciu tego sterownika na odtwarzanie przez wyj¶cie
71 telewizyjne tych kart nie tylko w/w formatów, ale tak¿e wszystkich
72 formatów video, które te programy rozpoznaj±.
73
74 %package devel
75 Summary:        Header file to communicate with em8300 Linux kernel modules
76 Summary(pl):    Plik nag³ówkowy do komunikacji z modu³ami j±dra Linuksa em8300
77 Group:          Development/Libraries
78 Obsoletes:      em8300-static
79
80 %description devel
81 Header file to communicate with em8300 Linux kernel modules.
82
83 %description devel -l pl
84 Plik nag³ówkowy do komunikacji z modu³ami j±dra Linuksa em8300.
85
86 %package gtk
87 Summary:        Utility programs for em8300 using GTK+
88 Summary(pl):    Programy u¿ytkowe em8300 u¿ywaj±ce bibliteki GTK+
89 Group:          X11/Applications
90 Requires:       %{pname} = %{version}-%{release}
91
92 %description gtk
93 Utility programs for em8300 using GTK+ toolkit.
94
95 %description gtk -l pl
96 Programy u¿ytkowe em8300 u¿ywaj±ce biblioteki GTK+.
97
98 %package -n kernel%{_alt_kernel}-video-em8300
99 Summary:        em8300 Linux kernel modules
100 Summary(pl):    Modu³y j±dra Linuksa em8300
101 Group:          Base/Kernel
102 Release:        %{_rel}@%{_kernel_ver_str}
103 Requires(post,postun):  /sbin/depmod
104 %if %{with dist_kernel}
105 %requires_releq_kernel_up
106 Requires(postun):       %releq_kernel_up
107 %endif
108
109 %description -n kernel%{_alt_kernel}-video-em8300
110 em8300 Linux kernel modules.
111
112 %description -n kernel%{_alt_kernel}-video-em8300 -l pl
113 Modu³y j±dra Linuksa em8300.
114
115 %package -n kernel%{_alt_kernel}-smp-video-em8300
116 Summary:        em8300 Linux SMP kernel modules
117 Summary(pl):    Modu³y j±dra Linuksa SMP em8300
118 Release:        %{_rel}@%{_kernel_ver_str}
119 Group:          Base/Kernel
120 Requires(post,postun):  /sbin/depmod
121 %if %{with dist_kernel}
122 %requires_releq_kernel_smp
123 Requires(postun):       %releq_kernel_smp
124 %endif
125
126 %description -n kernel%{_alt_kernel}-smp-video-em8300
127 em8300 Linux SMP kernel modules.
128
129 %description -n kernel%{_alt_kernel}-smp-video-em8300 -l pl
130 Modu³y j±dra Linuksa SMP em8300.
131
132 %prep
133 %setup -q -n %{pname}-%{version}
134 %patch0 -p0
135
136 %build
137 %if %{with userspace}
138 %{__aclocal} -I autotools
139 %{__autoconf}
140 %{__autoheader}
141 %{__automake}
142 %configure
143 %{__make}
144 %endif
145
146 %if %{with kernel}
147 cd modules
148 for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
149         if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
150                 exit 1
151         fi
152         install -d o/include/linux
153         ln -sf %{_kernelsrcdir}/config-$cfg o/.config
154         ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
155         ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
156 %if %{with dist_kernel}
157         %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts
158 %endif
159         install -d o/include/config
160         touch o/include/config/MARKER
161         ln -sf %{_kernelsrcdir}/scripts o/scripts
162
163         cp ../include/linux/em8300.h o/include/linux/em8300.h
164
165         %{__make} -C %{_kernelsrcdir} clean \
166                 RCS_FIND_IGNORE="-name '*.ko' -o" \
167                 SYSSRC=%{_kernelsrcdir} \
168                 SYSOUT=$PWD/o \
169                 M=$PWD O=$PWD/o \
170                 %{?with_verbose:V=1}
171         %{__make} -C %{_kernelsrcdir} modules \
172                         CC="%{__cc}" CPP="%{__cpp}" \
173                 SYSSRC=%{_kernelsrcdir} \
174                 SYSOUT=$PWD/o \
175                 M=$PWD O=$PWD/o \
176                 %{?with_verbose:V=1}
177
178         for i in em8300 adv717x bt865; do
179                 mv $i{,-$cfg}.ko
180         done
181 done
182 %endif
183
184 %install
185 rm -rf $RPM_BUILD_ROOT
186
187 %if %{with userspace}
188 %{__make} install \
189         DESTDIR=$RPM_BUILD_ROOT
190
191 install -D %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{pname}
192 install -D %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{pname}
193 %endif
194
195 %if %{with kernel}
196 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/kernel/drivers/video
197 for i in adv717x bt865 em8300; do
198         install modules/$i-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
199                 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/video/$i.ko
200 done
201 %if %{with smp} && %{with dist_kernel}
202 for i in adv717x bt865 em8300; do
203         install modules/$i-smp.ko \
204                 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/drivers/video/$i.ko
205 done
206 %endif
207 %endif
208
209 %clean
210 rm -rf $RPM_BUILD_ROOT
211
212 %post
213 /sbin/chkconfig --add %{pname}
214 %service %{pname} restart
215
216 %preun
217 if [ "$1" = "0" ]; then
218         %service stop
219         /sbin/chkconfig --del %{pname}
220 fi
221
222 %post   -n kernel%{_alt_kernel}-video-em8300
223 %depmod %{_kernel_ver}
224
225 %postun -n kernel%{_alt_kernel}-video-em8300
226 %depmod %{_kernel_ver}
227
228 %post   -n kernel%{_alt_kernel}-smp-video-em8300
229 %depmod %{_kernel_ver}smp
230
231 %postun -n kernel%{_alt_kernel}-smp-video-em8300
232 %depmod %{_kernel_ver}smp
233
234 %if %{with userspace}
235 %files
236 %defattr(644,root,root,755)
237 %doc AUTHORS ChangeLog README modules/README*
238 %attr(755,root,root) %{_bindir}/em8300setup
239 /lib/firmware/em8300.bin
240 %dir %{_datadir}/em8300
241 %{_datadir}/em8300/em8300.pm
242 %attr(755,root,root) %{_datadir}/em8300/*.pl
243 %{_mandir}/man1/em8300setup.1*
244 %attr(754,root,root) /etc/rc.d/init.d/%{pname}
245 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{pname}
246 # subpackage? (is it usable without alsa?)
247 %{_datadir}/alsa/cards/EM8300.conf
248
249 %files devel
250 %defattr(644,root,root,755)
251 %{_includedir}/linux/em8300.h
252
253 %files gtk
254 %defattr(644,root,root,755)
255 %attr(755,root,root) %{_bindir}/autocal
256 %attr(755,root,root) %{_bindir}/dhc
257 %attr(755,root,root) %{_bindir}/dxr3view
258 %endif
259
260 %if %{with kernel}
261 %if %{with up} || %{without dist_kernel}
262 %files -n kernel%{_alt_kernel}-video-em8300
263 %defattr(644,root,root,755)
264 /lib/modules/%{_kernel_ver}/kernel/drivers/video/*.ko*
265 %endif
266
267 %if %{with dist_kernel} && %{with smp}
268 %files -n kernel%{_alt_kernel}-smp-video-em8300
269 %defattr(644,root,root,755)
270 /lib/modules/%{_kernel_ver}smp/kernel/drivers/video/*.ko*
271 %endif
272 %endif
This page took 0.068831 seconds and 2 git commands to generate.