summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--plugins/sysinfo/meson.build11
-rw-r--r--plugins/sysinfo/sysinfo.c28
-rw-r--r--plugins/sysinfo/sysinfo.h3
-rw-r--r--plugins/sysinfo/unix/pci.c5
4 files changed, 10 insertions, 37 deletions
diff --git a/plugins/sysinfo/meson.build b/plugins/sysinfo/meson.build
index 2bee3e76..c589a590 100644
--- a/plugins/sysinfo/meson.build
+++ b/plugins/sysinfo/meson.build
@@ -9,6 +9,7 @@ sysinfo_deps = [
 ]
 
 sysinfo_includes = []
+sysinfo_cargs = []
 
 system = host_machine.system()
 if system == 'linux' or system == 'darwin'
@@ -18,7 +19,8 @@ if system == 'linux' or system == 'darwin'
   ]
 
   if system == 'linux'
-    sysinfo_deps += dependency('libpci')
+    libpci = dependency('libpci')
+    sysinfo_deps += libpci
     sysinfo_includes += 'unix'
     sysinfo_sources += [
       'unix/backend.c',
@@ -26,6 +28,10 @@ if system == 'linux' or system == 'darwin'
       'unix/parse.c',
       'unix/pci.c',
     ]
+
+    picidsdir = libpci.get_pkgconfig_variable('idsdir')
+    pciids = join_paths(picidsdir, 'pci.ids')
+    sysinfo_cargs += '-DPCIIDS_FILE="@0@"'.format(pciids)
   elif system == 'darwin'
     add_languages('objc')
     sysinfo_sources += 'osx/backend.m'
@@ -40,7 +46,8 @@ endif
 shared_module('sysinfo', sysinfo_sources,
   dependencies: sysinfo_deps,
   include_directories: include_directories(sysinfo_includes),
+  c_args: sysinfo_cargs,
   install: true,
   install_dir: plugindir,
   name_prefix: '',
-)
\ No newline at end of file
+)
diff --git a/plugins/sysinfo/sysinfo.c b/plugins/sysinfo/sysinfo.c
index 10c9d796..a09e4766 100644
--- a/plugins/sysinfo/sysinfo.c
+++ b/plugins/sysinfo/sysinfo.c
@@ -133,16 +133,6 @@ print_info (char *info, gboolean announce)
 	hexchat_print (ph, _("Sysinfo: No info by that name\n"));
 }
 
-/*
- * Simple wrapper for backend specific options.
- * Ensure dest >= 512.
- */
-int
-sysinfo_get_str_pref (const char *pref, char *dest)
-{
-	return hexchat_pluginpref_get_str (ph, pref, dest);
-}
-
 static gboolean
 sysinfo_get_bool_pref (const char *pref, gboolean def)
 {
@@ -184,24 +174,6 @@ sysinfo_set_pref (char *key, char *value)
 		sysinfo_set_pref_real (key, value, DEFAULT_ANNOUNCE);
 		return;
 	}
-#ifdef HAVE_LIBPCI
-	else if (!strcmp (key, "pciids"))
-	{
-		if (value && value[0])
-		{
-			hexchat_pluginpref_set_str (ph, "pciids", value);
-			hexchat_printf (ph, _("Sysinfo: pciids is set to: %s\n"), value);
-		}
-		else
-		{
-			char buf[512];
-			if (hexchat_pluginpref_get_str (ph, "pciids", buf) == 0)
-				strcpy (buf, DEFAULT_PCIIDS);
-			hexchat_printf (ph, _("Sysinfo: pciids is set to: %s\n"), buf);
-		}
-		return;
-	}
-#endif
 	else if (g_str_has_prefix (key, "hide_"))
 	{
 		int i;
diff --git a/plugins/sysinfo/sysinfo.h b/plugins/sysinfo/sysinfo.h
index cfde8408..16ec03e4 100644
--- a/plugins/sysinfo/sysinfo.h
+++ b/plugins/sysinfo/sysinfo.h
@@ -22,8 +22,5 @@
 #define SYSINFO_H
 
 #define bsize 1024
-#define DEFAULT_PCIIDS "/usr/share/hwdata/pci.ids"
-
-int sysinfo_get_str_pref (const char *name, char *dest);
 
 #endif
diff --git a/plugins/sysinfo/unix/pci.c b/plugins/sysinfo/unix/pci.c
index 71b085fe..a887245c 100644
--- a/plugins/sysinfo/unix/pci.c
+++ b/plugins/sysinfo/unix/pci.c
@@ -122,11 +122,8 @@ void pci_find_fullname(char *fullname, char *vendor, char *device)
 	char *position;
 	int cardfound = 0;
 	FILE *fp;
-	
-	if (!sysinfo_get_str_pref ("pciids", buffer))
-		strcpy (buffer, DEFAULT_PCIIDS);
 
-	fp = fopen (buffer, "r");
+	fp = fopen (PCIIDS_FILE, "r");
 	if(fp == NULL)
 	{
 		g_snprintf(fullname, bsize, "%s:%s", vendor, device);