123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- from pisi.actionsapi import get
- from pisi.actionsapi import autotools
- from pisi.actionsapi import pisitools
- from pisi.actionsapi import shelltools
- from pisi.actionsapi import kerneltools
- WorkDir = "."
- KDIR = kerneltools.getKernelVersion()
- NoStrip = ["/lib/modules"]
- version = get.srcVERSION()
- driver_dir_name = "nvidia340"
- datadir = "/usr/share/%s" % driver_dir_name
- libdir = "/usr/lib32" if get.buildTYPE() == 'emul32' else "/usr/lib"
- arch = "x86" if get.buildTYPE() == 'emul32' else get.ARCH().replace("i6", "x")
- nvlibdir = "%s/%s" % (libdir, driver_dir_name)
- xorglibdir= "%s/xorg" % libdir
- def setup():
- shelltools.system("sh NVIDIA-Linux-%s-%s.run -x --target tmp"
- % (arch, get.srcVERSION()))
- shelltools.move("tmp/*", ".")
-
- shelltools.unlink("*-tls.so*")
- shelltools.move("tls/*", ".")
-
- shelltools.unlink("libnvidia-wfb.so.*")
- shelltools.echo("ld.so.conf", nvlibdir)
- shelltools.echo("XvMCConfig", "%s/libXvMCNVIDIA.so" % nvlibdir)
-
- def build():
-
- if get.buildTYPE() == 'emul32':
- return
- shelltools.export("SYSSRC", "/lib/modules/%s/build" % KDIR)
- shelltools.cd("kernel")
- autotools.make("module")
- shelltools.cd("uvm")
- autotools.make("module")
- def install():
- if not get.buildTYPE() == 'emul32':
-
- pisitools.insinto("/lib/modules/%s/extra/nvidia" % KDIR,
- "kernel/nvidia.ko")
- pisitools.insinto("/lib/modules/%s/extra/nvidia" % KDIR,
- "kernel/uvm/nvidia-uvm.ko")
-
- pisitools.dobin("nvidia-smi")
- pisitools.doman("nvidia-smi.1.gz")
- pisitools.dobin("nvidia-persistenced")
-
-
- pisitools.dolib("libGL.so.%s" % version, nvlibdir)
- pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so.1.2.0" % nvlibdir)
-
- pisitools.dolib("libOpenCL.so.1.0.0", libdir)
- pisitools.dosym("libOpenCL.so.1.0.0", "%s/libOpenCL.so.1.0" % libdir)
- pisitools.dosym("libOpenCL.so.1.0", "%s/libOpenCL.so.1" % libdir)
- pisitools.dolib("libnvidia-opencl.so.%s" % version, libdir)
- pisitools.dosym("libnvidia-opencl.so.%s" % version, "%s/libnvidia-opencl.so.1" % libdir)
- pisitools.dosym("libnvidia-opencl.so.1", "%s/libnvidia-opencl.so" % libdir)
-
- pisitools.dolib("libcuda.so.%s" % version, libdir)
- pisitools.dosym("libcuda.so.%s" % version, "%s/libcuda.so.1" % libdir)
- pisitools.dosym("libcuda.so.1", "%s/libcuda.so" % libdir)
- pisitools.dolib("libnvcuvid.so.%s" % version, libdir)
- pisitools.dosym("libnvcuvid.so.%s" % version, "%s/libnvcuvid.so.1" % libdir)
- pisitools.dosym("libnvcuvid.so.1", "%s/libnvcuvid.so" % libdir)
-
-
-
- pisitools.dolib("libnvidia-ml.so.%s" % version, libdir)
- pisitools.dosym("libnvidia-ml.so.%s" % version, "%s/libnvidia-ml.so.1" % libdir)
- pisitools.dolib("libnvidia-cfg.so.%s" % version, libdir)
- pisitools.dosym("libnvidia-cfg.so.%s" % version, "%s/libnvidia-cfg.so.1" % libdir)
- pisitools.dolib("libnvidia-compiler.so.%s" % version, libdir)
- pisitools.dosym("libnvidia-compiler.so.%s" % version, "%s/libnvidia-compiler.so.1" % libdir)
-
- for lib in ("glcore", "tls", "encode", "fbc", "glsi", "ifr", "eglcore"):
- pisitools.dolib("libnvidia-%s.so.%s" % (lib, version), libdir)
- pisitools.dosym("libnvidia-%s.so.%s" % (lib, version), "%s/libnvidia-%s.so.1" %(libdir, lib))
-
- pisitools.dolib("libvdpau_nvidia.so.%s" % version, "%s/vdpau" % nvlibdir)
- pisitools.dosym("../nvidia340/vdpau/libvdpau_nvidia.so.%s" % version, "%s/vdpau/libvdpau_nvidia.so.1" % nvlibdir.strip(driver_dir_name))
-
- pisitools.dolib("nvidia_drv.so", "%s/modules/drivers" % nvlibdir)
- pisitools.dosym("%s/modules/drivers/nvidia_drv.so" % nvlibdir, "%s/modules/drivers/nvidia_drv.so" % xorglibdir)
- pisitools.dolib("libglx.so.%s" % version, "%s/modules/extensions" % nvlibdir)
- pisitools.dosym("libglx.so.%s" % version, "%s/modules/extensions/libglx.so" % nvlibdir)
-
- if get.buildTYPE() == 'emul32':
- pisitools.insinto(datadir, "ld.so.conf", "32bit-ld.so.conf")
- return
- pisitools.insinto("/etc/OpenCL/vendors", "nvidia.icd")
- pisitools.insinto(datadir, "ld.so.conf")
- pisitools.insinto(datadir, "XvMCConfig")
-
- docdir = "xorg-video-%s" % driver_dir_name
- pisitools.dodoc("LICENSE", "NVIDIA_Changelog", "README.txt", destDir=docdir)
- pisitools.dohtml("html/*", destDir=docdir)
-
-
-
-
-
-
-
-
|