* gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/video.scm (obs): Use it. * gnu/packages/patches/obs-modules-location.patch: Patch it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
		
			
				
	
	
		
			33 lines
		
	
	
		
			No EOL
		
	
	
		
			1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			No EOL
		
	
	
		
			1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From d250434e6c8eb4f8c8cb47ef3cc6e6de8fa8f828 Mon Sep 17 00:00:00 2001
 | 
						|
From: Alexey Abramov <levenson@mmer.org>
 | 
						|
Date: Fri, 15 Jan 2021 17:07:17 +0100
 | 
						|
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 @@
 | 
						|
 
 | 
						|
 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) {
 | 
						|
+		struct dstr dstr_data_directory;
 | 
						|
+		dstr_init_copy(&dstr_data_directory, data_directory);
 | 
						|
+		dstr_cat(&dstr_data_directory, "/%module%");
 | 
						|
+		obs_add_module_path(bin_directory, 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]);
 | 
						|
+	}
 | 
						|
 }
 | 
						|
 
 | 
						|
 /*
 | 
						|
-- 
 | 
						|
2.29.2
 |