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