about summary refs log tree commit diff
path: root/nixpkgs/pkgs/by-name/al/alp/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/by-name/al/alp/package.nix')
-rw-r--r--nixpkgs/pkgs/by-name/al/alp/package.nix56
1 files changed, 56 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/by-name/al/alp/package.nix b/nixpkgs/pkgs/by-name/al/alp/package.nix
new file mode 100644
index 000000000000..34bc447ed6d5
--- /dev/null
+++ b/nixpkgs/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 ];
+  };
+}