%bcond_without userspace # don't build userspace tools
%bcond_with verbose # verbose build (V=1)
%bcond_without incall # include all sources in srpm
-
+%bcond_with grsec_kernel # build for kernel-grsecurity
+#
+%if !%{with kernel}
+%undefine with_dist_kernel
+%endif
+#
+%if %{with kernel} && %{with dist_kernel} && %{with grsec_kernel}
+%define alt_kernel grsecurity
+%endif
+#
%define _min_eq_x11 1:6.9.0
%define _max_x11 1:7.0.0
%define x11ver x690
-%if %{without kernel}
-%undefine with_dist_kernel
-%endif
-
%ifarch %{ix86}
%define arch_sufix ""
%define arch_dir x86
%define arch_dir x86_64
%endif
-%define _rel 1
+%define _rel 0.2
Summary: Linux Drivers for ATI graphics accelerators
-Summary(pl): Sterowniki do akceleratorów graficznych ATI
+Summary(pl.UTF-8): Sterowniki do akceleratorów graficznych ATI
Name: X11-driver-firegl
-Version: 8.28.8
+Version: 8.34.8
Release: %{_rel}
License: ATI Binary (parts are GPL)
Group: X11
-Source0: http://dlmdownloads.ati.com/drivers/linux/ati-driver-installer-%{version}.run
-# Source0-md5: 58189d7cc3625e399b1a434df893100f
+Source0: http://www2.ati.com/drivers/linux/ati-driver-installer-%{version}-x86.x86_64.run
+# Source0-md5: 44eda48613542b955a63bd6af2ccc6ce
Patch0: firegl-panel.patch
Patch1: firegl-panel-ugliness.patch
Patch2: %{name}-kh.patch
Patch3: %{name}-viak8t.patch
Patch4: %{name}-force-define-AGP.patch
-URL: http://www.ati.com/support/drivers/linux/radeon-linux.html
+Patch5: xorg-driver-video-fglrx-2.6.20-restore_syscalls.patch
+Patch6: xorg-driver-video-fglrx-2.6.20-init_work_macro.patch
+URL: http://ati.amd.com/support/drivers/linux/linux-radeon.html
#BuildRequires: X11-devel >= %{_min_eq_x11} # disabled for now
%{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.14}
%{?with_userspace:BuildRequires: qt-devel}
-BuildRequires: rpmbuild(macros) >= 1.308
+BuildRequires: rpmbuild(macros) >= 1.330
Requires: X11-OpenGL-core >= %{_min_eq_x11}
Requires: X11-Xserver
%{?with_kernel:Requires: X11-driver-firegl(kernel)}
ExclusiveArch: i586 i686 athlon pentium3 pentium4 %{x8664}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define _ccver %(rpm -q --qf "%{VERSION}" gcc | sed 's/\\..*//')
+
%define _noautoreqdep libGL.so.1
%define _prefix /usr/X11R6
the FireGL 8700/8800, E1, Z1/X1 graphics accelerators. This package
provides 2D display drivers and hardware accelerated OpenGL.
-%description -l pl
+%description -l pl.UTF-8
Sterowniki do kart graficznych ATI Radeon 8500, 9700, Mobility M9 oraz
-graficznych akceleratorów FireGL 8700/8800, E1, Z1/X1. Pakiet
-dostarcza sterowniki obs³uguj±ce wy¶wietlanie 2D oraz sprzêtowo
+graficznych akceleratorów FireGL 8700/8800, E1, Z1/X1. Pakiet
+dostarcza sterowniki obsługujące wyświetlanie 2D oraz sprzętowo
akcelerowany OpenGL.
%package -n kernel%{_alt_kernel}-video-firegl
Summary: ATI kernel module for FireGL support
-Summary(pl): Modu³ j±dra oferuj±cy wsparcie dla ATI FireGL
+Summary(pl.UTF-8): Moduł jądra oferujący wsparcie dla ATI FireGL
Release: %{_rel}@%{_kernel_ver_str}
License: ATI
Group: Base/Kernel
%description -n kernel%{_alt_kernel}-video-firegl
ATI kernel module for FireGL support.
-%description -n kernel%{_alt_kernel}-video-firegl -l pl
-Modu³ j±dra oferuj±cy wsparcie dla ATI FireGL.
+%description -n kernel%{_alt_kernel}-video-firegl -l pl.UTF-8
+Moduł jądra oferujący wsparcie dla ATI FireGL.
%package -n kernel%{_alt_kernel}-smp-video-firegl
Summary: ATI kernel module for FireGL support
-Summary(pl): Modu³ j±dra oferuj±cy wsparcie dla ATI FireGL
+Summary(pl.UTF-8): Moduł jądra oferujący wsparcie dla ATI FireGL
Release: %{_rel}@%{_kernel_ver_str}
License: ATI
Group: Base/Kernel
%description -n kernel%{_alt_kernel}-smp-video-firegl
ATI kernel module for FireGL support.
-%description -n kernel%{_alt_kernel}-smp-video-firegl -l pl
-Modu³ j±dra oferuj±cy wsparcie dla ATI FireGL.
+%description -n kernel%{_alt_kernel}-smp-video-firegl -l pl.UTF-8
+Moduł jądra oferujący wsparcie dla ATI FireGL.
%prep
%setup -q -c -T
cp arch/%{arch_dir}/lib/modules/fglrx/build_mod/* common/lib/modules/fglrx/build_mod
install -d panel_src
-tar -xzf common/usr/src/ATI/fglrx_panel_sources.tgz -C panel_src
+tar -xzf common/usr/src/ati/fglrx_panel_sources.tgz -C panel_src
%patch0 -p1
%patch1 -p1
cd common
%patch3 -p1
%patch4 -p2
cd -
+%patch5 -p1
+%patch6 -p1
install -d common%{_prefix}/{%{_lib},bin}
cp -r %{x11ver}%{arch_sufix}%{_prefix}/%{_lib}/* common%{_prefix}/%{_lib}
%if %{with kernel}
cd common/lib/modules/fglrx/build_mod
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
- exit 1
- fi
- install -d o/include/linux
- ln -sf %{_kernelsrcdir}/config-$cfg o/.config
- ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
- ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
- %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts
- %{__make} -C %{_kernelsrcdir} clean \
- RCS_FIND_IGNORE="-name '*.ko' -o" \
- M=$PWD O=$PWD/o \
- %{?with_verbose:V=1}
- %{__make} -C %{_kernelsrcdir} modules \
- M=$PWD O=$PWD/o \
- %{?with_verbose:V=1}
- mv fglrx{,-$cfg}.ko
-done
+%build_kernel_modules -m fglrx GCC_VER_MAJ=%{_ccver}
cd -
%endif
rm -rf $RPM_BUILD_ROOT
%if %{with kernel}
-cd common/lib/modules/fglrx/build_mod
-install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
-
-install fglrx-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
- $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/fglrx.ko
-%if %{with smp} && %{with dist_kernel}
-install fglrx-smp.ko \
- $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/fglrx.ko
-%endif
-cd -
+%install_kernel_modules -m common/lib/modules/fglrx/build_mod/fglrx -d misc
%endif
%if %{with userspace}
%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/atiogl_a_dri.so
%attr(755,root,root) %{_libdir}/modules/dri/fglrx_dri.so
%attr(755,root,root) %{_libdir}/modules/drivers/fglrx_drv.so
%attr(755,root,root) %{_libdir}/modules/linux/libfglrxdrm.so