All pastes #164173 Raw Edit

Stuff

public text v1 · immutable
·published 2006-09-08 11:11 UTC
rendered paste body
loadInstalled('nvidia-kernel.recipe')
class nvidia(CPackageRecipe):

    name = 'nvidia'
    version = NvidiaKernel.version

    buildRequires = ['atk:devel', 'chkconfig:runtime', 'glib:devel', 'gtk:devel', 'libX11:devel', 'libXext:devel', 'pango:devel', 'desktop-file-utils:runtime' ]

    def setup(r):
        r.macros.version = r.version.replace('_','-')
        r.macros.url = 'http://download.nvidia.com/XFree86/Linux-x86'
        r.addSource('%(url)s/%(version)s/NVIDIA-Linux-x86-%(version)s-pkg0.run')
        r.addSource('nvidia.init')

        r.Run('sh NVIDIA-Linux-x86-%(version)s-pkg0.run -x') # Extract only

        # Copy the files we need
        r.macros.root = 'NVIDIA-Linux-x86-%(version)s-pkg0/usr'
        
	r.Install('%(root)s/lib/*.s*', '%(libdir)s/')
	r.Install('%(root)s/lib/tls/*.s*','%(libdir)s/tls/')

	r.Install('%(root)s/share/man/man1/*', '%(datadir)s/man/man1/')
	r.Remove('/man/man1/nvidia-installer.1.gz')

	r.Install('%(root)s/share/doc/*','%(datadir)s/doc/')

        r.Install('%(root)s/X11R6/lib/libX*', '%(libdir)s/')


	r.Run(""" 
	 sed -i %(root)s/share/applications/nvidia-settings.desktop  -e "s,__PIXMAP_PATH__,%(datadir)s/pixmaps,g" -e "s,__UTILS_PATH__,%(bindir)s,g"	-e "s,__DOCS_PATH__,%(datadir)s/pixmaps,g"
	 sed -i %(root)s/share/applications/nvidia-settings.desktop -e "s/Application;/GNOME;/g" 

	""") 

	r.Desktopfile('%(root)s/share/applications/nvidia-settings.desktop')

	r.Install('%(root)s/share/pixmaps/nvidia-settings.png','%(datadir)s/pixmaps/')

	r.Install('%(root)s/X11R6/lib/modules/drivers/*','/usr/lib/xorg/modules/drivers/')
	
	r.Install('%(root)s/X11R6/lib/modules/extensions/*',
		'/usr/lib/xorg/modules/extensions/')
	
	r.MakeDirs('%(bindir)s')
	r.Install('%(root)s/bin/nvidia-{settings,xconfig,bug-report.sh}','%(bindir)s')

        # Add missing symlinks

        r.SharedLibrary(subtrees='/usr/lib/xorg/modules/extensions/')
        r.SharedLibrary(subtrees='/usr/lib/xorg/modules/drivers/')
	r.SharedLibrary(subtrees='/usr/lib/') 
	r.SharedLibrary(subtrees='/usr/lib/tls')
        r.ComponentSpec('lib', 'libglx.so')
        r.ComponentSpec('lib', 'libXvMCNVIDIA.a')

        # The kernel side is in nvidia-kernel, and we need the kernel
        # modules that match this version exactly
        r.Requires('nvidia-kernel:runtime(%(version)s)',
                   '/usr/lib/xorg/modules/drivers/nvidia_drv.o')

	# We want to make sure that the kernel module can require the
        # matching userspace code
        r.ComponentProvides('%(version)s')

        r.Install('nvidia.init','%(initdir)s/nvidia')