summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMart Raudsepp <leio@gentoo.org>2020-06-07 22:25:43 +0300
committerMart Raudsepp <leio@gentoo.org>2020-06-07 23:12:15 +0300
commit351654f1ae9347e20e6dbb6d9f45a20cd24bdea7 (patch)
tree1de7226971fda5a80283202d2622c815e29cd08f /net-libs/libnma
parentdev-python/matplotlib: RESTRICT=test 3.1.2 (diff)
downloadgentoo-351654f1ae9347e20e6dbb6d9f45a20cd24bdea7.tar.gz
gentoo-351654f1ae9347e20e6dbb6d9f45a20cd24bdea7.tar.bz2
gentoo-351654f1ae9347e20e6dbb6d9f45a20cd24bdea7.zip
net-libs/libnma: bump to 1.8.28
This is an upstream split from gnome-extra/nm-applet with USE=gcr renamed to USE=pkcs11 (for naming based on feature it enables). nm-applet will remain as the package providing the legacy applet and nm-connection-editor, while consumers linking or using introspection would commonly depend on this libnma package directly instead. Package-Manager: Portage-2.3.84, Repoman-2.3.20 Signed-off-by: Mart Raudsepp <leio@gentoo.org>
Diffstat (limited to 'net-libs/libnma')
-rw-r--r--net-libs/libnma/Manifest1
-rw-r--r--net-libs/libnma/files/1.8.28-nma-ws-leak-fix.patch86
-rw-r--r--net-libs/libnma/libnma-1.8.28.ebuild72
-rw-r--r--net-libs/libnma/metadata.xml3
4 files changed, 162 insertions, 0 deletions
diff --git a/net-libs/libnma/Manifest b/net-libs/libnma/Manifest
new file mode 100644
index 000000000000..9428f91e9ef8
--- /dev/null
+++ b/net-libs/libnma/Manifest
@@ -0,0 +1 @@
+DIST libnma-1.8.28.tar.xz 1366584 BLAKE2B 598c2d310844930a5ed8b8d4b8bc0ae91193a8e62bccdb60050cc980cd37d198adf728b98694d9f1cf9f523998b865d9682fd271c88e434ead777ed5b69866b4 SHA512 d3996da3433493149edf0743b7f2280a83db2efc2228f04eddb773bbcb08ea2efcb640f781cb1d0a5cbabd8b25b1c612387682ff5239151d8ce249568e877f5b
diff --git a/net-libs/libnma/files/1.8.28-nma-ws-leak-fix.patch b/net-libs/libnma/files/1.8.28-nma-ws-leak-fix.patch
new file mode 100644
index 000000000000..8f2042a2568b
--- /dev/null
+++ b/net-libs/libnma/files/1.8.28-nma-ws-leak-fix.patch
@@ -0,0 +1,86 @@
+From 55e33e4ce01c8b2b8dc98a5ee40a5636579cd577 Mon Sep 17 00:00:00 2001
+From: Beniamino Galvani <bgalvani@redhat.com>
+Date: Sat, 11 Apr 2020 15:44:17 +0200
+Subject: [PATCH] nma-ws: properly dispose wireless security objects
+
+Chain up to parent to properly free resources on dispose().
+
+Fixes: b61cc1b9fa040 ("nma-ws: add")
+
+https://gitlab.gnome.org/GNOME/libnma/-/issues/7
+---
+ src/nma-ws/nma-ws-802-1x.c | 2 ++
+ src/nma-ws/nma-ws-leap.c | 2 ++
+ src/nma-ws/nma-ws-sae.c | 2 ++
+ src/nma-ws/nma-ws-wep-key.c | 2 ++
+ src/nma-ws/nma-ws-wpa-psk.c | 2 ++
+ 5 files changed, 10 insertions(+)
+
+diff --git a/src/nma-ws/nma-ws-802-1x.c b/src/nma-ws/nma-ws-802-1x.c
+index ba348266..0c148ce5 100644
+--- a/src/nma-ws/nma-ws-802-1x.c
++++ b/src/nma-ws/nma-ws-802-1x.c
+@@ -482,6 +482,8 @@ dispose (GObject *object)
+ g_clear_pointer (&self->secrets_hints, g_strfreev);
+ g_clear_pointer (&self->username, g_free);
+ g_clear_pointer (&self->password, g_free);
++
++ G_OBJECT_CLASS (nma_ws_802_1x_parent_class)->dispose (object);
+ }
+
+ static void
+diff --git a/src/nma-ws/nma-ws-leap.c b/src/nma-ws/nma-ws-leap.c
+index f90d43aa..df6d2dde 100644
+--- a/src/nma-ws/nma-ws-leap.c
++++ b/src/nma-ws/nma-ws-leap.c
+@@ -260,6 +260,8 @@ dispose (GObject *object)
+ NMAWsLeap *self = NMA_WS_LEAP (object);
+
+ g_clear_object (&self->connection);
++
++ G_OBJECT_CLASS (nma_ws_leap_parent_class)->dispose (object);
+ }
+
+ static void
+diff --git a/src/nma-ws/nma-ws-sae.c b/src/nma-ws/nma-ws-sae.c
+index e3454bbd..00fb6ff5 100644
+--- a/src/nma-ws/nma-ws-sae.c
++++ b/src/nma-ws/nma-ws-sae.c
+@@ -252,6 +252,8 @@ dispose (GObject *object)
+ NMAWsSae *self = NMA_WS_SAE (object);
+
+ g_clear_object (&self->connection);
++
++ G_OBJECT_CLASS (nma_ws_sae_parent_class)->dispose (object);
+ }
+
+ static void
+diff --git a/src/nma-ws/nma-ws-wep-key.c b/src/nma-ws/nma-ws-wep-key.c
+index cae8c272..992aabf7 100644
+--- a/src/nma-ws/nma-ws-wep-key.c
++++ b/src/nma-ws/nma-ws-wep-key.c
+@@ -404,6 +404,8 @@ dispose (GObject *object)
+ NMAWsWepKey *self = NMA_WS_WEP_KEY (object);
+
+ g_clear_object (&self->connection);
++
++ G_OBJECT_CLASS (nma_ws_wep_key_parent_class)->dispose (object);
+ }
+
+ static void
+diff --git a/src/nma-ws/nma-ws-wpa-psk.c b/src/nma-ws/nma-ws-wpa-psk.c
+index 1c73922a..27604960 100644
+--- a/src/nma-ws/nma-ws-wpa-psk.c
++++ b/src/nma-ws/nma-ws-wpa-psk.c
+@@ -270,6 +270,8 @@ dispose (GObject *object)
+ NMAWsWpaPsk *self = NMA_WS_WPA_PSK (object);
+
+ g_clear_object (&self->connection);
++
++ G_OBJECT_CLASS (nma_ws_wpa_psk_parent_class)->dispose (object);
+ }
+
+ static void
+--
+2.20.1
+
diff --git a/net-libs/libnma/libnma-1.8.28.ebuild b/net-libs/libnma/libnma-1.8.28.ebuild
new file mode 100644
index 000000000000..140757c9ecb7
--- /dev/null
+++ b/net-libs/libnma/libnma-1.8.28.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit gnome.org gnome2-utils meson xdg vala
+
+DESCRIPTION="NetworkManager GUI library"
+HOMEPAGE="https://wiki.gnome.org/Projects/NetworkManager"
+
+LICENSE="GPL-2+"
+SLOT="0"
+# pkcs11 default enabled as it's a small dep often already present by libnma users, and it was default enabled as IUSE=+gcr in nm-applet before
+IUSE="gtk-doc +introspection +pkcs11 vala"
+REQUIRED_USE="vala? ( introspection )"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+DEPEND="
+ app-text/iso-codes
+ net-misc/mobile-broadband-provider-info
+ >=dev-libs/glib-2.38:2
+ >=x11-libs/gtk+-3.10:3[introspection?]
+ >=net-misc/networkmanager-1.7[introspection?]
+ pkcs11? ( >=app-crypt/gcr-3.14:= )
+ introspection? ( >=dev-libs/gobject-introspection-1.56:= )
+"
+RDEPEND="${DEPEND}
+ !<gnome-extra/nm-applet-1.16.0" # gschema moved to here before nm-applet-1.16.0
+BDEPEND="
+ dev-libs/libxml2
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ gtk-doc? ( dev-util/gtk-doc
+ app-text/docbook-xml-dtd:4.3 )
+ vala? ( $(vala_depend)
+ net-misc/networkmanager[vala]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-nma-ws-leak-fix.patch
+)
+
+src_prepare() {
+ use vala && vala_src_prepare
+ xdg_src_prepare
+}
+
+src_configure() {
+ local emesonargs=(
+ -Dlibnma_gtk4=false
+ $(meson_use pkcs11 gcr)
+ -Dmore_asserts=0
+ -Diso_codes=true
+ -Dmobile_broadband_provider_info=true
+ -Dld_gc=false
+ $(meson_use gtk-doc gtk_doc)
+ $(meson_use introspection)
+ $(meson_use vala vapi)
+ )
+ meson_src_configure
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/net-libs/libnma/metadata.xml b/net-libs/libnma/metadata.xml
index 996e7cacd217..5c94e2f316c0 100644
--- a/net-libs/libnma/metadata.xml
+++ b/net-libs/libnma/metadata.xml
@@ -5,4 +5,7 @@
<email>gnome@gentoo.org</email>
<name>Gentoo GNOME Desktop</name>
</maintainer>
+ <use>
+ <flag name="pkcs11">Enable PKCS#11 support in certificate chooser via <pkg>app-crypt/gcr</pkg></flag>
+ </use>
</pkgmetadata>