summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorDaniel Bermond2019-06-09 02:37:41 +0000
committerDaniel Bermond2019-06-09 02:37:41 +0000
commitee12807f945eb2a6beb936d43296a2455427783b (patch)
treeceaa239e326d56792b724a48d0532771cfdadfc2 /PKGBUILD
parent7cffdc8db8446c891431cefa295fdc99a0d11f60 (diff)
downloadaur-ee12807f945eb2a6beb936d43296a2455427783b.tar.gz
First major rewrite after package adoption
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD448
1 files changed, 163 insertions, 285 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 4f8f93fcc378..004a2ea46ad3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,57 +1,46 @@
# Maintainer : Daniel Bermond < gmail-com: danielbermond >
# Contributor: Det <nimetonmaili g-mail>
-# Based on nvidia-beta: https://aur.archlinux.org/packages/nvidia-beta/,
-# 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
-pkgname=('nvidia-full-beta' 'nvidia-utils-full-beta' 'nvidia-egl-wayland-full-beta' 'nvidia-libgl-full-beta' 'opencl-nvidia-full-beta')
+pkgname=('nvidia-full-beta'
+ 'nvidia-utils-full-beta'
+ 'opencl-nvidia-full-beta'
+ 'nvidia-settings-full-beta'
+ 'lib32-nvidia-utils-full-beta'
+ 'lib32-opencl-nvidia-full-beta')
pkgver=430.14
-pkgrel=1
+pkgrel=2
pkgdesc="Full NVIDIA driver package for Arch's official 'linux' package (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 >/dev/null 2>&1
-then
- pkgname+=('lib32-nvidia-utils-full-beta' 'lib32-nvidia-libgl-full-beta' 'lib32-opencl-nvidia-full-beta')
- _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.sysusers')
-sha256sums=('0f583a277b1731cb8327510b75dba9cf7adf5c781247e4f48bcc9f358253278f'
+ 'nvidia-utils-full-beta.sysusers'
+ 'FS62142.patch'
+ 'nvidia-utils-full-beta-change-vulkan-driver-path.patch'
+ 'nvidia-settings-full-beta-change-desktop-paths.patch')
+sha256sums=('00d46ffaf3e1e430081ddbd68b74cc361cd1328e8944224dfe69630dd8540f17'
'089d6dc247c9091b320c418b0d91ae6adda65e170934d178cdd4e9bd0785b182'
- 'd8d1caa5d72c71c6430c2a0d9ce1a674787e9272ccce28b9d5898ca24e60a167')
-[ "$_pkg" = "NVIDIA-Linux-${CARCH}-${pkgver}" ] && sha256sums[0]='00d46ffaf3e1e430081ddbd68b74cc361cd1328e8944224dfe69630dd8540f17'
+ 'd8d1caa5d72c71c6430c2a0d9ce1a674787e9272ccce28b9d5898ca24e60a167'
+ 'c961006882afb691410c017c239e2c2ef61badb88f15735d37112b513ef0a99d'
+ '57e2393228b09b85d91b9d095b85899178f6fd4b456cbb7ea39093d07e7c7ca7'
+ '633bf69c39b8f35d0e64062eb0365c9427c2191583f2daa20b14e51772e8423a')
-_eglver=1.1.2
-_extramodules=extramodules-ARCH
+_extramodules='extramodules-ARCH'
-# 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
@@ -65,152 +54,129 @@ 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-change-vulkan-driver-path.patch"
+ patch -Np1 -i "${srcdir}/nvidia-settings-full-beta-change-desktop-paths.patch"
+
+ # fix https://bugs.archlinux.org/task/62142
+ patch -Np1 -i "${srcdir}/FS62142.patch"
}
build() {
cd "${_pkg}/kernel"
- local _kernel
- _kernel="$(cat "/usr/lib/modules/${_extramodules}/version")"
+ local _kernver
+ _kernver="$(cat "/usr/lib/modules/${_extramodules}/version")"
- printf '%s\n' " -> Building Nvidia module for ${_kernel}..."
- make SYSSRC="/usr/lib/modules/${_kernel}/build" module
+ printf '%s\n' " -> Building Nvidia module for ${_kernver}..."
+ make SYSSRC="/usr/lib/modules/${_kernver}/build" module
}
-package_opencl-nvidia-full-beta() {
- pkgdesc="NVIDIA's OpenCL implemention for 'nvidia-utils-full-beta'"
- depends=('zlib')
- optdepends=('opencl-headers: headers necessary for OpenCL development')
- provides=("opencl-nvidia=${pkgver}" 'opencl-driver')
- conflicts=('opencl-nvidia')
+package_nvidia-full-beta() {
+ depends=("nvidia-utils-full-beta>=${pkgver}" 'libglvnd')
+ provides=("nvidia=${pkgver}" "nvidia-beta=${pkgver}")
+ conflicts=('nvidia')
- cd "$_pkg"
+ install -D -m644 "${_pkg}/kernel/"nvidia{,-drm,-modeset,-uvm}.ko -t "${pkgdir}/usr/lib/modules/${_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
+ find "$pkgdir" -name '*.ko' -exec gzip -n {} +
- # 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() {
- pkgdesc="NVIDIA driver library symlinks for 'nvidia-utils-full-beta'"
- depends=('nvidia-utils-full-beta')
- provides=("nvidia-libgl=${pkgver}" 'libgl' 'libegl' 'libgles')
- conflicts=('nvidia-libgl' 'libgl' 'libegl' 'libgles')
+package_nvidia-settings-full-beta() {
+ pkgdesc="Tool for configuring the NVIDIA graphics driver for 'nvidia-full-beta'"
+ depends=("nvidia-utils-full-beta>=${pkgver}" 'gtk3')
+ provides=("nvidia-settings=${pkgver}" "nvidia-settings-beta=${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() {
- pkgdesc="NVIDIA EGL Wayland library (libnvidia-egl-wayland.so.${_eglver}) for 'nvidia-utils-full-beta'"
- depends=('nvidia-utils-full-beta')
- provides=('egl-wayland')
- conflicts=('egl-wayland')
+package_opencl-nvidia-full-beta() {
+ pkgdesc="NVIDIA's OpenCL implemention for 'nvidia-utils-full-beta'"
+ depends=('zlib' "nvidia-utils-full-beta>=${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() {
pkgdesc="NVIDIA driver utilities and libraries for 'nvidia-full-beta'"
- depends=('xorg-server' 'mesa>=17.0.2-2')
- optdepends=('gtk2: nvidia-settings (GTK+ v2)'
- 'gtk3: nvidia-settings (GTK+ v3)'
- 'opencl-nvidia-full-beta: 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: for the configuration tool'
+ 'xorg-server-devel: for nvidia-xconfig'
+ 'opencl-nvidia-full-beta: 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.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"
@@ -220,220 +186,132 @@ package_nvidia-utils-full-beta() {
# 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.sysusers" -t "${pkgdir}/usr/lib/sysusers.d"
- # license
- install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
-}
-
-package_nvidia-full-beta() {
- depends=('linux' "nvidia-utils-full-beta>=${pkgver}" 'libgl')
- provides=("nvidia=${pkgver}" "nvidia-beta=${pkgver}")
- conflicts=('nvidia')
-
- install -D -m644 "${_pkg}/kernel/"nvidia{,-drm,-modeset,-uvm}.ko -t "${pkgdir}/usr/lib/modules/${_extramodules}"
-
- gzip -n "${pkgdir}/usr/lib/modules/${_extramodules}/"*.ko
-
- 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() {
pkgdesc="NVIDIA's OpenCL implemention for 'lib32-nvidia-utils-full-beta' "
- depends=('lib32-zlib' 'lib32-gcc-libs')
+ depends=('lib32-zlib' 'lib32-gcc-libs' "lib32-nvidia-utils-full-beta>=${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
+ cd "${_pkg}/32"
- # license
- install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
-}
-
-package_lib32-nvidia-libgl-full-beta() {
- pkgdesc="NVIDIA driver library symlinks for 'lib32-nvidia-utils-full-beta'"
- depends=('lib32-nvidia-utils-full-beta' 'nvidia-libgl-full-beta')
- 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')
+ # OpenCL
+ install -D -m755 "libnvidia-compiler.so.${pkgver}" -t "${pkgdir}/usr/lib32"
+ install -D -m755 "libnvidia-opencl.so.${pkgver}" -t "${pkgdir}/usr/lib32"
- 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"
-
- # 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"
-
- # 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() {
pkgdesc="NVIDIA driver utilities and libraries for 'nvidia-full-beta' (32-bit)"
- depends=('lib32-zlib' 'lib32-gcc-libs' 'nvidia-utils-full-beta' 'lib32-mesa>=17.0.2-1')
- optdepends=('lib32-opencl-nvidia-full-beta: 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>=${pkgver}")
+ optdepends=('lib32-opencl-nvidia-full-beta: 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}"
-
- # 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"
+ cd "${_pkg}/32"
- # 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"
# PTX JIT Compiler (Parallel Thread Execution (PTX) is a pseudo-assembly language for CUDA)
- install -D -m755 "32/libnvidia-ptxjitcompiler.so.${pkgver}" -t "${pkgdir}/usr/lib32"
+ install -D -m755 "libnvidia-ptxjitcompiler.so.${pkgver}" -t "${pkgdir}/usr/lib32"
# 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}"
}