Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 stdenv,
3 lib,
4 fetchurl,
5 replaceVars,
6 vpnc,
7 pkg-config,
8 networkmanager,
9 libsecret,
10 gtk3,
11 gtk4,
12 withGnome ? true,
13 gnome,
14 glib,
15 kmod,
16 file,
17 libnma,
18 libnma-gtk4,
19}:
20
21stdenv.mkDerivation rec {
22 pname = "NetworkManager-vpnc";
23 version = "1.4.0";
24
25 src = fetchurl {
26 url = "mirror://gnome/sources/NetworkManager-vpnc/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
27 sha256 = "47KpiIAnWht1FUvDF6eGQ8/fnqfnDfTu2WSPKeolNzA=";
28 };
29
30 patches = [
31 (replaceVars ./fix-paths.patch {
32 inherit vpnc kmod;
33 })
34 ];
35
36 nativeBuildInputs = [
37 pkg-config
38 file
39 glib
40 ];
41
42 buildInputs = [
43 vpnc
44 networkmanager
45 ]
46 ++ lib.optionals withGnome [
47 gtk3
48 gtk4
49 libsecret
50 libnma
51 libnma-gtk4
52 ];
53
54 configureFlags = [
55 "--with-gnome=${if withGnome then "yes" else "no"}"
56 "--with-gtk4=${if withGnome then "yes" else "no"}"
57 "--enable-absolute-paths"
58 ];
59
60 strictDeps = true;
61
62 passthru = {
63 updateScript = gnome.updateScript {
64 packageName = pname;
65 attrPath = "networkmanager-vpnc";
66 versionPolicy = "odd-unstable";
67 };
68 networkManagerPlugin = "VPN/nm-vpnc-service.name";
69 };
70
71 meta = with lib; {
72 description = "NetworkManager's VPNC plugin";
73 inherit (networkmanager.meta) maintainers teams platforms;
74 license = licenses.gpl2Plus;
75 };
76}