summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorDaniel Bermond2019-06-09 02:34:39 +0000
committerDaniel Bermond2019-06-09 02:34:39 +0000
commit547644cf9fabd8eb92db75bb9295a90c17781ad3 (patch)
treeeaedfcfa73ff53f8a31715ca37700aca62cb2c41 /PKGBUILD
parent0944d00066e5a60e1999bd36c1beef5a46ba52fe (diff)
downloadaur-547644cf9fabd8eb92db75bb9295a90c17781ad3.tar.gz
First major rewrite after package adoption
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD472
1 files changed, 175 insertions, 297 deletions
diff --git a/PKGBUILD b/PKGBUILD
index c7fbbbd03eee..79df7259e571 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,64 +1,50 @@
# Maintainer : Daniel Bermond < gmail-com: danielbermond >
# Contributor: Det <nimetonmaili g-mail>
-# Based on nvidia-beta-all: https://aur.archlinux.org/packages/nvidia-beta-all/,
-# nvidia-utils-beta: https://aur.archlinux.org/packages/nvidia-utils-beta/ and
-# lib32-nvidia-utils-beta: https://aur.archlinux.org/packages/lib32-nvidia-utils-beta/
-
-# Build the lib32 packages too? This only needs to be defined once and will
-# remain until the packages are removed. "1" to enable.
-_lib32=0
pkgbase=nvidia-full-beta-all
-pkgname=('nvidia-full-beta-all' 'nvidia-utils-full-beta-all' 'nvidia-egl-wayland-full-beta-all' 'nvidia-libgl-full-beta-all' 'opencl-nvidia-full-beta-all')
+pkgname=('nvidia-full-beta-all'
+ 'nvidia-utils-full-beta-all'
+ 'opencl-nvidia-full-beta-all'
+ 'nvidia-settings-full-beta-all'
+ 'lib32-nvidia-utils-full-beta-all'
+ 'lib32-opencl-nvidia-full-beta-all')
pkgver=430.14
-pkgrel=1
+pkgrel=2
pkgdesc='Full NVIDIA driver package for all kernels on the system (drivers, utilities and libraries) (beta version)'
arch=('x86_64')
url='https://www.nvidia.com/'
-license=('custom:NVIDIA')
-makedepends=('linux-headers')
+license=('custom')
+makedepends=('linux' 'linux-headers')
options=('!strip')
-
-# installer name
-_pkg="NVIDIA-Linux-${CARCH}-${pkgver}-no-compat32"
-if [ "$_lib32" = '1' ] || pacman -Q lib32-nvidia-utils-full-beta-all >/dev/null 2>&1
-then
- pkgname+=('lib32-nvidia-utils-full-beta-all' 'lib32-nvidia-libgl-full-beta-all' 'lib32-opencl-nvidia-full-beta-all')
- _pkg="NVIDIA-Linux-${CARCH}-${pkgver}"
-fi
-
-# source
+_pkg="NVIDIA-Linux-${CARCH}-${pkgver}"
source=("https://us.download.nvidia.com/XFree86/Linux-${CARCH}/${pkgver}/${_pkg}.run"
'nvidia-drm-outputclass.conf'
- 'nvidia-utils-full-beta-all.sysusers')
-sha256sums=('0f583a277b1731cb8327510b75dba9cf7adf5c781247e4f48bcc9f358253278f'
+ 'nvidia-utils-full-beta-all.sysusers'
+ 'FS62142.patch'
+ 'nvidia-utils-full-beta-all-change-vulkan-driver-path.patch'
+ 'nvidia-settings-full-beta-all-change-desktop-paths.patch')
+sha256sums=('00d46ffaf3e1e430081ddbd68b74cc361cd1328e8944224dfe69630dd8540f17'
'089d6dc247c9091b320c418b0d91ae6adda65e170934d178cdd4e9bd0785b182'
- 'd8d1caa5d72c71c6430c2a0d9ce1a674787e9272ccce28b9d5898ca24e60a167')
-[ "$_pkg" = "NVIDIA-Linux-${CARCH}-${pkgver}" ] && sha256sums[0]='00d46ffaf3e1e430081ddbd68b74cc361cd1328e8944224dfe69630dd8540f17'
+ 'd8d1caa5d72c71c6430c2a0d9ce1a674787e9272ccce28b9d5898ca24e60a167'
+ 'c961006882afb691410c017c239e2c2ef61badb88f15735d37112b513ef0a99d'
+ '57e2393228b09b85d91b9d095b85899178f6fd4b456cbb7ea39093d07e7c7ca7'
+ '633bf69c39b8f35d0e64062eb0365c9427c2191583f2daa20b14e51772e8423a')
-_eglver=1.1.2
-
-# create missing soname links
+# create soname links
_create_links() {
local _lib
local _soname
local _base
-
- for _lib in $(find "$pkgdir" -name '*.so*' | grep -v 'xorg/')
+ find "$pkgdir" -type f -name '*.so*' ! -path '*xorg/*' -print0 | while read -d $'\0' _lib
do
- # get soname/base name
_soname="$(dirname "$_lib")/$(readelf -d "$_lib" | grep -Po 'SONAME.*: \[\K[^]]*' || true)"
- _base="$(echo "$_soname" | sed -r 's/(.*).so.*/\1.so/')"
-
- # create missing links
+ _base="$(printf '%s' "$_soname" | sed -r 's/(.*).so.*/\1.so/')"
[ -e "$_soname" ] || ln -s "$(basename "$_lib")" "$_soname"
[ -e "$_base" ] || ln -s "$(basename "$_soname")" "$_base"
done
}
prepare() {
- local _kernel
-
# extract the source file
[ -d "$_pkg" ] && rm -rf "$_pkg"
printf '%s\n' " -> Self-Extracting ${_pkg}.run..."
@@ -66,27 +52,32 @@ prepare() {
cd "${_pkg}"
bsdtar -xf nvidia-persistenced-init.tar.bz2
- sed -i 's/__NV_VK_ICD__/libGLX_nvidia.so.0/' nvidia_icd.json.template
+ patch -Np1 -i "${srcdir}/nvidia-utils-full-beta-all-change-vulkan-driver-path.patch"
+ patch -Np1 -i "${srcdir}/nvidia-settings-full-beta-all-change-desktop-paths.patch"
# create a build directory for each installed kernel
- for _kernel in $(cat /usr/lib/modules/extramodules-*/version)
+ local _kernel
+ local _kernels
+ _kernels=($(find /usr/lib/modules/extramodules-*/version -exec cat {} +))
+ for _kernel in "${_kernels[@]}"
do
cp -a kernel "kernel-${_kernel}"
+ printf '%s\n' " -> Applying patch(es) for kernel ${_kernel}..."
+ cd "kernel-${_kernel}"
- #printf '%s\n' " -> Applying patch(es) for kernel ${_kernel}..."
- #cd "kernel-${_kernel}"
+ # fix https://bugs.archlinux.org/task/62142
+ patch -Np2 -i "${srcdir}/FS62142.patch"
- # apply patches(es) here:
- #patch -Np2 -i "${srcdir}/<patch>"
-
- #cd ..
+ cd ..
done
}
build() {
local _kernel
+ local _kernels
+ _kernels=($(find /usr/lib/modules/extramodules-*/version -exec cat {} +))
- for _kernel in $(cat /usr/lib/modules/extramodules-*/version)
+ for _kernel in "${_kernels[@]}"
do
cd "${srcdir}/${_pkg}/kernel-${_kernel}"
@@ -95,139 +86,122 @@ build() {
done
}
-package_opencl-nvidia-full-beta-all() {
- pkgdesc="NVIDIA's OpenCL implemention for 'nvidia-utils-full-beta-all'"
- depends=('zlib')
- optdepends=('opencl-headers: headers necessary for OpenCL development')
- provides=("opencl-nvidia=${pkgver}" 'opencl-driver')
- conflicts=('opencl-nvidia')
+package_nvidia-full-beta-all() {
+ depends=("nvidia-utils-full-beta-all>=${pkgver}" 'libglvnd')
+ provides=("nvidia=${pkgver}" "nvidia-beta=${pkgver}")
+ conflicts=('nvidia')
- cd "$_pkg"
+ local _dir
+ local _kerndir
+ local _kernel
+ _kerndir=($(find /usr/lib/modules -maxdepth 1 -type d -name 'extramodules-*'))
- # libraries
- install -D -m755 "libnvidia-compiler.so.${pkgver}" -t "${pkgdir}/usr/lib"
- install -D -m755 "libnvidia-opencl.so.${pkgver}" -t "${pkgdir}/usr/lib"
- _create_links
+ for _dir in "${_kerndir[@]}"
+ do
+ _kernel="$(cat "${_dir}/version")"
+
+ install -D -m644 "${_pkg}/kernel-${_kernel}/"nvidia{,-drm,-modeset,-uvm}.ko -t "${pkgdir}/${_dir}"
+
+ find "$pkgdir" -name '*.ko' -exec gzip -n {} +
+ done
- # vendor icd
- install -D -m644 nvidia.icd -t "${pkgdir}/etc/OpenCL/vendors"
+ printf '%s\n' 'blacklist nouveau' | install -D -m644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
- # license
- install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -D -m644 "${_pkg}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
-package_nvidia-libgl-full-beta-all() {
- pkgdesc="NVIDIA driver library symlinks for 'nvidia-utils-full-beta-all'"
- depends=('nvidia-utils-full-beta-all')
- provides=("nvidia-libgl=${pkgver}" 'libgl' 'libegl' 'libgles')
- conflicts=('nvidia-libgl' 'libgl' 'libegl' 'libgles')
+package_nvidia-settings-full-beta-all() {
+ pkgdesc="Tool for configuring the NVIDIA graphics driver for 'nvidia-full-beta-all'"
+ depends=("nvidia-utils-full-beta-all>=${pkgver}" 'gtk3')
+ provides=("nvidia-settings=${pkgver}" "nvidia-settings=${pkgver}")
+ conflicts=('nvidia-settings')
cd "$_pkg"
- mkdir -p "${pkgdir}/usr/lib/"
-
- # libGL (link)
- ln -s /usr/lib/nvidia/libGL.so.1.7.0 "${pkgdir}/usr/lib/libGL.so.1"
- ln -s libGL.so.1 "${pkgdir}/usr/lib/libGL.so"
-
- # EGL (link)
- ln -s /usr/lib/nvidia/libEGL.so.1.1.0 "${pkgdir}/usr/lib/libEGL.so.1"
- ln -s libEGL.so.1 "${pkgdir}/usr/lib/libEGL.so"
-
- # OpenGL ES 1 (link)
- ln -s /usr/lib/nvidia/libGLESv1_CM.so.1.2.0 "${pkgdir}/usr/lib/libGLESv1_CM.so.1"
- ln -s libGLESv1_CM.so.1 "${pkgdir}/usr/lib/libGLESv1_CM.so"
-
- # OpenGL ES 2 (link)
- ln -s /usr/lib/nvidia/libGLESv2.so.2.1.0 "${pkgdir}/usr/lib/libGLESv2.so.2"
- ln -s libGLESv2.so.2 "${pkgdir}/usr/lib/libGLESv2.so"
+ install -D -m755 nvidia-settings -t "${pkgdir}/usr/bin"
+ install -D -m644 nvidia-settings.1.gz -t "${pkgdir}/usr/share/man/man1"
+ install -D -m644 nvidia-settings.png -t "${pkgdir}/usr/share/pixmaps"
+ install -D -m644 nvidia-settings.desktop -t "${pkgdir}/usr/share/applications"
+ install -D -m755 "libnvidia-gtk3.so.${pkgver}" -t "${pkgdir}/usr/lib"
# license
install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
-package_nvidia-egl-wayland-full-beta-all() {
- pkgdesc="NVIDIA EGL Wayland library (libnvidia-egl-wayland.so.${_eglver}) for 'nvidia-utils-full-beta-all'"
- depends=('nvidia-utils-full-beta-all')
- provides=('egl-wayland')
- conflicts=('egl-wayland')
+package_opencl-nvidia-full-beta-all() {
+ pkgdesc="NVIDIA's OpenCL implemention for 'nvidia-utils-full-beta-all'"
+ depends=('zlib' "nvidia-utils-full-beta-all>=${pkgver}")
+ optdepends=('opencl-headers: headers necessary for OpenCL development')
+ provides=("opencl-nvidia=${pkgver}" 'opencl-driver')
+ conflicts=('opencl-nvidia')
cd "$_pkg"
- # libraries
- install -D -m755 "libnvidia-egl-wayland.so.${_eglver}" -t "${pkgdir}/usr/lib"
- ln -s "libnvidia-egl-wayland.so.${_eglver}" "${pkgdir}/usr/lib/libnvidia-egl-wayland.so"
- ln -s "libnvidia-egl-wayland.so.${_eglver}" "${pkgdir}/usr/lib/libnvidia-egl-wayland.so.1"
+ # OpenCL
+ install -D -m644 nvidia.icd "${pkgdir}/etc/OpenCL/vendors/nvidia.icd"
+ install -D -m755 "libnvidia-compiler.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ install -D -m755 "libnvidia-opencl.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ _create_links
+
# license
install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
package_nvidia-utils-full-beta-all() {
pkgdesc="NVIDIA driver utilities and libraries for 'nvidia-full-beta-all'"
- depends=('xorg-server' 'mesa>=17.0.2-2')
- optdepends=('gtk2: nvidia-settings (GTK+ v2)'
- 'gtk3: nvidia-settings (GTK+ v3)'
- 'opencl-nvidia-full-beta-all: OpenCL support'
- 'xorg-server-devel: nvidia-xconfig'
- "egl-wayland-git: for alternative, more advanced Wayland library (libnvidia-egl-wayland.so.${_eglver})")
- provides=("nvidia-utils=${pkgver}" "nvidia-settings=${pkgver}" 'libglvnd' 'vulkan-driver')
- conflicts=('nvidia-utils' 'nvidia-settings' 'libglvnd')
+ depends=('xorg-server' 'libglvnd' 'egl-wayland')
+ optdepends=('nvidia-settings-full-beta-all: for the configuration tool'
+ 'xorg-server-devel: for nvidia-xconfig'
+ 'opencl-nvidia-full-beta-all: for OpenCL support')
+ provides=("nvidia-utils=${pkgver}" 'vulkan-driver' 'opengl-driver' "nvidia-libgl=${pkgver}"
+ "nvidia-libgl-beta=${pkgver}")
+ conflicts=('nvidia-utils' 'nvidia-libgl')
+ replaces=('nvidia-libgl')
install=nvidia-utils-full-beta-all.install
cd "$_pkg"
-##### LIBRARIES AND COMPONENTS #####
-
# X driver
- install -D -m755 nvidia_drv.so -t "${pkgdir}/usr/lib/xorg/modules/drivers/"
+ install -D -m755 nvidia_drv.so -t "${pkgdir}/usr/lib/xorg/modules/drivers"
- # GLX extension for X
+ # GLX extension module for X
install -D -m755 "libglxserver_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib/nvidia/xorg"
- ln -s "libglxserver_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglxserver_nvidia.so.1" # X doesn't find glx otherwise
- ln -s "libglxserver_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglxserver_nvidia.so" # X doesn't find glx otherwise
-
- # libGL & OpenGL
- install -D -m755 libGL.so.1.7.0 -t "${pkgdir}/usr/lib/nvidia"
- install -D -m755 libGLdispatch.so.0 -t "${pkgdir}/usr/lib"
- install -D -m755 "libnvidia-glcore.so.${pkgver}" -t "${pkgdir}/usr/lib"
- install -D -m755 libOpenGL.so.0 -t "${pkgdir}/usr/lib"
- install -D -m755 "libnvidia-glvkspirv.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ # Ensure that X finds glx
+ ln -s "libglxserver_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglxserver_nvidia.so.1"
+ ln -s "libglxserver_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglxserver_nvidia.so"
- # GLX
- install -D -m755 libGLX.so.0 -t "${pkgdir}/usr/lib"
install -D -m755 "libGLX_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib"
- # now in mesa driver
- #ln -s "libGLX_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libGLX_indirect.so.0"
- # EGL
- install -D -m755 libEGL.so.1.1.0 -t "${pkgdir}/usr/lib/nvidia"
- install -D -m755 "libEGL_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib"
- install -D -m755 "libnvidia-eglcore.so.${pkgver}" -t "${pkgdir}/usr/lib"
- install -D -m644 10_nvidia.json -t "${pkgdir}/usr/share/glvnd/egl_vendor.d"
- install -D -m644 10_nvidia_wayland.json -t "${pkgdir}/usr/share/egl/egl_external_platform.d"
-
- # OpenGL ES
- install -D -m755 libGLESv1_CM.so.1.2.0 -t "${pkgdir}/usr/lib/nvidia"
+ # OpenGL libraries
+ install -D -m755 "libEGL_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib"
install -D -m755 "libGLESv1_CM_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib"
- install -D -m755 libGLESv2.so.2.1.0 -t "${pkgdir}/usr/lib/nvidia"
install -D -m755 "libGLESv2_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib"
- install -D -m755 "libnvidia-glsi.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ install -D -m644 "10_nvidia.json" -t "${pkgdir}/usr/share/glvnd/egl_vendor.d"
- # VDPAU (Video Decode and Presentation API for Unix)
- install -D -m755 "libvdpau_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib/vdpau"
+ # OpenGL core library
+ install -D -m755 "libnvidia-glcore.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ install -D -m755 "libnvidia-eglcore.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ install -D -m755 "libnvidia-glsi.so.${pkgver}" -t "${pkgdir}/usr/lib"
+
+ # misc
+ install -D -m755 "libnvidia-ifr.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ install -D -m755 "libnvidia-fbc.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ install -D -m755 "libnvidia-encode.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ install -D -m755 "libnvidia-cfg.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ install -D -m755 "libnvidia-ml.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ install -D -m755 "libnvidia-glvkspirv.so.${pkgver}" -t "${pkgdir}/usr/lib"
- # GPU-accelerated video encoding
- install -D -m755 "libnvidia-encode.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ # Vulkan ICD
+ install -D -m644 "nvidia_icd.json.template" "${pkgdir}/usr/share/vulkan/icd.d/nvidia_icd.json"
- # GTK+ for nvidia-settings
- install -D -m755 "libnvidia-gtk2.so.${pkgver}" -t "${pkgdir}/usr/lib"
- install -D -m755 "libnvidia-gtk3.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ # VDPAU
+ install -D -m755 "libvdpau_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib/vdpau"
- # component of nvidia-xconfig
- install -D -m755 "libnvidia-cfg.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ # nvidia-tls library
+ install -D -m755 "libnvidia-tls.so.${pkgver}" -t "${pkgdir}/usr/lib"
- # CUDA (Compute Unified Device Architecture) (perform traditional CPU calculations with the GPU)
+ # CUDA
install -D -m755 "libcuda.so.${pkgver}" -t "${pkgdir}/usr/lib"
install -D -m755 "libnvcuvid.so.${pkgver}" -t "${pkgdir}/usr/lib"
@@ -237,203 +211,118 @@ package_nvidia-utils-full-beta-all() {
# Fat (multiarchitecture) binary loader
install -D -m755 "libnvidia-fatbinaryloader.so.${pkgver}" -t "${pkgdir}/usr/lib"
- # TLS (Thread local storage) support for OpenGL libs
- install -D -m755 "libnvidia-tls.so.${pkgver}" -t "${pkgdir}/usr/lib"
-
- # GPU monitoring and management (1/2)
- install -D -m755 "libnvidia-ml.so.${pkgver}" -t "${pkgdir}/usr/lib"
-
- # vulkan icd
- install -D -m644 nvidia_icd.json.template "${pkgdir}/usr/share/vulkan/icd.d/nvidia_icd.json"
-
- # vulkan real-time ray tracing extensions (VK_NV_raytracing)
+ # raytracing
+ install -D -m755 "libnvoptix.so.${pkgver}" -t "${pkgdir}/usr/lib"
install -D -m755 "libnvidia-rtcore.so.${pkgver}" -t "${pkgdir}/usr/lib"
install -D -m755 "libnvidia-cbl.so.${pkgver}" -t "${pkgdir}/usr/lib"
- # helper libs for approved partners GRID remote apps
- install -D -m755 "libnvidia-ifr.so.${pkgver}" -t "${pkgdir}/usr/lib"
- install -D -m755 "libnvidia-fbc.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ # Optical flow
+ install -D -m755 "libnvidia-opticalflow.so.${pkgver}" -t "${pkgdir}/usr/lib"
- # OptiX ray tracing engine
- install -D -m755 "libnvoptix.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ # DEBUG
+ install -D -m755 nvidia-debugdump -t "${pkgdir}/usr/bin"
- # Optical Flow
- install -D -m755 "libnvidia-opticalflow.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ # nvidia-xconfig
+ install -D -m755 nvidia-xconfig -t "${pkgdir}/usr/bin"
+ install -D -m644 nvidia-xconfig.1.gz -t "${pkgdir}/usr/share/man/man1"
- _create_links
+ # nvidia-bug-report
+ install -D -m755 nvidia-bug-report.sh -t "${pkgdir}/usr/bin"
-##### BINARIES AND MANPAGES #####
+ # nvidia-smi
+ install -D -m755 nvidia-smi -t "${pkgdir}/usr/bin"
+ install -D -m644 nvidia-smi.1.gz -t "${pkgdir}/usr/share/man/man1"
- # CUDA MPS (Multi Process Service)
+ # nvidia-cuda-mps
install -D -m755 nvidia-cuda-mps-server -t "${pkgdir}/usr/bin"
install -D -m755 nvidia-cuda-mps-control -t "${pkgdir}/usr/bin"
install -D -m644 nvidia-cuda-mps-control.1.gz -t "${pkgdir}/usr/share/man/man1"
- # for loading the kernel module and creating the character device files
- install -D -m4755 nvidia-modprobe -t "${pkgdir}/usr/bin"
- install -D -m644 nvidia-modprobe.1.gz -t "${pkgdir}/usr/share/man/man1"
+ # nvidia-modprobe
+ # This should be removed if nvidia fixed their uvm module!
+ install -D -m4755 nvidia-modprobe -t "${pkgdir}/usr/bin"
+ install -D -m644 nvidia-modprobe.1.gz -t "${pkgdir}/usr/share/man/man1"
- # daemon for maintaining persistent software state in the driver
- install -D -m755 nvidia-persistenced -t "$pkgdir/usr/bin"
- install -D -m644 nvidia-persistenced.1.gz -t "$pkgdir/usr/share/man/man1"
- install -D -m644 nvidia-persistenced-init/systemd/nvidia-persistenced.service.template \
- "${pkgdir}/usr/lib/systemd/system/nvidia-persistenced.service"
+ # nvidia-persistenced
+ install -D -m755 nvidia-persistenced -t "${pkgdir}/usr/bin"
+ install -D -m644 nvidia-persistenced.1.gz -t "${pkgdir}/usr/share/man/man1"
+ install -D -m644 nvidia-persistenced-init/systemd/nvidia-persistenced.service.template "${pkgdir}/usr/lib/systemd/system/nvidia-persistenced.service"
sed -i 's/__USER__/nvidia-persistenced/' "${pkgdir}/usr/lib/systemd/system/nvidia-persistenced.service"
- # GUI for configuring the driver
- install -D -m755 nvidia-settings -t "${pkgdir}/usr/bin"
- install -D -m644 nvidia-settings.1.gz -t "${pkgdir}/usr/share/man/man1"
- install -D -m644 nvidia-settings.png -t "${pkgdir}/usr/share/pixmaps"
- install -D -m644 nvidia-settings.desktop -t "${pkgdir}/usr/share/applications"
- sed -e 's:__UTILS_PATH__:/usr/bin:' \
- -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' \
- -i "${pkgdir}/usr/share/applications/nvidia-settings.desktop"
-
- # GPU monitoring and management (2/2)
- install -D -m755 nvidia-smi -t "${pkgdir}/usr/bin"
- install -D -m644 nvidia-smi.1.gz -t "${pkgdir}/usr/share/man/man1"
-
- # basic control over configuration options in the driver
- install -D -m755 nvidia-xconfig -t "${pkgdir}/usr/bin"
- install -D -m644 nvidia-xconfig.1.gz -t "${pkgdir}/usr/share/man/man1"
-
- # debugging and bug reporting
- install -D -m755 nvidia-bug-report.sh -t "${pkgdir}/usr/bin"
- install -D -m755 nvidia-debugdump -t "${pkgdir}/usr/bin"
-
-##### MISCELLANEOUS #####
-
- # vendor profiles
+ # application profiles
install -D -m644 "nvidia-application-profiles-${pkgver}-rc" -t "${pkgdir}/usr/share/nvidia"
install -D -m644 "nvidia-application-profiles-${pkgver}-key-documentation" -t "${pkgdir}/usr/share/nvidia"
-
- # documentation
- install -D -m644 README.txt "${pkgdir}/usr/share/doc/${pkgname}/README"
+
+ install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -D -m644 README.txt "${pkgdir}/usr/share/doc/${pkgname}/README"
install -D -m644 NVIDIA_Changelog -t "${pkgdir}/usr/share/doc/${pkgname}"
- cp -a html "${pkgdir}/usr/share/doc/${pkgname}"
+ cp -a html "${pkgdir}/usr/share/doc/${pkgname}/"
+ #ln -s nvidia "${pkgdir}/usr/share/doc/nvidia-utils"
- # distro-specific files must be installed in /usr/share/X11/xorg.conf.d
+ # distro specific files must be installed in /usr/share/X11/xorg.conf.d
install -D -m644 "${srcdir}/nvidia-drm-outputclass.conf" "${pkgdir}/usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf"
- # sysusers
install -D -m644 "${srcdir}/nvidia-utils-full-beta-all.sysusers" -t "${pkgdir}/usr/lib/sysusers.d"
- # license
- install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
-}
-
-package_nvidia-full-beta-all() {
- depends=("nvidia-utils-full-beta-all>=${pkgver}" 'libgl')
- provides=("nvidia=${pkgver}" "nvidia-beta=${pkgver}")
- conflicts=('nvidia')
-
- local _dir
- local _kernel
-
- for _dir in $(find /usr/lib/modules -maxdepth 1 -type d -name 'extramodules-*')
- do
- _kernel="$(cat "${_dir}/version")"
-
- install -D -m644 "${_pkg}/kernel-${_kernel}/"nvidia{,-drm,-modeset,-uvm}.ko -t "${pkgdir}/${_dir}"
-
- gzip -n "${pkgdir}/${_dir}/"*.ko
- done
-
- printf '%s\n' 'blacklist nouveau' | install -D -m644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
-
- install -D -m644 "${_pkg}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}"
+ _create_links
}
package_lib32-opencl-nvidia-full-beta-all() {
pkgdesc="NVIDIA's OpenCL implemention for 'lib32-nvidia-utils-full-beta-all' "
- depends=('lib32-zlib' 'lib32-gcc-libs')
+ depends=('lib32-zlib' 'lib32-gcc-libs' "lib32-nvidia-utils-full-beta-all>=${pkgver}")
optdepends=('opencl-headers: headers necessary for OpenCL development')
provides=("lib32-opencl-nvidia=${pkgver}" 'lib32-opencl-driver')
conflicts=('lib32-opencl-nvidia')
- cd "$_pkg"
-
- # libraries
- install -D -m755 "32/libnvidia-compiler.so.${pkgver}" -t "${pkgdir}/usr/lib32"
- install -D -m755 "32/libnvidia-opencl.so.${pkgver}" -t "${pkgdir}/usr/lib32"
- _create_links
-
- # license
- install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
-}
-
-package_lib32-nvidia-libgl-full-beta-all() {
- pkgdesc="NVIDIA driver library symlinks for 'lib32-nvidia-utils-full-beta-all'"
- depends=('lib32-nvidia-utils-full-beta-all' 'nvidia-libgl-full-beta-all')
- provides=("lib32-nvidia-libgl=${pkgver}" 'lib32-libgl' 'lib32-libegl' 'lib32-libgles')
- conflicts=('lib32-nvidia-libgl' 'lib32-libgl' 'lib32-libegl' 'lib32-libgles')
- replaces=('lib32-nvidia-utils<=313.26-1')
-
- cd "$_pkg"
-
- mkdir -p "${pkgdir}/usr/lib32/"
-
- # libGL (link)
- ln -s /usr/lib32/nvidia/libGL.so.1.7.0 "${pkgdir}/usr/lib32/libGL.so.1"
- ln -s libGL.so.1 "${pkgdir}/usr/lib32/libGL.so"
-
- # EGL (link)
- ln -s /usr/lib32/nvidia/libEGL.so.1.1.0 "${pkgdir}/usr/lib32/libEGL.so.1"
- ln -s libEGL.so.1 "${pkgdir}/usr/lib32/libEGL.so"
+ cd "${_pkg}/32"
- # OpenGL ES 1 (link)
- ln -s /usr/lib32/nvidia/libGLESv1_CM.so.1.2.0 "${pkgdir}/usr/lib32/libGLESv1_CM.so.1"
- ln -s libGLESv1_CM.so.1 "${pkgdir}/usr/lib32/libGLESv1_CM.so"
+ # OpenCL
+ install -D -m755 "libnvidia-compiler.so.${pkgver}" -t "${pkgdir}/usr/lib32"
+ install -D -m755 "libnvidia-opencl.so.${pkgver}" -t "${pkgdir}/usr/lib32"
- # OpenGL ES 2 (link)
- ln -s /usr/lib32/nvidia/libGLESv2.so.2.1.0 "${pkgdir}/usr/lib32/libGLESv2.so.2"
- ln -s libGLESv2.so.2 "${pkgdir}/usr/lib32/libGLESv2.so"
+ _create_links
# license
- install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -D -m644 "${srcdir}/${_pkg}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
package_lib32-nvidia-utils-full-beta-all() {
pkgdesc="NVIDIA driver utilities and libraries for 'nvidia-full-beta-all' (32-bit)"
- depends=('lib32-zlib' 'lib32-gcc-libs' 'nvidia-utils-full-beta-all' 'lib32-mesa>=17.0.2-1')
- optdepends=('lib32-opencl-nvidia-full-beta-all: OpenCL support')
- provides=("lib32-nvidia-utils=${pkgver}" 'lib32-libglvnd' 'lib32-vulkan-driver')
- conflicts=('lib32-nvidia-utils' 'lib32-libglvnd')
+ depends=('lib32-zlib' 'lib32-gcc-libs' 'lib32-libglvnd' "nvidia-utils-full-beta-all>=${pkgver}")
+ optdepends=('lib32-opencl-nvidia-full-beta-all: for OpenCL support')
+ provides=("lib32-nvidia-utils=${pkgver}" 'lib32-vulkan-driver' 'lib32-opengl-driver'
+ "lib32-nvidia-libgl=${pkgver}" "lib32-nvidia-libgl-beta=${pkgver}")
+ conflicts=('lib32-nvidia-utils' 'lib32-nvidia-libgl')
+ replaces=('lib32-nvidia-libgl')
cd "${_pkg}/32"
- # libGL & OpenGL
- install -D -m755 libGL.so.1.7.0 -t "${pkgdir}/usr/lib32/nvidia"
- install -D -m755 libGLdispatch.so.0 -t "${pkgdir}/usr/lib32"
- install -D -m755 "libnvidia-glcore.so.${pkgver}" -t "${pkgdir}/usr/lib32"
- install -D -m755 libOpenGL.so.0 -t "${pkgdir}/usr/lib32"
- install -D -m755 "libnvidia-glvkspirv.so.${pkgver}" -t "${pkgdir}/usr/lib32"
-
- # GLX
- install -D -m755 libGLX.so.0 -t "${pkgdir}/usr/lib32"
install -D -m755 "libGLX_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib32"
- # now in lib32-mesa driver
- #ln -s "libGLX_nvidia.so.${pkgver}" "${pkgdir}/usr/lib32/libGLX_indirect.so.0"
- # EGL
- install -D -m755 libEGL.so.1.1.0 -t "${pkgdir}/usr/lib32/nvidia"
- install -D -m755 "libEGL_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib32"
- install -D -m755 "libnvidia-eglcore.so.${pkgver}" -t "${pkgdir}/usr/lib32"
-
- # OpenGL ES
- install -D -m755 libGLESv1_CM.so.1.2.0 -t "${pkgdir}/usr/lib32/nvidia"
+ # OpenGL libraries
+ install -D -m755 "libEGL_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib32"
install -D -m755 "libGLESv1_CM_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib32"
- install -D -m755 libGLESv2.so.2.1.0 -t "${pkgdir}/usr/lib32/nvidia"
install -D -m755 "libGLESv2_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib32"
- install -D -m755 "libnvidia-glsi.so.${pkgver}" -t "${pkgdir}/usr/lib32"
- # VDPAU (Video Decode and Presentation API for Unix)
+ # OpenGL core library
+ install -D -m755 "libnvidia-glcore.so.${pkgver}" -t "${pkgdir}/usr/lib32"
+ install -D -m755 "libnvidia-eglcore.so.${pkgver}" -t "${pkgdir}/usr/lib32"
+ install -D -m755 "libnvidia-glsi.so.${pkgver}" -t "${pkgdir}/usr/lib32"
+
+ # misc
+ install -D -m755 "libnvidia-ifr.so.${pkgver}" -t "${pkgdir}/usr/lib32"
+ install -D -m755 "libnvidia-fbc.so.${pkgver}" -t "${pkgdir}/usr/lib32"
+ install -D -m755 "libnvidia-encode.so.${pkgver}" -t "${pkgdir}/usr/lib32"
+ install -D -m755 "libnvidia-ml.so.${pkgver}" -t "${pkgdir}/usr/lib32"
+ install -D -m755 "libnvidia-glvkspirv.so.${pkgver}" -t "${pkgdir}/usr/lib32"
+
+ # VDPAU
install -D -m755 "libvdpau_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib32/vdpau"
- # GPU-accelerated video encoding
- install -D -m755 "libnvidia-encode.so.${pkgver}" -t "${pkgdir}/usr/lib32"
+ # nvidia-tls library
+ install -D -m755 "libnvidia-tls.so.${pkgver}" -t "${pkgdir}/usr/lib32"
- # CUDA (Compute Unified Device Architecture) (perform traditional CPU calculations with the GPU)
+ # CUDA
install -D -m755 "libcuda.so.${pkgver}" -t "${pkgdir}/usr/lib32"
install -D -m755 "libnvcuvid.so.${pkgver}" -t "${pkgdir}/usr/lib32"
@@ -443,22 +332,11 @@ package_lib32-nvidia-utils-full-beta-all() {
# Fat (multiarchitecture) binary loader
install -D -m755 "libnvidia-fatbinaryloader.so.${pkgver}" -t "${pkgdir}/usr/lib32"
- # TLS (Thread local storage) support for OpenGL libs
- install -D -m755 "libnvidia-tls.so.${pkgver}" -t "${pkgdir}/usr/lib32"
-
- # GPU monitoring and management
- install -D -m755 "libnvidia-ml.so.${pkgver}" -t "${pkgdir}/usr/lib32"
-
- # helper libs for approved partners GRID remote apps
- install -D -m755 "libnvidia-ifr.so.${pkgver}" -t "${pkgdir}/usr/lib32"
- install -D -m755 "libnvidia-fbc.so.${pkgver}" -t "${pkgdir}/usr/lib32"
-
- # Optical Flow
+ # Optical flow
install -D -m755 "libnvidia-opticalflow.so.${pkgver}" -t "${pkgdir}/usr/lib32"
_create_links
# license
- cd "${srcdir}/${_pkg}"
- install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -D -m644 "${srcdir}/${_pkg}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}"
}