Commit 4552c39f authored by Phil's avatar Phil
Browse files

update nvidia

parent e778329e
......@@ -4,104 +4,108 @@
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=nvidia-utils
pkgver=275.09.07
pkgrel=2
pkgdesc="NVIDIA drivers utilities and libraries."
pkgbase=nvidia-utils
pkgname=('nvidia-utils' 'opencl-nvidia')
pkgver=275.19
pkgrel=1
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
depends=('xorg-server' 'libxvmc' 'libgl')
optdepends=('gtk2: nvidia-settings' 'pkg-config: nvidia-xconfig')
license=('custom')
install=nvidia.install
options=('!strip')
backup=('etc/X11/xorg.conf.d/20-nvidia.conf')
if [ "$CARCH" = "i686" ]; then
ARCH='x86'
_pkg="NVIDIA-Linux-${ARCH}-${pkgver}"
source=("ftp://download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/${_pkg}.run")
md5sums=('d779057af3a2f96a05ddda201606618b')
ARCH='x86'
_pkg="NVIDIA-Linux-${ARCH}-${pkgver}"
source=("ftp://download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/${_pkg}.run")
md5sums=('9e74b1913ff5eb6786600d47b64ba57d')
elif [ "$CARCH" = "x86_64" ]; then
ARCH='x86_64'
_pkg="NVIDIA-Linux-${ARCH}-${pkgver}-no-compat32"
source=("ftp://download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/${_pkg}.run")
md5sums=('f75df248f7bf32199ed88db2f080cbfa')
ARCH='x86_64'
_pkg="NVIDIA-Linux-${ARCH}-${pkgver}-no-compat32"
source=("ftp://download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/${_pkg}.run")
md5sums=('45a6074db3efe961d025afa7a89fa036')
fi
source[1]='20-nvidia.conf'
md5sums[1]='541cb36684b6764ccba73d7afe268bf5'
create_links() {
# create soname links
for _lib in $(find $pkgdir -name '*.so*'); do
_soname="$(dirname ${_lib})/$(readelf -d "$_lib" | sed -nr 's/.*Library soname: \[(.*)\].*/\1/p')"
if [ ! -e "${_soname}" ]; then
ln -s "$(basename ${_lib})" "${_soname}"
ln -s "$(basename ${_soname})" "${_soname/.[0-9]*/}"
fi
done
}
build() {
cd $srcdir
sh ${_pkg}.run --extract-only
cd $srcdir
sh ${_pkg}.run --extract-only
}
package() {
cd $srcdir/${_pkg}
# X driver
install -D -m755 nvidia_drv.so $pkgdir/usr/lib/xorg/modules/drivers/nvidia_drv.so
# GLX extension module for X
install -D -m755 libglx.so.$pkgver $pkgdir/usr/lib/xorg/modules/extensions/libglx.so.$pkgver
# OpenGL library
install -D -m755 libGL.so.$pkgver $pkgdir/usr/lib/libGL.so.$pkgver
# OpenGL core library
install -D -m755 libnvidia-glcore.so.$pkgver $pkgdir/usr/lib/libnvidia-glcore.so.$pkgver
# XvMC
install -D -m644 libXvMCNVIDIA.a $pkgdir/usr/lib/libXvMCNVIDIA.a
install -D -m755 libXvMCNVIDIA.so.$pkgver $pkgdir/usr/lib/libXvMCNVIDIA.so.$pkgver
# VDPAU
install -D -m755 libvdpau_nvidia.so.$pkgver $pkgdir/usr/lib/vdpau/libvdpau_nvidia.so.$pkgver
# CUDA
install -D -m755 libcuda.so.$pkgver $pkgdir/usr/lib/libcuda.so.$pkgver
# nvidia-tls library
install -D -m755 tls/libnvidia-tls.so.$pkgver $pkgdir/usr/lib/libnvidia-tls.so.$pkgver
# OpenCL
install -D -m755 libnvidia-compiler.so.$pkgver $pkgdir/usr/lib/libnvidia-compiler.so.$pkgver
install -D -m755 libOpenCL.so.1.0.0 $pkgdir/usr/lib/libOpenCL.so.1.0.0
install -D -m644 nvidia.icd $pkgdir/etc/OpenCL/vendors/nvidia.icd
package_opencl-nvidia() {
pkgdesc="OpenCL implemention for NVIDIA"
depends=('libcl')
optdepends=('opencl-headers: headers necessary for OpenCL development')
cd $srcdir/${_pkg}
install -D -m755 libnvidia-cfg.so.$pkgver $pkgdir/usr/lib/libnvidia-cfg.so.$pkgver
# OpenCL
install -D -m644 nvidia.icd $pkgdir/etc/OpenCL/vendors/nvidia.icd
install -D -m755 libnvidia-compiler.so.$pkgver $pkgdir/usr/lib/libnvidia-compiler.so.$pkgver
# CUDA
install -D -m755 libcuda.so.$pkgver $pkgdir/usr/lib/libcuda.so.$pkgver
install -D -m755 libnvcuvid.so.$pkgver $pkgdir/usr/lib/libnvcuvid.so.$pkgver
create_links
}
# create soname links
for _lib in $(find $pkgdir -name '*.so*'); do
_soname="$(dirname ${_lib})/$(readelf -d "$_lib" | sed -nr 's/.*Library soname: \[(.*)\].*/\1/p')"
if [ ! -e "${_soname}" ]; then
ln -s "$(basename ${_lib})" "${_soname}"
ln -s "$(basename ${_soname})" "${_soname/.[0-9]*/}"
fi
done
package_nvidia-utils() {
pkgdesc="NVIDIA drivers utilities and libraries."
depends=('xorg-server' 'libxvmc' 'libcl' 'opencl-nvidia')
optdepends=('gtk2: nvidia-settings' 'pkg-config: nvidia-xconfig')
conflicts=('libgl')
provides=('libgl')
cd $srcdir/${_pkg}
# remove conflicting so-file links
rm -v $pkgdir/usr/lib/libGL.so
rm -v $pkgdir/usr/lib/libGL.so.1
# X driver
install -D -m755 nvidia_drv.so $pkgdir/usr/lib/xorg/modules/drivers/nvidia_drv.so
# GLX extension module for X
install -D -m755 libglx.so.$pkgver $pkgdir/usr/lib/xorg/modules/extensions/libglx.so.$pkgver
ln -s libglx.so.$pkgver $pkgdir/usr/lib/xorg/modules/extensions/libglx.so # X doesn't find glx otherwise
# OpenGL library
install -D -m755 libGL.so.$pkgver $pkgdir/usr/lib/libGL.so.$pkgver
# OpenGL core library
install -D -m755 libnvidia-glcore.so.$pkgver $pkgdir/usr/lib/libnvidia-glcore.so.$pkgver
# XvMC
install -D -m644 libXvMCNVIDIA.a $pkgdir/usr/lib/libXvMCNVIDIA.a
install -D -m755 libXvMCNVIDIA.so.$pkgver $pkgdir/usr/lib/libXvMCNVIDIA.so.$pkgver
# VDPAU
install -D -m755 libvdpau_nvidia.so.$pkgver $pkgdir/usr/lib/vdpau/libvdpau_nvidia.so.$pkgver
# nvidia-tls library
install -D -m755 tls/libnvidia-tls.so.$pkgver $pkgdir/usr/lib/libnvidia-tls.so.$pkgver
install -D -m755 libnvidia-cfg.so.$pkgver $pkgdir/usr/lib/libnvidia-cfg.so.$pkgver
# fix linkage
sed -i -e "s/VERSION='.*'/VERSION='$pkgver'/" $startdir/nvidia.install
install -D -m755 libnvidia-ml.so.$pkgver $pkgdir/usr/lib/libnvidia-ml.so.$pkgver
# nvidia-xconfig
install -D -m755 nvidia-xconfig $pkgdir/usr/bin/nvidia-xconfig
install -D -m644 nvidia-xconfig.1.gz $pkgdir/usr/share/man/man1/nvidia-xconfig.1.gz
# nvidia-settings
install -D -m755 nvidia-settings $pkgdir/usr/bin/nvidia-settings
install -D -m644 nvidia-settings.1.gz $pkgdir/usr/share/man/man1/nvidia-settings.1.gz
install -D -m644 nvidia-settings.desktop $pkgdir/usr/share/applications/nvidia-settings.desktop
install -D -m644 nvidia-settings.png $pkgdir/usr/share/pixmaps/nvidia-settings.png
sed -e 's:__UTILS_PATH__:/usr/bin:' -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' -i $pkgdir/usr/share/applications/nvidia-settings.desktop
# nvidia-bug-report
install -D -m755 nvidia-bug-report.sh $pkgdir/usr/bin/nvidia-bug-report.sh
# nvidia-smi
install -D -m755 nvidia-smi $pkgdir/usr/bin/nvidia-smi
install -D -m644 nvidia-smi.1.gz $pkgdir/usr/share/man/man1/nvidia-smi.1.gz
# nvidia-xconfig
install -D -m755 nvidia-xconfig $pkgdir/usr/bin/nvidia-xconfig
install -D -m644 nvidia-xconfig.1.gz $pkgdir/usr/share/man/man1/nvidia-xconfig.1.gz
# nvidia-settings
install -D -m755 nvidia-settings $pkgdir/usr/bin/nvidia-settings
install -D -m644 nvidia-settings.1.gz $pkgdir/usr/share/man/man1/nvidia-settings.1.gz
install -D -m644 nvidia-settings.desktop $pkgdir/usr/share/applications/nvidia-settings.desktop
install -D -m644 nvidia-settings.png $pkgdir/usr/share/pixmaps/nvidia-settings.png
sed -e 's:__UTILS_PATH__:/usr/bin:' -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' -i $pkgdir/usr/share/applications/nvidia-settings.desktop
# nvidia-bug-report
install -D -m755 nvidia-bug-report.sh $pkgdir/usr/bin/nvidia-bug-report.sh
# nvidia-smi
install -D -m755 nvidia-smi $pkgdir/usr/bin/nvidia-smi
install -D -m644 nvidia-smi.1.gz $pkgdir/usr/share/man/man1/nvidia-smi.1.gz
install -D -m644 LICENSE $pkgdir/usr/share/licenses/nvidia/LICENSE
ln -s nvidia $pkgdir/usr/share/licenses/nvidia-utils
install -D -m644 README.txt $pkgdir/usr/share/doc/nvidia/README
install -D -m644 NVIDIA_Changelog $pkgdir/usr/share/doc/nvidia/NVIDIA_Changelog
ln -s nvidia $pkgdir/usr/share/doc/nvidia-utils
install -D -m644 LICENSE $pkgdir/usr/share/licenses/nvidia/LICENSE
ln -s nvidia $pkgdir/usr/share/licenses/nvidia-utils
install -D -m644 README.txt $pkgdir/usr/share/doc/nvidia/README
install -D -m644 NVIDIA_Changelog $pkgdir/usr/share/doc/nvidia/NVIDIA_Changelog
ln -s nvidia $pkgdir/usr/share/doc/nvidia-utils
# Install xorg.conf.d file for nvidia autodetection in xorg.conf-less configurations
install -D -m644 $srcdir/20-nvidia.conf $pkgdir/etc/X11/xorg.conf.d/20-nvidia.conf
}
create_links
}
\ No newline at end of file
VERSION='275.09.07'
whisperer(){
post_install() {
echo 'By using this package you accept the NVIDIA license,'
echo 'which has been installed in /usr/share/licenses/nvidia/LICENSE'
echo 'If you do not accept this license, you must remove the package immediately.'
}
check_libdri_so(){
if [ ! -e usr/lib/xorg/modules/extensions/libdri.so ]; then
ln -sf usr/lib/xorg/modules/extensions/libdri.xorg usr/lib/xorg/modules/extensions/libdri.so
fi
}
link_libgl_so(){
ln -snf libGL.so.$VERSION /usr/lib/libGL.so.1.2
ln -snf libGL.so.$VERSION /usr/lib/libGL.so.1
ln -snf libGL.so.$VERSION /usr/lib/libGL.so
ln -snf libglx.so.$VERSION /usr/lib/xorg/modules/extensions/libglx.so
ln -snf libglx.xorg /usr/lib/xorg/modules/extensions/NVGL.renamed.libglx.so
ln -snf libGL.so.1.2.mesa /usr/lib/NVGL.renamed.libGL.so.1.2
}
restore_libgl_so(){
ln -snf libGL.so.1.2.mesa /usr/lib/libGL.so.1.2
ln -snf libGL.so.1.2.mesa /usr/lib/libGL.so.1
ln -snf libGL.so.1.2.mesa /usr/lib/libGL.so
ln -snf libglx.xorg /usr/lib/xorg/modules/extensions/libglx.so
rm -f /usr/lib/xorg/modules/extensions/NVGL.renamed.libglx.so
rm -f /usr/lib/NVGL.renamed.libGL.so.1.2
}
post_install(){
check_libdri_so
link_libgl_so
whisperer
}
post_upgrade(){
check_libdri_so
link_libgl_so
whisperer
}
post_remove(){
# If the symlink is dead, remove it
check_libdri_so
restore_libgl_so
echo "NOTE: Don't forget to recover your original xorg.conf file."
}
......@@ -5,11 +5,11 @@
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
# Find the kernel name inside the chroot
_kernver=`pacman -Qf kernel26 | cut -c10-15 | sed 's/kernel26 //g'`-CHAKRA
_kernver=`pacman -Q kernel26 | cut -c10-15 | sed 's/kernel26 //g'`-CHAKRA
pkgname=nvidia
pkgver=275.09.07
pkgrel=2
pkgver=275.19
pkgrel=1
pkgdesc="NVIDIA drivers for kernel26."
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
......@@ -20,15 +20,15 @@ license=('custom')
install=nvidia.install
if [ "$CARCH" = "i686" ]; then
ARCH='x86'
_pkg="NVIDIA-Linux-${ARCH}-${pkgver}"
source=("ftp://download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/${_pkg}.run")
md5sums=('d779057af3a2f96a05ddda201606618b')
ARCH='x86'
_pkg="NVIDIA-Linux-${ARCH}-${pkgver}"
source=("ftp://download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/${_pkg}.run")
md5sums=('9e74b1913ff5eb6786600d47b64ba57d')
elif [ "$CARCH" = "x86_64" ]; then
ARCH='x86_64'
_pkg="NVIDIA-Linux-${ARCH}-${pkgver}-no-compat32"
source=("ftp://download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/${_pkg}.run")
md5sums=('f75df248f7bf32199ed88db2f080cbfa')
ARCH='x86_64'
_pkg="NVIDIA-Linux-${ARCH}-${pkgver}-no-compat32"
source=("ftp://download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/${_pkg}.run")
md5sums=('45a6074db3efe961d025afa7a89fa036')
fi
build() {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment