]> git.pld-linux.org Git - packages/xorg-driver-video-nvidia.git/blobdiff - xorg-driver-video-nvidia.spec
- reorganize files in prep for easier install
[packages/xorg-driver-video-nvidia.git] / xorg-driver-video-nvidia.spec
index 3651fd42b7d976e834dfc54503831e2bcfecd7bd..b4deeabf9b08f8c7e079c1faff83b7abad18bdd8 100644 (file)
@@ -8,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             1%{?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:       185.18.36
-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: cf40656600b8a587e82a801f05fa2d95
+# Source0-md5: 2e80419f6f9ac16beecd839874d0c5ab
 Source1:       http://download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}-pkg0.run
-# Source1-md5: c9827059697001fa61518e56fdc24e93
+# 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
@@ -48,7 +53,7 @@ BuildRequires:        sed >= 4.0
 BuildConflicts:        XFree86-nvidia
 Requires:      %{pname}-libs = %{epoch}:%{version}-%{rel}
 Requires:      xorg-xserver-server
-Requires:      xorg-xserver-server(videodrv-abi) < 6.0
+Requires:      xorg-xserver-server(videodrv-abi) <= 6.0
 Requires:      xorg-xserver-server(videodrv-abi) >= 2.0
 Provides:      xorg-xserver-module(glx)
 Obsoletes:     XFree86-driver-nvidia
@@ -98,7 +103,8 @@ Starsze układy graficzne nie są obsługiwane przez ten pakiet:
 Summary:       OpenGL (GL and GLX) Nvidia libraries
 Summary(pl.UTF-8):     Biblioteki OpenGL (GL i GLX) Nvidia
 Group:         X11/Development/Libraries
-#Requires:     %{pname} = %{epoch}:%{version}-%{rel}
+Requires(post,postun): /sbin/ldconfig
+Requires:      libvdpau >= 0.3
 Provides:      OpenGL = 2.1
 Provides:      OpenGL-GLX = 1.4
 %if %{without multigl}
@@ -217,9 +223,21 @@ rm -rf NVIDIA-Linux-x86*-%{version}-pkg*
 %patch1 -p1
 echo 'EXTRA_CFLAGS += -Wno-pointer-arith -Wno-sign-compare -Wno-unused' >> usr/src/nv/Makefile.kbuild
 
+mv usr/share/doc .
+mv usr/bin .
+mv usr/share/man/man1 man
+mv usr/share/applications xdg
+mv usr/share/pixmaps/* xdg
+mv usr/src/nv src
+mv usr/lib/tls lib
+mv usr/lib/* lib
+mv usr/X11R6/lib/modules lib/xorg
+mv usr/X11R6/lib/* lib
+mv usr/include .
+
 %build
 %if %{with kernel}
-cd usr/src/nv
+cd src
 ln -sf Makefile.kbuild Makefile
 cat >> Makefile <<'EOF'
 
@@ -235,49 +253,48 @@ 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}
 %endif
 
-install usr/bin/nvidia-{settings,xconfig,bug-report.sh} $RPM_BUILD_ROOT%{_bindir}
-install usr/share/man/man1/nvidia-{settings,xconfig}.* $RPM_BUILD_ROOT%{_mandir}/man1
-install usr/share/applications/nvidia-settings.desktop $RPM_BUILD_ROOT%{_desktopdir}
-install usr/share/pixmaps/nvidia-settings.png $RPM_BUILD_ROOT%{_pixmapsdir}
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/nvidia-settings.sh
+install -p bin/nvidia-{settings,xconfig,bug-report.sh} $RPM_BUILD_ROOT%{_bindir}
+cp -a man/nvidia-{settings,xconfig}.* $RPM_BUILD_ROOT%{_mandir}/man1
+cp -a xdg/nvidia-settings.desktop $RPM_BUILD_ROOT%{_desktopdir}
+cp -a xdg/nvidia-settings.png $RPM_BUILD_ROOT%{_pixmapsdir}
+install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/nvidia-settings.sh
 
 for f in \
-       usr/lib/tls/libnvidia-tls.so.%{version}         \
-       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                   \
+       lib/libnvidia-tls.so.%{version}         \
+       lib/libnvidia-cfg.so.%{version}         \
+       lib/libGL{,core}.so.%{version}          \
+       lib/libcuda.so.%{version}                       \
+       lib/libXvMCNVIDIA.so.%{version} \
 ; do
-       install $f $RPM_BUILD_ROOT%{_libdir}
-done
+%if %{without multigl}
+       install -p $f $RPM_BUILD_ROOT%{_libdir}
 %else
-; do
-       install $f $RPM_BUILD_ROOT%{_libdir}/nvidia
-done
-install usr/X11R6/lib/libXvMCNVIDIA.a $RPM_BUILD_ROOT%{_libdir}
+       install -p $f $RPM_BUILD_ROOT%{_libdir}/nvidia
 %endif
+done
 
-install usr/X11R6/lib/modules/extensions/libglx.so.%{version} \
+cp -a lib/libXvMCNVIDIA.a $RPM_BUILD_ROOT%{_libdir}
+install -p lib/vdpau/libvdpau_nvidia.so.%{version} $RPM_BUILD_ROOT%{_libdir}/vdpau
+
+install -p lib/xorg/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
-install usr/X11R6/lib/modules/libnvidia-wfb.so.%{version} \
+install -p lib/xorg/drivers/nvidia_drv.so \
+       $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/nvidia_drv.so.%{version}
+install -p lib/xorg/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
+cp -a include/GL/*.h $RPM_BUILD_ROOT%{_includedir}/GL
+cp -a include/cuda/*.h $RPM_BUILD_ROOT%{_includedir}/cuda
 
 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
@@ -289,7 +306,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
@@ -299,15 +315,18 @@ 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
 
 %if %{with kernel}
-%install_kernel_modules -m usr/src/nv/nvidia -d misc
+%install_kernel_modules -m src/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
 
@@ -326,10 +345,19 @@ 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
 
-%post  libs -p /sbin/ldconfig
-%postun        libs -p /sbin/ldconfig
+%post  libs
+/sbin/ldconfig
+/sbin/ldconfig -N %{_libdir}/vdpau
+
+%postun        libs
+/sbin/ldconfig
+/sbin/ldconfig -N %{_libdir}/vdpau
 
 %post  -n kernel%{_alt_kernel}-video-nvidia
 %depmod %{_kernel_ver}
@@ -341,17 +369,15 @@ fi
 %files
 %defattr(644,root,root,755)
 %doc LICENSE
-%doc usr/share/doc/{README.txt,NVIDIA_Changelog,XF86Config.sample,html}
-%if %{with multigl}
-%attr(755,root,root) %{_libdir}/xorg/modules/extensions/libglx.so.*
-%ghost %{_libdir}/xorg/modules/extensions/libglx.so
-%else
-%attr(755,root,root) %{_libdir}/xorg/modules/extensions/libglx.so*
-%endif
+%doc doc/{README.txt,NVIDIA_Changelog,XF86Config.sample}
 %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}/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
+%defattr(644,root,root,755)
 %if %{with multigl}
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf.d/nvidia.conf
 %dir %{_libdir}/nvidia
@@ -359,15 +385,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
@@ -376,30 +397,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.*.*
 %endif
+%attr(755,root,root) %{_libdir}/vdpau/libvdpau_nvidia.so.*.*
+%attr(755,root,root) %ghost %{_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.039721 seconds and 4 git commands to generate.