nixpkgs/pkgs/tools/networking/vpnc/default.nix
2021-11-07 21:48:54 +01:00

66 lines
1.7 KiB
Nix

{ lib, stdenv, fetchsvn, nettools, libgcrypt, openssl, openresolv, perl, gawk, makeWrapper }:
stdenv.mkDerivation {
pname = "vpnc";
version = "0.5.3-post-r550";
src = fetchsvn {
url = "https://svn.unix-ag.uni-kl.de/vpnc";
rev = "550";
sha256 = "0x4ckfv9lpykwmh28v1kyzz91y1j2v48fi8q5nsawrba4q0wlrls";
};
postUnpack = ''
mv $sourceRoot/trunk/* $sourceRoot/.
rm -r $sourceRoot/{trunk,branches,tags}
'';
patches = [ ./no_default_route_when_netmask.patch ];
# The `etc/vpnc/vpnc-script' script relies on `which' and on
# `ifconfig' as found in net-tools (not GNU Inetutils).
propagatedBuildInputs = [ nettools ];
nativeBuildInputs = [ makeWrapper ];
buildInputs = [libgcrypt perl openssl ];
makeFlags = [
"PREFIX=$(out)"
"ETCDIR=$(out)/etc/vpnc"
"SCRIPT_PATH=$(out)/etc/vpnc/vpnc-script"
];
postPatch = ''
patchShebangs makeman.pl
'';
preConfigure = ''
sed -i 's|^#OPENSSL|OPENSSL|g' Makefile
substituteInPlace "vpnc-script" \
--replace "which" "type -P" \
--replace "awk" "${gawk}/bin/awk" \
--replace "/sbin/resolvconf" "${openresolv}/bin/resolvconf"
substituteInPlace "config.c" \
--replace "/etc/vpnc/vpnc-script" "$out/etc/vpnc/vpnc-script"
'';
postInstall = ''
for i in "$out/{bin,sbin}/"*
do
wrapProgram $i --prefix PATH : \
"${nettools}/bin:${nettools}/sbin"
done
mkdir -p $out/share/doc/vpnc
cp README nortel.txt ChangeLog $out/share/doc/vpnc/
'';
meta = {
homepage = "https://www.unix-ag.uni-kl.de/~massar/vpnc/";
description = "Virtual private network (VPN) client for Cisco's VPN concentrators";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
};
}