%define NVIDIArelease 7174 %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: 75%{?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 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 %else sh %{SOURCE1} --extract-only %endif mv NVIDIA-Linux-*-1.0-%{NVIDIArelease}*/{*,.??*} . rmdir NVIDIA-Linux-*-1.0-%{NVIDIArelease}* 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,/* typedef void irqreturn_t */,' 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 %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}/ mv %{buildroot}%{_libdir} %{buildroot}%{_libdir}-nvidia-graphics-1.0-%{NVIDIArelease} mkdir -p %{buildroot}%{_libdir} mv %{buildroot}%{_libdir}-nvidia-graphics-1.0-%{NVIDIArelease} %{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 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 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-bug-report.sh ]; then mv %{buildroot}%{_bindir}/nvidia-bug-report.sh %{buildroot}%{_bindir}/nvidia-bug-report-1.0-%{NVIDIArelease}.sh fi echo '/usr/bin/nvidia*' > files.bin.list 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}/*.so.* %dir %{_libdir}/nvidia-graphics-1.0-%{NVIDIArelease} %if %hastls %{_libdir}/nvidia-graphics-1.0-%{NVIDIArelease}/tls/*.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 * 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.