From 3995068347bbf884cc92ba788ef8744cc31d32fd Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Sun, 28 Aug 2022 10:42:56 +0200 Subject: [PATCH] nongnu: Add nvidia-libs-nvenc. * nongnu/packages/nvidia.scm (nvidia-libs-nvdec): New variable. --- nongnu/packages/nvidia.scm | 45 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/nongnu/packages/nvidia.scm b/nongnu/packages/nvidia.scm index 30313bd..1596225 100644 --- a/nongnu/packages/nvidia.scm +++ b/nongnu/packages/nvidia.scm @@ -406,6 +406,51 @@ packages that have been compiled with a mesa output, take a look at the nvda package.") (license (license:nonfree (format #f "file:///share/doc/nvidia-driver-~a/LICENSE" version))))) +(define-public nvidia-libs-nvenc + (package + (inherit nvidia-libs) + (name "nvidia-libs-nvenc") + (version nvidia-version) + (arguments + (substitute-keyword-arguments (package-arguments nvidia-libs) + ((#:phases phases) + #~(modify-phases #$phases + (add-after 'install 'enable-nvenc + (lambda* _ + (let* ((tmp-patch-sh "/tmp/patch.sh") + (tmp-patch-fbc-sh "/tmp/patch-fbc.sh") + (nvidia-patch #$(origin + (method git-fetch) + (uri (git-reference (url + "https://github.com/keylase/nvidia-patch") + (commit + "86e009af74a31c3d31e64fdc402e92b47090e550"))) + (sha256 (base32 + "10bdz2613kij045ar1df4k450zni369n89iiyvxici9fjs1vqyix"))))) + (install-file (string-append nvidia-patch "/patch.sh") + "/tmp") + (install-file (string-append nvidia-patch "/patch-fbc.sh") + "/tmp") + (substitute* (list tmp-patch-sh tmp-patch-fbc-sh) + (("nvidia-smi") + "true") + (("/opt") + "/tmp") + (("ldconfig") + "") + (("/usr/lib/x86_64-linux-gnu") + (string-append #$output "/lib")) + (("/bin/sh") + (string-append #$bash-minimal "/bin/sh"))) + (invoke (string-append #$bash-minimal "/bin/bash") + tmp-patch-sh "-d" + #$nvidia-version) + (invoke (string-append #$bash-minimal "/bin/bash") + tmp-patch-fbc-sh "-d" + #$nvidia-version)))))))) + (native-inputs `(("bash" ,bash-minimal) + ,@(package-native-inputs nvidia-libs))))) + (define-public nvidia-module (package (name "nvidia-module")