]> git.pld-linux.org Git - packages/xorg-driver-video-nvidia.git/blobdiff - xorg-driver-video-nvidia.spec
- still allow poldek -i two versions (to be able to prepare for new kernel, while...
[packages/xorg-driver-video-nvidia.git] / xorg-driver-video-nvidia.spec
index ece18d56b763a687594d54e27ecbc6980ae0098c..b2bc349b51dc48397d686d2ce157167dcf9f5653 100644 (file)
@@ -1,4 +1,5 @@
 # TODO
+# - should -libs Require main package?
 # - solve this (shouldn't there be some obsoletes?):
 #   error: xorg-driver-video-nvidia-169.12-3.i686 (cnfl Mesa-libGL) conflicts with installed Mesa-libGL-7.0.3-2.i686
 #   error: xorg-driver-video-nvidia-169.12-3.i686 (cnfl Mesa-libGL) conflicts with installed Mesa-libGL-7.0.3-2.i686
@@ -7,34 +8,39 @@
 %bcond_without dist_kernel     # without distribution kernel
 %bcond_without kernel          # without kernel packages
 %bcond_without userspace       # don't build userspace programs
+%bcond_with    force_userspace # force userspace build (useful if alt_kernel is set)
 %bcond_with    multigl         # package libGL and libglx.so in a way allowing concurrent install with nvidia/fglrx drivers
 %bcond_with    verbose         # verbose build (V=1)
 
 %if "%{_alt_kernel}" != "%{nil}"
 %undefine      with_userspace
 %endif
+%if %{with force_userspace}
+%define                with_userspace 1
+%endif
 %if %{without userspace}
 # nothing to be placed to debuginfo package
 %define                _enable_debug_packages  0
 %endif
 
 %define                pname           xorg-driver-video-nvidia
-%define                rel             4%{?with_multigl:.mgl}
+%define                rel             2
 
 Summary:       Linux Drivers for nVidia GeForce/Quadro Chips
 Summary(hu.UTF-8):     Linux meghajtók nVidia GeForce/Quadro chipekhez
 Summary(pl.UTF-8):     Sterowniki do kart graficznych nVidia GeForce/Quadro
-Name:          %{pname}%{_alt_kernel}
-Version:       180.29
-Release:       %{rel}
+Name:          %{pname}
+Version:       190.53
+Release:       %{rel}%{?with_multigl:.mgl}
 Epoch:         1
 License:       nVidia Binary
 Group:         X11
 Source0:       http://download.nvidia.com/XFree86/Linux-x86/%{version}/NVIDIA-Linux-x86-%{version}-pkg0.run
-# Source0-md5: db9aa3683988b7b0872abae7182f5bc5
+# Source0-md5: 2e80419f6f9ac16beecd839874d0c5ab
 Source1:       http://download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}-pkg0.run
-# Source1-md5: 318e36822c095fcd410161b1326797b1
+# Source1-md5: 3d3e956366f9df0e4c64d2e0299d1029
 Source2:       %{pname}-xinitrc.sh
+Source3:       gl.pc.in
 Patch0:                X11-driver-nvidia-GL.patch
 Patch1:                X11-driver-nvidia-desktop.patch
 URL:           http://www.nvidia.com/object/unix.html
@@ -45,24 +51,13 @@ BuildRequires:      %{kgcc_package}
 BuildRequires: rpmbuild(macros) >= 1.379
 BuildRequires: sed >= 4.0
 BuildConflicts:        XFree86-nvidia
+Requires:      %{pname}-libs = %{epoch}:%{version}-%{rel}
 Requires:      xorg-xserver-server
-Requires:      xorg-xserver-server(videodrv-abi) <= 4.1
+Requires:      xorg-xserver-server(videodrv-abi) <= 6.0
 Requires:      xorg-xserver-server(videodrv-abi) >= 2.0
-Provides:      OpenGL = 2.1
-Provides:      OpenGL-GLX = 1.4
 Provides:      xorg-xserver-module(glx)
-%if %{without multigl}
-Obsoletes:     Mesa
-%endif
-Obsoletes:     X11-OpenGL-core < 1:7.0.0
-Obsoletes:     X11-OpenGL-libGL < 1:7.0.0
-Obsoletes:     XFree86-OpenGL-core < 1:7.0.0
-Obsoletes:     XFree86-OpenGL-libGL < 1:7.0.0
 Obsoletes:     XFree86-driver-nvidia
 Obsoletes:     XFree86-nvidia
-%if %{without multigl}
-Conflicts:     Mesa-libGL
-%endif
 Conflicts:     XFree86-OpenGL-devel <= 4.2.0-3
 ExclusiveArch: %{ix86} %{x8664}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -104,12 +99,36 @@ Starsze układy graficzne nie są obsługiwane przez ten pakiet:
 - TNT/TNT2/GeForce 256/GeForce 2 Ultra/Quadro 2 są obsługiwane przez
   sterowniki -legacy
 
+%package libs
+Summary:       OpenGL (GL and GLX) Nvidia libraries
+Summary(pl.UTF-8):     Biblioteki OpenGL (GL i GLX) Nvidia
+Group:         X11/Development/Libraries
+Requires:      libvdpau >= 0.3
+Provides:      OpenGL = 2.1
+Provides:      OpenGL-GLX = 1.4
+%if %{without multigl}
+Obsoletes:     Mesa
+%endif
+Obsoletes:     X11-OpenGL-core < 1:7.0.0
+Obsoletes:     X11-OpenGL-libGL < 1:7.0.0
+Obsoletes:     XFree86-OpenGL-core < 1:7.0.0
+Obsoletes:     XFree86-OpenGL-libGL < 1:7.0.0
+%if %{without multigl}
+Conflicts:     Mesa-libGL
+%endif
+
+%description libs
+NVIDIA OpenGL (GL and GLX only) implementation libraries.
+
+%description libs -l pl.UTF-8
+Implementacja OpenGL (tylko GL i GLX) firmy NVIDIA.
+
 %package devel
 Summary:       OpenGL (GL and GLX) header files
 Summary(hu.UTF-8):     OpenGL (GL és GLX) fejléc fájlok
 Summary(pl.UTF-8):     Pliki nagłówkowe OpenGL (GL i GLX)
 Group:         X11/Development/Libraries
-Requires:      %{pname} = %{epoch}:%{version}-%{rel}
+Requires:      %{pname}-libs = %{epoch}:%{version}-%{rel}
 Provides:      OpenGL-GLX-devel = 1.4
 Provides:      OpenGL-devel = 2.1
 Obsoletes:     X11-OpenGL-devel-base
@@ -221,7 +240,7 @@ rm -rf $RPM_BUILD_ROOT
 
 %if %{with userspace}
 install -d $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,extensions} \
-       $RPM_BUILD_ROOT{%{_includedir}/{GL,cuda,vdpau},%{_libdir},%{_bindir},%{_mandir}/man1} \
+       $RPM_BUILD_ROOT{%{_includedir}/{GL,cuda},%{_libdir}/vdpau,%{_bindir},%{_mandir}/man1} \
        $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},/etc/X11/xinit/xinitrc.d}
 %if %{with multigl}
 install -d $RPM_BUILD_ROOT{%{_libdir}/nvidia,%{_sysconfdir}/ld.so.conf.d}
@@ -238,32 +257,31 @@ for f in \
        usr/lib/libnvidia-cfg.so.%{version}             \
        usr/lib/libGL{,core}.so.%{version}              \
        usr/lib/libcuda.so.%{version}                   \
-       usr/lib/libvdpau{,_nvidia,_trace}.so.%{version} \
        usr/X11R6/lib/libXvMCNVIDIA.so.%{version}       \
-%if %{without multigl}
-       usr/X11R6/lib/libXvMCNVIDIA.a                   \
 ; do
+%if %{without multigl}
        install $f $RPM_BUILD_ROOT%{_libdir}
-done
 %else
-; do
        install $f $RPM_BUILD_ROOT%{_libdir}/nvidia
+%endif
 done
+
 install usr/X11R6/lib/libXvMCNVIDIA.a $RPM_BUILD_ROOT%{_libdir}
-%endif
+install usr/lib/vdpau/libvdpau_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/vdpau
 
 install usr/X11R6/lib/modules/extensions/libglx.so.%{version} \
        $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions
 install usr/X11R6/lib/modules/drivers/nvidia_drv.so \
-       $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers
+       $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/nvidia_drv.so.%{version}
 install usr/X11R6/lib/modules/libnvidia-wfb.so.%{version} \
        $RPM_BUILD_ROOT%{_libdir}/xorg/modules
 
 install usr/include/GL/*.h $RPM_BUILD_ROOT%{_includedir}/GL
 install usr/include/cuda/*.h $RPM_BUILD_ROOT%{_includedir}/cuda
-install usr/include/vdpau/*.h $RPM_BUILD_ROOT%{_includedir}/vdpau
 
 ln -sf libglx.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/libglx.so
+ln -sf nvidia_drv.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/nvidia_drv.so
+ln -sf libvdpau_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/vdpau/libvdpau_nvidia.so.1
 
 %if %{with multigl}
 echo %{_libdir}/nvidia >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia.conf
@@ -275,7 +293,6 @@ ln -sf nvidia/libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/libGL.so
 ln -sf nvidia/libXvMCNVIDIA.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libXvMCNVIDIA.so
 ln -sf libXvMCNVIDIA.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libXvMCNVIDIA_dynamic.so.1
 
-ln -sf nvidia/libvdpau.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libvdpau.so
 ln -sf nvidia/libcuda.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libcuda.so
 %else
 # OpenGL ABI for Linux compatibility
@@ -285,7 +302,6 @@ ln -sf libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/libGL.so
 ln -sf libXvMCNVIDIA.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libXvMCNVIDIA.so
 ln -sf libXvMCNVIDIA.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libXvMCNVIDIA_dynamic.so.1
 
-ln -sf libvdpau.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libvdpau.so
 ln -sf libcuda.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libcuda.so
 %endif
 %endif
@@ -294,11 +310,14 @@ ln -sf libcuda.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libcuda.so
 %install_kernel_modules -m usr/src/nv/nvidia -d misc
 %endif
 
+install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
+sed -e 's|@@prefix@@|%{_prefix}|g;s|@@libdir@@|%{_libdir}|g;s|@@includedir@@|%{_includedir}|g;s|@@version@@|%{version}|g' < %{SOURCE3} \
+       > $RPM_BUILD_ROOT%{_pkgconfigdir}/gl.pc
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %post
-/sbin/ldconfig
 cat << 'EOF'
 NOTE: You must also install kernel module for this driver to work
   kernel-video-nvidia-%{version}
@@ -313,9 +332,14 @@ EOF
 if [ ! -e %{_libdir}/xorg/modules/extensions/libglx.so ]; then
        ln -sf libglx.so.%{version} %{_libdir}/xorg/modules/extensions/libglx.so
 fi
+%else
+/sbin/ldconfig -N %{_libdir}/xorg/modules/extensions
+# until versioned SONAME is built for nvidia_drv.so, update symlink manually
+ln -sf nvidia_drv.so.%{version} %{_libdir}/xorg/modules/drivers/nvidia_drv.so
 %endif
 
-%postun        -p /sbin/ldconfig
+%post  libs -p /sbin/ldconfig
+%postun        libs -p /sbin/ldconfig
 
 %post  -n kernel%{_alt_kernel}-video-nvidia
 %depmod %{_kernel_ver}
@@ -328,6 +352,13 @@ fi
 %defattr(644,root,root,755)
 %doc LICENSE
 %doc usr/share/doc/{README.txt,NVIDIA_Changelog,XF86Config.sample,html}
+%attr(755,root,root) %{_libdir}/xorg/modules/libnvidia-wfb.so.*.*
+%attr(755,root,root) %{_libdir}/xorg/modules/extensions/libglx.so.*
+%attr(755,root,root) %ghost %{_libdir}/xorg/modules/extensions/libglx.so
+%attr(755,root,root) %{_libdir}/xorg/modules/drivers/nvidia_drv.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/xorg/modules/drivers/nvidia_drv.so
+
+%files libs
 %if %{with multigl}
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf.d/nvidia.conf
 %dir %{_libdir}/nvidia
@@ -335,15 +366,10 @@ fi
 %attr(755,root,root) %ghost %{_libdir}/nvidia/libGL.so.1
 %attr(755,root,root) %{_libdir}/nvidia/libGLcore.so.*.*
 %attr(755,root,root) %{_libdir}/nvidia/libXvMCNVIDIA.so.*.*
-%attr(755,root,root) %{_libdir}/nvidia/libXvMCNVIDIA_dynamic.so.1
+%attr(755,root,root) %ghost %{_libdir}/nvidia/libXvMCNVIDIA_dynamic.so.1
 %attr(755,root,root) %{_libdir}/nvidia/libcuda.so.*.*
 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-cfg.so.*.*
 %attr(755,root,root) %{_libdir}/nvidia/libnvidia-tls.so.*.*
-%attr(755,root,root) %{_libdir}/nvidia/libvdpau.so.*.*
-%attr(755,root,root) %{_libdir}/nvidia/libvdpau_nvidia.so.*.*
-%attr(755,root,root) %{_libdir}/nvidia/libvdpau_trace.so.*.*
-%attr(755,root,root) %{_libdir}/xorg/modules/extensions/libglx.so.*
-%ghost %{_libdir}/xorg/modules/extensions/libglx.so
 %else
 %attr(755,root,root) %{_libdir}/libGL.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/libGL.so.1
@@ -352,33 +378,28 @@ fi
 %attr(755,root,root) %{_libdir}/libGL.so
 %attr(755,root,root) %{_libdir}/libGLcore.so.*.*
 %attr(755,root,root) %{_libdir}/libXvMCNVIDIA.so.*.*
-%attr(755,root,root) %{_libdir}/libXvMCNVIDIA_dynamic.so.1
+%attr(755,root,root) %ghost %{_libdir}/libXvMCNVIDIA_dynamic.so.1
 %attr(755,root,root) %{_libdir}/libcuda.so.*.*
 %attr(755,root,root) %{_libdir}/libnvidia-cfg.so.*.*
 %attr(755,root,root) %{_libdir}/libnvidia-tls.so.*.*
-%attr(755,root,root) %{_libdir}/libvdpau.so.*.*
-%attr(755,root,root) %{_libdir}/libvdpau_nvidia.so.*.*
-%attr(755,root,root) %{_libdir}/libvdpau_trace.so.*.*
-%attr(755,root,root) %{_libdir}/xorg/modules/extensions/libglx.so*
 %endif
-%attr(755,root,root) %{_libdir}/xorg/modules/libnvidia-wfb.so.*.*
-%attr(755,root,root) %{_libdir}/xorg/modules/drivers/nvidia_drv.so
+%attr(755,root,root) %{_libdir}/vdpau/libvdpau_nvidia.so.*.*
+%attr(755,root,root) %{_libdir}/vdpau/libvdpau_nvidia.so.1
 
 %files devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libXvMCNVIDIA.so
 %attr(755,root,root) %{_libdir}/libcuda.so
-%attr(755,root,root) %{_libdir}/libvdpau.so
 %dir %{_includedir}/GL
 %{_includedir}/GL/gl.h
 %{_includedir}/GL/glext.h
 %{_includedir}/GL/glx.h
 %{_includedir}/GL/glxext.h
 %{_includedir}/cuda
-%{_includedir}/vdpau
 %if %{with multigl}
 %attr(755,root,root) %{_libdir}/libGL.so
 %endif
+%{_pkgconfigdir}/gl.pc
 
 %files static
 %defattr(644,root,root,755)
This page took 0.052646 seconds and 4 git commands to generate.