summaryrefslogtreecommitdiffstats
path: root/pkgs/tools
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2023-02-03 14:36:56 +0100
committerGitHub <noreply@github.com>2023-02-03 14:36:56 +0100
commit780c98991343e0e1c58ea747bebf30024f1cf2f7 (patch)
treee1e2318e28b00059a6cc31eddfb395468c9cd7a6 /pkgs/tools
parent7f3a2058168d0fabcb43a423ae4458cd9fb595ae (diff)
parent781678b78b92f58d1239f964feb242a4a2115415 (diff)
Merge pull request #214150 from jtojnar/gnome
GNOME updates
Diffstat (limited to 'pkgs/tools')
-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 af4c18e1ce3a..8f3ed67abcfb 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 9b2f5366950c..a68f96113d34 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 fe00ff9d9a9b..000000000000
--- 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
-