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
+135
View File
@@ -0,0 +1,135 @@
# -*- 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 kerneltools
from pisi.actionsapi import shelltools
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import get
WorkDir = "."
KDIR = kerneltools.getKernelVersion()
NoStrip = ["/lib/modules"]
version = get.srcVERSION()
driver_dir_name = "nvidia304"
datadir = "/usr/share/%s" % driver_dir_name
if get.buildTYPE() == 'emul32':
arch = "x86"
nvlibdir = "/usr/lib32/%s" % driver_dir_name
libdir = "/usr/lib32"
else:
arch = get.ARCH().replace("i686", "x86")
nvlibdir = "/usr/lib/%s" % driver_dir_name
libdir = "/usr/lib"
def setup():
shelltools.system("sh NVIDIA-Linux-%s-%s.run -x --target tmp"
% (arch, get.srcVERSION()))
shelltools.move("tmp/*", ".")
shelltools.system("patch -p1 < NVIDIA-Linux-x86_64-304.125-kernel-3.19.patch")
# 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")
def install():
if not get.buildTYPE() == 'emul32':
# Kernel driver
pisitools.insinto("/lib/modules/%s/extra/nvidia" % KDIR,
"kernel/nvidia.ko")
# Command line tools and their man pages
pisitools.dobin("nvidia-smi")
pisitools.doman("nvidia-smi.1.gz")
### 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)
# 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 cpre library
for lib in ("glcore", "tls"):
pisitools.dolib("libnvidia-%s.so.%s" % (lib, version), libdir)
# VDPAU driver
pisitools.dolib("libvdpau_nvidia.so.%s" % version, "%s/vdpau" % nvlibdir)
pisitools.dosym("../nvidia-current/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.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,26 @@
#!/usr/bin/python
import os
driver_dir_name = "nvidia304"
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 40 \
--slave /usr/lib/xorg/modules/volatile xorg-modules-volatile %(libdir)s/modules \
--slave /etc/X11/XvMCConfig XvMCConfig %(datadir)s/XvMCConfig \
--slave /etc/ld.so.conf.d/10-nvidia.conf nvidia-ldsoconf %(datadir)s/ld.so.conf"
% {"libdir": libdir, "datadir": datadir})
# 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" % libdir)
pass
@@ -0,0 +1,32 @@
Adapt for kernel 3.19
Signed-off-by: Thomas Backlund <tmb@mageia.org>
diff -Nurp NVIDIA-Linux-x86_64-304.125.orig/kernel/nv.c NVIDIA-Linux-x86_64-304.125/kernel/nv.c
--- NVIDIA-Linux-x86_64-304.125.orig/kernel/nv.c 2014-12-02 05:58:34.000000000 +0200
+++ NVIDIA-Linux-x86_64-304.125/kernel/nv.c 2015-01-25 19:14:21.009109856 +0200
@@ -2026,7 +2026,11 @@ long nv_kern_unlocked_ioctl(
unsigned long i_arg
)
{
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
+ return nv_kern_ioctl(file->f_path.dentry->d_inode, file, cmd, i_arg);
+#else
return nv_kern_ioctl(file->f_dentry->d_inode, file, cmd, i_arg);
+#endif
}
long nv_kern_compat_ioctl(
@@ -2035,7 +2039,11 @@ long nv_kern_compat_ioctl(
unsigned long i_arg
)
{
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
+ return nv_kern_ioctl(file->f_path.dentry->d_inode, file, cmd, i_arg);
+#else
return nv_kern_ioctl(file->f_dentry->d_inode, file, cmd, i_arg);
+#endif
}
/*
+277
View File
@@ -0,0 +1,277 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>module-nvidia304</Name>
<Homepage>http://www.nvidia.com</Homepage>
<Packager>
<Name>PisiLinux Community</Name>
<Email>admins@pisilinux.org</Email>
</Packager>
<License>NVIDIA</License>
<IsA>driver</IsA>
<Summary>NVIDIA drivers for GeForce 5-7 series GPUs</Summary>
<Description>NVIDIA graphics drivers provide optimized 2D/3D performance.</Description>
<!-- <Archive sha1sum="1084a0a362aeb208e44afd28f0e27f7e2d352e24" type="binary">ftp://download.nvidia.com/XFree86/Linux-x86/304.119/NVIDIA-Linux-x86-304.119.run</Archive> -->
<Archive sha1sum="45f292f7612dcafac46332a4d884e866871cb6d2" type="binary">http://download.nvidia.com/XFree86/Linux-x86_64/304.125/NVIDIA-Linux-x86_64-304.125.run</Archive>
<AdditionalFiles>
<AdditionalFile target="NVIDIA-Linux-x86_64-304.125-kernel-3.19.patch">NVIDIA-Linux-x86_64-304.125-kernel-3.19.patch</AdditionalFile>
</AdditionalFiles>
<BuildDependencies>
<Dependency version="3.19.8">kernel-module-headers</Dependency>
</BuildDependencies>
</Source>
<Package>
<Name>module-nvidia304</Name>
<Summary>Kernel module for NVIDIA driver 304.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-nvidia304</Name>
<PartOf>x11.driver</PartOf>
<RuntimeDependencies>
<Dependency version="current">module-nvidia304</Dependency>
<Dependency>libXext</Dependency>
<Dependency>xorg-server</Dependency>
</RuntimeDependencies>
<Conflicts>
<Package>xorg-video-nvidia-current</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>
</Files>
<Provides>
<COMAR script="package.py">System.Package</COMAR>
</Provides>
<BuildFlags>
<Flag>noDelta</Flag>
</BuildFlags>
</Package>
<History>
<Update release="38">
<Date>2015-05-22</Date>
<Version>304.125</Version>
<Comment>Rebuild for kernel 3.19.6</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="37">
<Date>2015-05-05</Date>
<Version>304.125</Version>
<Comment>Rebuild for kernel 3.19.6</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="36">
<Date>2015-04-24</Date>
<Version>304.125</Version>
<Comment>Rebuild for kernel 3.19.5</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="35">
<Date>2015-04-16</Date>
<Version>304.125</Version>
<Comment>Rebuild for kernel 3.19.4</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="34">
<Date>2015-04-02</Date>
<Version>304.125</Version>
<Comment>Rebuild for kernel 3.19.3</Comment>
<Name>Hakan Yıldız</Name>
<Email>hknyldz93@gmail.com</Email>
</Update>
<Update release="33">
<Date>2015-03-08</Date>
<Version>304.125</Version>
<Comment>Rebuild for kernel 3.19.1</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="32">
<Date>2015-03-01</Date>
<Version>304.125</Version>
<Comment>Rebuild for kernel 3.19.0</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="31">
<Date>2015-01-31</Date>
<Version>304.125</Version>
<Comment>Rebuild for kernel 3.18.3</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="30">
<Date>2015-01-13</Date>
<Version>304.125</Version>
<Comment>Rebuild for Kernel 3.18.1</Comment>
<Name>Stefan Gronewold (groni)</Name>
<Email>groni@pisilinux.org</Email>
</Update>
<Update release="29">
<Date>2014-12-08</Date>
<Version>304.125</Version>
<Comment>Version bump</Comment>
<Name>Serdar Soytetir</Name>
<Email>kaptan@pisilinux.org</Email>
</Update>
<Update release="28">
<Date>2014-10-19</Date>
<Version>304.123</Version>
<Comment>Rebuild for kernel 3.17.1</Comment>
<Name>Serdar Soytetir</Name>
<Email>kaptan@pisilinux.org</Email>
</Update>
<Update release="27">
<Date>2014-09-03</Date>
<Version>304.123</Version>
<Comment>Rebuild for kernel 3.16.1</Comment>
<Name>Serdar Soytetir</Name>
<Email>kaptan@pisilinux.org</Email>
</Update>
<Update release="26">
<Date>2014-07-24</Date>
<Version>304.123</Version>
<Comment>Version bump for kernel 3.15.6</Comment>
<Name>Vedat Demir</Name>
<Email>vedat@pisilinux.org</Email>
</Update>
<Update release="25">
<Date>2014-06-15</Date>
<Version>304.121</Version>
<Comment>Rebuild for kernel 3.15.0</Comment>
<Name>Serdar Soytetir</Name>
<Email>kaptan@pisilinux.org</Email>
</Update>
<Update release="24">
<Date>2014-05-29</Date>
<Version>304.121</Version>
<Comment>Rebuild for kernel 3.14.4.</Comment>
<Name>Serdar Soytetir</Name>
<Email>kaptan@pisilinux.org</Email>
</Update>
<Update release="23">
<Date>2014-05-02</Date>
<Version>304.121</Version>
<Comment>Version bump for kernel 3.14.2.</Comment>
<Name>Serdar Soytetir</Name>
<Email>kaptan@pisilinux.org</Email>
</Update>
<Update release="22">
<Date>2014-04-15</Date>
<Version>304.119</Version>
<Comment>Rebuild for kernel 3.13.10.</Comment>
<Name>Serdar Soytetir</Name>
<Email>kaptan@pisilinux.org</Email>
</Update>
<Update release="21">
<Date>2014-03-29</Date>
<Version>304.119</Version>
<Comment>Rebuild for 3.13.6</Comment>
<Name>Osman Erkan</Name>
<Email>osman.erkan@pisilinux.org</Email>
</Update>
<Update release="12">
<Date>2014-03-10</Date>
<Version>304.119</Version>
<Comment>Change module name. Remove module-nvidia304-userspace</Comment>
<Name>Marcin Bojara</Name>
<Email>marcin@pisilinux.org</Email>
</Update>
<Update release="11">
<Date>2014-03-09</Date>
<Version>304.119</Version>
<Comment>Rebuild for 3.12.13</Comment>
<Name>Osman Erkan</Name>
<Email>osman.erkan@pisilinux.org</Email>
</Update>
<Update release="10">
<Date>2014-03-01</Date>
<Version>304.119</Version>
<Comment>Rebuild for 3.12.13</Comment>
<Name>Osman Erkan</Name>
<Email>osman.erkan@pisilinux.org</Email>
</Update>
<Update release="9">
<Date>2014-01-17</Date>
<Version>304.117</Version>
<Comment>Rebuild for 3.12.8</Comment>
<Name>Yusuf Aydemir</Name>
<Email>yusuf.aydemir@pisilinux.org</Email>
</Update>
<Update release="8">
<Date>2013-12-17</Date>
<Version>304.116</Version>
<Comment>Rebuild for kernel 3.12.5.</Comment>
<Name>Serdar Soytetir</Name>
<Email>kaptan@pisilinux.org</Email>
</Update>
<Update release="7">
<Date>2013-12-14</Date>
<Version>304.116</Version>
<Comment>Version bump for 3.12.5</Comment>
<Name>Serdar Soytetir</Name>
<Email>kaptan@pisilinux.org</Email>
</Update>
<Update release="6">
<Date>2013-11-23</Date>
<Version>304.108</Version>
<Comment>Rebuild for 3.10.20</Comment>
<Name>Serdar Soytetir</Name>
<Email>kaptan@pisilinux.org</Email>
</Update>
<Update release="5">
<Date>2013-11-05</Date>
<Version>304.108</Version>
<Comment>Rebuild for 3.10.18</Comment>
<Name>Serdar Soytetir</Name>
<Email>kaptan@pisilinux.org</Email>
</Update>
<Update release="4">
<Date>2013-10-09</Date>
<Version>304.108</Version>
<Comment>3.10.15</Comment>
<Name>Erdinç Gültekin</Name>
<Email>erdincgultekin@pisilinux.org</Email>
</Update>
<Update release="3">
<Date>2013-09-28</Date>
<Version>304.108</Version>
<Comment>3.10.13</Comment>
<Name>Erdinç Gültekin</Name>
<Email>erdincgultekin@pisilinux.org</Email>
</Update>
<Update release="2">
<Date>2013-09-18</Date>
<Version>304.108</Version>
<Comment>3.10.12</Comment>
<Name>Erdinç Gültekin</Name>
<Email>erdincgultekin@pisilinux.org</Email>
</Update>
<Update release="1">
<Date>2013-09-11</Date>
<Version>304.108</Version>
<Comment>First release</Comment>
<Name>Marcin Bojara</Name>
<Email>marcin@pisilinux.org</Email>
</Update>
</History>
</PISI>
@@ -0,0 +1,20 @@
<?xml version="1.0" ?>
<PISI>
<Source>
<Name>module-nvidia304</Name>
<Summary xml:lang="tr">NVIDIA GeForce 6-7 serisi ekran kartları için grafik sürücüleri</Summary>
<Description xml:lang="tr">NVIDIA grafik sürücüleri daha iyi 2B/3B başarımı sağlar.</Description>
<Summary xml:lang="es">Controladores nVIDIA de kernel y glx para tarjetas NV3 o mejor (Geforce FX o mejor)</Summary>
<Description xml:lang="es">Controladores de kernel nVIDIA y glx para rendimiento optimizado 2d/3d en Linux (Para NV3X o mejor).</Description>
</Source>
<Package>
<Name>module-nvidia304</Name>
<Summary xml:lang="tr">NVIDIA sürücüsü 304.xx sürümleri için çekirdek modülü</Summary>
</Package>
<Package>
<Name>module-nvidia304-userspace</Name>
<Summary xml:lang="tr">nvidia304 çekirdek sürücüsü için kullanıcı tarafı belgeler, araçlar, udev ve modprobe kuralları</Summary>
</Package>
</PISI>