libnma: init at 1.8.28

Upstream have pulled out libnma from networkmanagerapplet.
This commit is contained in:
Tor Hedin Brønner 2020-03-15 15:50:26 +01:00 committed by Jan Tojnar
parent ddf87fb1ba
commit 2b77be7cd7
No known key found for this signature in database
GPG Key ID: 7FAB2A15F7A607A4
3 changed files with 117 additions and 0 deletions

@ -0,0 +1,89 @@
{ stdenv
, fetchurl
, meson
, ninja
, gettext
, gtk-doc
, pkg-config
, vala
, networkmanager
, gnome3
, isocodes
, libxml2
, docbook_xsl
, docbook_xml_dtd_43
, mobile-broadband-provider-info
, gobject-introspection
, gtk3
, withGnome ? true
, gcr
, glib
, substituteAll
}:
stdenv.mkDerivation rec {
pname = "libnma";
version = "1.8.28";
outputs = [ "out" "dev" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "09mp6k0hfam1vyyv9kcd8j4gb2r58i05ipx2nswb58ris599bxja";
};
patches = [
# Needed for wingpanel-indicator-network and switchboard-plug-network
./hardcode-gsettings.patch
];
nativeBuildInputs = [
meson
ninja
gettext
pkg-config
gobject-introspection
gtk-doc
docbook_xsl
docbook_xml_dtd_43
libxml2
vala
];
buildInputs = [
gtk3
networkmanager
isocodes
mobile-broadband-provider-info
] ++ stdenv.lib.optionals withGnome [
# advanced certificate chooser
gcr
];
mesonFlags = [
"-Dgcr=${if withGnome then "true" else "false"}"
];
postPatch = ''
substituteInPlace src/nma-ws/nma-eap.c --subst-var-by \
NM_APPLET_GSETTINGS ${glib.makeSchemaPath "$out" "${pname}-${version}"}
'';
postInstall = ''
glib-compile-schemas $out/share/glib-2.0/schemas
'';
passthru = {
updateScript = gnome3.updateScript {
packageName = pname;
};
};
meta = with stdenv.lib; {
homepage = "https://gitlab.gnome.org/GNOME/libnma";
description = "NetworkManager UI utilities (libnm version)";
license = licenses.gpl2Plus; # Mix of GPL and LPGL 2+
maintainers = teams.gnome.members;
platforms = platforms.linux;
};
}

@ -0,0 +1,26 @@
--- 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);
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_free (path);
return settings;

@ -5339,6 +5339,8 @@ in
networkmanagerapplet = callPackage ../tools/networking/network-manager/applet { };
libnma = callPackage ../tools/networking/network-manager/libnma { };
networkmanager_dmenu = callPackage ../tools/networking/network-manager/dmenu { };
nm-tray = libsForQt5.callPackage ../tools/networking/network-manager/tray.nix { };