Skip to content

Commit

Permalink
Merge pull request #52277 from caugner/protonvpn-cli
Browse files Browse the repository at this point in the history
protonvpn-cli: init at 1.1.2
  • Loading branch information
c0bw3b committed Mar 30, 2019
2 parents 868e59e + 5ed6db2 commit 9b23257
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 0 deletions.
46 changes: 46 additions & 0 deletions pkgs/applications/networking/protonvpn-cli/default.nix
@@ -0,0 +1,46 @@
{ stdenv, lib, fetchFromGitHub, makeWrapper, coreutils
, openvpn, python, dialog, wget, update-resolv-conf }:

let
expectedUpdateResolvPath = "/etc/openvpn/update-resolv-conf";
actualUpdateResolvePath = "${update-resolv-conf}/libexec/openvpn/update-resolv-conf";

in stdenv.mkDerivation rec {
name = "protonvpn-cli";
version = "1.1.2";

src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "protonvpn-cli";
rev = "v${version}";
sha256 = "0xvflr8zf267n3dv63nkk4wjxhbckw56sqmyca3krf410vrd7zlv";
};

nativeBuildInputs = [ makeWrapper ];

installPhase = ''
mkdir -p "$out/bin"
substituteInPlace protonvpn-cli.sh \
--replace ${expectedUpdateResolvPath} ${actualUpdateResolvePath} \
--replace \$UID 0 \
--replace /etc/resolv.conf /dev/null \
--replace \
" echo \"Connecting...\"" \
" sed -ri 's@${expectedUpdateResolvPath}@${actualUpdateResolvePath}@g' \"\$openvpn_config\"; echo \"Connecting...\""
cp protonvpn-cli.sh "$out/bin/protonvpn-cli"
ln -s "$out/bin/protonvpn-cli" "$out/bin/pvpn"
'';

postInstallPhase = ''
wrapProgram $out/protonvpn-cli \
--prefix PATH : ${lib.makeBinPath [ coreutils openvpn python dialog wget update-resolv-conf ]}
'';

meta = with stdenv.lib; {
description = "ProtonVPN Command-Line Tool";
homepage = https://github.com/ProtonVPN/protonvpn-cli;
maintainers = with maintainers; [ caugner ];
license = licenses.mit;
platforms = platforms.unix;
};
}
2 changes: 2 additions & 0 deletions pkgs/top-level/all-packages.nix
Expand Up @@ -19106,6 +19106,8 @@ in

protonmail-bridge = libsForQt511.callPackage ../applications/networking/protonmail-bridge { };

protonvpn-cli = callPackage ../applications/networking/protonvpn-cli { };

psi = callPackage ../applications/networking/instant-messengers/psi { };

psi-plus = callPackage ../applications/networking/instant-messengers/psi-plus { };
Expand Down

0 comments on commit 9b23257

Please sign in to comment.