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-next.  Add "-DENABLE_NVENC=OFF" to configure-flags.
Set OBS_EXECUTABLE_RPATH, OBS_LIBRARY_RPATH and OBS_MODULE_RPATH.

Change-Id: Iaa8e7fceb04b3bf7e69cb0a040938ca90dfa46d0
Signed-off-by: Andreas Enge <andreas@enge.fr>
This commit is contained in:
宋文武 2025-02-10 13:05:44 +08:00 committed by Andreas Enge
parent 10ca42404a
commit 686cc8728e
No known key found for this signature in database
GPG key ID: F7D5C9BF765C61E3
2 changed files with 36 additions and 32 deletions

View file

@ -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
+
for (int i = 0; i < module_patterns_size; i++) {
obs_add_module_path(module_bin[i], module_data[i]);
}

View file

@ -130,12 +130,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)
@ -4138,7 +4140,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
@ -4148,21 +4150,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-next ;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
@ -4218,10 +4226,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