All pastes #181939 Raw Edit

Untitled

public text v1 · immutable
#181939 ·published 2006-09-25 14:47 UTC
rendered paste body
#loadInstalled('nvidia-kernel.recipe')
class Nvidia(CPackageRecipe):

    name = 'nvidia'
#    version = NvidiaKernel.version
    version = '1.0_9625'
    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("""
echo "==============================================="
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" 
echo "==============================================="
""") 

        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

        # the Copy bellow should not be needed but otherwise
        # libGL.so.1 ends linked against (!) Mesa's libGL.so.2... 
        # have no effect in stock X but breaks Xgl bigtime...
 
#        r.Copy('%(libdir)s/libGL.so.1.0.9625',
#                  '%(libdir)s/libGL.so.1') 

        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')