%define NVIDIArelease 8774 %kmdl nvidia-graphics%{NVIDIArelease} %define hastls %(test -e /%{_lib}/tls && echo 1 || echo 0) Summary: NVIDIA Linux Display Driver Name: nvidia-graphics%{NVIDIArelease} Version: 1.0_%{NVIDIArelease} Release: 77%{?dist} Epoch: 1 License: NVIDIA, distributable Group: User Interface/X Hardware Support Source0: ftp://download.nvidia.com/XFree86/Linux-x86/1.0-%{NVIDIArelease}/NVIDIA-Linux-x86-1.0-%{NVIDIArelease}-pkg0.run Source1: ftp://download.nvidia.com/XFree86/Linux-x86_64/1.0-%{NVIDIArelease}/NVIDIA-Linux-x86_64-1.0-%{NVIDIArelease}-pkg0.run Source2: Makefile.i386 Source3: Makefile.x86_64 URL: http://www.nvidia.com/object/linux_display_ia32_1.0-%{NVIDIArelease} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot ExclusiveArch: %ix86 x86_64 Requires: %{name}-libs = %{evr} %kmdl_parentdependencies Requires: python2, pyxf86config >= 0.3.5 Requires(post): nvidia-graphics-helpers %description The NVIDIA Accelerated Linux Driver Set brings both accelerated 2D functionality and high performance OpenGL support to Linux x86 with the use of NVIDIA graphics processing units (GPUs). These drivers provide optimized hardware acceleration of OpenGL applications via a direct-rendering X Server and support nearly all NVIDIA graphics chips. TwinView, TV-Out and flat panel displays are also supported. This package includes NVIDIA module for X11 and OpenGL libraries. Older RIVA 128 based video cards are supported by the server module shipping with xorg/XFree86, nv_drv.o. You must also install a matching %kmdl_namepure rpm, if you want to utilize these drivers. Add ModulePath "%{_x_module_path}/extensions/nvidia" ModulePath "%{_x_module_path}/extensions" ModulePath "%{_x_module_path}" to `Section "Files"' in the config file and remove/comment the dri module. %package libs Summary: Libraries for nvidia-graphics chips Group: System Environment/Libraries %description libs The NVIDIA Accelerated Linux Driver Set brings both accelerated 2D functionality and high performance OpenGL support to Linux x86 with the use of NVIDIA graphics processing units (GPUs). This package contains runtime libraries for NVIDIA GPUs. %package devel Summary: Development files for nvidia-graphics chips Group: Development/Libraries Requires: %{name}-libs = %{evr} %description devel The NVIDIA Accelerated Linux Driver Set brings both accelerated 2D functionality and high performance OpenGL support to Linux x86 with the use of NVIDIA graphics processing units (GPUs). This package contains files necessary for developing for NVIDIA GPUs. %package -n %kmdl_name %kmdl_dependencies Summary: Kernel module for NVIDIA graphics architecture support Group: System Environment/Kernel Requires: nvidia-graphics-devices %description -n %kmdl_name NVIDIA Architecture support for systems with updated or custom kernels. %kmdl_desc %prep %setup -q -c -T %ifarch %ix86 sh %{SOURCE0} --extract-only cp -a %{SOURCE2} NVIDIA-Linux-*-1.0-%{NVIDIArelease}*/ %else sh %{SOURCE1} --extract-only cp -a %{SOURCE3} NVIDIA-Linux-*-1.0-%{NVIDIArelease}*/ %endif mv NVIDIA-Linux-*-1.0-%{NVIDIArelease}*/{*,.??*} . rmdir NVIDIA-Linux-*-1.0-%{NVIDIArelease}* mv Makefile.* Makefile cd usr/src/nv if grep irqreturn_t %{kmdl_kernelsrcdir}/include/linux/interrupt.h > /dev/null 2>&1; then perl -pi -e's,(.*typedef void irqreturn_t.*),/*$1*/,' nv-linux.h fi ln -s Makefile.kbuild Makefile cd ../../../ perl -pi -e's,install: kernel_module_install,install: ,' Makefile perl -pi -e's,/sbin/ldconfig,:,' Makefile perl -pi -e's,/usr/X11R6/%{_lib}/modules,%{_x_module_path},g' Makefile perl -pi -e's,/usr/X11R6/%{_lib},%{_x_libraries},g' Makefile grep -rl '#include ' . | xargs perl -pi -e's,#include ,/* #include */,' %define installpath %{kmdl_moduledir}/drivers/video/nvidia %build %if %{kmdl_userland} %else %kmdl_config cd usr/src/nv make KERNDIR=%{kmdl_kernelsrcdir} SYSSRC=%{kmdl_kernelsrcdir} IGNORE_CC_MISMATCH=1 module %endif %install rm -rf %{buildroot} mkdir -p %{buildroot} %if %{kmdl_userland} mkdir -p %{buildroot}%{_x_module_path}/drivers mkdir -p %{buildroot}%{_x_module_path}/extensions/nvidia-graphics-1.0-%{NVIDIArelease} mkdir -p %{buildroot}%{_libdir}/tls make install ROOT=%{buildroot} mv %{buildroot}%{_x_module_path}/extensions/libglx.* %{buildroot}%{_x_module_path}/extensions/nvidia-graphics-1.0-%{NVIDIArelease}/ mkdir -p %{buildroot}%{_libdir}/nvidia-graphics-1.0-%{NVIDIArelease} mv %{buildroot}%{_libdir}/{libGL*,libnvidia*} %{buildroot}%{_libdir}/nvidia-graphics-1.0-%{NVIDIArelease}/ /sbin/ldconfig -n %{buildroot}%{_libdir}/nvidia-graphics-1.0-%{NVIDIArelease} rm -f %{buildroot}%{_libdir}/nvidia-graphics-1.0-%{NVIDIArelease}/libGL.so ln -s libGL.so.1 %{buildroot}%{_libdir}/nvidia-graphics-1.0-%{NVIDIArelease}/libGL.so ln -s libGLcore.so.1 %{buildroot}%{_libdir}/nvidia-graphics-1.0-%{NVIDIArelease}/libGLcore.so %if %hastls mkdir -p %{buildroot}%{_libdir}/nvidia-graphics-1.0-%{NVIDIArelease}/tls mv %{buildroot}%{_libdir}/tls/libnvidia* %{buildroot}%{_libdir}/nvidia-graphics-1.0-%{NVIDIArelease}/tls/ %endif mkdir -p %{buildroot}%{_x_libraries}/nvidia-graphics-1.0-%{NVIDIArelease} mv %{buildroot}%{_x_libraries}/lib*.so* %{buildroot}%{_x_libraries}/nvidia-graphics-1.0-%{NVIDIArelease}/ /sbin/ldconfig -n %{buildroot}%{_x_libraries}/nvidia-graphics-1.0-%{NVIDIArelease} ln -s nvidia-graphics-1.0-%{NVIDIArelease}/libXvMCNVIDIA_dynamic.so.1 %{buildroot}%{_x_libraries}/libXvMCNVIDIA.so mv %{buildroot}%{_x_module_path}/drivers/nvidia_drv.o %{buildroot}%{_x_module_path}/drivers/nvidia-1.0-%{NVIDIArelease}_drv.o touch files.bin.list if [ "`ls usr/bin/nvidia* 2>/dev/null`" != "" ]; then echo '/usr/bin/nvidia*' > files.bin.list mkdir -p %{buildroot}%{_bindir} install -p usr/bin/nvidia* %{buildroot}%{_bindir} if [ -e %{buildroot}%{_bindir}/nvidia-settings ]; then mv %{buildroot}%{_bindir}/nvidia-settings %{buildroot}%{_bindir}/nvidia-settings-1.0-%{NVIDIArelease} fi if [ -e %{buildroot}%{_bindir}/nvidia-xconfig ]; then mv %{buildroot}%{_bindir}/nvidia-xconfig %{buildroot}%{_bindir}/nvidia-xconfig-1.0-%{NVIDIArelease} fi if [ -e %{buildroot}%{_bindir}/nvidia-bug-report.sh ]; then mv %{buildroot}%{_bindir}/nvidia-bug-report.sh %{buildroot}%{_bindir}/nvidia-bug-report-1.0-%{NVIDIArelease}.sh fi if [ -e usr/share/applications/nvidia-settings.desktop ]; then mkdir -p %{buildroot}%{_datadir}/applications sed -e's,__UTILS_PATH__/,,' -e's,__DOCS_PATH__/,,' \ < usr/share/applications/nvidia-settings.desktop \ > %{buildroot}%{_datadir}/applications/nvidia-settings.desktop echo %{_datadir}/applications/nvidia-settings.desktop >> files.bin.list fi if [ -e usr/share/man/man1 ]; then mkdir -p %{buildroot}%{_datadir}/man/man1 install -p usr/share/man/man1/nvidia-* %{buildroot}%{_datadir}/man/man1/ echo %{_datadir}/man/man1/\* >> files.bin.list fi fi mv %{buildroot}%{_docdir}/NVIDIA_GLX-1.0 %{buildroot}%{_docdir}/%{name}-%{version} %else mkdir -p %{buildroot}%{installpath} if [ -f usr/src/nv/nvidia.ko ]; then install -p -m 0644 usr/src/nv/nvidia.ko %{buildroot}%{installpath}/nvidia-1_0-%{NVIDIArelease}.ko elif [ -f usr/src/nv/nvidia.o ]; then install -p -m 0644 usr/src/nv/nvidia.o %{buildroot}%{installpath}/nvidia-1_0-%{NVIDIArelease}.o fi %endif %clean rm -rf %{buildroot} %post %{_sbindir}/nvidia-graphics-switch %{NVIDIArelease} %{_libdir}/nvidia-graphics-helpers/nvidia-config-x.py %postun -p /sbin/ldconfig %post libs cp -a /etc/ld.so.conf /etc/ld.so.conf.backup (echo %{_x_libraries}/nvidia-graphics-1.0-%{NVIDIArelease}; \ grep -v %{_x_libraries}/nvidia-graphics /etc/ld.so.conf.backup) > /etc/ld.so.conf /sbin/ldconfig %postun libs if [ "$1" = 0 ]; then if grep nvidia-graphics-1.0-%{NVIDIArelease} /etc/ld.so.conf > /dev/null 2>&1; then cp -a /etc/ld.so.conf /etc/ld.so.conf.rpmsave grep -v nvidia-graphics-1.0-%{NVIDIArelease} /etc/ld.so.conf.rpmsave > /etc/ld.so.conf fi fi /sbin/ldconfig %post -n %kmdl_name %kmdl_install %postun -n %kmdl_name %kmdl_remove %if %{kmdl_userland} %files -f files.bin.list %defattr(-,root,root,-) %doc usr/share/doc/* LICENSE pkg-history.txt %{_x_module_path}/drivers/nvidia-1.0-%{NVIDIArelease}_drv.o %{_x_module_path}/extensions/nvidia-graphics-1.0-%{NVIDIArelease}/libglx.so.* %{_x_module_path}/extensions/nvidia-graphics-1.0-%{NVIDIArelease}/libglx.so %dir %{_x_module_path}/extensions/nvidia-graphics-1.0-%{NVIDIArelease} %files libs %defattr(-,root,root,-) %{_x_libraries}/nvidia-graphics-1.0-%{NVIDIArelease}/libXvMCNVIDIA*.so.* %dir %{_x_libraries}/nvidia-graphics-1.0-%{NVIDIArelease} %{_libdir}/nvidia-graphics-1.0-%{NVIDIArelease}/libGL*.so.* %{_libdir}/nvidia-graphics-1.0-%{NVIDIArelease}/libnvidia*.so.* %dir %{_libdir}/nvidia-graphics-1.0-%{NVIDIArelease} %if %hastls %{_libdir}/nvidia-graphics-1.0-%{NVIDIArelease}/tls/libnvidia*.so.* %dir %{_libdir}/nvidia-graphics-1.0-%{NVIDIArelease}/tls %endif %files devel %defattr(-,root,root,-) %attr (0644, root, root) %{_x_libraries}/libXvMCNVIDIA.a # Install these headers in the doc dir so as not to destroy the installed # headers but still give the user the option to use them %doc usr/include %{_x_libraries}/libXvMCNVIDIA*.so %{_libdir}/nvidia-graphics-1.0-%{NVIDIArelease}/libGL.so %{_libdir}/nvidia-graphics-1.0-%{NVIDIArelease}/libGLcore.so %else %files -n %kmdl_name %defattr(-,root,root,-) %attr(644,root,root) %{installpath}/nvidia-1_0-%{NVIDIArelease}.*o %endif %changelog * Fri Aug 25 2006 Axel Thimm - 1:1.0_8774-75 - Update to 1.0-8774. * Tue May 23 2006 Axel Thimm - Update to 1.0-8762. * Fri Apr 7 2006 Axel Thimm - Update to 1.0-8756. * Fri Dec 23 2005 Axel Thimm - Update to 1.0-8178. * Mon Dec 5 2005 Axel Thimm - Update to 1.0-8174. * Tue Aug 30 2005 Axel Thimm - Update to 1.0-7676. * Tue Jun 28 2005 Axel Thimm - Update to 1.0-7667. * Thu Jun 2 2005 Axel Thimm - Update to 1.0-7664. * Thu Mar 31 2005 Jarod Wilson - Update to 1.0-7174. * Wed Mar 16 2005 Jarod Wilson - Add cumulative patch NVIDIA_kernel-1.0-7167-03.11.2005.diff. * Tue Mar 15 2005 Axel Thimm - Update to 1.0-7167. * Wed Nov 10 2004 Axel Thimm - Update to 1.0-6629. * Sat Aug 7 2004 Axel Thimm - Update to 1.0-6111. * Sat Jun 30 2004 Axel Thimm - Update to 1.0-6106. * Sat Mar 13 2004 Axel Thimm - Split out development files. * Wed Jan 28 2004 Axel Thimm - Update to 1.0-5336. * Mon Dec 21 2003 Axel Thimm - Update to 1.0-5328. - Merged nvidia-graphics and nvidia-graphics-glx back together again. * Wed Dec 3 2003 Axel Thimm - Move libs to their own lib directory. - Can therefore remove Conflict with Mesa. * Tue Nov 11 2003 Axel Thimm - Added python XF86Config updater script by Peter Backlund. (slightly modified). * Mon Oct 13 2003 Axel Thimm - Simplified scripts, no more renaming/moving (#101775). * Sat Aug 9 2003 Axel Thimm - New kmdl_userland scheme. - Back to disttagging releases. * Tue Jun 24 2003 Axel Thimm - Major rewrite for atrpms macro style. * Fri Jun 20 2003 Axel Thimm - Adapted to atrpms kernel macros. - Fixed dependency on kernel (RH kernels provide for all builds). * Thu May 22 2003 Axel Thimm - Update to 1.0-4191. * Mon Dec 9 2002 Axel Thimm - Imported into atrpms. * Thu Nov 07 2002 Joseph Kain - Suppress lsmod output * Fri Oct 11 2002 Andy Ritger - Check that the module is loaded before reporting success. * Fri Sep 06 2002 Gareth Hughes - Change NVdriver to nvidia.o everywhere. * Mon Nov 26 2001 Joseph Kain - Use %%{_tmppath} instead of hardcoding /var/tmp * Tue Aug 24 2001 Joseph Kain - in preun check usage count of NVdriver before trying to unload. * Thu Aug 31 2000 Terence Ripperda - allow build scripts to specify a kernel version via TARGET_KERNEL variable otherwise fallback to `uname -r` - when searching for agpgart module, search in RPM_BUILD_ROOT, so we don't pick up an errant symbol on a build machine. * Tue Aug 15 2000 Mark Cooke - Change permissions on NVdriver to 444 to avoid symbol-stripping issues with versions of RPM after 3.0.4 - Add a test to make sure the NVdriver registers correctly. * Wed Aug 02 2000 Terence Ripperda - regress use of /proc/devices to get major number * Tue May 02 2000 Terence Ripperda - regress use of "make install" in post, no Makefile present * Fri Apr 27 2000 Nick Triantos - Use "NVdriver" and "install" targets on make - Remove BuildReq item from header, was causing build error * Thu Apr 27 2000 Gregory McLean - Cleaned out some redundant parts of the spec file. - Set the buildroot. - Made sure the preun gets called properly. - Added a %%clean section to keep building machine tidy. - Set up logic for epoc builds if needed.