andreas pushed a commit to branch qt-team in repository guix. commit 923c500b134250b0533db8a92a6b613b6b9aece6 Author: 宋文武 <iyzs...@member.fsf.org> AuthorDate: Mon Feb 10 13:05:44 2025 +0800
gnu: obs: Upduate to 31.0.1. * gnu/packages/patches/obs-modules-location.patch: Adjust for 31.0.1. * gnu/packages/video.scm (obs): Update to 31.0.1. [inputs]: Add rnnoise and uthash. [arguments]: Use cmake-3.30. Add "-DENABLE_NVENC=OFF" to configure-flags. Set OBS_EXECUTABLE_RPATH, OBS_LIBRARY_RPATH and OBS_MODULE_RPATH. Change-Id: Iaa8e7fceb04b3bf7e69cb0a040938ca90dfa46d0 --- gnu/packages/patches/obs-modules-location.patch | 36 +++++++++++-------------- gnu/packages/video.scm | 32 ++++++++++++++-------- 2 files changed, 36 insertions(+), 32 deletions(-) diff --git a/gnu/packages/patches/obs-modules-location.patch b/gnu/packages/patches/obs-modules-location.patch index 18b286d006..742119470a 100644 --- a/gnu/packages/patches/obs-modules-location.patch +++ b/gnu/packages/patches/obs-modules-location.patch @@ -5,29 +5,23 @@ Subject: [PATCH] Use environment variable for a default module location diff --git a/libobs/obs-nix.c b/libobs/obs-nix.c index 382fa0546..481ea0f14 100644 -*** a/libobs/obs-nix.c ---- b/libobs/obs-nix.c -@@ -66,8 +66,19 @@ +--- a.c 2025-02-10 12:48:39.885858056 +0800 ++++ b.c 2025-02-10 12:57:18.913869843 +0800 +@@ -83,6 +83,17 @@ void add_default_module_paths(void) + bfree(module_bin_path); + bfree(module_data_path); - void add_default_module_paths(void) - { -- for (int i = 0; i < module_patterns_size; i++) -- obs_add_module_path(module_bin[i], module_data[i]); -+ char *bin_directory = getenv("OBS_PLUGINS_DIRECTORY"); -+ char *data_directory = getenv("OBS_PLUGINS_DATA_DIRECTORY"); -+ if (bin_directory && data_directory) { ++ module_bin_path = getenv("OBS_PLUGINS_DIRECTORY"); ++ module_data_path = getenv("OBS_PLUGINS_DATA_DIRECTORY"); ++ if (module_bin_path && module_data_path) { + struct dstr dstr_data_directory; -+ dstr_init_copy(&dstr_data_directory, data_directory); ++ dstr_init_copy(&dstr_data_directory, module_data_path); + dstr_cat(&dstr_data_directory, "/%module%"); -+ obs_add_module_path(bin_directory, dstr_data_directory.array); ++ obs_add_module_path(module_bin_path, dstr_data_directory.array); + dstr_free(&dstr_data_directory); -+ -+ } else { -+ for (int i = 0; i < module_patterns_size; i++) -+ obs_add_module_path(module_bin[i], module_data[i]); ++ return; + } - } - - /* --- -2.29.2 \ No newline at end of file ++ + for (int i = 0; i < module_patterns_size; i++) { + obs_add_module_path(module_bin[i], module_data[i]); + } diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 890b141a97..f46884f980 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -128,12 +128,14 @@ #:use-module (gnu packages cdrom) #:use-module (gnu packages certs) #:use-module (gnu packages check) + #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) #:use-module (gnu packages crates-check) #:use-module (gnu packages crates-io) #:use-module (gnu packages crates-graphics) #:use-module (gnu packages curl) + #:use-module (gnu packages datastructures) #:use-module (gnu packages dbm) #:use-module (gnu packages dejagnu) #:use-module (gnu packages dns) @@ -4074,7 +4076,7 @@ be used for realtime video capture via Linux-specific APIs.") (define-public obs (package (name "obs") - (version "30.1.2") + (version "31.0.1") (source (origin (method git-fetch) (uri (git-reference @@ -4084,21 +4086,27 @@ be used for realtime video capture via Linux-specific APIs.") (file-name (git-file-name name version)) (sha256 (base32 - "02pm6397h7l0xhdpscbh1kq8y98zx236z95wvw60kbhq38s0i0ik")) + "02l1qr7pbmg0va1m9ydmzamg3kh4h05if1hbg0kzfngq93vvy13p")) (patches (search-patches "obs-modules-location.patch")))) (build-system cmake-build-system) (arguments (list + #:cmake cmake-3.30 ;needs cmake >= 3.28 #:configure-flags - #~(list (string-append "-DOBS_VERSION_OVERRIDE=" #$version) - "-DENABLE_UNIT_TESTS=ON" - "-DENABLE_NEW_MPEGTS_OUTPUT=OFF" - "-DENABLE_AJA=OFF" - "-DENABLE_QSV11=OFF" - ;; Browser plugin requires cef, but it is not packaged yet. - ;; <https://bitbucket.org/chromiumembedded/cef/src/master/> - "-DBUILD_BROWSER=OFF") + #~(let ((libdir (string-append (assoc-ref %outputs "out") "/lib"))) + (list (string-append "-DOBS_VERSION_OVERRIDE=" #$version) + (string-append "-DOBS_EXECUTABLE_RPATH=" libdir) + (string-append "-DOBS_LIBRARY_RPATH=" libdir) + (string-append "-DOBS_MODULE_RPATH=" libdir) + "-DENABLE_UNIT_TESTS=ON" + "-DENABLE_NEW_MPEGTS_OUTPUT=OFF" + "-DENABLE_AJA=OFF" + "-DENABLE_QSV11=OFF" + "-DENABLE_NVENC=OFF" + ;; Browser plugin requires cef, but it is not packaged yet. + ;; <https://bitbucket.org/chromiumembedded/cef/src/master/> + "-DBUILD_BROWSER=OFF")) #:phases #~(modify-phases %standard-phases (add-after 'install 'wrap-executable @@ -4154,10 +4162,12 @@ be used for realtime video capture via Linux-specific APIs.") qtbase qtsvg qtwayland + rnnoise speexdsp v4l-utils - vulkan-headers + uthash vlc + vulkan-headers wayland wayland-protocols websocketpp