Revert "gnu: gnu: Make alsa find its plugins by setting ALSA_PLUGIN_DIR."
This reverts commit2101cc3fb6. With commit1e3861eb, we can do it without ALSA_PLUGIN_DIR. See <https://bugs.gnu.org/31934> for details.
This commit is contained in:
		
							parent
							
								
									a167873c67
								
							
						
					
					
						commit
						3272bcfd56
					
				
					 3 changed files with 1 additions and 119 deletions
				
			
		| 
						 | 
					@ -563,7 +563,6 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/aegis-test-fixup-1.patch            	\
 | 
					  %D%/packages/patches/aegis-test-fixup-1.patch            	\
 | 
				
			||||||
  %D%/packages/patches/aegis-test-fixup-2.patch            	\
 | 
					  %D%/packages/patches/aegis-test-fixup-2.patch            	\
 | 
				
			||||||
  %D%/packages/patches/agg-am_c_prototype.patch			\
 | 
					  %D%/packages/patches/agg-am_c_prototype.patch			\
 | 
				
			||||||
  %D%/packages/patches/alsa-lib-add-environment-variable.patch \
 | 
					 | 
				
			||||||
  %D%/packages/patches/amule-crypto-6.patch			\
 | 
					  %D%/packages/patches/amule-crypto-6.patch			\
 | 
				
			||||||
  %D%/packages/patches/ansible-wrap-program-hack.patch		\
 | 
					  %D%/packages/patches/ansible-wrap-program-hack.patch		\
 | 
				
			||||||
  %D%/packages/patches/antiword-CVE-2014-8123.patch			\
 | 
					  %D%/packages/patches/antiword-CVE-2014-8123.patch			\
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -981,15 +981,8 @@ intercept and print the system calls executed by the program.")
 | 
				
			||||||
                   version ".tar.bz2"))
 | 
					                   version ".tar.bz2"))
 | 
				
			||||||
             (sha256
 | 
					             (sha256
 | 
				
			||||||
              (base32
 | 
					              (base32
 | 
				
			||||||
               "096pwrnhj36yndldvs2pj4r871zhcgisks0is78f1jkjn9sd4b2z"))
 | 
					               "096pwrnhj36yndldvs2pj4r871zhcgisks0is78f1jkjn9sd4b2z"))))
 | 
				
			||||||
             (patches (search-patches "alsa-lib-add-environment-variable.patch"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-search-paths
 | 
					 | 
				
			||||||
     (list (search-path-specification
 | 
					 | 
				
			||||||
             (variable "ALSA_PLUGIN_DIR")
 | 
					 | 
				
			||||||
             (file-type 'regular)
 | 
					 | 
				
			||||||
             (separator #f)                         ;single entry
 | 
					 | 
				
			||||||
             (files '("lib/alsa-lib")))))
 | 
					 | 
				
			||||||
    (home-page "https://www.alsa-project.org/")
 | 
					    (home-page "https://www.alsa-project.org/")
 | 
				
			||||||
    (synopsis "The Advanced Linux Sound Architecture libraries")
 | 
					    (synopsis "The Advanced Linux Sound Architecture libraries")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,110 +0,0 @@
 | 
				
			||||||
From 1822fb453128a1b5de93b4c590cd272d6488a077 Mon Sep 17 00:00:00 2001
 | 
					 | 
				
			||||||
From: Julien Lepiller <julien@lepiller.eu>
 | 
					 | 
				
			||||||
Date: Fri, 25 May 2018 19:26:58 +0200
 | 
					 | 
				
			||||||
Subject: [PATCH] Add support for a ALSA_PLUGIN_DIR environment variable.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
If it is not set, default to previous behavior.
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 src/control/control.c |  6 +++++-
 | 
					 | 
				
			||||||
 src/dlmisc.c          |  9 +++++++--
 | 
					 | 
				
			||||||
 src/pcm/pcm.c         |  9 +++++++--
 | 
					 | 
				
			||||||
 src/pcm/pcm_rate.c    | 13 +++++++++----
 | 
					 | 
				
			||||||
 4 files changed, 28 insertions(+), 9 deletions(-)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
diff --git a/src/control/control.c b/src/control/control.c
 | 
					 | 
				
			||||||
index 11f7815..9dba7dd 100644
 | 
					 | 
				
			||||||
--- a/src/control/control.c
 | 
					 | 
				
			||||||
+++ b/src/control/control.c
 | 
					 | 
				
			||||||
@@ -1331,7 +1331,11 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
 | 
					 | 
				
			||||||
 			build_in++;
 | 
					 | 
				
			||||||
 		}
 | 
					 | 
				
			||||||
 		if (*build_in == NULL) {
 | 
					 | 
				
			||||||
-			buf1 = malloc(strlen(str) + sizeof(ALSA_PLUGIN_DIR) + 32);
 | 
					 | 
				
			||||||
+			char* plugdir = ALSA_PLUGIN_DIR;
 | 
					 | 
				
			||||||
+			char* envplugdir = getenv("ALSA_PLUGIN_DIR");
 | 
					 | 
				
			||||||
+			if(envplugdir != NULL)
 | 
					 | 
				
			||||||
+				plugdir = envplugdir;
 | 
					 | 
				
			||||||
+			buf1 = malloc(strlen(str) + strlen(plugdir) + 32);
 | 
					 | 
				
			||||||
 			if (buf1 == NULL) {
 | 
					 | 
				
			||||||
 				err = -ENOMEM;
 | 
					 | 
				
			||||||
 				goto _err;
 | 
					 | 
				
			||||||
diff --git a/src/dlmisc.c b/src/dlmisc.c
 | 
					 | 
				
			||||||
index 3757d33..92aa864 100644
 | 
					 | 
				
			||||||
--- a/src/dlmisc.c
 | 
					 | 
				
			||||||
+++ b/src/dlmisc.c
 | 
					 | 
				
			||||||
@@ -82,9 +82,14 @@ void *snd_dlopen(const char *name, int mode, char *errbuf, size_t errbuflen)
 | 
					 | 
				
			||||||
 	char *filename = NULL;
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 	if (name && name[0] != '/') {
 | 
					 | 
				
			||||||
-		filename = alloca(sizeof(ALSA_PLUGIN_DIR) + 1 + strlen(name) + 1);
 | 
					 | 
				
			||||||
+		char* plugdir = ALSA_PLUGIN_DIR;
 | 
					 | 
				
			||||||
+		char* envplugdir = getenv("ALSA_PLUGIN_DIR");
 | 
					 | 
				
			||||||
+		if(envplugdir != NULL)
 | 
					 | 
				
			||||||
+			plugdir = envplugdir;
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
+		filename = malloc(strlen(plugdir) + 1 + strlen(name) + 1);
 | 
					 | 
				
			||||||
 		if (filename) {
 | 
					 | 
				
			||||||
-			strcpy(filename, ALSA_PLUGIN_DIR);
 | 
					 | 
				
			||||||
+			strcpy(filename, plugdir);
 | 
					 | 
				
			||||||
 			strcat(filename, "/");
 | 
					 | 
				
			||||||
 			strcat(filename, name);
 | 
					 | 
				
			||||||
 			handle = dlopen(filename, mode);
 | 
					 | 
				
			||||||
diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c
 | 
					 | 
				
			||||||
index 11aec80..590e8b6 100644
 | 
					 | 
				
			||||||
--- a/src/pcm/pcm.c
 | 
					 | 
				
			||||||
+++ b/src/pcm/pcm.c
 | 
					 | 
				
			||||||
@@ -2496,13 +2496,18 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
 | 
					 | 
				
			||||||
 			build_in++;
 | 
					 | 
				
			||||||
 		}
 | 
					 | 
				
			||||||
 		if (*build_in == NULL) {
 | 
					 | 
				
			||||||
-			buf1 = malloc(strlen(str) + sizeof(ALSA_PLUGIN_DIR) + 32);
 | 
					 | 
				
			||||||
+			char* plugdir = ALSA_PLUGIN_DIR;
 | 
					 | 
				
			||||||
+			char* envplugdir = getenv("ALSA_PLUGIN_DIR");
 | 
					 | 
				
			||||||
+			if(envplugdir != NULL)
 | 
					 | 
				
			||||||
+				plugdir = envplugdir;
 | 
					 | 
				
			||||||
+			buf1 = malloc(strlen(str) + strlen(plugdir) + 32);
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
 			if (buf1 == NULL) {
 | 
					 | 
				
			||||||
 				err = -ENOMEM;
 | 
					 | 
				
			||||||
 				goto _err;
 | 
					 | 
				
			||||||
 			}
 | 
					 | 
				
			||||||
 			lib = buf1;
 | 
					 | 
				
			||||||
-			sprintf(buf1, "%s/libasound_module_pcm_%s.so", ALSA_PLUGIN_DIR, str);
 | 
					 | 
				
			||||||
+			sprintf(buf1, "%s/libasound_module_pcm_%s.so", plugdir, str);
 | 
					 | 
				
			||||||
 		}
 | 
					 | 
				
			||||||
 	}
 | 
					 | 
				
			||||||
 #ifndef PIC
 | 
					 | 
				
			||||||
diff --git a/src/pcm/pcm_rate.c b/src/pcm/pcm_rate.c
 | 
					 | 
				
			||||||
index 4e0c7ca..8694a38 100644
 | 
					 | 
				
			||||||
--- a/src/pcm/pcm_rate.c
 | 
					 | 
				
			||||||
+++ b/src/pcm/pcm_rate.c
 | 
					 | 
				
			||||||
@@ -1260,7 +1260,8 @@ static const char *const default_rate_plugins[] = {
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 static int rate_open_func(snd_pcm_rate_t *rate, const char *type, const snd_config_t *converter_conf, int verbose)
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
-	char open_name[64], open_conf_name[64], lib_name[128], *lib = NULL;
 | 
					 | 
				
			||||||
+	char open_name[64], open_conf_name[64], *lib = NULL;
 | 
					 | 
				
			||||||
+	char *buf1;
 | 
					 | 
				
			||||||
 	snd_pcm_rate_open_func_t open_func;
 | 
					 | 
				
			||||||
 	snd_pcm_rate_open_conf_func_t open_conf_func;
 | 
					 | 
				
			||||||
 	int err;
 | 
					 | 
				
			||||||
@@ -1268,9 +1269,13 @@ static int rate_open_func(snd_pcm_rate_t *rate, const char *type, const snd_conf
 | 
					 | 
				
			||||||
 	snprintf(open_name, sizeof(open_name), "_snd_pcm_rate_%s_open", type);
 | 
					 | 
				
			||||||
 	snprintf(open_conf_name, sizeof(open_conf_name), "_snd_pcm_rate_%s_open_conf", type);
 | 
					 | 
				
			||||||
 	if (!is_builtin_plugin(type)) {
 | 
					 | 
				
			||||||
-		snprintf(lib_name, sizeof(lib_name),
 | 
					 | 
				
			||||||
-				 "%s/libasound_module_rate_%s.so", ALSA_PLUGIN_DIR, type);
 | 
					 | 
				
			||||||
-		lib = lib_name;
 | 
					 | 
				
			||||||
+		char* plugdir = ALSA_PLUGIN_DIR;
 | 
					 | 
				
			||||||
+		char* envplugdir = getenv("ALSA_PLUGIN_DIR");
 | 
					 | 
				
			||||||
+		if(envplugdir != NULL)
 | 
					 | 
				
			||||||
+			plugdir = envplugdir;
 | 
					 | 
				
			||||||
+		buf1 = malloc(strlen(type) + strlen(plugdir) + 32);
 | 
					 | 
				
			||||||
+		sprintf(buf1, "%s/libasound_module_rate_%s.so", plugdir, type);
 | 
					 | 
				
			||||||
+		lib = buf1;
 | 
					 | 
				
			||||||
 	}
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 	rate->rate_min = SND_PCM_PLUGIN_RATE_MIN;
 | 
					 | 
				
			||||||
-- 
 | 
					 | 
				
			||||||
2.17.0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		Reference in a new issue