diff options
Diffstat (limited to 'nongnu/packages/video.scm')
-rw-r--r-- | nongnu/packages/video.scm | 74 |
1 files changed, 69 insertions, 5 deletions
diff --git a/nongnu/packages/video.scm b/nongnu/packages/video.scm index 4c6a4b0..e5af3a1 100644 --- a/nongnu/packages/video.scm +++ b/nongnu/packages/video.scm @@ -1,5 +1,6 @@ ;;; SPDX-License-Identifier: GPL-3.0-or-later ;;; Copyright © 2022 Jelle Licht <jlicht@fsfe.org> +;;; Copyright © 2024 Oleg Pykhalov <go.wigust@gmail.com> (define-module (nongnu packages video) #:use-module (gnu packages pkg-config) @@ -10,12 +11,13 @@ #:use-module (guix git-download) #:use-module (guix packages) #:use-module (guix utils) - #:use-module ((guix licenses) #:prefix license:)) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (nongnu packages chromium)) (define-public gmmlib (package (name "gmmlib") - (version "22.3.15") + (version "22.3.19") (source (origin (method git-fetch) (uri (git-reference @@ -24,7 +26,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0qmdprqarqdz8z6s1av2vmd7ma5yaswxkxzdjci57fgyylqkjlri")))) + "0p3wp6xcvpb4jzw4fsf6554qy91iblmq9y50ph3iy29m19q6nznb")))) (build-system cmake-build-system) (arguments ;; Tests are run as part of the normal build step @@ -40,7 +42,7 @@ for VAAPI.") (define-public intel-media-driver (package (name "intel-media-driver") - (version "23.4.3") + (version "24.1.5") (source (origin (method git-fetch) (uri (git-reference @@ -49,7 +51,7 @@ for VAAPI.") (file-name (git-file-name name version)) (sha256 (base32 - "0rgjakygfzy6d3jz38nnjvcvqyjnwz2b4vfh1ifqfcm3bw56fmr9")))) + "1jm4imld48scj0j499wq5zbdjv4gg7hg2sawljqnjvy09dmp09bs")))) (build-system cmake-build-system) (inputs (list libva gmmlib)) (native-inputs (list pkg-config)) @@ -92,3 +94,65 @@ graphics hardware.") (package-description intel-media-driver) " This build of intel-media-driver includes nonfree blobs to fully enable the video decode capabilities of supported Intel GPUs.")))) + +(define-public obs-with-cef + (package + (inherit obs) + (name "obs-with-cef") + (inputs + (append (package-inputs obs) + `(("chromium-embedded-framework" ,chromium-embedded-framework)))) + (arguments + (substitute-keyword-arguments (package-arguments obs) + ((#:configure-flags flags) + #~(append #$flags + '("-DBUILD_BROWSER=ON" + "-DCEF_ROOT_DIR=../source/cef"))) + ((#:phases phases) + #~(modify-phases #$phases + (add-before 'configure 'add-cef + (lambda* (#:key inputs #:allow-other-keys) + (let ((chromium-embedded-framework + #$(this-package-input "chromium-embedded-framework"))) + (mkdir-p "cef/Release") + (mkdir-p "cef/Resources") + (for-each (lambda (file) + (symlink file (string-append "cef/Release/" + (basename file))) + (symlink file (string-append "cef/Resources/" + (basename file)))) + (filter + (lambda (file) + (not (string= (basename (dirname file)) + "locales"))) + (find-files + (string-append chromium-embedded-framework + "/share/cef")))) + (symlink (string-append chromium-embedded-framework + "/lib/libcef.so") + "cef/Release/libcef.so") + (mkdir-p "cef/libcef_dll_wrapper") + (symlink (string-append chromium-embedded-framework + "/lib/libcef_dll_wrapper.a") + "cef/libcef_dll_wrapper/libcef_dll_wrapper.a") + (symlink (string-append chromium-embedded-framework + "/include") + "cef/include")))) + (add-after 'install 'symlink-obs-browser + ;; Required for lib/obs-plugins/obs-browser.so file. + (lambda* (#:key outputs #:allow-other-keys) + (symlink + (string-append #$output + "/lib/libobs-frontend-api.so.0") + (string-append #$output + "/lib/obs-plugins/libobs-frontend-api.so.0")) + (symlink + (string-append #$output + "/lib/libobs.so.0") + (string-append #$output + "/lib/obs-plugins/libobs.so.0")))))))) + (description + (string-append + (package-description obs) + " This build of OBS includes embeded Chromium-based browser to enable +Browser source.")))) |