about summary refs log tree commit diff
path: root/pkgs/tools/networking/networkmanager/openconnect/default.nix
diff options
context:
space:
mode:
authorMaxine Aubrey <maxeaubrey@gmail.com>2021-03-08 16:28:44 +0100
committerMaxine Aubrey <maxeaubrey@gmail.com>2021-03-15 20:20:41 +0100
commit17177b551fdadd712f861876c47aefedc0f3b4b2 (patch)
treeb2d9df377f3ba7aae540d80d105afe15c163f4c4 /pkgs/tools/networking/networkmanager/openconnect/default.nix
parentb8a405153670ed4653a800b30ebda11cc7271ee3 (diff)
networkmanager: fix path and pname
Diffstat (limited to 'pkgs/tools/networking/networkmanager/openconnect/default.nix')
-rw-r--r--pkgs/tools/networking/networkmanager/openconnect/default.nix80
1 files changed, 80 insertions, 0 deletions
diff --git a/pkgs/tools/networking/networkmanager/openconnect/default.nix b/pkgs/tools/networking/networkmanager/openconnect/default.nix
new file mode 100644
index 0000000000000..462eb3793d8f7
--- /dev/null
+++ b/pkgs/tools/networking/networkmanager/openconnect/default.nix
@@ -0,0 +1,80 @@
+{ lib, stdenv
+, fetchurl
+, substituteAll
+, glib
+, libxml2
+, openconnect
+, intltool
+, pkg-config
+, autoreconfHook
+, networkmanager
+, gcr
+, libsecret
+, file
+, gtk3
+, withGnome ? true
+, gnome3
+, kmod
+, fetchpatch
+}:
+
+let
+  pname = "NetworkManager-openconnect";
+  version = "1.2.6";
+in stdenv.mkDerivation {
+  name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit kmod openconnect;
+    })
+
+    # Don't use etc/dbus-1/system.d
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/NetworkManager-openconnect/merge_requests/9.patch";
+      sha256 = "0yd2dmq6gq6y4czr7dqdgaiqvw2vyv2gikznpfdxyfn2v1pcrk9m";
+    })
+  ];
+
+  buildInputs = [
+    glib
+    libxml2
+    openconnect
+    networkmanager
+  ] ++ lib.optionals withGnome [
+    gtk3
+    gcr
+    libsecret
+  ];
+
+  nativeBuildInputs = [
+    intltool
+    pkg-config
+    file
+  ];
+
+  configureFlags = [
+    "--with-gnome=${if withGnome then "yes" else "no"}"
+    "--enable-absolute-paths"
+    "--without-libnm-glib"
+  ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "networkmanager-openconnect";
+    };
+  };
+
+  meta = with lib; {
+    description = "NetworkManager’s OpenConnect plugin";
+    inherit (networkmanager.meta) maintainers platforms;
+    license = licenses.gpl2Plus;
+  };
+}