]> git.pld-linux.org Git - packages/xorg-driver-video-fglrx.git/blob - xorg-driver-video-fglrx.spec
150d1a2ae487204ee35ec61b97a5bccc5c1072a4
[packages/xorg-driver-video-fglrx.git] / xorg-driver-video-fglrx.spec
1 #
2 # Conditional build:
3 %bcond_without  dist_kernel     # without distribution kernel
4 %bcond_without  kernel          # don't build kernel modules
5 %bcond_without  userspace       # don't build userspace tools
6 %bcond_with     verbose         # verbose build (V=1)
7 %bcond_with     multigl         # package libGL in a way allowing concurrent install with nvidia/fglrx drivers
8
9 %define         x11ver          xpic
10
11 %if %{without kernel}
12 %undefine       with_dist_kernel
13 %endif
14 %if "%{_alt_kernel}" != "%{nil}"
15 %undefine       with_userspace
16 %endif
17 %if %{without userspace}
18 # nothing to be placed to debuginfo package
19 %define         _enable_debug_packages  0
20 %endif
21
22 %ifarch %{ix86}
23 %define         arch_sufix      %{nil}
24 %define         arch_dir        x86
25 %else
26 %define         arch_sufix      _64a
27 %define         arch_dir        x86_64
28 %endif
29
30 %define         rel     1
31 %define         pname           xorg-driver-video-fglrx
32 Summary:        Linux Drivers for ATI graphics accelerators
33 Summary(pl.UTF-8):      Sterowniki do akceleratorów graficznych ATI
34 Name:           %{pname}
35 Version:        11.6
36 Release:        %{rel}%{?with_multigl:.mgl}
37 Epoch:          1
38 License:        ATI Binary (parts are GPL)
39 Group:          X11
40 Source0:        http://dlmdownloads.ati.com/drivers/linux/ati-driver-installer-%(echo %{version} | tr . -)-x86.x86_64.run
41 # Source0-md5:  645e3b06f802e3edaa52244ff550c4f7
42 Source1:        atieventsd.init
43 Source2:        atieventsd.sysconfig
44 Source3:        gl.pc.in
45 Source4:        10-fglrx.conf
46 Patch0:         %{pname}-kh.patch
47 Patch1:         %{pname}-smp.patch
48 Patch2:         %{pname}-x86genericarch.patch
49 Patch3:         %{pname}-desktop.patch
50 Patch4:         %{pname}-nofinger.patch
51 Patch5:         %{pname}-GPL-only.patch
52 Patch6:         %{pname}-no-bkl.patch
53 Patch7:         %{pname}-spinlock.patch
54 URL:            http://ati.amd.com/support/drivers/linux/linux-radeon.html
55 %{?with_dist_kernel:BuildRequires:      kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
56 BuildRequires:  rpmbuild(macros) >= 1.379
57 BuildRequires:  sed >= 4.0
58 Requires:       %{pname}-libs = %{epoch}:%{version}-%{rel}
59 Requires:       xorg-xserver-server
60 Requires:       xorg-xserver-server(videodrv-abi) <= 10.0
61 Requires:       xorg-xserver-server(videodrv-abi) >= 2.0
62 Suggests:       %{name}-config
63 Suggests:       kernel-video-firegl
64 Provides:       xorg-xserver-module(glx)
65 Obsoletes:      X11-driver-firegl < 1:7.0.0
66 Obsoletes:      XFree86-driver-firegl < 1:7.0.0
67 Obsoletes:      xorg-driver-video-fglrx-libdri
68 Obsoletes:      xorg-driver-video-fglrx-libglx
69 %if %{without multigl}
70 Conflicts:      xorg-driver-video-nvidia
71 Conflicts:      xorg-xserver-libglx
72 %endif
73 ExclusiveArch:  i586 i686 athlon pentium3 pentium4 %{x8664}
74 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
75
76 %define         _ccver  %(rpm -q --qf "%{VERSION}" gcc | sed 's/\\..*//')
77
78 %define         _noautoreqdep                   libGL.so.1
79 %define         no_install_post_check_so        1
80
81 %description
82 Display driver files for the ATI Radeon 8500, 9700, Mobility M9 and
83 the FireGL 8700/8800, E1, Z1/X1 graphics accelerators. This package
84 provides 2D display drivers and hardware accelerated OpenGL.
85
86 %description -l pl.UTF-8
87 Sterowniki do kart graficznych ATI Radeon 8500, 9700, Mobility M9 oraz
88 graficznych akceleratorów FireGL 8700/8800, E1, Z1/X1. Pakiet
89 dostarcza sterowniki obsługujące wyświetlanie 2D oraz sprzętowo
90 akcelerowany OpenGL.
91
92 %package libs
93 Summary:        OpenGL (GL and GLX) ATI/AMD libraries
94 Summary(pl.UTF-8):      Biblioteki OpenGL (GL i GLX) ATI/AMD
95 Group:          X11/Development/Libraries
96 Requires(post,postun):  /sbin/ldconfig
97 # 4.0 for Radeon HD 5000 Series
98 Provides:       OpenGL = 3.3
99 Provides:       OpenGL-GLX = 1.4
100 %if %{without multigl}
101 Obsoletes:      Mesa
102 Conflicts:      Mesa-libGL
103 %endif
104 Obsoletes:      X11-OpenGL-core < 1:7.0.0
105 Obsoletes:      X11-OpenGL-libGL < 1:7.0.0
106 Obsoletes:      XFree86-OpenGL-core < 1:7.0.0
107 Obsoletes:      XFree86-OpenGL-libGL < 1:7.0.0
108
109 %description libs
110 ATI/AMD OpenGL (GL and GLX only) implementation libraries.
111
112 %description libs -l pl.UTF-8
113 Implementacja OpenGL (tylko GL i GLX) firmy ATI/AMD.
114
115 %package devel
116 Summary:        Header files for development for the ATI Radeon cards proprietary driver
117 Summary(pl.UTF-8):      Pliki nagłówkowe do programowania z użyciem własnościowego sterownika dla kart ATI Radeon
118 Group:          X11/Development/Libraries
119 Requires:       %{pname}-libs = %{epoch}:%{version}-%{rel}
120 # or more?
121 Requires:       xorg-proto-glproto-devel
122 # 4.0 for Radeon HD 5000 Series
123 Provides:       OpenGL-GLX-devel = 1.4
124 Provides:       OpenGL-devel = 3.3
125 Obsoletes:      X11-OpenGL-devel-base
126 Obsoletes:      XFree86-OpenGL-devel-base
127
128 %description devel
129 Header files for development for the ATI proprietary driver for ATI
130 Radeon graphic cards.
131
132 %description devel -l pl.UTF-8
133 Pliki nagłówkowe do programowania z użyciem własnościowego sterownika
134 ATI dla kart graficznych Radeon.
135
136 %package static
137 Summary:        Static libraries for development for the ATI Radeon cards proprietary driver
138 Summary(pl.UTF-8):      Biblioteki statyczne do programowania z użyciem własnościowego sterownika dla kart ATI Radeon
139 Group:          X11/Development/Libraries
140 Requires:       %{pname}-devel = %{epoch}:%{version}-%{release}
141
142 %description static
143 Static libraries for development for the ATI proprietary driver for
144 ATI Radeon graphic cards.
145
146 %description static -l pl.UTF-8
147 Biblioteki statyczne do programowania z użyciem własnościowego
148 sterownika ATI dla kart graficznych ATI Radeon.
149
150 %package atieventsd
151 Summary:        ATI external events daemon
152 Summary(pl.UTF-8):      Demon zewnętrznych zdarzeń ATI
153 Group:          Daemons
154 Requires:       %{pname} = %{epoch}:%{version}-%{rel}
155 Requires:       acpid
156 Requires(post,preun):   /sbin/chkconfig
157 Requires:       rc-scripts
158
159 %description atieventsd
160 The ATI External Events Daemon is a user-level application that
161 monitors various system events such as ACPI or hotplug, then notifies
162 the driver via the X extensions interface that the event has occured.
163
164 %description atieventsd -l pl.UTF-8
165 Demon zewnętrznych zdarzeń ATI jest aplikacją monitorującą różne
166 zdarzenia systemowe, takie jak ACPI lub hotplug, a następnie
167 informującą sterownik poprzez interfejs rozszerzeń X, że zaszło
168 zdarzenie.
169
170 %package config
171 Summary:        Xorg configuration file to use fglrx module
172 Summary(pl.UTF-8):      Plik konfiguracyjny modułu fglrx dla Xorg
173 Group:          X11
174 Requires:       %{name} = %{epoch}:%{version}-%{rel}
175
176 %description config
177 Without configuration file Xorg doesn't use fglrx module. If you want
178 to use it you should install this package or create own configuration
179 file.
180
181 %description config -l pl.UTF-8
182 Bez odpowiedniej konfiguracji Xorg nie będzie używał modułu fglrx. Aby
183 to umożliwić należy zainstalować tą paczkę lub stworzyć własny plik
184 konfiguracyjny.
185
186 %package -n kernel%{_alt_kernel}-video-firegl
187 Summary:        ATI kernel module for FireGL support
188 Summary(pl.UTF-8):      Moduł jądra oferujący wsparcie dla ATI FireGL
189 Release:        %{rel}@%{_kernel_ver_str}
190 License:        ATI
191 Group:          Base/Kernel
192 %{?with_dist_kernel:%requires_releq_kernel}
193 %if "%{_alt_kernel}" != "%{nil}"
194 Provides:       kernel-video-firegl = %{epoch}:%{version}-%{rel}@%{_kernel_ver_str}
195 %endif
196 Requires(post,postun):  /sbin/depmod
197
198 %description -n kernel%{_alt_kernel}-video-firegl
199 ATI kernel module for FireGL support.
200
201 %description -n kernel%{_alt_kernel}-video-firegl -l pl.UTF-8
202 Moduł jądra oferujący wsparcie dla ATI FireGL.
203
204 %prep
205 %setup -q -c -T
206
207 sh %{SOURCE0} --extract .
208
209 cp arch/%{arch_dir}/lib/modules/fglrx/build_mod/* common/lib/modules/fglrx/build_mod
210
211 %if %{with dist_kernel}
212 %patch0 -p1
213 %patch1 -p0
214 %patch2 -p0
215 %endif
216 %patch3 -p1
217 %patch4 -p1
218 %patch5 -p1
219 %patch6 -p1
220 %patch7 -p1
221
222 install -d common%{_prefix}/{%{_lib},bin,sbin}
223 cp -r %{x11ver}%{arch_sufix}/usr/X11R6/%{_lib}/* common%{_libdir}
224 mv common%{_libdir}/modules/extensions/{fglrx/fglrx-libglx.so,libglx.so}
225 cp -r arch/%{arch_dir}/usr/X11R6/%{_lib}/* common%{_libdir}
226 cp -r arch/%{arch_dir}/usr/X11R6/%{_lib}/modules common%{_libdir}/xorg
227 cp -r arch/%{arch_dir}/usr/X11R6/bin/* common%{_bindir}
228 cp -r arch/%{arch_dir}/usr/sbin/* common%{_sbindir}
229 cp -r arch/%{arch_dir}/usr/%{_lib}/*.so* common%{_libdir}
230 mv common%{_libdir}/{fglrx/fglrx-libGL.so.1.2,libGL.so.1.2}
231
232 %build
233 %if %{with kernel}
234 cd common/lib/modules/fglrx/build_mod
235 cp -f 2.6.x/Makefile .
236 %build_kernel_modules -c -m fglrx GCC_VER_MAJ=%{_ccver}
237 cd -
238 %endif
239
240 %install
241 rm -rf $RPM_BUILD_ROOT
242
243 %if %{with kernel}
244 %install_kernel_modules -m common/lib/modules/fglrx/build_mod/fglrx -d misc
245 %endif
246
247 %if %{with userspace}
248 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{ati,env.d,X11/xorg.conf.d},%{_bindir},%{_sbindir}} \
249         $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/ati,%{_mandir}/man8} \
250         $RPM_BUILD_ROOT{%{_libdir}/xorg/modules,%{_includedir}/{X11/extensions,GL}} \
251         $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d}
252
253 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/atieventsd
254 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/atieventsd
255 install %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
256 cp -r common%{_datadir}/doc/fglrx/examples/etc/acpi $RPM_BUILD_ROOT/etc
257
258 install common%{_bindir}/* $RPM_BUILD_ROOT%{_bindir}
259 install common/usr/X11R6/bin/* $RPM_BUILD_ROOT%{_bindir}
260 install common%{_sbindir}/* $RPM_BUILD_ROOT%{_sbindir}
261
262 rm $RPM_BUILD_ROOT%{_sbindir}/atigetsysteminfo.sh
263
264 cp -r common%{_libdir}/modules/* $RPM_BUILD_ROOT%{_libdir}/xorg/modules
265 ln -s %{_libdir}/xorg/modules/dri $RPM_BUILD_ROOT%{_libdir}
266 cp -r common%{_sysconfdir}/ati/control $RPM_BUILD_ROOT%{_sysconfdir}/ati/control
267 cp -r common%{_sysconfdir}/ati/signature $RPM_BUILD_ROOT%{_sysconfdir}/ati/signature
268 cp -r common%{_sysconfdir}/ati/amdpcsdb.default $RPM_BUILD_ROOT%{_sysconfdir}/ati/amdpcsdb.default
269 cp -r common%{_sysconfdir}/ati/atiogl.xml $RPM_BUILD_ROOT%{_sysconfdir}/ati/atiogl.xml
270
271 cp -r common%{_datadir}/ati/* $RPM_BUILD_ROOT%{_datadir}/ati
272 cp -r common%{_datadir}/icons/*.xpm $RPM_BUILD_ROOT%{_pixmapsdir}
273
274 cp -r common%{_desktopdir}/*.desktop $RPM_BUILD_ROOT%{_desktopdir}
275
276 cp -r common%{_mandir}/man8/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
277
278 %if %{with multigl}
279 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/ld.so.conf.d,%{_libdir}/fglrx}
280
281 echo %{_libdir}/fglrx >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/fglrx.conf
282
283 cp -r common%{_libdir}/lib*.a $RPM_BUILD_ROOT%{_libdir}
284 cp -r common%{_libdir}/lib*.so* $RPM_BUILD_ROOT%{_libdir}/fglrx
285 cp -r common%{_libdir}/lib*.cap $RPM_BUILD_ROOT%{_libdir}/fglrx
286
287 mv -f $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/{libglx.so,libglx.so.%{version}}
288 ln -sf libglx.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/libglx.so
289
290 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/fglrx
291 ln -sf fglrx/libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/libGL.so
292 %else
293 cp -r common%{_libdir}/lib* $RPM_BUILD_ROOT%{_libdir}
294
295 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}
296 ln -sf libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/libGL.so
297 %endif
298
299 install common%{_includedir}/GL/*.h $RPM_BUILD_ROOT%{_includedir}/GL
300 #install common/usr/X11R6/include/X11/extensions/*.h $RPM_BUILD_ROOT%{_includedir}/X11/extensions
301 echo "LIBGL_DRIVERS_PATH=%{_libdir}/xorg/modules/dri" > $RPM_BUILD_ROOT%{_sysconfdir}/env.d/LIBGL_DRIVERS_PATH
302
303 cd $RPM_BUILD_ROOT%{_libdir}
304 for f in libfglrx_dm; do
305 %if %{with multigl}
306         ln -s fglrx/$f.so.*.* $f.so
307 %else
308         ln -s $f.so.*.* $f.so
309 %endif
310 done
311 %endif
312
313 install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
314 %{__sed} -e 's|@@prefix@@|%{_prefix}|g;s|@@libdir@@|%{_libdir}|g;s|@@includedir@@|%{_includedir}|g;s|@@version@@|%{version}|g' < %{SOURCE3} \
315         > $RPM_BUILD_ROOT%{_pkgconfigdir}/gl.pc
316
317 %clean
318 rm -rf $RPM_BUILD_ROOT
319
320 %if %{with multigl}
321 %post
322 if [ ! -e %{_libdir}/xorg/modules/extensions/libglx.so ]; then
323         ln -sf libglx.so.%{version} %{_libdir}/xorg/modules/extensions/libglx.so
324 fi
325 %endif
326
327 %post   libs -p /sbin/ldconfig
328 %postun libs -p /sbin/ldconfig
329
330 %post atieventsd
331 /sbin/chkconfig --add atieventsd
332 %service atieventsd restart
333
334 %preun atieventsd
335 if [ "$1" = "0" ]; then
336         %service -q atieventsd stop
337         /sbin/chkconfig --del atieventsd
338 fi
339
340 %post   -n kernel%{_alt_kernel}-video-firegl
341 %depmod %{_kernel_ver}
342
343 %postun -n kernel%{_alt_kernel}-video-firegl
344 %depmod %{_kernel_ver}
345
346 %if %{with userspace}
347 %files
348 %defattr(644,root,root,755)
349 %doc ATI_LICENSE.TXT common%{_docdir}/fglrx/*.html common%{_docdir}/fglrx/articles common%{_docdir}/fglrx/user-manual
350 %dir %{_sysconfdir}/ati
351 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/control
352 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/signature
353 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/amdpcsdb.default
354 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/atiogl.xml
355 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/env.d/LIBGL_DRIVERS_PATH
356 %attr(755,root,root) %{_bindir}/*
357 %attr(755,root,root) %{_sbindir}/amdnotifyui
358 %{_desktopdir}/*.desktop
359 %{_pixmapsdir}/*.xpm
360 %{_datadir}/ati
361 %if %{with multigl}
362 %ghost %{_libdir}/xorg/modules/extensions/libglx.so
363 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/libglx.so.%{version}
364 %else
365 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/libglx.so
366 %endif
367 %{_libdir}/dri
368 %attr(755,root,root) %{_libdir}/xorg/modules/dri/fglrx_dri.so
369 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/fglrx_drv.so
370 %dir %{_libdir}/xorg/modules/linux
371 %attr(755,root,root) %{_libdir}/xorg/modules/linux/libfglrxdrm.so
372 %attr(755,root,root) %{_libdir}/xorg/modules/amdxmm.so
373 %attr(755,root,root) %{_libdir}/xorg/modules/glesx.so
374
375 %files libs
376 %defattr(644,root,root,755)
377 %if %{with multigl}
378 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf.d/fglrx.conf
379 %dir %{_libdir}/fglrx
380 %attr(755,root,root) %{_libdir}/fglrx/libAMDXvBA.so.*.*
381 %attr(755,root,root) %{_libdir}/fglrx/libAMDXvBA.so.1
382 %attr(755,root,root) %{_libdir}/fglrx/libXvBAW.so.*.*
383 %attr(755,root,root) %{_libdir}/fglrx/libXvBAW.so.1
384 %{_libdir}/fglrx/libAMDXvBA.cap
385 %attr(755,root,root) %{_libdir}/fglrx/libatiadlxx.so
386 %attr(755,root,root) %{_libdir}/fglrx/libaticalcl.so
387 %attr(755,root,root) %{_libdir}/fglrx/libaticaldd.so
388 %attr(755,root,root) %{_libdir}/fglrx/libaticalrt.so
389 %attr(755,root,root) %{_libdir}/fglrx/libatiuki.so.*.*
390 %attr(755,root,root) %{_libdir}/fglrx/libGL.so.*.*
391 %attr(755,root,root) %{_libdir}/fglrx/libGL.so.1
392 %attr(755,root,root) %{_libdir}/fglrx/libfglrx_dm.so.*.*
393 %else
394 %attr(755,root,root) %{_libdir}/libAMDXvBA.so.*.*
395 %attr(755,root,root) %ghost %{_libdir}/libAMDXvBA.so.1
396 %attr(755,root,root) %{_libdir}/libXvBAW.so.*.*
397 %attr(755,root,root) %ghost %{_libdir}/libXvBAW.so.1
398 %{_libdir}/libAMDXvBA.cap
399 %attr(755,root,root) %{_libdir}/libatiadlxx.so
400 %attr(755,root,root) %{_libdir}/libaticalcl.so
401 %attr(755,root,root) %{_libdir}/libaticaldd.so
402 %attr(755,root,root) %{_libdir}/libaticalrt.so
403 %attr(755,root,root) %{_libdir}/libatiuki.so.*.*
404 %attr(755,root,root) %ghost %{_libdir}/libatiuki.so.1
405 %attr(755,root,root) %{_libdir}/libGL.so.*.*
406 %attr(755,root,root) %ghost %{_libdir}/libGL.so.1
407 %attr(755,root,root) %{_libdir}/libGL.so
408 %attr(755,root,root) %{_libdir}/libfglrx_dm.so.*.*
409 %endif
410
411 %files devel
412 %defattr(644,root,root,755)
413 %attr(755,root,root) %{_libdir}/libfglrx_dm.so
414 %{_includedir}/GL
415 %if %{with multigl}
416 %attr(755,root,root) %{_libdir}/libGL.so
417 %endif
418 %{_pkgconfigdir}/gl.pc
419
420 %files static
421 %defattr(644,root,root,755)
422 %{_libdir}/libfglrx_dm.a
423
424 %files atieventsd
425 %defattr(644,root,root,755)
426 %attr(754,root,root) /etc/rc.d/init.d/atieventsd
427 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/atieventsd
428 %attr(755,root,root) %{_sbindir}/atieventsd
429 %attr(755,root,root) %{_sysconfdir}/acpi/ati-powermode.sh
430 %{_sysconfdir}/acpi/events/*
431 %{_mandir}/man8/atieventsd.8*
432
433 %files config
434 %defattr(644,root,root,755)
435 %{_sysconfdir}/X11/xorg.conf.d/10-fglrx.conf
436 %endif
437
438 %if %{with kernel}
439 %files -n kernel%{_alt_kernel}-video-firegl
440 %defattr(644,root,root,755)
441 /lib/modules/%{_kernel_ver}/misc/*.ko*
442 %endif
This page took 0.26711 seconds and 2 git commands to generate.