summary refs log tree commit diff
path: root/pkgs/tools/networking/networkmanager
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2023-02-01 22:37:36 +0000
committerJan Tojnar <jtojnar@gmail.com>2023-02-02 11:02:02 +0100
commit972b24d3c65c14b9aceaf612006f2a2effe9e709 (patch)
treeeaec3bcc1cf7d151c87a801ac0cc30044397dfa2 /pkgs/tools/networking/networkmanager
parente4d6bad7120e218111c70fc8475b75edae59aad7 (diff)
downloadnixpkgs-972b24d3c65c14b9aceaf612006f2a2effe9e709.tar
nixpkgs-972b24d3c65c14b9aceaf612006f2a2effe9e709.tar.gz
nixpkgs-972b24d3c65c14b9aceaf612006f2a2effe9e709.tar.bz2
nixpkgs-972b24d3c65c14b9aceaf612006f2a2effe9e709.tar.lz
nixpkgs-972b24d3c65c14b9aceaf612006f2a2effe9e709.tar.xz
nixpkgs-972b24d3c65c14b9aceaf612006f2a2effe9e709.tar.zst
nixpkgs-972b24d3c65c14b9aceaf612006f2a2effe9e709.zip
libnma: 1.10.4 → 1.10.6
https://gitlab.gnome.org/GNOME/libnma/-/compare/1.10.4...1.10.6

Changelog-Reviewed-By: Jan Tojnar <jtojnar@gmail.com>
Diffstat (limited to 'pkgs/tools/networking/networkmanager')
-rw-r--r--pkgs/tools/networking/networkmanager/libnma/default.nix29
-rw-r--r--pkgs/tools/networking/networkmanager/libnma/hardcode-gsettings.patch36
-rw-r--r--pkgs/tools/networking/networkmanager/libnma/remove-path-from-eap.patch32
3 files changed, 38 insertions, 59 deletions
diff --git a/pkgs/tools/networking/networkmanager/libnma/default.nix b/pkgs/tools/networking/networkmanager/libnma/default.nix
index af4c18e1ce3..8f3ed67abcf 100644
--- a/pkgs/tools/networking/networkmanager/libnma/default.nix
+++ b/pkgs/tools/networking/networkmanager/libnma/default.nix
@@ -23,25 +23,24 @@
 , glib
 , substituteAll
 , lib
+, _experimental-update-script-combinators
+, makeHardcodeGsettingsPatch
 }:
 
 stdenv.mkDerivation rec {
   pname = "libnma";
-  version = "1.10.4";
+  version = "1.10.6";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "eecw3aGfmzSIb0BkqhcPGiMmsIMp1lXYC2fpBsf3i3w=";
+    sha256 = "U6b7KxkK03xZhsrtPpi+3nw8YCOZ7k+TyPwFQwPXbas=";
   };
 
   patches = [
     # Needed for wingpanel-indicator-network and switchboard-plug-network
     ./hardcode-gsettings.patch
-    # Removing path from eap schema to fix bug when creating new VPN connection
-    # https://gitlab.gnome.org/GNOME/libnma/-/issues/18
-    ./remove-path-from-eap.patch
   ];
 
   nativeBuildInputs = [
@@ -86,10 +85,24 @@ stdenv.mkDerivation rec {
   '';
 
   passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-      versionPolicy = "odd-unstable";
+    hardcodeGsettingsPatch = makeHardcodeGsettingsPatch {
+      schemaIdToVariableMapping = {
+        "org.gnome.nm-applet.eap" = "NM_APPLET_GSETTINGS";
+      };
+      inherit src;
     };
+    updateScript =
+      let
+        updateSource = gnome.updateScript {
+          packageName = "libnma";
+          versionPolicy = "odd-unstable";
+        };
+        updateGsettingsPatch = _experimental-update-script-combinators.copyAttrOutputToFile "libnma.hardcodeGsettingsPatch" ./hardcode-gsettings.patch;
+      in
+      _experimental-update-script-combinators.sequence [
+        updateSource
+        updateGsettingsPatch
+      ];
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/networking/networkmanager/libnma/hardcode-gsettings.patch b/pkgs/tools/networking/networkmanager/libnma/hardcode-gsettings.patch
index 9b2f5366950..a68f96113d3 100644
--- a/pkgs/tools/networking/networkmanager/libnma/hardcode-gsettings.patch
+++ b/pkgs/tools/networking/networkmanager/libnma/hardcode-gsettings.patch
@@ -1,26 +1,24 @@
+diff --git a/src/nma-ws/nma-eap.c b/src/nma-ws/nma-eap.c
+index fa36907..81df821 100644
 --- a/src/nma-ws/nma-eap.c
 +++ b/src/nma-ws/nma-eap.c
-@@ -248,11 +248,16 @@ nma_eap_ca_cert_ignore_get (NMAEap *method, NMConnection *connection)
- static GSettings *
- _get_ca_ignore_settings (NMConnection *connection)
- {
-+	g_autoptr (GSettingsSchemaSource) *schema_source;
-+	g_autoptr (GSettingsSchema) *schema;
- 	GSettings *settings;
- 	char *path = NULL;
- 	const char *uuid;
-
- 	g_return_val_if_fail (connection, 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);
-+
- 	uuid = nm_connection_get_uuid (connection);
+@@ -252,7 +252,18 @@ _get_ca_ignore_settings (NMConnection *connection)
  	g_return_val_if_fail (uuid && *uuid, NULL);
-
+ 
  	path = g_strdup_printf ("/org/gnome/nm-applet/eap/%s/", uuid);
 -	settings = g_settings_new_with_path ("org.gnome.nm-applet.eap", path);
-+	settings = g_settings_new_full (schema, NULL, path);
++	{
++		g_autoptr(GSettingsSchemaSource) schema_source;
++		g_autoptr(GSettingsSchema) schema;
++		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);
++		settings = g_settings_new_full(schema, NULL, path);
++	}
  	g_free (path);
-
+ 
  	return settings;
diff --git a/pkgs/tools/networking/networkmanager/libnma/remove-path-from-eap.patch b/pkgs/tools/networking/networkmanager/libnma/remove-path-from-eap.patch
deleted file mode 100644
index fe00ff9d9a9..00000000000
--- a/pkgs/tools/networking/networkmanager/libnma/remove-path-from-eap.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 0ab5c1e39e94e158650da847f8512ab5e2b03593 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
-Date: Wed, 9 Nov 2022 08:00:19 +0000
-Subject: [PATCH] gschema: Remove path from eap schema
-
-This one needs to be relocatable, otherwise creating a new VPN
-connection will fail with:
-
-    settings object created with schema 'org.gnome.nm-applet.eap'
-    and path '/org/gnome/nm-applet/eap/<uuid>/',
-    but path '/org/gnome/nm-applet/eap/' is specified by schema
-
-Fixes: https://bugs.archlinux.org/task/76490
----
- org.gnome.nm-applet.eap.gschema.xml.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/org.gnome.nm-applet.eap.gschema.xml.in b/org.gnome.nm-applet.eap.gschema.xml.in
-index 0fc3ca9f..f4a56ea6 100644
---- a/org.gnome.nm-applet.eap.gschema.xml.in
-+++ b/org.gnome.nm-applet.eap.gschema.xml.in
-@@ -1,6 +1,6 @@
- <?xml version="1.0" encoding="UTF-8"?>
- <schemalist>
--  <schema id="org.gnome.nm-applet.eap" path="/org/gnome/nm-applet/eap/" gettext-domain="nm-applet">
-+  <schema id="org.gnome.nm-applet.eap" gettext-domain="nm-applet">
-     <key name="ignore-ca-cert" type="b">
-       <default>false</default>
-       <summary>Ignore CA certificate</summary>
--- 
-GitLab
-