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>
This commit is contained in:
Jan Tojnar 2023-02-01 22:37:36 +00:00
parent e4d6bad712
commit 972b24d3c6
3 changed files with 38 additions and 59 deletions

View File

@ -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; {

View File

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

View File

@ -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