diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index fd83eb5dafa7..4678aeb8811a 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -6555,6 +6555,12 @@ githubId = 67984144; name = "Gerhard Schwanzer"; }; + gernotfeichter = { + email = "gernotfeichter@gmail.com"; + github = "gernotfeichter"; + githubId = 23199375; + name = "Gernot Feichter"; + }; gerschtli = { email = "tobias.happ@gmx.de"; github = "Gerschtli"; diff --git a/pkgs/by-name/al/alp/package.nix b/pkgs/by-name/al/alp/package.nix new file mode 100644 index 000000000000..34bc447ed6d5 --- /dev/null +++ b/pkgs/by-name/al/alp/package.nix @@ -0,0 +1,56 @@ +{ stdenv +, lib +, buildGoModule +, fetchFromGitHub +, runCommand +, alp +}: + +buildGoModule rec { + pname = "alp"; + version = "1.1.17"; + + src = fetchFromGitHub { + owner = "gernotfeichter"; + repo = "alp"; + rev = version; + hash = "sha256-7lyWu1bVn7UwLb/Em6VBbg3FrMyxGjebxt5gJhm/xpI="; + }; + vendorHash = "sha256-a2CQZKN/rPWh/Pn9gXfSArTCcGST472tsz1Kqm7M4vM="; + + sourceRoot = "${src.name}/linux"; + + # Executing Go commands directly in checkPhase and buildPhase below, + # because the default testsuite runs all go tests, some of which require docker. + # Docker is too expensive for https://github.com/NixOS/ofborg. + checkPhase = '' + runHook preCheck + + go test -run Test_main_init + + runHook postCheck + ''; + + buildPhase = '' + runHook preBuild + + go build -o $GOPATH/bin/${pname} main.go + + runHook postBuild + ''; + + passthru.tests = { + test-version = runCommand "${pname}-test" {} '' + ${alp}/bin/alp version > $out + cat $out | grep '${version}' + ''; + }; + + meta = with lib; { + description = "A convenient authentication method that lets you use your android device as a key for your Linux machine"; + homepage = "https://github.com/gernotfeichter/alp"; + license = licenses.gpl2Only; + mainProgram = "alp"; + maintainers = with maintainers; [ gernotfeichter ]; + }; +}