%bcond_without smp # don't build SMP module
%bcond_without userspace # don't build userspace tools
%bcond_with verbose # verbose build (V=1)
+%bcond_without incall # include all sources in srpm
%define _min_x11 6.8.0
+%if %{without kernel}
+%undefine with_dist_kernel
+%endif
+
+%ifarch %{ix86}
+%define need_x86 1
+%else
+%define need_x86 0%{?with_incall:1}
+%endif
+%ifarch %{x8664}
+%define need_amd64 1
+%else
+%define need_amd64 0%{?with_incall:1}
+%endif
+
Summary: Linux Drivers for ATI graphics accelerators
Summary(pl): Sterowniki do akceleratorów graficznych ATI
Name: X11-driver-firegl
-Version: 8.8.25
-%define _rel 3
+Version: 8.16.20
+%define _rel 1
Release: %{_rel}
License: ATI Binary (parts are GPL)
Vendor: ATI
Group: X11/XFree86
-Source0: http://www2.ati.com/drivers/linux/fglrx_6_8_0-%{version}-1.i386.rpm
-# Source0-md5: 8245afc1a5f83634ab1b906b8107cd0c
-Source1: http://www2.ati.com/drivers/linux/fglrx64_6_8_0-%{version}-1.x86_64.rpm
-# Source1-md5: 4967e36a1bdf275a37251605b6a2356c
+%if %{need_x86}
+Source0: http://www2.ati.com/drivers/linux/fglrx_6_8_0-%{version}-1.i386.rpm
+# Source0-md5: db413c61d9d00a96c6a103fe9cf697d5
+%endif
+%if %{need_amd64}
+Source1: http://www2.ati.com/drivers/linux/64bit/fglrx64_6_8_0-%{version}-1.x86_64.rpm
+# Source1-md5: 71524b4690b1df108c2cc5d37f945856
+%endif
Patch0: firegl-panel.patch
Patch1: firegl-panel-ugliness.patch
Patch2: %{name}-kh.patch
+Patch3: %{name}-viak8t.patch
URL: http://www.ati.com/support/drivers/linux/radeon-linux.html
BuildRequires: cpio
-BuildRequires: sed
%{?with_dist_kernel:BuildRequires: kernel-module-build >= 2.6.7}
-BuildRequires: rpmbuild(macros) >= 1.153
+BuildRequires: rpmbuild(macros) >= 1.213
%{?with_userspace:BuildRequires: qt-devel}
#BuildRequires: X11-devel >= %{_min_x11} # disabled for now
Requires: X11-OpenGL-core >= %{_min_x11}
Requires: X11-Xserver
-Requires: X11-driver-firegl(kernel)
+%{?with_kernel:Requires: X11-driver-firegl(kernel)}
Requires: X11-libs >= %{_min_x11}
Requires: X11-modules >= %{_min_x11}
Provides: X11-OpenGL-libGL
Obsoletes: X11-OpenGL-libGL
Obsoletes: XFree86-OpenGL-libGL
Obsoletes: XFree86-driver-firegl
-ExclusiveArch: i586 i686 athlon pentium3 pentium4 amd64
+ExclusiveArch: i586 i686 athlon pentium3 pentium4 %{x8664}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _noautoreqdep libGL.so.1
%prep
%setup -q -c -T
-%ifarch amd64
+%ifarch %{x8664}
rpm2cpio %{SOURCE1} | cpio -i -d
%else
rpm2cpio %{SOURCE0} | cpio -i -d
%endif
install -d panel_src
tar -xzf usr/src/ATI/fglrx_panel_sources.tgz -C panel_src
+
%patch0 -p1
%patch1 -p1
%{?with_dist_kernel:%patch2 -p1}
+%patch3 -p1
%build
%if %{with kernel}
cd lib/modules/fglrx/build_mod
-sed -i -e 's/pci_find_class/pci_get_class/g' agpgart_be.c
cp -f 2.6.x/Makefile .
for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
ln -sf %{_kernelsrcdir}/config-$cfg .config
ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h include/linux/autoconf.h
ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm
+ ln -sf %{_kernelsrcdir}/Module.symvers-$cfg Module.symvers
+%if %{without dist_kernel}
+ ln -sf %{_kernelsrcdir}/scripts
+%endif
touch include/config/MARKER
%{__make} -C %{_kernelsrcdir} clean \
RCS_FIND_IGNORE="-name '*.ko' -o" \
%attr(755,root,root) /usr/%{_lib}/libGL.so.1
%attr(755,root,root) /usr/%{_lib}/libGL.so
+%attr(755,root,root) %{_libdir}/modules/dri/atiogl_a_dri.so
%attr(755,root,root) %{_libdir}/modules/dri/fglrx_dri.so
%attr(755,root,root) %{_libdir}/modules/drivers/fglrx_drv.o
%{_libdir}/modules/linux/libfglrxdrm.a