tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
networkmanager-vpnc: clean up
Jan Tojnar
7 years ago
7f175f2a
bababf31
+48
-20
2 changed files
expand all
collapse all
unified
split
pkgs
tools
networking
network-manager
vpnc
default.nix
fix-paths.patch
+17
-20
pkgs/tools/networking/network-manager/vpnc/default.nix
···
1
1
-
{ stdenv, fetchurl, vpnc, intltool, pkgconfig, networkmanager, libsecret
2
2
-
, withGnome ? true, gnome3, procps, kmod, file }:
1
1
+
{ stdenv, fetchurl, substituteAll, vpnc, intltool, pkgconfig, networkmanager, libsecret
2
2
+
, withGnome ? true, gnome3, kmod, file }:
3
3
let
4
4
-
pname = "NetworkManager-vpnc";
4
4
+
pname = "NetworkManager-vpnc";
5
5
version = "1.2.6";
6
6
in stdenv.mkDerivation rec {
7
7
-
name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
7
7
+
name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
8
8
9
9
src = fetchurl {
10
10
-
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
10
10
+
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
11
11
sha256 = "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy";
12
12
};
13
13
14
14
-
buildInputs = [ vpnc networkmanager libsecret ]
15
15
-
++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome-keyring
16
16
-
gnome3.networkmanagerapplet ];
14
14
+
patches = [
15
15
+
(substituteAll {
16
16
+
src = ./fix-paths.patch;
17
17
+
inherit vpnc kmod;
18
18
+
})
19
19
+
];
20
20
+
21
21
+
buildInputs = [ vpnc networkmanager ]
22
22
+
++ stdenv.lib.optionals withGnome [ gnome3.gtk libsecret gnome3.networkmanagerapplet ];
17
23
18
24
nativeBuildInputs = [ intltool pkgconfig file ];
19
25
20
26
configureFlags = [
21
21
-
"${if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome"}"
22
22
-
"--disable-static"
27
27
+
"--with-gnome=${if withGnome then "yes" else "no"}"
23
28
];
24
29
25
25
-
preConfigure = ''
26
26
-
substituteInPlace "configure" \
27
27
-
--replace "/sbin/sysctl" "${procps}/bin/sysctl"
28
28
-
substituteInPlace "src/nm-vpnc-service.c" \
29
29
-
--replace "/sbin/vpnc" "${vpnc}/bin/vpnc" \
30
30
-
--replace "/sbin/modprobe" "${kmod}/bin/modprobe"
31
31
-
'';
32
32
-
33
30
passthru = {
34
31
updateScript = gnome3.updateScript {
35
32
packageName = pname;
···
37
34
};
38
35
};
39
36
40
40
-
meta = {
37
37
+
meta = with stdenv.lib; {
41
38
description = "NetworkManager's VPNC plugin";
42
39
inherit (networkmanager.meta) maintainers platforms;
40
40
+
license = licenses.gpl2Plus;
43
41
};
44
42
}
45
45
-
+31
pkgs/tools/networking/network-manager/vpnc/fix-paths.patch
···
1
1
+
--- a/properties/nm-vpnc-editor-plugin.c
2
2
+
+++ b/properties/nm-vpnc-editor-plugin.c
3
3
+
@@ -161,7 +161,7 @@
4
4
+
GError *error = NULL;
5
5
+
6
6
+
const char *decrypt_possible_paths[] = {
7
7
+
- "/usr/lib/vpnc/cisco-decrypt",
8
8
+
+ "@vpnc@/bin/cisco-decrypt",
9
9
+
"/usr/bin/cisco-decrypt",
10
10
+
NULL
11
11
+
};
12
12
+
--- a/src/nm-vpnc-service.c
13
13
+
+++ b/src/nm-vpnc-service.c
14
14
+
@@ -610,7 +610,7 @@
15
15
+
find_vpnc (void)
16
16
+
{
17
17
+
static const char *vpnc_paths[] = {
18
18
+
- "/usr/sbin/vpnc",
19
19
+
+ "@vpnc@/bin/vpnc",
20
20
+
"/sbin/vpnc",
21
21
+
"/usr/local/sbin/vpnc",
22
22
+
NULL
23
23
+
@@ -1308,7 +1308,7 @@
24
24
+
_LOGD (" vpnc interactive mode is %s", interactive_available ? "enabled" : "disabled");
25
25
+
_LOGD (" uses%s --bus-name \"%s\"", bus_name_free ? "" : " default", bus_name);
26
26
+
27
27
+
- if (system ("/sbin/modprobe tun") == -1)
28
28
+
+ if (system ("@kmod@/bin/modprobe tun") == -1)
29
29
+
exit (EXIT_FAILURE);
30
30
+
31
31
+
plugin = nm_vpnc_plugin_new (bus_name);