]> git.pld-linux.org Git - SPECS.git/blob - xorg-driver-video-fglrx.spec
SPECS updated Sun 1 Aug 20:28:02 CEST 2021
[SPECS.git] / xorg-driver-video-fglrx.spec
1 # Conditional build:
2 %bcond_without  kernel          # don't build kernel modules
3 %bcond_without  userspace       # don't build userspace tools
4 %bcond_with     verbose         # verbose build (V=1)
5
6 %define         x11ver          xpic
7
8 # The goal here is to have main, userspace, package built once with
9 # simple release number, and only rebuild kernel packages with kernel
10 # version as part of release number, without the need to bump release
11 # with every kernel change.
12 %if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
13 %{error:kernel and userspace cannot be built at the same time on PLD builders}
14 exit 1
15 %endif
16
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         intver          15.302
31 %define         sver            151217a-297685e
32 %define         betaver         1.0
33 #define         rel             0.beta%{betaver}.3
34
35 %define         rel             3
36 %define         pname           xorg-driver-video-fglrx
37 Summary:        Linux Drivers for AMD/ATI graphics accelerators
38 Summary(pl.UTF-8):      Sterowniki do akceleratorów graficznych AMD/ATI
39 Name:           %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
40 Version:        15.12
41 Release:        %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
42 Epoch:          1
43 License:        AMD Binary (parts are GPL)
44 Group:          X11
45 # http://support.amd.com/en-us/download/linux -> Linux
46 # wget --referer=http://support.amd.com/ https://www2.ati.com/drivers/linux/radeon-crimson-15.12-15.302-151217a-297685e.zip
47 #Source0:       https://www2.ati.com/drivers/linux/radeon-crimson-15.12-15.302-151217a-297685e.zip
48 Source0:        radeon-crimson-%{version}-%{intver}-%{sver}.zip
49 # Source0-md5:  39808c8a9bcc9041f1305e3531b60622
50 %define         vver    %(echo %{version} | tr . -)
51 Source1:        atieventsd.init
52 Source2:        atieventsd.sysconfig
53 Source3:        gl.pc.in
54 Source4:        10-fglrx.conf
55 Source5:        10-fglrx-modules.conf
56 Patch0:         %{pname}-kh.patch
57 Patch1:         %{pname}-smp.patch
58 Patch2:         %{pname}-x86genericarch.patch
59 Patch3:         %{pname}-desktop.patch
60 Patch4:         %{pname}-nofinger.patch
61 Patch5:         %{pname}-GPL-only.patch
62 Patch6:         %{pname}-intel_iommu.patch
63 Patch7:         linux-3.18.18.patch
64 Patch8:         linux-4.0.patch
65 Patch9:         linux-4.2.patch
66 Patch10:        linux-4.3.patch
67 Patch11:        linux-4.4.patch
68 Patch12:        linux-4.5.patch
69 Patch13:        linux-4.6.patch
70 Patch14:        linux-4.7.patch
71 URL:            http://ati.amd.com/support/drivers/linux/linux-radeon.html
72 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
73 BuildRequires:  rpmbuild(macros) >= 1.701
74 BuildRequires:  sed >= 4.0
75 Requires:       %{pname}-libs = %{epoch}:%{version}-%{rel}
76 Requires:       xorg-xserver-server
77 Requires:       xorg-xserver-server(videodrv-abi) <= 19.0
78 Requires:       xorg-xserver-server(videodrv-abi) >= 2.0
79 Suggests:       kernel-video-firegl
80 Provides:       xorg-driver-video
81 Provides:       xorg-xserver-module(glx)
82 Obsoletes:      X11-driver-firegl < 1:7.0.0
83 Obsoletes:      XFree86-driver-firegl < 1:7.0.0
84 Obsoletes:      xorg-driver-video-fglrx-config
85 Obsoletes:      xorg-driver-video-fglrx-libdri
86 Obsoletes:      xorg-driver-video-fglrx-libglx
87 ExclusiveArch:  i586 i686 athlon pentium3 pentium4 %{x8664}
88 BuildRoot:      %{tmpdir}/%{pname}-%{version}-root-%(id -u -n)
89
90 %define         _ccver  %(rpm -q --qf "%{VERSION}" gcc | sed 's/\\..*//')
91
92 %define         _noautoreqdep                   libGL.so.1
93 %define         no_install_post_check_so        1
94
95 %description
96 AMD display driver which allows for hardware accelerated rendering
97 with Radeon R9 Fury, R9 300, R7 300, R9 200, R7 200, HD 7000, HD 6000,
98 HD 5000, and ATI Mobility Radeon.
99
100 %description -l pl.UTF-8
101 Sterownik AMD umożliwiający sprzętowo akcelerowany rendering do kart
102 graficznych Radeon R9 Fury, R9 300, R7 300, R9 200, R7 200, HD 7000, 
103 HD 6000, HD 5000 oraz ATI Mobility Radeon.
104
105 %package libs
106 Summary:        OpenGL (GL and GLX) ATI/AMD libraries
107 Summary(pl.UTF-8):      Biblioteki OpenGL (GL i GLX) ATI/AMD
108 Group:          X11/Development/Libraries
109 Requires(post,postun):  /sbin/ldconfig
110 # 4.0 for Radeon HD 5000 Series
111 Provides:       OpenGL = 3.3
112 Provides:       OpenGL-GLX = 1.4
113 Obsoletes:      X11-OpenGL-core < 1:7.0.0
114 Obsoletes:      X11-OpenGL-libGL < 1:7.0.0
115 Obsoletes:      XFree86-OpenGL-core < 1:7.0.0
116 Obsoletes:      XFree86-OpenGL-libGL < 1:7.0.0
117
118 %description libs
119 ATI/AMD OpenGL (GL and GLX only) implementation libraries.
120
121 %description libs -l pl.UTF-8
122 Implementacja OpenGL (tylko GL i GLX) firmy ATI/AMD.
123
124 %package devel
125 Summary:        Header files for development for the ATI Radeon cards proprietary driver
126 Summary(pl.UTF-8):      Pliki nagłówkowe do programowania z użyciem własnościowego sterownika dla kart ATI Radeon
127 Group:          X11/Development/Libraries
128 Requires:       %{pname}-libs = %{epoch}:%{version}-%{rel}
129 # or more?
130 Requires:       xorg-proto-glproto-devel
131 # 4.0 for Radeon HD 5000 Series
132 Provides:       OpenGL-GLX-devel = 1.4
133 Provides:       OpenGL-devel = 3.3
134 Obsoletes:      X11-OpenGL-devel-base
135 Obsoletes:      XFree86-OpenGL-devel-base
136
137 %description devel
138 Header files for development for the ATI proprietary driver for ATI
139 Radeon graphic cards.
140
141 %description devel -l pl.UTF-8
142 Pliki nagłówkowe do programowania z użyciem własnościowego sterownika
143 ATI dla kart graficznych Radeon.
144
145 %package static
146 Summary:        Static libraries for development for the ATI Radeon cards proprietary driver
147 Summary(pl.UTF-8):      Biblioteki statyczne do programowania z użyciem własnościowego sterownika dla kart ATI Radeon
148 Group:          X11/Development/Libraries
149 Requires:       %{pname}-devel = %{epoch}:%{version}-%{rel}
150
151 %description static
152 Static libraries for development for the ATI proprietary driver for
153 ATI Radeon graphic cards.
154
155 %description static -l pl.UTF-8
156 Biblioteki statyczne do programowania z użyciem własnościowego
157 sterownika ATI dla kart graficznych ATI Radeon.
158
159 %package atieventsd
160 Summary:        ATI external events daemon
161 Summary(pl.UTF-8):      Demon zewnętrznych zdarzeń ATI
162 Group:          Daemons
163 Requires:       %{pname} = %{epoch}:%{version}-%{rel}
164 Requires:       acpid
165 Requires(post,preun):   /sbin/chkconfig
166 Requires:       rc-scripts
167
168 %description atieventsd
169 The ATI External Events Daemon is a user-level application that
170 monitors various system events such as ACPI or hotplug, then notifies
171 the driver via the X extensions interface that the event has occured.
172
173 %description atieventsd -l pl.UTF-8
174 Demon zewnętrznych zdarzeń ATI jest aplikacją monitorującą różne
175 zdarzenia systemowe, takie jak ACPI lub hotplug, a następnie
176 informującą sterownik poprzez interfejs rozszerzeń X, że zaszło
177 zdarzenie.
178
179 %define kernel_pkg()\
180 %package -n kernel%{_alt_kernel}-video-firegl\
181 Summary:        ATI kernel module for FireGL support\
182 Summary(pl.UTF-8):      Moduł jądra oferujący wsparcie dla ATI FireGL\
183 Release:        %{rel}@%{_kernel_ver_str}\
184 License:        ATI\
185 Group:          Base/Kernel\
186 Requires(post,postun):  /sbin/depmod\
187 %requires_releq_kernel\
188 Requires(postun):       %releq_kernel\
189 Provides:       kernel%{_alt_kernel}-video-firegl = %{epoch}:%{version}-%{rel}@%{_kernel_ver_str}\
190 \
191 %description -n kernel%{_alt_kernel}-video-firegl\
192 ATI kernel module for FireGL support.\
193 \
194 %description -n kernel%{_alt_kernel}-video-firegl -l pl.UTF-8\
195 Moduł jądra oferujący wsparcie dla ATI FireGL.\
196 \
197 %if %{with kernel}\
198 %files -n kernel%{_alt_kernel}-video-firegl\
199 %defattr(644,root,root,755)\
200 /lib/modules/%{_kernel_ver}/misc/*.ko*\
201 %endif\
202 \
203 %post   -n kernel%{_alt_kernel}-video-firegl\
204 %depmod %{_kernel_ver}\
205 \
206 %postun -n kernel%{_alt_kernel}-video-firegl\
207 %depmod %{_kernel_ver}\
208 %{nil}
209
210 %define build_kernel_pkg()\
211 cp -pf common/lib/modules/fglrx/build_mod/2.6.x/Makefile common/lib/modules/fglrx/build_mod\
212 %build_kernel_modules -C common/lib/modules/fglrx/build_mod -m fglrx GCC_VER_MAJ=%{_ccver}\
213 %install_kernel_modules -D installed -m common/lib/modules/fglrx/build_mod/fglrx -d misc\
214 %{nil}
215
216 %{?with_kernel:%{expand:%create_kernel_packages}}
217
218 %prep
219 %setup -q -c
220 sh ./fglrx-%{intver}/amd-driver-installer-%{intver}-x86.x86_64.run --extract .
221
222 cp -p arch/%{arch_dir}/lib/modules/fglrx/build_mod/* common/lib/modules/fglrx/
223 cat >>common/lib/modules/fglrx/build_mod/2.6.x/Makefile <<EOF
224 \$(M)/libfglrx_ip.a:
225         ln -s \$(LIBIP_PREFIX)/libfglrx_ip.a \$(M)
226 EOF
227
228 %patch0 -p1
229 %patch1 -p0
230 %patch2 -p0
231 %patch3 -p1
232 %patch4 -p1
233 %patch5 -p1
234 %patch6 -p1
235 %patch7 -p1
236 %patch8 -p2
237 %patch9 -p1
238 %patch10 -p1
239 %patch11 -p1
240 %patch12 -p1
241 %patch13 -p1
242 %patch14 -p1
243
244 install -d common{%{_prefix}/{%{_lib},bin,sbin},/etc}
245 cp -a %{x11ver}%{arch_sufix}/usr/X11R6/%{_lib}/* common%{_libdir}
246 mv common%{_libdir}/modules/extensions/{fglrx/fglrx-libglx.so,libglx.so}
247 cp -a arch/%{arch_dir}/usr/X11R6/%{_lib}/* common%{_libdir}
248 cp -a arch/%{arch_dir}/usr/X11R6/%{_lib}/modules common%{_libdir}/xorg
249 cp -a arch/%{arch_dir}/usr/X11R6/bin/* common%{_bindir}
250 cp -a arch/%{arch_dir}/usr/bin/* common%{_bindir}
251 cp -a arch/%{arch_dir}/usr/sbin/* common%{_sbindir}
252 cp -a arch/%{arch_dir}/usr/%{_lib}/*.so* common%{_libdir}
253 mv common%{_libdir}/{fglrx/fglrx-libGL.so.1.2,libGL.so.1.2}
254 cp -a arch/%{arch_dir}/etc/* common/etc
255
256 %build
257 %{?with_kernel:%{expand:%build_kernel_packages}}
258
259 %install
260 rm -rf $RPM_BUILD_ROOT
261
262 %if %{with kernel}
263 install -d $RPM_BUILD_ROOT
264 cp -a installed/* $RPM_BUILD_ROOT
265 %endif
266
267 %if %{with userspace}
268 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{ati,env.d,X11/xorg.conf.d,ld.so.conf.d} \
269         $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_includedir}/GL} \
270         $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/ati,%{_mandir}/man8} \
271         $RPM_BUILD_ROOT%{_libdir}/{fglrx,xorg/modules/extensions/fglrx} \
272         $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d} \
273         $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors
274
275 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/atieventsd
276 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/atieventsd
277
278 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
279 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
280 sed -i -e 's|@@LIBDIR@@|%{_libdir}|g' $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-fglrx-modules.conf
281
282 cp -a common%{_datadir}/doc/fglrx/examples/etc/acpi $RPM_BUILD_ROOT/etc
283 install -p common/etc/OpenCL/vendors/*.icd $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors
284
285 install -p common%{_bindir}/* $RPM_BUILD_ROOT%{_bindir}
286 install -p common/usr/X11R6/bin/* $RPM_BUILD_ROOT%{_bindir}
287 install -p common%{_sbindir}/* $RPM_BUILD_ROOT%{_sbindir}
288
289 rm $RPM_BUILD_ROOT%{_sbindir}/atigetsysteminfo.sh
290
291 cp -a common%{_libdir}/modules/* $RPM_BUILD_ROOT%{_libdir}/xorg/modules
292 ln -s %{_libdir}/xorg/modules/dri $RPM_BUILD_ROOT%{_libdir}
293 cp -a common%{_sysconfdir}/ati/control $RPM_BUILD_ROOT%{_sysconfdir}/ati/control
294 cp -a common%{_sysconfdir}/ati/signature $RPM_BUILD_ROOT%{_sysconfdir}/ati/signature
295 cp -a common%{_sysconfdir}/ati/amdpcsdb.default $RPM_BUILD_ROOT%{_sysconfdir}/ati/amdpcsdb.default
296
297 cp -a common%{_datadir}/ati/* $RPM_BUILD_ROOT%{_datadir}/ati
298 cp -a common%{_datadir}/icons/*.xpm $RPM_BUILD_ROOT%{_pixmapsdir}
299
300 cp -r common%{_desktopdir}/*.desktop $RPM_BUILD_ROOT%{_desktopdir}
301
302 cp -a common%{_mandir}/man8/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
303
304 %ifarch %{x8664}
305 echo %{_libdir}/fglrx > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/fglrx64.conf
306 %else
307 echo %{_libdir}/fglrx > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/fglrx.conf
308 %endif
309
310 cp -a common%{_libdir}/lib* $RPM_BUILD_ROOT%{_libdir}/fglrx
311
312 mv -f $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/{,fglrx}/libglx.so
313
314 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/fglrx
315 ln -sf libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/fglrx/libGL.so
316 (cd $RPM_BUILD_ROOT%{_libdir}/fglrx ; ln -sf libfglrx_dm.so.*.* libfglrx_dm.so)
317
318 cp -p common%{_includedir}/GL/*.h $RPM_BUILD_ROOT%{_includedir}/GL
319 echo "LIBGL_DRIVERS_PATH=%{_libdir}/xorg/modules/dri" > $RPM_BUILD_ROOT%{_sysconfdir}/env.d/LIBGL_DRIVERS_PATH
320
321 install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
322 %{__sed} -e 's|@@prefix@@|%{_prefix}|g;s|@@libdir@@|%{_libdir}|g;s|@@includedir@@|%{_includedir}|g;s|@@version@@|%{version}|g' < %{SOURCE3} \
323         > $RPM_BUILD_ROOT%{_pkgconfigdir}/gl.pc
324 %endif
325
326 %clean
327 rm -rf $RPM_BUILD_ROOT
328
329 %post   libs -p /sbin/ldconfig
330 %postun libs -p /sbin/ldconfig
331
332 %post atieventsd
333 /sbin/chkconfig --add atieventsd
334 %service atieventsd restart
335
336 %preun atieventsd
337 if [ "$1" = "0" ]; then
338         %service -q atieventsd stop
339         /sbin/chkconfig --del atieventsd
340 fi
341
342 %if %{with userspace}
343 %files
344 %defattr(644,root,root,755)
345 %doc LICENSE.TXT common%{_docdir}/fglrx/*.html common%{_docdir}/fglrx/articles common%{_docdir}/fglrx/user-manual
346 %dir %{_sysconfdir}/ati
347 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/control
348 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/signature
349 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/amdpcsdb.default
350 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/env.d/LIBGL_DRIVERS_PATH
351 %attr(755,root,root) %{_bindir}/*
352 %attr(755,root,root) %{_sbindir}/amdnotifyui
353 %{_desktopdir}/*.desktop
354 %{_pixmapsdir}/*.xpm
355 %{_datadir}/ati
356 %dir %{_libdir}/xorg/modules/extensions/fglrx
357 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/fglrx/libglx.so
358 %{_libdir}/dri
359 %attr(755,root,root) %{_libdir}/xorg/modules/dri/fglrx_dri.so
360 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/fglrx_drv.so
361 %dir %{_libdir}/xorg/modules/linux
362 %attr(755,root,root) %{_libdir}/xorg/modules/linux/libfglrxdrm.so
363 %attr(755,root,root) %{_libdir}/xorg/modules/amdxmm.so
364 %attr(755,root,root) %{_libdir}/xorg/modules/glesx.so
365 %{_sysconfdir}/X11/xorg.conf.d/10-fglrx.conf
366 %{_sysconfdir}/X11/xorg.conf.d/10-fglrx-modules.conf
367
368 %files libs
369 %defattr(644,root,root,755)
370 %dir %{_sysconfdir}/OpenCL
371 %dir %{_sysconfdir}/OpenCL/vendors
372 %{_sysconfdir}/OpenCL/vendors/*.icd
373 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf.d/fglrx*.conf
374 %dir %{_libdir}/fglrx
375 %attr(755,root,root) %{_libdir}/fglrx/libAMDXvBA.so.*.*
376 %attr(755,root,root) %ghost %{_libdir}/fglrx/libAMDXvBA.so.1
377 %attr(755,root,root) %{_libdir}/fglrx/libOpenCL.so.1
378 %attr(755,root,root) %{_libdir}/fglrx/libXvBAW.so.*.*
379 %attr(755,root,root) %ghost %{_libdir}/fglrx/libXvBAW.so.1
380 %{_libdir}/fglrx/libAMDXvBA.cap
381 %attr(755,root,root) %{_libdir}/fglrx/libamdocl*.so
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) %ghost %{_libdir}/fglrx/libatiuki.so.1
388 %attr(755,root,root) %{_libdir}/fglrx/libGL.so.*.*
389 %attr(755,root,root) %ghost %{_libdir}/fglrx/libGL.so.1
390 %attr(755,root,root) %{_libdir}/fglrx/libfglrx_dm.so.*.*
391
392 %files devel
393 %defattr(644,root,root,755)
394 %attr(755,root,root) %{_libdir}/fglrx/libfglrx_dm.so
395 %attr(755,root,root) %{_libdir}/fglrx/libGL.so
396 %{_includedir}/GL
397 %{_pkgconfigdir}/gl.pc
398
399 %files static
400 %defattr(644,root,root,755)
401 %{_libdir}/fglrx/libfglrx_dm.a
402
403 %files atieventsd
404 %defattr(644,root,root,755)
405 %attr(754,root,root) /etc/rc.d/init.d/atieventsd
406 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/atieventsd
407 %attr(755,root,root) %{_sbindir}/atieventsd
408 %attr(755,root,root) %{_sysconfdir}/acpi/ati-powermode.sh
409 %{_sysconfdir}/acpi/events/*
410 %{_mandir}/man8/atieventsd.8*
411 %endif
This page took 0.233919 seconds and 3 git commands to generate.