1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
{
lib,
stdenv,
fetchFromGitLab,
pkg-config,
gnutls,
p11-kit,
openssl,
useOpenSSL ? false,
gmp,
libxml2,
stoken,
zlib,
pcsclite,
vpnc-scripts,
useDefaultExternalBrowser ?
stdenv.hostPlatform.isLinux && stdenv.buildPlatform == stdenv.hostPlatform, # xdg-utils doesn't cross-compile
xdg-utils,
autoreconfHook,
}:
stdenv.mkDerivation {
pname = "openconnect";
version = "9.12-unstable-2025-11-03";
src = fetchFromGitLab {
owner = "openconnect";
repo = "openconnect";
rev = "0dcdff87db65daf692dc323732831391d595d98d";
hash = "sha256-AvowUEDkXvR+QkhJbZU759fZjIqj/mO8HjP2Ka3lH1U=";
};
outputs = [
"out"
"dev"
];
configureFlags = [
"--with-vpnc-script=${vpnc-scripts}/bin/vpnc-script"
"--disable-nls"
"--without-openssl-version-check"
];
# Not finding iconv on Darwin
env = {
am_cv_func_iconv_works = "yes";
};
buildInputs = [
gmp
libxml2
stoken
zlib
(if useOpenSSL then openssl else gnutls)
]
++ lib.optionals stdenv.hostPlatform.isLinux [
p11-kit
pcsclite
]
++ lib.optional useDefaultExternalBrowser xdg-utils;
nativeBuildInputs = [
pkg-config
autoreconfHook
];
meta = {
description = "VPN Client for Cisco's AnyConnect SSL VPN";
homepage = "https://www.infradead.org/openconnect/";
license = lib.licenses.lgpl21Only;
maintainers = with lib.maintainers; [
tricktron
pentane
];
platforms = lib.platforms.unix;
mainProgram = "openconnect";
};
}
|