diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/security/browserpass/default.nix')
-rw-r--r-- | nixpkgs/pkgs/tools/security/browserpass/default.nix | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/security/browserpass/default.nix b/nixpkgs/pkgs/tools/security/browserpass/default.nix new file mode 100644 index 000000000000..1dd2a27f1ec3 --- /dev/null +++ b/nixpkgs/pkgs/tools/security/browserpass/default.nix @@ -0,0 +1,73 @@ +{ lib +, stdenv +, buildGoModule +, fetchFromGitHub +, gnupg +, makeWrapper +, autoPatchelfHook +, testers +, browserpass +}: + +buildGoModule rec { + pname = "browserpass"; + version = "3.1.0"; + + src = fetchFromGitHub { + owner = "browserpass"; + repo = "browserpass-native"; + rev = version; + sha256 = "sha256-UZzOPRRiCUIG7uSSp9AEPMDN/+4cgyK47RhrI8oUx8U="; + }; + + nativeBuildInputs = [ makeWrapper ] ++ lib.optionals stdenv.isLinux [ autoPatchelfHook ]; + + vendorHash = "sha256-CjuH4ANP2bJDeA+o+1j+obbtk5/NVLet/OFS3Rms4r0="; + + doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; + + postPatch = '' + # Because this Makefile will be installed to be used by the user, patch + # variables to be valid by default + substituteInPlace Makefile \ + --replace "PREFIX ?= /usr" "" + sed -i -e 's/SED =.*/SED = sed/' Makefile + sed -i -e 's/INSTALL =.*/INSTALL = install/' Makefile + ''; + + DESTDIR = placeholder "out"; + + postConfigure = '' + make configure + ''; + + buildPhase = '' + make browserpass + ''; + + checkTarget = "test"; + + installPhase = '' + make install + + wrapProgram $out/bin/browserpass \ + --suffix PATH : ${lib.makeBinPath [ gnupg ]} + + # This path is used by our firefox wrapper for finding native messaging hosts + mkdir -p $out/lib/mozilla/native-messaging-hosts + # Copy ff manifests rather than linking to allow link-farming to work recursively in dependants + cp $out/lib/browserpass/hosts/firefox/*.json $out/lib/mozilla/native-messaging-hosts/ + ''; + + passthru.tests.version = testers.testVersion { + package = browserpass; + command = "browserpass --version"; + }; + + meta = with lib; { + description = "Browserpass native client app"; + homepage = "https://github.com/browserpass/browserpass-native"; + license = licenses.isc; + maintainers = with maintainers; [ rvolosatovs infinisil ]; + }; +} |