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);