]> git.pld-linux.org Git - packages/xorg-driver-video-fglrx.git/blob - xorg-driver-video-fglrx.spec
e355579c93ff3d25b2253f29a5da42813ce6d62e
[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     7
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.4
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:  b50dc05ef3428a9ee632b09eebeb4586
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 cp -r arch/%{arch_dir}/usr/X11R6/%{_lib}/* common%{_libdir}
225 cp -r arch/%{arch_dir}/usr/X11R6/bin/* common%{_bindir}
226 cp -r arch/%{arch_dir}/usr/sbin/* common%{_sbindir}
227 cp -r arch/%{arch_dir}/usr/%{_lib}/*.so* common%{_libdir}
228
229 %build
230 %if %{with kernel}
231 cd common/lib/modules/fglrx/build_mod
232 cp -f 2.6.x/Makefile .
233 %build_kernel_modules -c -m fglrx GCC_VER_MAJ=%{_ccver}
234 cd -
235 %endif
236
237 %install
238 rm -rf $RPM_BUILD_ROOT
239
240 %if %{with kernel}
241 %install_kernel_modules -m common/lib/modules/fglrx/build_mod/fglrx -d misc
242 %endif
243
244 %if %{with userspace}
245 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{ati,env.d,X11/xorg.conf.d},%{_bindir},%{_sbindir}} \
246         $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/ati,%{_mandir}/man8} \
247         $RPM_BUILD_ROOT{%{_libdir}/xorg/modules,%{_includedir}/{X11/extensions,GL}} \
248         $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d}
249
250 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/atieventsd
251 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/atieventsd
252 install %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
253 cp -r common%{_datadir}/doc/fglrx/examples/etc/acpi $RPM_BUILD_ROOT/etc
254
255 install common%{_bindir}/* $RPM_BUILD_ROOT%{_bindir}
256 install common/usr/X11R6/bin/* $RPM_BUILD_ROOT%{_bindir}
257 install common%{_sbindir}/* $RPM_BUILD_ROOT%{_sbindir}
258
259 rm $RPM_BUILD_ROOT%{_sbindir}/atigetsysteminfo.sh
260
261 cp -r common%{_libdir}/modules/* $RPM_BUILD_ROOT%{_libdir}/xorg/modules
262 ln -s %{_libdir}/xorg/modules/dri $RPM_BUILD_ROOT%{_libdir}
263 cp -r common%{_sysconfdir}/ati/control $RPM_BUILD_ROOT%{_sysconfdir}/ati/control
264 cp -r common%{_sysconfdir}/ati/signature $RPM_BUILD_ROOT%{_sysconfdir}/ati/signature
265 cp -r common%{_sysconfdir}/ati/amdpcsdb.default $RPM_BUILD_ROOT%{_sysconfdir}/ati/amdpcsdb.default
266 cp -r common%{_sysconfdir}/ati/atiogl.xml $RPM_BUILD_ROOT%{_sysconfdir}/ati/atiogl.xml
267
268 cp -r common%{_datadir}/ati/* $RPM_BUILD_ROOT%{_datadir}/ati
269 cp -r common%{_datadir}/icons/*.xpm $RPM_BUILD_ROOT%{_pixmapsdir}
270
271 cp -r common%{_desktopdir}/*.desktop $RPM_BUILD_ROOT%{_desktopdir}
272
273 cp -r common%{_mandir}/man8/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
274
275 %if %{with multigl}
276 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/ld.so.conf.d,%{_libdir}/fglrx}
277
278 echo %{_libdir}/fglrx >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/fglrx.conf
279
280 cp -r common%{_libdir}/lib*.a $RPM_BUILD_ROOT%{_libdir}
281 cp -r common%{_libdir}/lib*.so* $RPM_BUILD_ROOT%{_libdir}/fglrx
282 cp -r common%{_libdir}/lib*.cap $RPM_BUILD_ROOT%{_libdir}/fglrx
283
284 mv -f $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/{libglx.so,libglx.so.%{version}}
285 ln -sf libglx.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/libglx.so
286
287 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/fglrx
288 ln -sf fglrx/libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/libGL.so
289 %else
290 cp -r common%{_libdir}/lib* $RPM_BUILD_ROOT%{_libdir}
291
292 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}
293 ln -sf libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/libGL.so
294 %endif
295
296 install common%{_includedir}/GL/*.h $RPM_BUILD_ROOT%{_includedir}/GL
297 #install common/usr/X11R6/include/X11/extensions/*.h $RPM_BUILD_ROOT%{_includedir}/X11/extensions
298 echo "LIBGL_DRIVERS_PATH=%{_libdir}/xorg/modules/dri" > $RPM_BUILD_ROOT%{_sysconfdir}/env.d/LIBGL_DRIVERS_PATH
299
300 cd $RPM_BUILD_ROOT%{_libdir}
301 for f in libfglrx_dm; do
302 %if %{with multigl}
303         ln -s fglrx/$f.so.*.* $f.so
304 %else
305         ln -s $f.so.*.* $f.so
306 %endif
307 done
308 %endif
309
310 install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
311 %{__sed} -e 's|@@prefix@@|%{_prefix}|g;s|@@libdir@@|%{_libdir}|g;s|@@includedir@@|%{_includedir}|g;s|@@version@@|%{version}|g' < %{SOURCE3} \
312         > $RPM_BUILD_ROOT%{_pkgconfigdir}/gl.pc
313
314 %clean
315 rm -rf $RPM_BUILD_ROOT
316
317 %if %{with multigl}
318 %post
319 if [ ! -e %{_libdir}/xorg/modules/extensions/libglx.so ]; then
320         ln -sf libglx.so.%{version} %{_libdir}/xorg/modules/extensions/libglx.so
321 fi
322 %endif
323
324 %post   libs -p /sbin/ldconfig
325 %postun libs -p /sbin/ldconfig
326
327 %post atieventsd
328 /sbin/chkconfig --add atieventsd
329 %service atieventsd restart
330
331 %preun atieventsd
332 if [ "$1" = "0" ]; then
333         %service -q atieventsd stop
334         /sbin/chkconfig --del atieventsd
335 fi
336
337 %post   -n kernel%{_alt_kernel}-video-firegl
338 %depmod %{_kernel_ver}
339
340 %postun -n kernel%{_alt_kernel}-video-firegl
341 %depmod %{_kernel_ver}
342
343 %if %{with userspace}
344 %files
345 %defattr(644,root,root,755)
346 %doc ATI_LICENSE.TXT common%{_docdir}/fglrx/*.html common%{_docdir}/fglrx/articles common%{_docdir}/fglrx/user-manual
347 %dir %{_sysconfdir}/ati
348 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/control
349 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/signature
350 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/amdpcsdb.default
351 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/atiogl.xml
352 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/env.d/LIBGL_DRIVERS_PATH
353 %attr(755,root,root) %{_bindir}/*
354 %attr(755,root,root) %{_sbindir}/amdnotifyui
355 %{_desktopdir}/*.desktop
356 %{_pixmapsdir}/*.xpm
357 %{_datadir}/ati
358 %if %{with multigl}
359 %ghost %{_libdir}/xorg/modules/extensions/libglx.so
360 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/libglx.so.%{version}
361 %else
362 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/libglx.so
363 %endif
364 %{_libdir}/dri
365 %attr(755,root,root) %{_libdir}/xorg/modules/dri/fglrx_dri.so
366 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/fglrx_drv.so
367 %dir %{_libdir}/xorg/modules/linux
368 %attr(755,root,root) %{_libdir}/xorg/modules/linux/libfglrxdrm.so
369 %attr(755,root,root) %{_libdir}/xorg/modules/amdxmm.so
370 %attr(755,root,root) %{_libdir}/xorg/modules/glesx.so
371
372 %files libs
373 %defattr(644,root,root,755)
374 %if %{with multigl}
375 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf.d/fglrx.conf
376 %dir %{_libdir}/fglrx
377 %attr(755,root,root) %{_libdir}/fglrx/libAMDXvBA.so.*.*
378 %attr(755,root,root) %{_libdir}/fglrx/libAMDXvBA.so.1
379 %attr(755,root,root) %{_libdir}/fglrx/libXvBAW.so.*.*
380 %attr(755,root,root) %{_libdir}/fglrx/libXvBAW.so.1
381 %{_libdir}/fglrx/libAMDXvBA.cap
382 %attr(755,root,root) %{_libdir}/fglrx/libatiadlxx.so
383 %attr(755,root,root) %{_libdir}/fglrx/libaticalcl.so
384 %attr(755,root,root) %{_libdir}/fglrx/libaticaldd.so
385 %attr(755,root,root) %{_libdir}/fglrx/libaticalrt.so
386 %attr(755,root,root) %{_libdir}/fglrx/libatiuki.so.*.*
387 %attr(755,root,root) %{_libdir}/fglrx/libGL.so.*.*
388 %attr(755,root,root) %{_libdir}/fglrx/libGL.so.1
389 %attr(755,root,root) %{_libdir}/fglrx/libfglrx_dm.so.*.*
390 %else
391 %attr(755,root,root) %{_libdir}/libAMDXvBA.so.*.*
392 %attr(755,root,root) %ghost %{_libdir}/libAMDXvBA.so.1
393 %attr(755,root,root) %{_libdir}/libXvBAW.so.*.*
394 %attr(755,root,root) %ghost %{_libdir}/libXvBAW.so.1
395 %{_libdir}/libAMDXvBA.cap
396 %attr(755,root,root) %{_libdir}/libatiadlxx.so
397 %attr(755,root,root) %{_libdir}/libaticalcl.so
398 %attr(755,root,root) %{_libdir}/libaticaldd.so
399 %attr(755,root,root) %{_libdir}/libaticalrt.so
400 %attr(755,root,root) %{_libdir}/libatiuki.so.*.*
401 %attr(755,root,root) %ghost %{_libdir}/libatiuki.so.1
402 %attr(755,root,root) %{_libdir}/libGL.so.*.*
403 %attr(755,root,root) %ghost %{_libdir}/libGL.so.1
404 %attr(755,root,root) %{_libdir}/libGL.so
405 %attr(755,root,root) %{_libdir}/libfglrx_dm.so.*.*
406 %endif
407
408 %files devel
409 %defattr(644,root,root,755)
410 %attr(755,root,root) %{_libdir}/libfglrx_dm.so
411 %{_includedir}/GL
412 %if %{with multigl}
413 %attr(755,root,root) %{_libdir}/libGL.so
414 %endif
415 %{_pkgconfigdir}/gl.pc
416
417 %files static
418 %defattr(644,root,root,755)
419 %{_libdir}/libfglrx_dm.a
420
421 %files atieventsd
422 %defattr(644,root,root,755)
423 %attr(754,root,root) /etc/rc.d/init.d/atieventsd
424 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/atieventsd
425 %attr(755,root,root) %{_sbindir}/atieventsd
426 %attr(755,root,root) %{_sysconfdir}/acpi/ati-powermode.sh
427 %{_sysconfdir}/acpi/events/*
428 %{_mandir}/man8/atieventsd.8*
429
430 %files config
431 %defattr(644,root,root,755)
432 %{_sysconfdir}/X11/xorg.conf.d/10-fglrx.conf
433 %endif
434
435 %if %{with kernel}
436 %files -n kernel%{_alt_kernel}-video-firegl
437 %defattr(644,root,root,755)
438 /lib/modules/%{_kernel_ver}/misc/*.ko*
439 %endif
This page took 0.06215 seconds and 2 git commands to generate.