# # spec file for package proprietary nvidia display driver # # Copyright (c) 2006-2008 LISA GmbH, Bingen, Germany. # # Build with: # rpmbuild -ba --target i386-suse-linux SPECS/nvidia-x11-drv.spec # # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # %define majmin 173 %define relver 14.05 %define nvidialib32dir %{_prefix}/lib %define desktop_vendor Nvidia %if %suse_version >= 1020 %define xlibbase /usr/X11R6/lib %define xdrvbase %{_libdir}/xorg/modules/updates %else %define xlibbase /usr/X11R6/lib %define xdrvbase %{xlibbase}/modules %endif Summary: Proprietary NVIDIA hardware accelerated OpenGL display driver Name: nvidia-x11-drv Version: %{majmin}.%{relver} Release: 1 License: Proprietary Group: User Interface/X Hardware Support Packager: Hans-Peter Jansen Vendor: LISA GmbH, Bingen, Germany Distribution: %( head -n1 /etc/SuSE-release ) URL: http://www.nvidia.com/object/unix.html # i386 Source0: http://download.nvidia.com/XFree86/Linux-x86/%{majmin}-%{relver}/NVIDIA-Linux-x86-%{majmin}.%{relver}-pkg1.run # x86_64 Source1: http://download.nvidia.com/XFree86/Linux-x86_64/%{majmin}-%{relver}/NVIDIA-Linux-x86_64-%{majmin}.%{relver}-pkg2.run Source2: nvidia.sh Source3: nvidia.csh NoSource: 0 NoSource: 1 ExclusiveArch: i386 x86_64 BuildRequires: update-desktop-files #Requires: nvidia-kmp = %{majmin}-%{relver} Obsoletes: x11-video-nvidia BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root %description Proprietary NVIDIA GL libraries, Xorg and Linux module for hardware accelerated OpenGL support. %prep %setup -T -c # Extract the proper "sources" for the current architecture # We need to extract to a "not yet existing" directory first, so no "." %ifarch i386 sh %{SOURCE0} --extract-only --target tmp/ %endif %ifarch x86_64 sh %{SOURCE1} --extract-only --target tmp/ %endif # Move all the files back from tmp/ to the main directory %{__mv} tmp/* . %{__rm} -rf tmp/ %install %{__rm} -rf %{buildroot} %{__mkdir_p} %{buildroot}%{xdrvbase}/{drivers,extensions} %{__mkdir_p} %{buildroot}%{xlibbase} %{__mkdir_p} %{buildroot}%{_libdir}/tls # Install X driver and extension %{__install} -p -m 0755 usr/X11R6/lib/modules/drivers/nvidia_drv.so \ %{buildroot}%{xdrvbase}/drivers %{__install} -p -m 0755 usr/X11R6/lib/modules/extensions/libglx.so.%{version} \ %{buildroot}%{xdrvbase}/extensions %{__ln_s} libglx.so.%{version} %{buildroot}%{xdrvbase}/extensions/libglx.so %{__install} -p -m 0755 usr/X11R6/lib/modules/libnvidia-wfb.so.%{version} \ %{buildroot}%{xdrvbase} %{__ln_s} libnvidia-wfb.so.%{version} \ %{buildroot}%{xdrvbase}/libnvidia-wfb.so.1 %{__ln_s} libnvidia-wfb.so.1 %{buildroot}%{xdrvbase}/libwfb.so # Install GL and XvMCNVIDIA %{__install} -p -m 0755 usr/lib/libGL*.so.%{version} \ %{buildroot}%{xlibbase} %{__install} -p -m 0755 usr/X11R6/lib/libXvMCNVIDIA.so.%{version} \ %{buildroot}%{xlibbase} for libname in libGLcore libGL libXvMCNVIDIA; do %{__ln_s} `basename ${libname}`.so.%{version} \ %{buildroot}%{xlibbase}/${libname}.so.1 done %{__ln_s} libXvMCNVIDIA.so.%{version} \ %{buildroot}%{xlibbase}/libXvMCNVIDIA_dynamic.so.1 %{__install} -p -m 0644 usr/lib/libGL.la \ %{buildroot}%{xlibbase} %{__install} -p -m 0644 usr/X11R6/lib/libXvMCNVIDIA.a \ %{buildroot}%{xlibbase} # misc nvidia and tls libs %{__install} -p -m 0755 usr/lib/libnvidia*.so.%{version} \ %{buildroot}%{_libdir} %{__install} -p -m 0755 usr/lib/tls/*.so.%{version} \ %{buildroot}%{_libdir}/tls for libname in libnvidia-cfg libnvidia-tls tls/libnvidia-tls; do %{__ln_s} `basename ${libname}`.so.%{version} \ %{buildroot}%{_libdir}/${libname}.so.1 done %ifarch x86_64 # Install 32bit compat GL and tls libs %{__mkdir_p} %{buildroot}%{nvidialib32dir} %{__install} -p -m 0755 usr/lib32/*.so.%{version} \ %{buildroot}%{nvidialib32dir} %{__install} -p -m 0755 usr/lib32/tls/*.so.%{version} \ %{buildroot}%{nvidialib32dir}/tls for libname in libGLcore libGL libnvidia-cfg libnvidia-tls tls/libnvidia-tls; do %{__ln_s} `basename ${libname}`.so.%{version} \ %{buildroot}%{nvidialib32dir}/${libname}.so.1 %{__ln_s} `basename ${libname}`.so.%{version} \ %{buildroot}%{nvidialib32dir}/${libname}.so done %endif # GL header %{__mkdir_p} %{buildroot}%{_includedir}/nvidia/GL %{__install} -p -m 0644 usr/include/GL/*.h %{buildroot}%{_includedir}/nvidia/GL # Install useful nvidia tools %{__mkdir_p} %{buildroot}%{_bindir}/ %{__install} -p -m 0755 usr/bin/{nvidia-bug-report.sh,nvidia-settings} \ %{buildroot}%{_bindir}/ %{__mkdir_p} %{buildroot}%{_sbindir}/ %{__install} -p -m 0755 usr/bin/nvidia-xconfig \ %{buildroot}%{_sbindir}/ # Install man pages (the other, nvidia-installer, isn't relevant) %{__mkdir_p} %{buildroot}%{_mandir}/man1/ %{__install} -p -m 0644 usr/share/man/man1/nvidia-{settings,xconfig}* \ %{buildroot}%{_mandir}/man1/ # Install pixmap for the desktop entry %{__mkdir_p} %{buildroot}%{_datadir}/pixmaps/ %{__install} -p -m 0644 usr/share/pixmaps/nvidia-settings.png \ %{buildroot}%{_datadir}/pixmaps/ # Remove "__UTILS_PATH__/" before the Exec command name # Replace "__PIXMAP_PATH__/" with the proper pixmaps path %{__perl} -pi -e 's|(Exec=).*/(.*)|$1$2|g; s|(Icon=).*/(.*)|$1%{_datadir}/pixmaps/$2|g; s|(Categories=).*|$1HardwareSettings;|g' \ usr/share/applications/nvidia-settings.desktop # Desktop entry for nvidia-settings %{__mkdir_p} %{buildroot}%{_datadir}/applications/ desktop-file-install --vendor %{desktop_vendor} \ --dir %{buildroot}%{_datadir}/applications \ usr/share/applications/nvidia-settings.desktop # Install profile.d files %{__install} -D -p -m 0755 %{SOURCE2} \ %{buildroot}%{_sysconfdir}/profile.d/nvidia.sh %{__install} -D -p -m 0755 %{SOURCE3} \ %{buildroot}%{_sysconfdir}/profile.d/nvidia.csh %clean %{__rm} -rf %{buildroot} %if %suse_version < 1020 %pre #set -x if [ ! -d /var/lib/nvidia-backup ]; then d=/var/lib/nvidia-backup p=%{xdrvbase}/extensions %{__mkdir_p} $d for f in libglx.a libGLcore.a; do if [ -f $p/$f ]; then %{__mkdir_p} $d/$p %{__mv} $p/$f $d/$p fi done for p in /usr/lib /usr/lib/GL; do for f in libGLcore.so.1 libGL.so; do if [ -f $p/$f ]; then %{__mkdir_p} $d/$p %{__mv} $p/$f* $d/$p fi done done fi exit 0 %endif %post %if %suse_version < 1020 %{__ln_s} -f nvidia_drv.so %{xdrvbase}/drivers/nvidia_drv.o %endif /sbin/ldconfig %if %suse_version < 1020 %preun # Last removal, disable the proprietary driver if [ $1 -eq 0 ]; then if [ -d /var/lib/nvidia-backup ]; then d=/var/lib/nvidia-backup p=%{xdrvbase}/extensions for f in libglx.a libGLcore.a; do if [ -f $d/$p/$f ]; then %{__mv} $d/$p/$f $p fi done for p in /usr/lib /usr/lib/GL; do for f in libGLcore.so.1 libGL.so; do if [ -f $d/$p/$f ]; then %{__mv} $d/$p/$f* $p fi done done %{__rm} -r $d fi if [ -f /etc/X11/xorg.conf.backup ]; then %{__mv} /etc/X11/xorg.conf /etc/X11/xorg.conf.nvidia\$\$ %{__mv} /etc/X11/xorg.conf.backup /etc/X11/xorg.conf fi fi exit 0 %endif %postun %if %suse_version < 1020 %{__ln_s} -f nv_drv.o %{xdrvbase}/drivers/nvidia_drv.o %endif /sbin/ldconfig %files %defattr(-,root,root) %doc LICENSE usr/share/doc/* %{_libdir} %{xlibbase} %ifarch x86_64 %config %{_sysconfdir}/ld.so.conf.d/nvidia.conf %{nvidialib32dir} %endif %{_sysconfdir}/profile.d/* %{_bindir} %{_sbindir} %{_datadir} %{_includedir} %changelog * Wed Jun 04 2008 Hans-Peter Jansen - update to 173.14.05 * Sat Feb 16 2008 Hans-Peter Jansen - update to 169.07 * Thu Mar 22 2007 Hans-Peter Jansen - inital version 1.0-9755