Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:galquezar
nvidia-gfxG02
x11-video-nvidiaG02.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File x11-video-nvidiaG02.spec of Package nvidia-gfxG02
# # spec file for package x11-video-nvidiaG02 # # Copyright (c) 2017 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %define xlibdir %{_libdir}/xorg %define xmodulesdir %{xlibdir}/modules Name: x11-video-nvidiaG02 Version: 304.137 Release: 0 License: SUSE-NonFree Summary: NVIDIA graphics driver for GeForce 6xxx and newer GPUs URL: https://www.nvidia.com/object/unix.html Group: System/Libraries Source0: http://download.nvidia.com/XFree86/Linux-x86/%{version}/NVIDIA-Linux-x86-%{version}.run Source1: http://download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}.run Source3: nvidia-settings.desktop Source4: fetch.sh Source5: README Source6: Xwrapper Source8: nvidia-gfxG02.rpmlintrc Source11: modprobe.nvidia Source12: pci_ids-%{version}.legacy NoSource: 0 NoSource: 1 NoSource: 4 NoSource: 5 BuildRequires: update-desktop-files Requires: nvidia-computeG02 = %{version} Requires: nvidia-gfxG02-kmp = %{version} Provides: nvidia_driver = %{version} Conflicts: x11-video-nvidia Conflicts: x11-video-nvidiaG01 Conflicts: fglrx_driver Requires: libvdpau1 Requires(post): update-alternatives Requires(postun): update-alternatives # on Optimus we want to switch back to X.Org's libglx.so (bsc#1111471) Requires(post): xorg-x11-server # needed for Optimus systems once NVIDIA's libs get disabled (our default); # these packages won't get installed when adding NVIDIA's repository before # the installation, which e.g. happens on SLED (bsc#1111471) Recommends: Mesa-libGL1 Recommends: Mesa-libEGL1 Recommends: Mesa-libGLESv1_CM1 Recommends: Mesa-libGLESv2-2 ExclusiveArch: %ix86 x86_64 BuildRoot: %{_tmppath}/%{name}-%{version}-build %description This package provides the closed-source NVIDIA graphics driver for GeForce 6xxx and newer GPUs. %package -n nvidia-computeG02 Summary: NVIDIA driver for computing with GPGPU Group: System/Libraries Requires: nvidia-gfxG02-kmp = %{version} # to provide a hint about split to zypper dup: Provides: x11-video-nvidiaG02:/usr/lib/libcuda.so Conflicts: libOpenCL1 %description -n nvidia-computeG02 NVIDIA driver for computing with GPGPUs using CUDA or OpenCL. %package -n libvdpau1 License: X11/MIT Summary: VDPAU wrapper and trace libraries Group: System/Libraries %description -n libvdpau1 This package contains the libvdpau wrapper library and the libvdpau_trace debugging library, along with the header files needed to build VDPAU applications. To actually use a VDPAU device, you need a vendor-specific implementation library. Currently, this is always libvdpau_nvidia. You can override the driver name by setting the VDPAU_DRIVER environment variable. %package -n libvdpau-devel License: X11/MIT Summary: VDPAU wrapper development files Group: Development/Libraries/X11 Requires: libvdpau1 %description -n libvdpau-devel Note that this package only contains the VDPAU headers that are required to build applications. At runtime, the shared libraries are needed too and may be installed using the proprietary nVidia driver packages. %package -n libvdpau_trace1 License: X11/MIT Summary: VDPAU trace library Group: System/Libraries Requires: libvdpau1 %description -n libvdpau_trace1 This package provides the library for tracing VDPAU function calls. %prep %setup -T -c %{name}-%{version} %ifarch %ix86 sh %{SOURCE0} -x %endif %ifarch x86_64 sh %{SOURCE1} -x %endif %build # nothing %install # no longer alter, i.e. strip NVIDIA's libraries export NO_BRP_STRIP_DEBUG=true cd NVIDIA-Linux-x86*-%{version} # would be nice if it worked ... #./nvidia-installer \ # --accept-license \ # --expert \ # --no-questions \ # --ui=none \ # --no-precompiled-interface \ # --no-runlevel-check \ # --no-rpms \ # --no-backup \ # --no-network \ # --no-recursion \ # --no-kernel-module \ # --log-file-name=$PWD/log \ # --x-prefix=%{buildroot}%{_prefix}/X11R6 \ # --opengl-prefix=%{buildroot}%{_prefix} \ # --utility-prefix=%{buildroot}%{_prefix} install -d %{buildroot}%{_bindir} install -d %{buildroot}%{_prefix}/X11R6/lib install -d %{buildroot}%{_prefix}/lib/tls install -d %{buildroot}%{_prefix}/X11R6/%{_lib} install -d %{buildroot}%{_libdir}/tls install -d %{buildroot}%{_prefix}/X11R6/%{_lib}/tls install -d %{buildroot}%{_prefix}/lib/vdpau install -d %{buildroot}%{_libdir}/vdpau install -d %{buildroot}%{xmodulesdir}/drivers install -d %{buildroot}%{xmodulesdir}/extensions install -d %{buildroot}%{_sysconfdir}/OpenCL/vendors/ install nvidia-settings %{buildroot}%{_bindir} install nvidia-bug-report.sh %{buildroot}%{_bindir} install nvidia-xconfig %{buildroot}%{_bindir} install nvidia-smi %{buildroot}%{_bindir} install nvidia-debugdump %{buildroot}%{_bindir} install nvidia-cuda-proxy-control %{buildroot}%{_bindir} install nvidia-cuda-proxy-server %{buildroot}%{_bindir} install tls/libnvidia-tls.so.* %{buildroot}%{_libdir}/tls install libnvidia* %{buildroot}%{_libdir} install libcuda* %{buildroot}%{_libdir} install libOpenCL* %{buildroot}%{_libdir} install libnvcuvid* %{buildroot}%{_libdir} install libnvidia-ml* %{buildroot}%{_libdir} install libvdpau_nvidia.so* %{buildroot}%{_libdir}/vdpau # Bug #596481 ln -s vdpau/libvdpau_nvidia.so.1 %{buildroot}%{_libdir}/libvdpau_nvidia.so # the GL lib from Mesa is in /usr/%{_lib} so we install in /usr/X11R6/%{_lib} rm libGL.la install libGL* %{buildroot}%{_prefix}/X11R6/%{_lib} # still a lot of applications make a dlopen to the .so file ln -snf libGL.so.1 %{buildroot}%{_prefix}/X11R6/%{_lib}/libGL.so # same for libOpenGL/libcuda/libnvcuvid ln -snf libOpenCL.so.1 %{buildroot}%{_libdir}/libOpenCL.so ln -snf libcuda.so.1 %{buildroot}%{_libdir}/libcuda.so ln -snf libnvcuvid.so.1 %{buildroot}%{_libdir}/libnvcuvid.so # NVML library for Tesla compute products (new since 270.xx) ln -s libnvidia-ml.so.1 %{buildroot}%{_libdir}/libnvidia-ml.so install nvidia_drv.so %{buildroot}%{xmodulesdir}/drivers mkdir -p %{buildroot}%{xmodulesdir}/extensions/nvidia install libglx.so.%{version} \ %{buildroot}%{xmodulesdir}/extensions/nvidia/nvidia-libglx.so install libXvMCNVIDIA* %{buildroot}%{_prefix}/X11R6/%{_lib} chmod 644 %{buildroot}%{_prefix}/X11R6/%{_lib}/libXvMCNVIDIA.a %ifarch x86_64 install 32/tls/libnvidia-tls.so.* %{buildroot}%{_prefix}/lib/tls install 32/libnvidia* %{buildroot}%{_prefix}/lib install 32/libcuda* %{buildroot}%{_prefix}/lib install 32/libOpenCL* %{buildroot}%{_prefix}/lib install 32/libvdpau_nvidia.so* %{buildroot}%{_prefix}/lib/vdpau install 32/libGL* %{buildroot}%{_prefix}/X11R6/lib # Bug #596481 ln -s vdpau/libvdpau_nvidia.so.1 %{buildroot}%{_prefix}/lib/libvdpau_nvidia.so # still a lot of applications make a dlopen to the .so file ln -snf libGL.so.1 %{buildroot}%{_prefix}/X11R6/lib/libGL.so # same for libOpenGL/libcuda ln -snf libOpenCL.so.1 %{buildroot}%{_prefix}/lib/libOpenCL.so ln -snf libcuda.so.1 %{buildroot}%{_prefix}/lib/libcuda.so %endif install -d %{buildroot}%{_datadir}/doc/packages/%{name} cp -a html %{buildroot}%{_datadir}/doc/packages/%{name} install -m 644 LICENSE %{buildroot}%{_datadir}/doc/packages/%{name} install -d %{buildroot}/%{_mandir}/man1 install -m 644 *.1.gz %{buildroot}/%{_mandir}/man1 %suse_update_desktop_file -i nvidia-settings System SystemSetup install -d %{buildroot}%{_datadir}/pixmaps install -m 644 nvidia-settings.png \ %{buildroot}%{_datadir}/pixmaps /sbin/ldconfig -n %{buildroot}%{_libdir} /sbin/ldconfig -n %{buildroot}%{_libdir}/vdpau /sbin/ldconfig -n %{buildroot}%{_prefix}/X11R6/%{_lib} %ifarch x86_64 /sbin/ldconfig -n %{buildroot}%{_prefix}/lib /sbin/ldconfig -n %{buildroot}%{_prefix}/lib/vdpau /sbin/ldconfig -n %{buildroot}%{_prefix}/X11R6/lib %endif %if 0%{?suse_version} < 1330 install -m 755 $RPM_SOURCE_DIR/Xwrapper %{buildroot}%{_bindir}/X.%{name} %endif install -m 644 nvidia.icd \ %{buildroot}%{_sysconfdir}/OpenCL/vendors/ # Create /etc/ld.so.conf.d/nvidia-gfxG02 mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d cat > %{buildroot}%{_sysconfdir}/ld.so.conf.d/nvidia-gfxG02.conf <<EOF %{_prefix}/X11R6/%{_lib} %ifarch s390x sparc64 x86_64 ppc64 %{_prefix}/X11R6/lib %endif %ifarch ppc %{_prefix}/X11R6/lib64 %endif EOF mkdir -p %{buildroot}%{_sysconfdir}/modprobe.d install -m 644 $RPM_SOURCE_DIR/modprobe.nvidia %{buildroot}%{_sysconfdir}/modprobe.d/50-nvidia.conf %post # Bug #345125 test -f %{xlibdir}/modules/drivers/nvidia_drv.so && \ touch %{xlibdir}/modules/drivers/nvidia_drv.so test -f %{xmodulesdir}/drivers/nvidia_drv.so && \ touch %{xmodulesdir}/drivers/nvidia_drv.so if ls var/lib/hardware/ids/* &> /dev/null; then > var/lib/hardware/hd.ids for i in var/lib/hardware/ids/*; do cat $i >> var/lib/hardware/hd.ids done fi %if 0%{?suse_version} < 1330 test -f etc/sysconfig/displaymanager && \ . etc/sysconfig/displaymanager if [ "${DISPLAYMANAGER_XSERVER}" == "X.%{name}" ]; then # broken entry in /etc/sysconfig/displaymanager:DISPLAYMANAGER_XSERVER # use a sane default instead DISPLAYMANAGER_XSERVER=Xorg fi sed -i s/REPLACE_ME/${DISPLAYMANAGER_XSERVER}/g usr/bin/X.%{name} test -f etc/sysconfig/displaymanager && \ sed -i 's/DISPLAYMANAGER_XSERVER=.*/DISPLAYMANAGER_XSERVER=X.%{name}/g' \ etc/sysconfig/displaymanager test -x /etc/X11/xdm/SuSEconfig.xdm && \ /etc/X11/xdm/SuSEconfig.xdm %endif # Recreate initrd without KMS %_sbindir/update-alternatives \ --force --install %{_libdir}/xorg/modules/extensions/libglx.so libglx.so %{_libdir}/xorg/modules/extensions/nvidia/nvidia-libglx.so 100 # make sure nvidia becomes the default (in case the link group is/was still in manual mode) %_sbindir/update-alternatives \ --set libglx.so %{_libdir}/xorg/modules/extensions/nvidia/nvidia-libglx.so # On Optimus systems disable NVIDIA driver/libs completely by default (bnc#902667) if lspci -n | grep -e '^..:..\.. 0300: ' | cut -d " " -f3 | cut -d ":" -f1 | grep -q 8086; then %_sbindir/update-alternatives \ --set libglx.so %{_libdir}/xorg/modules/extensions/xorg/xorg-libglx.so sed -i 's/\(^\/.*\)/#\1/g' %{_sysconfdir}/ld.so.conf.d/nvidia-gfxG02.conf fi /sbin/ldconfig exit 0 %postun /sbin/ldconfig if [ "$1" -eq 0 ]; then if ls var/lib/hardware/ids/* &> /dev/null; then > var/lib/hardware/hd.ids for i in var/lib/hardware/ids/*; do cat $i >> var/lib/hardware/hd.ids done else rm -f var/lib/hardware/hd.ids fi if test -x /opt/gnome/bin/gnome-xgl-switch; then /opt/gnome/bin/gnome-xgl-switch --disable-xgl elif test -x /usr/bin/xgl-switch; then /usr/bin/xgl-switch --disable-xgl fi # Make sure that after driver uninstall /var/lib/X11/X link points # to a valid Xserver binary again (bnc#903732) %if 0%{?suse_version} < 1330 test -x /etc/X11/xdm/SuSEconfig.xdm && \ /etc/X11/xdm/SuSEconfig.xdm %endif fi # recreate initrd with KMS on openSUSE 13.1 (bnc#864701) which mkinitrd && mkinitrd if [ "$1" = 0 ] ; then # Avoid accidental removal of G<n+1> alternative (bnc#802624) if [ ! -f %{_libdir}/xorg/modules/extensions/nvidia/nvidia-libglx.so.%{version} ]; then "%_sbindir/update-alternatives" --remove libglx.so %{_libdir}/xorg/modules/extensions/nvidia/nvidia-libglx.so.%{version} fi fi exit 0 %post -n nvidia-computeG02 -p /sbin/ldconfig %postun -n nvidia-computeG02 -p /sbin/ldconfig %post -n libvdpau1 -p /sbin/ldconfig %postun -n libvdpau1 -p /sbin/ldconfig %files %defattr(-,root,root) %doc %{_datadir}/doc/packages/%{name} %doc %{_mandir}/man1/* %config %{_sysconfdir}/ld.so.conf.d/nvidia-gfxG02.conf %if 0%{?suse_version} < 1330 %{_bindir}/X.%{name} %endif %{_bindir}/nvidia* %exclude %{_bindir}/nvidia-smi %dir %{_prefix}/X11R6/ %dir %{_prefix}/X11R6/%{_lib} %{_prefix}/X11R6/%{_lib}/lib* %dir %{_libdir}/tls %dir %{_libdir}/vdpau %{_libdir}/tls/lib* %{_libdir}/lib* %{_libdir}/vdpau/* %exclude %{_libdir}/libcuda.so* %exclude %{_libdir}/libOpenCL.so* %exclude %{_libdir}/libnvidia-ml.so* %exclude %{_libdir}/libnvidia-opencl.so* %ifarch x86_64 %dir %{_prefix}/X11R6/lib %{_prefix}/X11R6/lib/lib* %dir %{_prefix}/lib/tls %dir %{_prefix}/lib/vdpau %{_prefix}/lib/tls/lib* %{_prefix}/lib/lib* %{_prefix}/lib/vdpau/* %exclude %{_prefix}/lib/libcuda.so* %exclude %{_prefix}/lib/libOpenCL.so* %exclude %{_prefix}/lib/libnvidia-ml.so* %exclude %{_prefix}/lib/libnvidia-opencl.so* %endif %dir %{xlibdir} %dir %{xlibdir}/modules %dir %{xmodulesdir} %{xmodulesdir}/drivers %{xmodulesdir}/extensions %{_datadir}/applications/*.desktop %{_datadir}/pixmaps/*.png %dir %{_sysconfdir}/modprobe.d %config %{_sysconfdir}/modprobe.d/50-nvidia.conf %files -n nvidia-computeG02 %defattr(-,root,root) %dir %{_sysconfdir}/OpenCL %dir %{_sysconfdir}/OpenCL/vendors %config %{_sysconfdir}/OpenCL/vendors/nvidia.icd %{_libdir}/libcuda.so* %{_libdir}/libOpenCL.so* %{_libdir}/libnvidia-ml.so* %{_libdir}/libnvidia-opencl.so* %{_bindir}/nvidia-smi %ifarch x86_64 %{_prefix}/lib/libcuda.so* %{_prefix}/lib/libOpenCL.so* %{_prefix}/lib/libnvidia-ml.so* %{_prefix}/lib/libnvidia-opencl.so* %endif %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor