import os loadSuperClass('kernelmodulepackage', label='contrib.rpath.com@rpl:devel') class nvidia(KernelModulePackageRecipe): #class nvidia(PackageRecipe): name = "nvidia" version = "7664" def setup(r): r.macros.kver = os.uname()[2] r.Requires('kernel:runtime)', '/lib/modules/%(kver)s') r.macros.nv_run = 'NVIDIA-Linux-x86-1.0-%(version)s-pkg1.run' r.macros.nv_path = 'NVIDIA-Linux-x86-1.0-%(version)s-pkg1' r.macros.nv_module_dir = '%(nv_path)s/usr/src/nv/' r.macros.module_install_path='%(destdir)s/lib/modules/%(kver)s/drivers/video/' r.addSource( 'http://download.nvidia.com/XFree86/Linux-x86/1.0-7664/%(nv_run)s' ) # r.Run('./%(nv_run)s -q -N --no-runlevel-check -a --ui=none -s -K --kernel-install-path=%(module_install_path)s') r.Run('chmod +x %(nv_run)s') r.Run('./%(nv_run)s -x') #compiling module and installing it r.Run('ln -s Makefile.kbuild Makefile; make -f Makefile.kbuild module; mkdir -p %(module_install_path)s;cp nvidia.ko %(module_install_path)s; mkdir -p %(destdir)s/usr/X11R6/lib/modules/extensions', dir='%(nv_module_dir)s') r.Run('cd %(nv_path)s; rm -rvf usr/src') r.Run('cd %(nv_path)s/usr/X11R6/lib/modules/extensions; ln -s libglx.so.1.0.%(version)s libglx.so') r.Copy('%(nv_path)s/usr/*', '/usr') #chaning makefile to point to custom root # r.Replace('^ROOT=','ROOT=%(destdir)s','%(nv_path)s/Makefile') # r.Replace('^install:.*','install:','%(nv_path)s/Makefile') # r.Replace('/sbin/ldconfig','','%(nv_path)s/Makefile') # r.Run('mkdir -p %(destdir)s/usr/X11R6/lib/modules/drivers; mkdir -p %(destdir)s/usr/lib/tls') # r.Run('cd %(nv_path)s; make install')