works por deps fixed...

This commit is contained in:
Ertuğrul Erata
2015-06-20 22:07:39 +03:00
parent e5bb900715
commit 35cada22bf
102 changed files with 5695 additions and 10 deletions
+144
View File
@@ -0,0 +1,144 @@
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt
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/*", ".")
# Our libc is TLS enabled so use TLS library
shelltools.unlink("*-tls.so*")
shelltools.move("tls/*", ".")
# xorg-server provides libwfb.so
shelltools.unlink("libnvidia-wfb.so.*")
shelltools.echo("ld.so.conf", nvlibdir)
shelltools.echo("XvMCConfig", "%s/libXvMCNVIDIA.so" % nvlibdir)
def build():
# We don't need kernel module for emul32 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':
# Kernel driver
pisitools.insinto("/lib/modules/%s/extra/nvidia" % KDIR,
"kernel/nvidia.ko")
pisitools.insinto("/lib/modules/%s/extra/nvidia" % KDIR,
"kernel/uvm/nvidia-uvm.ko")
# Command line tools and their man pages
pisitools.dobin("nvidia-smi")
pisitools.doman("nvidia-smi.1.gz")
pisitools.dobin("nvidia-persistenced")
### Libraries
# OpenGl library
pisitools.dolib("libGL.so.%s" % version, nvlibdir)
pisitools.dosym("libGL.so.%s" % version, "%s/libGL.so.1.2.0" % nvlibdir)
# OpenCL
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)
# CUDA
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)
# NVML
# Provides programmatic access to static information and monitoring
# data for NVIDIA GPUs, as well as limited managment capabilities
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)
# OpenGL core library and others
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))
# VDPAU driver
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))
# X modules
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)
# Exit time for emul32 build
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")
# Documentation
docdir = "xorg-video-%s" % driver_dir_name
pisitools.dodoc("LICENSE", "NVIDIA_Changelog", "README.txt", destDir=docdir)
pisitools.dohtml("html/*", destDir=docdir)
### Note
# This package includes nvidia-setting and nvidia-xconfig binaries. However
# we have seperate packages for each of them. Nvidia provides tarballs for
# these binaries. Don't forget to update these package with each NVIDIA
# driver update.
# Nvidia-bug-report
# Comes with our own nvidia-xcfonig package
# pisitools.dobin("nvidia-bug-report.sh")
@@ -0,0 +1,25 @@
#!/usr/bin/python
import os
driver_dir_name = "nvidia340"
libdir = "/usr/lib32/%s" % driver_dir_name
datadir = "/usr/share/%s" % driver_dir_name
def postInstall(fromVersion, fromRelease, toVersion, toRelease):
os.system(" /usr/sbin/alternatives \
--install /usr/lib32/libGL.so.1.2.0 libGL-32bit %(libdir)s/libGL.so.1.2.0 50 \
--slave /usr/lib32/xorg/modules/volatile xorg-modules-volatile-32bit %(libdir)s/modules"
% {"libdir": libdir, "datadir": datadir})
# --slave /etc/ld.so.conf.d/10-nvidia-32bit.conf nvidia-ldsoconf-32bit %(datadir)s/32bit-ld.so.conf"
# If this driver is in use, refresh links after installation.
if os.readlink("/etc/alternatives/libGL-32bit") == "%s/libGL.so.1.2.0" % libdir:
os.system("/usr/sbin/alternatives --set libGL-32bit %s/libGL.so.1.2.0" % libdir)
os.system("/sbin/ldconfig -X")
def preRemove():
# FIXME This is not needed when upgrading package; but pisi does not
# provide a way to learn operation type.
#os.system("/usr/sbin/alternatives --remove libGL-32bit %s/libGL.so.1.2.0" % libdir)
pass
@@ -0,0 +1,26 @@
#!/usr/bin/python
import os
driver_dir_name = "nvidia340"
libdir = "/usr/lib/%s" % driver_dir_name
datadir = "/usr/share/%s" % driver_dir_name
def postInstall(fromVersion, fromRelease, toVersion, toRelease):
os.system(" /usr/sbin/alternatives \
--install /usr/lib/libGL.so.1.2.0 libGL %(libdir)s/libGL.so.1.2.0 50 \
--slave /usr/lib/xorg/modules/volatile xorg-modules-volatile %(libdir)s/modules"
% {"libdir": libdir, "datadir": datadir})
# --slave /etc/X11/XvMCConfig XvMCConfig %(datadir)s/XvMCConfig \
# --slave /etc/ld.so.conf.d/10-nvidia.conf nvidia-ldsoconf %(datadir)s/ld.so.conf"
# If this driver is in use, refresh links after installation.
if os.readlink("/etc/alternatives/libGL") == "%s/libGL.so.1.2.0" % libdir:
os.system("/usr/sbin/alternatives --set libGL %s/libGL.so.1.2.0" % libdir)
os.system("/sbin/ldconfig -X")
def preRemove():
# FIXME This is not needed when upgrading package; but pisi does not
# provide a way to learn operation type.
#os.system("/usr/sbin/alternatives --remove libGL %s/libGL.so.1.2.0" % libdir)
pass
@@ -0,0 +1,8 @@
# Blacklist by default since nvidia* modules have the same aliases
blacklist nvidia340
# Fail if nouveau loaded
install nvidia340 if /bin/grep -qw "^nouveau" /proc/modules; then /bin/false; else /sbin/modprobe -i nvidia340 $CMDLINE_OPTS; fi
# Load the right module when requested with the name "nvidia"
install nvidia M=$(/bin/readlink /etc/alternatives/libGL | /usr/bin/cut -d/ -f4 | /bin/grep nvidia) && /sbin/modprobe $M $CMDLINE_OPTS
+176
View File
@@ -0,0 +1,176 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>module-nvidia340</Name>
<Homepage>http://www.nvidia.com</Homepage>
<Packager>
<Name>Pisi Linux Community</Name>
<Email>admins@pisilinux.org</Email>
</Packager>
<License>NVIDIA</License>
<Summary>NVIDIA drivers for GeForce 6xxx and newer GPUs</Summary>
<Description>NVIDIA graphics drivers provide optimized 2D/3D performance.</Description>
<Archive sha1sum="1335af174324f5c752388110e65c3c51beea729b" type="binary">ftp://download.nvidia.com/XFree86/Linux-x86/340.76/NVIDIA-Linux-x86-340.76.run</Archive>
<Archive sha1sum="369554b46b43f082a38c6fcce096265a66e97483" type="binary">ftp://download.nvidia.com/XFree86/Linux-x86_64/340.76/NVIDIA-Linux-x86_64-340.76.run</Archive>
<BuildDependencies>
<Dependency version="3.19.8">kernel-module-headers</Dependency>
</BuildDependencies>
</Source>
<Package>
<Name>module-nvidia340</Name>
<IsA>driver</IsA>
<Summary>Kernel module for NVIDIA driver 340.xx releases</Summary>
<RuntimeDependencies>
<Dependency version="3.19.8">kernel</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library" permanent="true">/lib/modules</Path>
</Files>
<BuildFlags>
<Flag>noDelta</Flag>
</BuildFlags>
</Package>
<Package>
<Name>xorg-video-nvidia340</Name>
<IsA>driver</IsA>
<PartOf>x11.driver</PartOf>
<RuntimeDependencies>
<Dependency>libXext</Dependency>
<Dependency>xorg-server</Dependency>
<Dependency version="current">module-nvidia340</Dependency>
</RuntimeDependencies>
<Conflicts>
<Package>xorg-video-nvidia-current</Package>
<Package>xorg-video-nvidia304</Package>
</Conflicts>
<Files>
<Path fileType="data">/etc/OpenCL</Path>
<Path fileType="executable">/usr/bin</Path>
<Path fileType="library">/usr/lib</Path>
<Path fileType="data">/usr/share</Path>
<Path fileType="doc">/usr/share/doc</Path>
<Path fileType="man">/usr/share/man</Path>
</Files>
<Provides>
<COMAR script="package.py">System.Package</COMAR>
</Provides>
<BuildFlags>
<Flag>noDelta</Flag>
</BuildFlags>
</Package>
<Package>
<Name>xorg-video-nvidia340-32bit</Name>
<PartOf>emul32</PartOf>
<Summary>32-bit shared libraries for xorg-video-nvidia340</Summary>
<BuildType>emul32</BuildType>
<BuildDependencies>
<Dependency>libvdpau-32bit</Dependency>
<Dependency>glibc-32bit</Dependency>
</BuildDependencies>
<RuntimeDependencies>
<Dependency>zlib-32bit</Dependency>
<Dependency>libX11-32bit</Dependency>
<Dependency>libXext-32bit</Dependency>
<Dependency>glibc-32bit</Dependency>
<Dependency release="current">xorg-video-nvidia340</Dependency>
</RuntimeDependencies>
<Conflicts>
<Package>xorg-video-nvidia-current-32bit</Package>
<Package>xorg-video-nvidia304-32bit</Package>
</Conflicts>
<Files>
<Path fileType="library">/usr/lib32</Path>
<Path fileType="library">/usr/share/nvidia-current/32bit-ld.so.conf</Path>
</Files>
<Provides>
<COMAR script="package-emul32.py">System.Package</COMAR>
</Provides>
<BuildFlags>
<Flag>noDelta</Flag>
</BuildFlags>
</Package>
<History>
<Update release="10">
<Date>2015-05-22</Date>
<Version>340.76</Version>
<Comment>Rebuild for kernel 3.19.8</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="9">
<Date>2015-05-05</Date>
<Version>340.76</Version>
<Comment>Rebuild for kernel 3.19.6</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="8">
<Date>2015-04-24</Date>
<Version>340.76</Version>
<Comment>Rebuild for kernel 3.19.5</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="7">
<Date>2015-04-16</Date>
<Version>340.76</Version>
<Comment>Rebuild for kernel 3.19.4</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="6">
<Date>2015-04-02</Date>
<Version>340.76</Version>
<Comment>Rebuid for kernel 3.19.3</Comment>
<Name>Hakan Yıldız</Name>
<Email>hknyldz93@gmail.com</Email>
</Update>
<Update release="5">
<Date>2015-03-08</Date>
<Version>340.76</Version>
<Comment>Rebuild for kernel 3.19.1</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="5">
<Date>2015-03-01</Date>
<Version>340.76</Version>
<Comment>Version bump, Rebuild for kernel 3.19.0</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="4">
<Date>2015-01-31</Date>
<Version>340.76</Version>
<Comment>Version bump, Rebuild for kernel 3.18.3</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="3">
<Date>2015-01-13</Date>
<Version>340.65</Version>
<Comment>version bump</Comment>
<Name>Stefan Gronewold (groni)</Name>
<Email>groni@pisilinux.org</Email>
</Update>
<Update release="2">
<Date>2014-12-08</Date>
<Version>340.58</Version>
<Comment>Rebuild for kernel 3.17.4</Comment>
<Name>Stefan Gronewold (groni)</Name>
<Email>groni@pisilinux.org</Email>
</Update>
<Update release="1">
<Date>2014-11-13</Date>
<Version>340.58</Version>
<Comment>First Release</Comment>
<Name>Stefan Gronewold (groni)</Name>
<Email>groni@pisilinux.org</Email>
</Update>
</History>
</PISI>
@@ -0,0 +1,25 @@
<?xml version="1.0" ?>
<PISI>
<Source>
<Name>module-nvidia-current</Name>
<Summary xml:lang="tr">GeForce 6xxx ve daha yeni NVIDIA ekran kartları için sürücüler</Summary>
<Description xml:lang="tr">NVIDIA grafik sürücüleri daha iyi 2B/3B başarımı sağlar.</Description>
<Description xml:lang="es">Controladores de kernel nVIDIA y glx para rendimiento optimizado 2d/3d en Linux (Para NV3X o mejor).</Description>
<Summary xml:lang="es">Controladores nVIDIA de kernel y glx para tarjetas NV3 o mejor (Geforce FX o mejor)</Summary>
</Source>
<Package>
<Name>module-nvidia-current</Name>
<Summary xml:lang="tr">Güncel NVIDIA grafik sürücüleri için çekirdek modülü</Summary>
</Package>
<Package>
<Name>xorg-video-nvidia-current</Name>
<Summary xml:lang="tr">Güncel NVIDIA userspace sürücüleri ve ikili dosyaları</Summary>
</Package>
<Package>
<Name>xorg-video-nvidia-current-32bit</Name>
<Summary xml:lang="tr">xorg-video-nvidia-current için 32-bit paylaşımlı kitaplıklar</Summary>
</Package>
</PISI>