about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2020-03-22 00:33:35 +0100
committerGitHub <noreply@github.com>2020-03-22 00:33:35 +0100
commitcc737967799d7495a3ab197b5a86227c937d9ece (patch)
treea8722a5818c68df9c6901609f2c688708226351c
parentdcda17d856ac74b0061669954e36b00ed5e51ec1 (diff)
parentb6445d30a1c85ca9ae5a15528afcac5f0dabf0e2 (diff)
downloadnixlib-cc737967799d7495a3ab197b5a86227c937d9ece.tar
nixlib-cc737967799d7495a3ab197b5a86227c937d9ece.tar.gz
nixlib-cc737967799d7495a3ab197b5a86227c937d9ece.tar.bz2
nixlib-cc737967799d7495a3ab197b5a86227c937d9ece.tar.lz
nixlib-cc737967799d7495a3ab197b5a86227c937d9ece.tar.xz
nixlib-cc737967799d7495a3ab197b5a86227c937d9ece.tar.zst
nixlib-cc737967799d7495a3ab197b5a86227c937d9ece.zip
Merge pull request #82699 from hedning/libnma
 libnma: init at 1.8.28 
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-control-center/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cjs/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-control-center/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix3
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/applet/default.nix80
-rw-r--r--pkgs/tools/networking/network-manager/fortisslvpn/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/iodine/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/l2tp/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/libnma/default.nix89
-rw-r--r--pkgs/tools/networking/network-manager/libnma/hardcode-gsettings.patch (renamed from pkgs/tools/networking/network-manager/applet/hardcode-gsettings.patch)30
-rw-r--r--pkgs/tools/networking/network-manager/openvpn/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/strongswan/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/vpnc/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix2
17 files changed, 181 insertions, 68 deletions
diff --git a/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix b/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
index e8fa7c7b4e39..454d65335540 100644
--- a/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
@@ -33,7 +33,7 @@
 , wrapGAppsHook
 , tzdata
 , glibc
-, networkmanagerapplet
+, libnma
 , modemmanager
 , xorg
 , gdk-pixbuf
@@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
     gnome-online-accounts
     tzdata
     networkmanager
-    networkmanagerapplet
+    libnma
     modemmanager
     xorg.libXxf86misc
     xorg.libxkbfile
diff --git a/pkgs/desktops/cinnamon/cjs/default.nix b/pkgs/desktops/cinnamon/cjs/default.nix
index 9dbab8fd767e..d67a5d8386a8 100644
--- a/pkgs/desktops/cinnamon/cjs/default.nix
+++ b/pkgs/desktops/cinnamon/cjs/default.nix
@@ -17,7 +17,6 @@
 , libffi
 , gtk3
 , readline
-, networkmanagerapplet
 }:
 
 let
@@ -46,7 +45,6 @@ stdenv.mkDerivation rec {
     keybinder3
     upower
     xapps
-    networkmanagerapplet
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
index ea38ed883209..4e66a16bf7c5 100644
--- a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
@@ -48,6 +48,7 @@
 , mutter
 , networkmanager
 , networkmanagerapplet
+, libnma
 , ninja
 , pkgconfig
 , polkit
@@ -126,7 +127,7 @@ stdenv.mkDerivation rec {
     modemmanager
     mutter # schemas for the keybindings
     networkmanager
-    networkmanagerapplet
+    libnma
     polkit
     samba
     tracker
diff --git a/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix b/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix
index 4423755f71ce..47d06ddac310 100644
--- a/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix
@@ -28,7 +28,7 @@
 , polkit
 , webkitgtk
 , systemd
-, networkmanagerapplet
+, libnma
 , tzdata
 , yelp
 , libgnomekbd
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
     pango
     polkit
     webkitgtk
-    networkmanagerapplet
+    libnma
   ];
 
   patches = [
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
index 71d47a338a78..26e96b5a3385 100644
--- a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
@@ -3,7 +3,7 @@
 , libstartup_notification, telepathy-glib, telepathy-logger, libXtst, unzip, glibcLocales, shared-mime-info
 , libgweather, libcanberra-gtk3, librsvg, geoclue2, perl, docbook_xml_dtd_42, desktop-file-utils
 , libpulseaudio, libical, gobject-introspection, gstreamer, wrapGAppsHook, libxslt, gcr
-, accountsservice, gdk-pixbuf, gdm, upower, ibus, networkmanagerapplet, libgnomekbd, gnome-desktop
+, accountsservice, gdk-pixbuf, gdm, upower, ibus, libnma, libgnomekbd, gnome-desktop
 , gsettings-desktop-schemas, gnome-keyring, glib, gjs, mutter, evolution-data-server, gtk3
 , sassc, systemd, gst_all_1, adwaita-icon-theme, gnome-bluetooth, gnome-clocks, gnome-settings-daemon
 , gnome-autoar, asciidoc-full }:
@@ -43,7 +43,7 @@ in stdenv.mkDerivation rec {
     gnome-autoar
 
     # not declared at build time, but typelib is needed at runtime
-    libgweather networkmanagerapplet
+    libgweather libnma
   ];
 
   patches = [
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
index 6e050c92d805..1ff1068119b7 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
@@ -11,6 +11,7 @@
 , gtk3
 , networkmanager
 , networkmanagerapplet
+, libnma
 , switchboard
 }:
 
@@ -43,7 +44,7 @@ stdenv.mkDerivation rec {
     gtk3
     libgee
     networkmanager
-    networkmanagerapplet
+    libnma
     switchboard
   ];
 
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
index fd22de25d63c..cd04e6287b72 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
@@ -8,7 +8,7 @@
 , gtk3
 , granite
 , networkmanager
-, networkmanagerapplet
+, libnma
 , wingpanel
 , libgee
 }:
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     gtk3
     libgee
     networkmanager
-    networkmanagerapplet
+    libnma
     wingpanel
   ];
 
diff --git a/pkgs/tools/networking/network-manager/applet/default.nix b/pkgs/tools/networking/network-manager/applet/default.nix
index 69b454ea72ee..109c4c8cce15 100644
--- a/pkgs/tools/networking/network-manager/applet/default.nix
+++ b/pkgs/tools/networking/network-manager/applet/default.nix
@@ -1,46 +1,74 @@
-{ stdenv, fetchurl, meson, ninja, intltool, gtk-doc, pkgconfig, networkmanager, gnome3
-, libnotify, libsecret, polkit, isocodes, modemmanager, libxml2, docbook_xsl, docbook_xml_dtd_43
-, mobile-broadband-provider-info, glib-networking, gsettings-desktop-schemas
-, libgudev, jansson, wrapGAppsHook, gobject-introspection, python3, gtk3
-, libappindicator-gtk3, withGnome ? true, gcr, glib }:
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, gettext
+, pkg-config
+, networkmanager
+, gnome3
+, libnotify
+, libsecret
+, polkit
+, modemmanager
+, libnma
+, mobile-broadband-provider-info
+, glib-networking
+, gsettings-desktop-schemas
+, libgudev
+, jansson
+, wrapGAppsHook
+, gobject-introspection
+, python3
+, gtk3
+, libappindicator-gtk3
+, glib
+}:
 
-let
+stdenv.mkDerivation rec {
   pname = "network-manager-applet";
-  version = "1.8.24";
-in stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
+  version = "1.16.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1rf3nm0hjcy9f8ajb4vmvwy503w8yj8d4daxkcb7w7i7b92qmyfn";
   };
 
   mesonFlags = [
-    "-Dlibnm_gtk=false" # It is deprecated
     "-Dselinux=false"
     "-Dappindicator=yes"
-    "-Dgcr=${if withGnome then "true" else "false"}"
   ];
 
-  outputs = [ "out" "lib" "dev" "devdoc" "man" ];
+  outputs = [ "out" "man" ];
 
   buildInputs = [
-    gtk3 networkmanager libnotify libsecret gsettings-desktop-schemas
-    polkit isocodes mobile-broadband-provider-info libgudev
-    modemmanager jansson glib-networking
-    libappindicator-gtk3 gnome3.adwaita-icon-theme
-  ] ++ stdenv.lib.optionals withGnome [ gcr ]; # advanced certificate chooser
-
-  nativeBuildInputs = [ meson ninja intltool pkgconfig wrapGAppsHook gobject-introspection python3 gtk-doc docbook_xsl docbook_xml_dtd_43 libxml2 ];
+    libnma
+    gtk3
+    networkmanager
+    libnotify
+    libsecret
+    gsettings-desktop-schemas
+    polkit
+    libgudev
+    modemmanager
+    jansson
+    glib-networking
+    libappindicator-gtk3
+    gnome3.adwaita-icon-theme
+  ];
 
-  # Needed for wingpanel-indicator-network and switchboard-plug-network
-  patches = [ ./hardcode-gsettings.patch ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    gettext
+    pkg-config
+    wrapGAppsHook
+    gobject-introspection
+    python3
+  ];
 
   postPatch = ''
     chmod +x meson_post_install.py # patchShebangs requires executable file
     patchShebangs meson_post_install.py
-
-    substituteInPlace src/wireless-security/eap-method.c --subst-var-by NM_APPLET_GSETTINGS ${glib.makeSchemaPath "$lib" name}
   '';
 
   passthru = {
@@ -51,7 +79,7 @@ in stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Projects/NetworkManager;
+    homepage = "https://gitlab.gnome.org/GNOME/network-manager-applet/";
     description = "NetworkManager control applet for GNOME";
     license = licenses.gpl2;
     maintainers = with maintainers; [ phreedom ];
diff --git a/pkgs/tools/networking/network-manager/fortisslvpn/default.nix b/pkgs/tools/networking/network-manager/fortisslvpn/default.nix
index 94a4c4b362ae..0ce50a3b2d4b 100644
--- a/pkgs/tools/networking/network-manager/fortisslvpn/default.nix
+++ b/pkgs/tools/networking/network-manager/fortisslvpn/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, substituteAll, openfortivpn, intltool, pkgconfig, file, gtk3,
-networkmanager, ppp, libsecret, withGnome ? true, gnome3, fetchpatch, networkmanagerapplet }:
+networkmanager, ppp, libsecret, withGnome ? true, gnome3, fetchpatch, libnma }:
 
 let
   pname = "NetworkManager-fortisslvpn";
@@ -25,7 +25,7 @@ in stdenv.mkDerivation {
   ];
 
   buildInputs = [ openfortivpn networkmanager ppp ]
-    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret networkmanagerapplet ];
+    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret libnma ];
 
   nativeBuildInputs = [ intltool pkgconfig file ];
 
diff --git a/pkgs/tools/networking/network-manager/iodine/default.nix b/pkgs/tools/networking/network-manager/iodine/default.nix
index 9042605caf17..47e5a2f41813 100644
--- a/pkgs/tools/networking/network-manager/iodine/default.nix
+++ b/pkgs/tools/networking/network-manager/iodine/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitLab, substituteAll, autoreconfHook, iodine, intltool, pkgconfig, networkmanager, libsecret, gtk3
-, withGnome ? true, gnome3, fetchpatch, networkmanagerapplet }:
+, withGnome ? true, gnome3, fetchpatch, libnma }:
 
 let
   pname = "NetworkManager-iodine";
@@ -28,7 +28,7 @@ in stdenv.mkDerivation {
   ];
 
   buildInputs = [ iodine networkmanager ]
-    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret networkmanagerapplet ];
+    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret libnma ];
 
   nativeBuildInputs = [ intltool autoreconfHook pkgconfig ];
 
diff --git a/pkgs/tools/networking/network-manager/l2tp/default.nix b/pkgs/tools/networking/network-manager/l2tp/default.nix
index e4ab74f08e35..09fb0c5977b5 100644
--- a/pkgs/tools/networking/network-manager/l2tp/default.nix
+++ b/pkgs/tools/networking/network-manager/l2tp/default.nix
@@ -1,7 +1,7 @@
 { stdenv, substituteAll, fetchFromGitHub, autoreconfHook, libtool, intltool, pkgconfig
 , file, findutils
 , gtk3, networkmanager, ppp, xl2tpd, strongswan, libsecret
-, withGnome ? true, networkmanagerapplet }:
+, withGnome ? true, libnma }:
 
 stdenv.mkDerivation rec {
   name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [ networkmanager ppp ]
-    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret networkmanagerapplet ];
+    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret libnma ];
 
   nativeBuildInputs = [ autoreconfHook libtool intltool pkgconfig file findutils ];
 
diff --git a/pkgs/tools/networking/network-manager/libnma/default.nix b/pkgs/tools/networking/network-manager/libnma/default.nix
new file mode 100644
index 000000000000..727c18e92c10
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/libnma/default.nix
@@ -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;
+  };
+}
diff --git a/pkgs/tools/networking/network-manager/applet/hardcode-gsettings.patch b/pkgs/tools/networking/network-manager/libnma/hardcode-gsettings.patch
index a480fd6d91e7..9b2f5366950c 100644
--- a/pkgs/tools/networking/network-manager/applet/hardcode-gsettings.patch
+++ b/pkgs/tools/networking/network-manager/libnma/hardcode-gsettings.patch
@@ -1,32 +1,26 @@
-diff --git a/src/wireless-security/eap-method.c b/src/wireless-security/eap-method.c
-index 2e9daa23..6663b3ce 100644
---- a/src/wireless-security/eap-method.c
-+++ b/src/wireless-security/eap-method.c
-@@ -265,8 +265,11 @@ eap_method_ca_cert_ignore_get (EAPMethod *method, NMConnection *connection)
+--- 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)
  {
-+	GSettingsSchemaSource *schema_source;
++	g_autoptr (GSettingsSchemaSource) *schema_source;
 +	g_autoptr (GSettingsSchema) *schema;
  	GSettings *settings;
--	char *path = NULL;
-+
-+	g_autofree char *path = NULL;
+ 	char *path = NULL;
  	const char *uuid;
- 
+
  	g_return_val_if_fail (connection, NULL);
-@@ -274,9 +277,12 @@ _get_ca_ignore_settings (NMConnection *connection)
- 	uuid = nm_connection_get_uuid (connection);
- 	g_return_val_if_fail (uuid && *uuid, 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);
-+	g_settings_schema_source_unref (schema_source);
 +
+ 	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);
--	g_free (path);
 +	settings = g_settings_new_full (schema, NULL, path);
- 
+ 	g_free (path);
+
  	return settings;
- }
diff --git a/pkgs/tools/networking/network-manager/openvpn/default.nix b/pkgs/tools/networking/network-manager/openvpn/default.nix
index 2762b12a364a..13f7eab5cc78 100644
--- a/pkgs/tools/networking/network-manager/openvpn/default.nix
+++ b/pkgs/tools/networking/network-manager/openvpn/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, substituteAll, openvpn, intltool, libxml2, pkgconfig, file, networkmanager, libsecret
-, gtk3, withGnome ? true, gnome3, kmod, fetchpatch, networkmanagerapplet }:
+, gtk3, withGnome ? true, gnome3, kmod, fetchpatch, libnma }:
 
 let
   pname = "NetworkManager-openvpn";
@@ -25,7 +25,7 @@ in stdenv.mkDerivation {
   ];
 
   buildInputs = [ openvpn networkmanager ]
-    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret networkmanagerapplet ];
+    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret libnma ];
 
   nativeBuildInputs = [ intltool pkgconfig file libxml2 ];
 
diff --git a/pkgs/tools/networking/network-manager/strongswan/default.nix b/pkgs/tools/networking/network-manager/strongswan/default.nix
index 843985bfa3e4..4f0a516b4201 100644
--- a/pkgs/tools/networking/network-manager/strongswan/default.nix
+++ b/pkgs/tools/networking/network-manager/strongswan/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, intltool, pkgconfig, networkmanager, strongswanNM
-, gtk3, gnome3, libsecret, networkmanagerapplet }:
+, gtk3, gnome3, libsecret, libnma }:
 
 stdenv.mkDerivation rec {
   pname = "NetworkManager-strongswan";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "015xcj42pd84apa0j0n9r3fhldp42mj72dqvl2xf4r9gwg5nhfrl";
   };
 
-  buildInputs = [ networkmanager strongswanNM libsecret gtk3 networkmanagerapplet ];
+  buildInputs = [ networkmanager strongswanNM libsecret gtk3 libnma ];
 
   nativeBuildInputs = [ intltool pkgconfig ];
 
diff --git a/pkgs/tools/networking/network-manager/vpnc/default.nix b/pkgs/tools/networking/network-manager/vpnc/default.nix
index 663923255745..9c1d046e4fb6 100644
--- a/pkgs/tools/networking/network-manager/vpnc/default.nix
+++ b/pkgs/tools/networking/network-manager/vpnc/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, substituteAll, vpnc, intltool, pkgconfig, networkmanager, libsecret
-, gtk3, withGnome ? true, gnome3, kmod, file, fetchpatch, networkmanagerapplet }:
+, gtk3, withGnome ? true, gnome3, kmod, file, fetchpatch, libnma }:
 let
   pname = "NetworkManager-vpnc";
   version = "1.2.6";
@@ -24,7 +24,7 @@ in stdenv.mkDerivation {
   ];
 
   buildInputs = [ vpnc networkmanager ]
-    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret networkmanagerapplet ];
+    ++ stdenv.lib.optionals withGnome [ gtk3 libsecret libnma ];
 
   nativeBuildInputs = [ intltool pkgconfig file ];
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7262dbb79402..68f16bae7412 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5346,6 +5346,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 { };