From 4e4a4461d85e378aa068653b0e56d7fef3903a88 Mon Sep 17 00:00:00 2001 From: Jason Carr Date: Mon, 24 Jun 2019 19:59:55 -0400 Subject: [PATCH] lesspass-cli: init at 9.0.0 --- pkgs/tools/security/lesspass-cli/default.nix | 38 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 40 insertions(+) create mode 100644 pkgs/tools/security/lesspass-cli/default.nix diff --git a/pkgs/tools/security/lesspass-cli/default.nix b/pkgs/tools/security/lesspass-cli/default.nix new file mode 100644 index 000000000000..afcdf0c0a07a --- /dev/null +++ b/pkgs/tools/security/lesspass-cli/default.nix @@ -0,0 +1,38 @@ +{ stdenv, python3, fetchFromGitHub }: + +let + inherit (python3.pkgs) buildPythonApplication pytest mock pexpect; +in +buildPythonApplication rec { + pname = "lesspass-cli"; + version = "9.0.0"; + + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = version; + sha256 = "1mdv0c0fn4d72iigy8hz4s7kf7q3pg4gjjadxwxyjwsalapnsapk"; + }; + sourceRoot = "source/cli"; + + # some tests are designed to run against code in the source directory - adapt to run against + # *installed* code + postPatch = '' + for f in tests/test_functional.py tests/test_interaction.py ; do + substituteInPlace $f --replace "lesspass/core.py" "-m lesspass.core" + done + ''; + + checkInputs = [ pytest mock pexpect ]; + checkPhase = '' + mv lesspass lesspass.hidden # ensure we're testing against *installed* package + pytest tests + ''; + + meta = with stdenv.lib; { + description = "Stateless password manager"; + homepage = https://lesspass.com; + maintainers = with maintainers; [ jasoncarr ]; + license = licenses.gpl3; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 764a94081479..99593baa2855 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -810,6 +810,8 @@ in lastpass-cli = callPackage ../tools/security/lastpass-cli { }; + lesspass-cli = callPackage ../tools/security/lesspass-cli { }; + pacparser = callPackage ../tools/networking/pacparser { }; pass = callPackage ../tools/security/pass { };