about summary refs log tree commit diff
path: root/pkgs/tools/networking/network-manager
diff options
context:
space:
mode:
authorworldofpeace <worldofpeace@users.noreply.github.com>2019-04-18 12:01:18 -0400
committerGitHub <noreply@github.com>2019-04-18 12:01:18 -0400
commitcc97412a2663fd8ee606098f20a37c1b7a817454 (patch)
treecf49df4b28e3041f3ec0d0bb554c21f1c54ecf4c /pkgs/tools/networking/network-manager
parent42c107c2aa7200d690b3bec53715c0bc607f4221 (diff)
parent75cc84b3b7f8c14c35e6a5973d65f504ab29b8ad (diff)
downloadnixlib-cc97412a2663fd8ee606098f20a37c1b7a817454.tar
nixlib-cc97412a2663fd8ee606098f20a37c1b7a817454.tar.gz
nixlib-cc97412a2663fd8ee606098f20a37c1b7a817454.tar.bz2
nixlib-cc97412a2663fd8ee606098f20a37c1b7a817454.tar.lz
nixlib-cc97412a2663fd8ee606098f20a37c1b7a817454.tar.xz
nixlib-cc97412a2663fd8ee606098f20a37c1b7a817454.tar.zst
nixlib-cc97412a2663fd8ee606098f20a37c1b7a817454.zip
Merge pull request #59339 from worldofpeace/elementary-updates-etcs
pantheon updates, etc.
Diffstat (limited to 'pkgs/tools/networking/network-manager')
-rw-r--r--pkgs/tools/networking/network-manager/applet.nix5
-rw-r--r--pkgs/tools/networking/network-manager/hardcode-gsettings.patch32
2 files changed, 37 insertions, 0 deletions
diff --git a/pkgs/tools/networking/network-manager/applet.nix b/pkgs/tools/networking/network-manager/applet.nix
index 81dc7558d79b..d9f9e6570acb 100644
--- a/pkgs/tools/networking/network-manager/applet.nix
+++ b/pkgs/tools/networking/network-manager/applet.nix
@@ -33,9 +33,14 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ meson ninja intltool pkgconfig wrapGAppsHook gobject-introspection python3 gtk-doc docbook_xsl docbook_xml_dtd_43 libxml2 ];
 
+  # Needed for wingpanel-indicator-network and switchboard-plug-network
+  patches = [ ./hardcode-gsettings.patch ];
+
   postPatch = ''
     chmod +x meson_post_install.py # patchShebangs requires executable file
     patchShebangs meson_post_install.py
+
+    substituteInPlace src/wireless-security/eap-method.c --subst-var-by NM_APPLET_GSETTINGS $lib/share/gsettings-schemas/${name}/glib-2.0/schemas
   '';
 
   passthru = {
diff --git a/pkgs/tools/networking/network-manager/hardcode-gsettings.patch b/pkgs/tools/networking/network-manager/hardcode-gsettings.patch
new file mode 100644
index 000000000000..a480fd6d91e7
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/hardcode-gsettings.patch
@@ -0,0 +1,32 @@
+diff --git a/src/wireless-security/eap-method.c b/src/wireless-security/eap-method.c
+index 2e9daa23..6663b3ce 100644
+--- a/src/wireless-security/eap-method.c
++++ b/src/wireless-security/eap-method.c
+@@ -265,8 +265,11 @@ eap_method_ca_cert_ignore_get (EAPMethod *method, NMConnection *connection)
+ static GSettings *
+ _get_ca_ignore_settings (NMConnection *connection)
+ {
++	GSettingsSchemaSource *schema_source;
++	g_autoptr (GSettingsSchema) *schema;
+ 	GSettings *settings;
+-	char *path = NULL;
++
++	g_autofree char *path = NULL;
+ 	const char *uuid;
+ 
+ 	g_return_val_if_fail (connection, NULL);
+@@ -274,9 +277,12 @@ _get_ca_ignore_settings (NMConnection *connection)
+ 	uuid = nm_connection_get_uuid (connection);
+ 	g_return_val_if_fail (uuid && *uuid, NULL);
+ 
++	schema_source = g_settings_schema_source_new_from_directory ("@NM_APPLET_GSETTINGS@", g_settings_schema_source_get_default (), TRUE, NULL);
++	schema = g_settings_schema_source_lookup (schema_source, "org.gnome.nm-applet.eap", FALSE);
++	g_settings_schema_source_unref (schema_source);
++
+ 	path = g_strdup_printf ("/org/gnome/nm-applet/eap/%s/", uuid);
+-	settings = g_settings_new_with_path ("org.gnome.nm-applet.eap", path);
+-	g_free (path);
++	settings = g_settings_new_full (schema, NULL, path);
+ 
+ 	return settings;
+ }