Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2017
283
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 7.66 KB | None | 0 0
  1. HOMEPAGE="http://www.nvidia.com/object/unix.html"
  2. DESCRIPTION="NVidia Graphics Driver Binary"
  3. LICENSE = "NVIDIA"
  4.  
  5. inherit module
  6.  
  7. SRC_URI = "http://us.download.nvidia.com/XFree86/Linux-${NVIDIA_ARCH}/${PV}/NVIDIA-Linux-${NVIDIA_ARCH}-${PV}.run"
  8. SRC_URI[md5sum] = "35b32baba21089dfe5d960ae89d98cde"
  9. SRC_URI[sha256sum] = "91be5a20841678d671f32074e2901791fe12c00ce1f3b6b3c4199ce302da85a7"
  10.  
  11. LIC_FILES_CHKSUM = "file://LICENSE;md5=60ad17cc726658e8cf73578bea47b85f;sha256=705c87a94e795db7a6da20c9cbfefe5c815649bd77bc821f698b739de66fac1f"
  12.  
  13. PROVIDES = "virtual/libgl virtual/libgles1 virtual/libgles2 virtual/egl"
  14.  
  15. INSTALLER_NAME="NVIDIA-Linux-${NVIDIA_ARCH}-${PV}"
  16. COMPATIBLE_HOST = '.*86.*-linux'
  17.  
  18.  
  19. # Get architecture to download the drivers for this arch
  20. def nvidia_arch(d):
  21.     import bb, re
  22.     arch = bb.data.getVar('TARGET_ARCH', d, 1)
  23.     if re.match("^i.86$", arch):
  24.         arch = "x86"
  25.     return arch
  26. NVIDIA_ARCH := "${@nvidia_arch(d)}"
  27.  
  28.  
  29. do_install_prepend() {
  30.     # Go to the directory before module installs module
  31.     cd ${WORKDIR}/${INSTALLER_NAME}/kernel
  32. }
  33.  
  34. do_install_append() {
  35.     cd ${WORKDIR}/${INSTALLER_NAME}
  36.    
  37.     install -d ${D}${libdir}
  38.     install -d ${D}${libdir}/tls
  39.     install -d ${D}${libdir}/vdpau
  40.     #install -d ${D}/usr/share/X11/xorg.conf.d
  41.     #install nvidia.conf ${D}/usr/share/X11/xorg.conf.d
  42.     #install noblank.conf ${D}/usr/share/X11/xorg.conf.d
  43.    
  44.     #install -d ${D}/lib/modules/4.4.26-yocto-standard/kernel/drivers/video/
  45.     #install nvidia-drm.ko nvidia-modeset.ko nvidia-uvm.ko nvidia.ko ${D}/lib/modules/4.4.26-yocto-standard/kernel/drivers/video/
  46.    
  47.    
  48.     install libnvidia-opencl.so.${PV} ${D}${libdir}
  49.     ln -s libnvidia-opencl.so.${PV} ${D}${libdir}/libnvidia-opencl.so
  50.     ln -s libnvidia-opencl.so.${PV} ${D}${libdir}/libnvidia-opencl.so.1
  51.     install libnvidia-gtk2.so.${PV} ${D}${libdir}
  52.     ln -s libnvidia-gtk2.so.${PV} ${D}${libdir}/libnvidia-gtk2.so
  53.     ln -s libnvidia-gtk2.so.${PV} ${D}${libdir}/libnvidia-gtk2.so.1
  54.    
  55.     install libnvidia-encode.so.${PV} ${D}${libdir}
  56.     ln -s libnvidia-encode.so.${PV} ${D}${libdir}/libnvidia-encode.so
  57.     ln -s libnvidia-encode.so.${PV} ${D}${libdir}/libnvidia-encode.so.1
  58.     install libnvidia-cfg.so.${PV} ${D}${libdir}
  59.     ln -s libnvidia-cfg.so.${PV} ${D}${libdir}/libnvidia-cfg.so
  60.     ln -s libnvidia-cfg.so.${PV} ${D}${libdir}/libnvidia-cfg.so.1
  61.    
  62.     install libnvidia-glsi.so.${PV} ${D}${libdir}
  63.     ln -s libnvidia-glsi.so.${PV} ${D}${libdir}/libnvidia-glsi.so
  64.     ln -s libnvidia-glsi.so.${PV} ${D}${libdir}/libnvidia-glsi.so.1
  65.     install libnvidia-compiler.so.${PV} ${D}${libdir}
  66.     ln -s libnvidia-compiler.so.${PV} ${D}${libdir}/libnvidia-compiler.so
  67.     ln -s libnvidia-compiler.so.${PV} ${D}${libdir}/libnvidia-compiler.so.1
  68.    
  69.     install libnvidia-fbc.so.${PV} ${D}${libdir}
  70.     ln -s libnvidia-fbc.so.${PV} ${D}${libdir}/libnvidia-fbc.so
  71.     ln -s libnvidia-fbc.so.${PV} ${D}${libdir}/libnvidia-fbc.so.1
  72.    
  73.     install libnvcuvid.so.${PV} ${D}${libdir}
  74.     ln -s libnvcuvid.so.${PV} ${D}${libdir}/libnvcuvid.so
  75.     ln -s libnvcuvid.so.${PV} ${D}${libdir}/libnvcuvid.so.1
  76.     install libcuda.so.${PV} ${D}${libdir}
  77.     ln -s libcuda.so.${PV} ${D}${libdir}/libcuda.so
  78.     ln -s libcuda.so.${PV} ${D}${libdir}/libcuda.so.1
  79.     install libnvidia-ifr.so.${PV} ${D}${libdir}
  80.     ln -s libnvidia-ifr.so.${PV} ${D}${libdir}/libnvidia-ifr.so
  81.     ln -s libnvidia-ifr.so.${PV} ${D}${libdir}/libnvidia-ifr.so.1
  82.    
  83.  
  84.     install libvdpau_nvidia.so.${PV} ${D}${libdir}/vdpau
  85.     ln -s vdpau/libvdpau_nvidia.so.${PV} ${D}${libdir}/libvdpau_nvidia.so
  86.     ln -s vdpau/libvdpau_nvidia.so.${PV} ${D}${libdir}/vdpau/libvdpau_nvidia.so.1
  87.    
  88.    
  89.     install libnvidia-ptxjitcompiler.so.${PV} ${D}${libdir}
  90.     ln -s libnvidia-ptxjitcompiler.so.${PV} ${D}${libdir}/libnvidia-ptxjitcompiler.so
  91.     ln -s libnvidia-ptxjitcompiler.so.${PV} ${D}${libdir}/libnvidia-ptxjitcompiler.so.1
  92.    
  93.     install libnvidia-fatbinaryloader.so.${PV} ${D}${libdir}
  94.     ln -s libnvidia-fatbinaryloader.so.${PV} ${D}${libdir}/libnvidia-fatbinaryloader.so
  95.     ln -s libnvidia-fatbinaryloader.so.${PV} ${D}${libdir}/libnvidia-fatbinaryloader.so.1
  96.     install libnvidia-ml.so.${PV} ${D}${libdir}
  97.     ln -s libnvidia-ml.so.${PV} ${D}${libdir}/libnvidia-ml.so
  98.     ln -s libnvidia-ml.so.${PV} ${D}${libdir}/libnvidia-ml.so.1
  99.  
  100.     install tls/libnvidia-tls.so.${PV} ${D}${libdir}
  101.     ln -s libnvidia-tls.so.${PV} ${D}${libdir}/libnvidia-tls.so
  102.     ln -s libnvidia-tls.so.${PV} ${D}${libdir}/libnvidia-tls.so.1
  103.  
  104.     install libOpenCL.so.1.0.0 ${D}${libdir}
  105.  
  106.     #install libnvidia-gtk3.so.${PV} ${D}${libdir}
  107.     #ln -s libnvidia-gtk3.so.${PV} ${D}${libdir}/libnvidia-gtk3.so
  108.     #ln -s libnvidia-gtk3.so.${PV} ${D}${libdir}/libnvidia-gtk3.so.1
  109.  
  110.     install -d ${D}${libdir}/xorg/modules/drivers
  111.     install nvidia_drv.so ${D}${libdir}/xorg/modules/drivers
  112.  
  113.     # Lo otro
  114.     install libGLdispatch.so.0 ${D}${libdir}
  115.     install libEGL_nvidia.so.${PV} ${D}${libdir}
  116.     ln -s libEGL_nvidia.so.${PV} ${D}${libdir}/libEGL_nvidia.so
  117.     ln -s libEGL_nvidia.so.${PV} ${D}${libdir}/libEGL_nvidia.so.1
  118.     install libGLESv2_nvidia.so.${PV} ${D}${libdir}
  119.     ln -s libGLESv2_nvidia.so.${PV} ${D}${libdir}/libGLESv2_nvidia.so
  120.     ln -s libGLESv2_nvidia.so.${PV} ${D}${libdir}/libGLESv2_nvidia.so.1
  121.     install libGLX_nvidia.so.${PV} ${D}${libdir}
  122.     ln -s libGLX_nvidia.so.${PV} ${D}${libdir}/libGLX_nvidia.so
  123.     install libnvidia-glcore.so.${PV} ${D}${libdir}
  124.     ln -s libnvidia-glcore.so.${PV} ${D}${libdir}/libnvidia-glcore.so
  125.     ln -s libnvidia-glcore.so.${PV} ${D}${libdir}/libnvidia-glcore.so.1
  126.     install libnvidia-eglcore.so.${PV} ${D}${libdir}
  127.     ln -s libnvidia-eglcore.so.${PV} ${D}${libdir}/libnvidia-eglcore.so
  128.     ln -s libnvidia-eglcore.so.${PV} ${D}${libdir}/libnvidia-eglcore.so.1
  129.     install libGL.so.${PV} ${D}${libdir}
  130.     ln -s libGL.so.${PV} ${D}${libdir}/libGL.so
  131.     ln -s libGL.so.${PV} ${D}${libdir}/libGL.so.1
  132.     install libGLESv1_CM_nvidia.so.${PV} ${D}${libdir}
  133.     ln -s libGLESv1_CM_nvidia.so.${PV} ${D}${libdir}/libGLESv1_CM_nvidia.so
  134.     ln -s libGLESv1_CM_nvidia.so.${PV} ${D}${libdir}/libGLESv1_CM_nvidia.so.1
  135.     install libEGL.so.${PV} ${D}${libdir}
  136.     ln -s libEGL.so.${PV} ${D}${libdir}/libEGL.so
  137.     ln -s libEGL.so.${PV} ${D}${libdir}/libEGL.so.1
  138.     install libGLX.so.0 ${D}${libdir}
  139.     ln -s libGLX.so.0 ${D}${libdir}/libGLX.so.1
  140.     install libGLESv1_CM.so.1 ${D}${libdir}
  141.     ln -s libGLESv1_CM.so.1 ${D}${libdir}/libGLESv1_CM.so
  142.     install libGLESv2.so.2 ${D}${libdir}
  143.     install libGLESv1_CM.so.1 ${D}${libdir}
  144.     install libOpenGL.so.0 ${D}${libdir}
  145.     install libOpenCL.so.1.0.0 ${D}${libdir}
  146.  
  147.  
  148.     #install libwfb.so ${D}${libdir}/xorg/modules
  149.        
  150.     install -d ${D}${libdir}/xorg/modules/extensions
  151.     install libglx.so.${PV} ${D}${libdir}/xorg/modules/extensions
  152.     ln -s libglx.so.${PV} ${D}${libdir}/xorg/modules/extensions/libglx.so.1
  153.     ln -s libglx.so.${PV} ${D}${libdir}/xorg/modules/extensions/libglx.so
  154.    
  155.     install -m 0755 nvidia-xconfig ${D}${libdir}
  156.    
  157. }
  158.  
  159.  
  160. do_compile_prepend () {
  161.     # Go to the kerne directory and let module compile it
  162.     cd ${WORKDIR}/${INSTALLER_NAME}/kernel
  163. }
  164.  
  165. nvidia_do_unpack() {
  166.     cd ${WORKDIR}
  167.     # Nvidia installer fails if this directory already exists
  168.     rm -rf ${INSTALLER_NAME}
  169.     sh ./${INSTALLER_NAME}.run -x
  170.     install ${WORKDIR}/${INSTALLER_NAME}/LICENSE ${S}    
  171. }
  172.  
  173. python do_unpack() {
  174.     bb.build.exec_func('base_do_unpack', d)
  175.     bb.build.exec_func('nvidia_do_unpack', d)
  176. }
  177.  
  178.  
  179.  
  180. PACKAGECONFIG_append_nvidia-proprietary = " xinerama"
  181.  
  182. FILES_${PN} += "${libdir}"
  183. INSANE_SKIP_${PN}_append = " already-stripped ldflags dev-so xorg-driver-abi"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement