From 2d8ed26b2a47b89e077897430755c99450439741 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Wed, 3 Nov 2021 20:29:40 +0000 Subject: vpnc: switch to maintained fork This is the same fork now used by Alpine, Arch, Debian, Gentoo, and SliTaz. vpnc-script is no longer bundled, but we already have it packaged anyway so that's okay. --- pkgs/tools/networking/vpnc/default.nix | 65 ++++++++-------------- .../vpnc/no_default_route_when_netmask.patch | 12 ---- 2 files changed, 22 insertions(+), 55 deletions(-) delete mode 100644 pkgs/tools/networking/vpnc/no_default_route_when_netmask.patch diff --git a/pkgs/tools/networking/vpnc/default.nix b/pkgs/tools/networking/vpnc/default.nix index 31a4262d8a6..2ae78d68c42 100644 --- a/pkgs/tools/networking/vpnc/default.nix +++ b/pkgs/tools/networking/vpnc/default.nix @@ -1,28 +1,28 @@ -{ lib, stdenv, fetchsvn -, makeWrapper, pkg-config -, gawk, gnutls, libgcrypt, nettools, openresolv, perl +{ lib, stdenv, fetchFromGitHub, fetchpatch +, makeWrapper, pkg-config, perl +, gawk, gnutls, libgcrypt, openresolv, vpnc-scripts , opensslSupport ? false, openssl # Distributing this is a GPL violation. }: 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"; + pname = "vpnc-unstable"; + version = "2021-01-31"; + + src = fetchFromGitHub { + owner = "streambinder"; + repo = "vpnc"; + rev = "43780cecd7a61668002f73b6f8b9f9ba61af74ad"; + sha256 = "1sbnvp8117qiklc5xghdhx2i310p5wgjgjg7dr6xj48i167ks1zv"; + fetchSubmodules = true; }; - 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 ]; + patches = [ + # Don't do networking during build. + (fetchpatch { + url = "https://github.com/streambinder/vpnc/commit/9f4e3ab1f51c8c5ff27b8290f5a533a87d85c011.patch"; + sha256 = "1h029954q9qy2kcrj6dzprgrjvr12lk96yy8dgva9nr4ghidy18a"; + }) + ]; nativeBuildInputs = [ makeWrapper ] ++ lib.optional (!opensslSupport) pkg-config; @@ -32,36 +32,15 @@ stdenv.mkDerivation { makeFlags = [ "PREFIX=$(out)" "ETCDIR=$(out)/etc/vpnc" - "SCRIPT_PATH=$(out)/etc/vpnc/vpnc-script" + "SCRIPT_PATH=${vpnc-scripts}/bin/vpnc-script" ] ++ lib.optional opensslSupport "OPENSSL_GPL_VIOLATION=yes"; postPatch = '' - patchShebangs makeman.pl - ''; - - preConfigure = '' - 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/ + patchShebangs src/makeman.pl ''; meta = with lib; { - homepage = "https://www.unix-ag.uni-kl.de/~massar/vpnc/"; + homepage = "https://davidepucci.it/doc/vpnc/"; description = "Virtual private network (VPN) client for Cisco's VPN concentrators"; license = if opensslSupport then licenses.unfree else licenses.gpl2Plus; platforms = platforms.linux; diff --git a/pkgs/tools/networking/vpnc/no_default_route_when_netmask.patch b/pkgs/tools/networking/vpnc/no_default_route_when_netmask.patch deleted file mode 100644 index fa12abe9b77..00000000000 --- a/pkgs/tools/networking/vpnc/no_default_route_when_netmask.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -uNr a/vpnc-script b/vpnc-script ---- a/vpnc-script 2015-09-06 13:19:11.408661526 +0200 -+++ b/vpnc-script 2015-09-06 14:47:40.260871556 +0200 -@@ -647,7 +647,7 @@ - echo "$i" | grep : >/dev/null || \ - set_network_route "$i" "255.255.255.255" "32" - done -- elif [ -n "$INTERNAL_IP4_ADDRESS" ]; then -+ elif [ -n "$INTERNAL_IP4_ADDRESS" -a -z "$INTERNAL_IP4_NETMASK" ]; then - set_default_route - fi - if [ -n "$CISCO_IPV6_SPLIT_INC" ]; then -- cgit 1.4.1