about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/networking/network-manager/openconnect/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/networking/network-manager/openconnect/default.nix')
-rw-r--r--nixpkgs/pkgs/tools/networking/network-manager/openconnect/default.nix53
1 files changed, 44 insertions, 9 deletions
diff --git a/nixpkgs/pkgs/tools/networking/network-manager/openconnect/default.nix b/nixpkgs/pkgs/tools/networking/network-manager/openconnect/default.nix
index 4236c9e18184..3c1a8d110429 100644
--- a/nixpkgs/pkgs/tools/networking/network-manager/openconnect/default.nix
+++ b/nixpkgs/pkgs/tools/networking/network-manager/openconnect/default.nix
@@ -1,14 +1,31 @@
-{ stdenv, fetchurl, substituteAll, openconnect, intltool, pkgconfig, autoreconfHook, networkmanager, gcr, libsecret, file
-, gtk3, withGnome ? true, gnome3, kmod }:
+{ stdenv
+, fetchurl
+, substituteAll
+, glib
+, libxml2
+, openconnect
+, intltool
+, pkgconfig
+, autoreconfHook
+, networkmanager
+, gcr
+, libsecret
+, file
+, gtk3
+, withGnome ? true
+, gnome3
+, kmod
+, fetchpatch
+}:
 
 let
-  pname   = "NetworkManager-openconnect";
+  pname = "NetworkManager-openconnect";
   version = "1.2.6";
 in stdenv.mkDerivation {
-  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+  name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
 
   src = fetchurl {
-    url    = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m";
   };
 
@@ -17,12 +34,30 @@ in stdenv.mkDerivation {
       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 = [ openconnect networkmanager ]
-    ++ stdenv.lib.optionals withGnome [ gtk3 gcr libsecret ];
+  buildInputs = [
+    glib
+    libxml2
+    openconnect
+    networkmanager
+  ] ++ stdenv.lib.optionals withGnome [
+    gtk3
+    gcr
+    libsecret
+  ];
 
-  nativeBuildInputs = [ intltool pkgconfig file ];
+  nativeBuildInputs = [
+    intltool
+    pkgconfig
+    file
+  ];
 
   configureFlags = [
     "--with-gnome=${if withGnome then "yes" else "no"}"
@@ -38,7 +73,7 @@ in stdenv.mkDerivation {
   };
 
   meta = with stdenv.lib; {
-    description = "NetworkManager's OpenConnect plugin";
+    description = "NetworkManager’s OpenConnect plugin";
     inherit (networkmanager.meta) maintainers platforms;
     license = licenses.gpl2Plus;
   };