# DEFINITIONS %define kernel %(uname -r) %define kernel_src %{_usrsrc}/kernels/%{kernel} %define nvidia_mod_dir /lib/modules/%{kernel}/extra/nvidia %define ver_major 1.0 %define ver_minor 7184 # INFO: http://www.nvnews.net/vbulletin/forumdisplay.php?f=14 Name: nvidia Summary: Nvidia Legacy Display Driver and OpenGL libraries Version: %{ver_major}.%{ver_minor} Release: 10.1.rcn License: Distributable Group: User Interface/X Hardware Support URL: http://www.nvidia.com/object/linux_display_ia32_%{ver_major}-%{ver_minor}.html Source0: NVIDIA-Linux-x86-%{ver_major}-%{ver_minor}-pkg1.run Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %description Nvidia Legacy Display Driver and OpenGL libraries %package -n xorg-x11-drv-%{name}-legacy Summary: The NVidia OpenGL Libraries Group: System Environment/Libraries Requires: kmod-%{name}-legacy = %{version}-%{release} Requires(post): desktop-file-utils Requires(postun): desktop-file-utils %description -n xorg-x11-drv-%{name}-legacy This package provides the NVidia OpenGL Libraries %package -n kmod-%{name}-legacy-%{kernel} Summary: NVidia Display Driver kernel module Group: System Environment/Kernel Provides: kmod-%{name}-legacy = %{version}-%{release} BuildRequires: kernel-devel-%{_target_cpu} = %{kernel} Requires: kernel-%{_target_cpu} = %{kernel} Requires: xorg-x11-drv-%{name}-legacy = %{version}-%{release} Requires: module-init-tools %description -n kmod-%{name}-legacy-%{kernel} This package provides the %{name} kernel module built for the Linux kernel %{kernel} for the %{_target_cpu} family of processors. %prep rm -rf nvidiapkg sh %{SOURCE0} --extract-only --target nvidiapkg %build cd nvidiapkg/usr/src/nv/ %{__make} module %install %{__rm} -fr %{buildroot} # Install module %{__install} -D -m 0744 nvidiapkg/usr/src/nv/nvidia.ko %{buildroot}/%{nvidia_mod_dir}/nvidia.ko # Install Includes %{__mkdir} -p -m 0755 %{buildroot}%{_includedir}/nvidia/GL %{__install} -D -m 0644 nvidiapkg/usr/include/GL/*.h %{buildroot}%{_includedir}/nvidia/GL/ # Install Libraries %{__mkdir} -p -m 0755 %{buildroot}%{_libdir}/nvidia %{__install} -D -m 0755 nvidiapkg/usr/lib/lib* %{buildroot}%{_libdir}/nvidia/ ln -s libGLcore.so.%{version} %{buildroot}%{_libdir}/nvidia/libGLcore.so.1 ln -s libGLcore.so.%{version} %{buildroot}%{_libdir}/nvidia/libGLcore.so ln -s libGL.so.%{version} %{buildroot}%{_libdir}/nvidia/libGL.so.1 ln -s libnvidia-tls.so.%{version} %{buildroot}%{_libdir}/nvidia/libnvidia-tls.so.1 %{__mkdir} -p -m 0755 %{buildroot}%{_libdir}/nvidia/tls %{__install} -m 0755 nvidiapkg/usr/lib/tls/lib* %{buildroot}%{_libdir}/nvidia/tls/ ln -s libnvidia-tls.so.%{version} %{buildroot}%{_libdir}/nvidia/tls/libnvidia-tls.so.1 %{__install} -D -m 0755 nvidiapkg/usr/X11R6/lib/libXvMCNVIDIA* %{buildroot}%{_libdir}/nvidia/ ln -s libXvMCNVIDIA.so.%{version} %{buildroot}%{_libdir}/nvidia/libXvMCNVIDIA_dynamic.so.1 ln -s libXvMCNVIDIA.so.%{version} %{buildroot}%{_libdir}/nvidia/libXvMCNVIDIA.so.1 ln -s libXvMCNVIDIA.so.%{version} %{buildroot}%{_libdir}/nvidia/libXvMCNVIDIA.so # X11R7 Modules %{__mkdir} -p -m 0755 %{buildroot}%{_libdir}/xorg/modules/drivers %{__install} -m 0755 nvidiapkg/usr/X11R6/lib/modules/drivers/nvidia* %{buildroot}%{_libdir}/xorg/modules/drivers/ %{__mkdir} -p -m 0755 %{buildroot}%{_libdir}/xorg/modules/extensions/nvidia %{__install} -m 0755 nvidiapkg/usr/X11R6/lib/modules/extensions/lib* %{buildroot}%{_libdir}/xorg/modules/extensions/nvidia/ ln -s libglx.so.%{version} %{buildroot}%{_libdir}/xorg/modules/extensions/nvidia/libglx.so # NVidia logo %{__mkdir} -p -m 0755 %{buildroot}%{_datadir}/pixmaps %{__install} -D -m 0644 nvidiapkg/usr/share/pixmaps/nvidia-settings.png %{buildroot}%{_datadir}/pixmaps/ # NVidia settings utility %{__install} -D -m 0755 nvidiapkg/usr/bin/nvidia-settings %{buildroot}%{_sbindir}/nvidia-settings # DESKTOP FILE mkdir -p %{buildroot}%{_datadir}/applications/ cat > %{buildroot}%{_datadir}/applications/nvidia-settings.desktop << EOF [Desktop Entry] Name=NVIDIA X Server Settings Comment=Utility to configure nvidia driver Exec=/usr/sbin/nvidia-settings Terminal=false Icon=nvidia-settings.png Type=Application Encoding=UTF-8 X-Desktop-File-Install-Version=0.10 Categories=Application;System; EOF # ld.so.conf.d file [this is needed because the nvidia libs are in an "nvidia" directory /usr/lib/nvidia/] mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d/ cat > %{buildroot}%{_sysconfdir}/ld.so.conf.d/nvidia-libs.conf << EOF %{_libdir}/nvidia EOF # Modprobe alias reference mkdir -p %{buildroot}%{_sysconfdir}/modprobe.d/ cat > %{buildroot}%{_sysconfdir}/modprobe.d/nvidia-legacy.conf << EOF alias char-major-195* nvidia EOF %clean %{__rm} -fr %{buildroot} %{__rm} -rf nvidiapkg %post -n xorg-x11-drv-%{name}-legacy # Update libraries' db /sbin/ldconfig # Update desktop db update-desktop-database &> /dev/null ||: # Create the default nvidia devices in /etc/udev/devices/ mkdir -p %{_sysconfdir}/udev/devices mknod -m 0600 %{_sysconfdir}/udev/devices/nvidia0 c 195 0 mknod -m 0600 %{_sysconfdir}/udev/devices/nvidia1 c 195 1 mknod -m 0600 %{_sysconfdir}/udev/devices/nvidia2 c 195 2 mknod -m 0600 %{_sysconfdir}/udev/devices/nvidia3 c 195 3 mknod -m 0600 %{_sysconfdir}/udev/devices/nvidiactl c 195 255 # echo some help echo 'You will need to change the following in /etc/X11/xorg.conf' echo 'ADD: ModulePath "/usr/lib/xorg/modules/extensions/nvidia"' echo 'ADD: ModulePath "/usr/lib/xorg/modules"' echo 'REMOVE: Load "dri"' echo 'SET: Driver "nvidia"' %post -n kmod-%{name}-legacy-%{kernel} depmod -ae -F /boot/System.map-%{kernel} %{kernel} >/dev/null || : %postun -n xorg-x11-drv-%{name}-legacy # Update libraries' db /sbin/ldconfig # Update desktop db update-desktop-database &> /dev/null ||: # Delete the default nvidia devices in /etc/udev/devices/ rm -f %{_sysconfdir}/udev/devices/nvidia* # echo some help echo 'You will need to change the following in /etc/X11/xorg.conf' echo 'REMOVE: ModulePath "/usr/lib/xorg/modules/extensions/nvidia"' echo 'REMOVE: ModulePath "/usr/lib/xorg/modules"' echo 'ADD: Load "dri"' echo 'SET: Driver "nv"' %postun -n kmod-%{name}-legacy-%{kernel} depmod -ae -F /boot/System.map-%{kernel} %{kernel} >/dev/null || : %files -n xorg-x11-drv-%{name}-legacy %defattr(-, root, root, 0755) %dir %{_includedir}/nvidia %{_includedir}/nvidia/GL/* %dir %{_libdir}/nvidia %{_libdir}/nvidia/* %{_libdir}/xorg/modules/drivers/* %{_libdir}/xorg/modules/extensions/nvidia/* %{_sbindir}/nvidia-settings %{_datadir}/applications/nvidia-settings.desktop %{_sysconfdir}/ld.so.conf.d/nvidia-libs.conf %{_datadir}/pixmaps/nvidia-settings.png %doc nvidiapkg/usr/share/doc/* %files -n kmod-%{name}-legacy-%{kernel} %defattr(-, root, root, 0755) %dir %{nvidia_mod_dir} %attr(0744,root,root) %{nvidia_mod_dir}/nvidia.ko %{_sysconfdir}/modprobe.d/nvidia-legacy.conf %changelog * Fri Sep 8 2006 Raoul 1.0.7184-10.1 - Update * Wed Jul 26 2006 Raoul 1.0.7182-10.1 - Update * Mon Mar 27 2006 Raoul - 1.0.7174-10.1 - The naming scheme for kernel modules seems to have changed, so it was adopted. - Slight modifications for FC5 final * Fri Jan 27 2006 Raoul - 1.0.7174-10.1 - Modified the release naming scheme to 10.1 * Thu Jan 26 2006 Raoul - 1.0.7174-10 - Updated for X.org X11R7 from Rawhide - Needs two patches (Source: http://www.nvnews.net/vbulletin/showthread.php?t=62889 ) * Sat Dec 17 2005 Raoul - 1.0.7174-1 - Spec file based on the one from Livna.org - Version 1.0.7174 - Initial Package