ocamlPackages.hxd: 0.3.2 -> 0.3.3 (#364231)
[NixPkgs.git] / pkgs / by-name / al / alp / package.nix
blobe0e18e9193979741682c192a5610762f47cf468d
2   lib,
3   buildGoModule,
4   fetchFromGitHub,
5   runCommand,
6   alp,
7 }:
9 buildGoModule rec {
10   pname = "alp";
11   version = "1.1.18";
13   src = fetchFromGitHub {
14     owner = "gernotfeichter";
15     repo = "alp";
16     rev = version;
17     hash = "sha256-tE8qKNXLKvFcnDULVkJJ/EJyEsvATCk/3YFkZCmpHSo=";
18   };
19   vendorHash = "sha256-AHPVhtm6La7HWuxJfpxTsS5wFTUZUJoVyebLGYhNKTg=";
21   sourceRoot = "${src.name}/linux";
23   # Executing Go commands directly in checkPhase and buildPhase below,
24   # because the default testsuite runs all go tests, some of which require docker.
25   # Docker is too expensive for https://github.com/NixOS/ofborg.
26   checkPhase = ''
27     runHook preCheck
29     go test -run Test_main_init
31     runHook postCheck
32   '';
34   buildPhase = ''
35     runHook preBuild
37     go build -o $GOPATH/bin/alp main.go
39     runHook postBuild
40   '';
42   passthru.tests = {
43     test-version = runCommand "${pname}-test" { } ''
44       ${alp}/bin/alp version > $out
45       cat $out | grep '${version}'
46     '';
47   };
49   meta = with lib; {
50     description = "Convenient authentication method that lets you use your android device as a key for your Linux machine";
51     homepage = "https://github.com/gernotfeichter/alp";
52     license = licenses.gpl2Only;
53     mainProgram = "alp";
54     maintainers = with maintainers; [ gernotfeichter ];
55   };