summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author宋文武 <iyzsong@member.fsf.org>2025-02-10 13:05:44 +0800
committerAndreas Enge <andreas@enge.fr>2025-07-23 16:10:45 +0200
commit686cc8728ebe6b0572bebb31fb671f5fa0880cf2 (patch)
tree1066e4c3b6dc3ca013d534c3a426039aa6def0b9
parent10ca42404a59519bd5ddf3abefe7fc786c21aaec (diff)
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>
-rw-r--r--gnu/packages/patches/obs-modules-location.patch36
-rw-r--r--gnu/packages/video.scm32
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 eea6dfaae1..705bca8073 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -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