commit:     351654f1ae9347e20e6dbb6d9f45a20cd24bdea7
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Sun Jun  7 19:25:43 2020 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Sun Jun  7 20:12:15 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=351654f1

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 <AT> gentoo.org>

 net-libs/libnma/Manifest                           |  1 +
 net-libs/libnma/files/1.8.28-nma-ws-leak-fix.patch | 86 ++++++++++++++++++++++
 net-libs/libnma/libnma-1.8.28.ebuild               | 72 ++++++++++++++++++
 net-libs/libnma/metadata.xml                       |  3 +
 4 files changed, 162 insertions(+)

diff --git a/net-libs/libnma/Manifest b/net-libs/libnma/Manifest
new file mode 100644
index 00000000000..9428f91e9ef
--- /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 00000000000..8f2042a2568
--- /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 <[email protected]>
+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 00000000000..140757c9ecb
--- /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 996e7cacd21..5c94e2f316c 100644
--- a/net-libs/libnma/metadata.xml
+++ b/net-libs/libnma/metadata.xml
@@ -5,4 +5,7 @@
                <email>[email protected]</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>

Reply via email to