summary refs log tree commit diff
path: root/pkgs/os-specific/linux/pam_ussh
diff options
context:
space:
mode:
authorLuke Granger-Brown <git@lukegb.com>2022-03-13 17:20:16 +0000
committerLuke Granger-Brown <git@lukegb.com>2022-03-13 17:24:09 +0000
commitf63d93bc3d0ad73b24b2cf9c0ee0381161071395 (patch)
treed5cdcc93cf2027939db6c3ec949aea68bbd48bb2 /pkgs/os-specific/linux/pam_ussh
parent12769bc7e1098fc781f70c40f62c55d4673329fa (diff)
downloadnixpkgs-f63d93bc3d0ad73b24b2cf9c0ee0381161071395.tar
nixpkgs-f63d93bc3d0ad73b24b2cf9c0ee0381161071395.tar.gz
nixpkgs-f63d93bc3d0ad73b24b2cf9c0ee0381161071395.tar.bz2
nixpkgs-f63d93bc3d0ad73b24b2cf9c0ee0381161071395.tar.lz
nixpkgs-f63d93bc3d0ad73b24b2cf9c0ee0381161071395.tar.xz
nixpkgs-f63d93bc3d0ad73b24b2cf9c0ee0381161071395.tar.zst
nixpkgs-f63d93bc3d0ad73b24b2cf9c0ee0381161071395.zip
pam_ussh: init at unstable-20210615
Diffstat (limited to 'pkgs/os-specific/linux/pam_ussh')
-rw-r--r--pkgs/os-specific/linux/pam_ussh/default.nix64
-rw-r--r--pkgs/os-specific/linux/pam_ussh/go.mod15
2 files changed, 79 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/pam_ussh/default.nix b/pkgs/os-specific/linux/pam_ussh/default.nix
new file mode 100644
index 00000000000..499239500ac
--- /dev/null
+++ b/pkgs/os-specific/linux/pam_ussh/default.nix
@@ -0,0 +1,64 @@
+{ buildGoModule
+, fetchFromGitHub
+, pam
+, lib
+}:
+
+buildGoModule rec {
+  pname = "pam_ussh";
+  version = "unstable-20210615";
+
+  src = fetchFromGitHub {
+    owner = "uber";
+    repo = "pam-ussh";
+    rev = "e9524bda90ba19d3b9eb24f49cb63a6a56a19193";  # HEAD as of 2022-03-13
+    sha256 = "0nb9hpqbghgi3zvq41kabydzyc6ffaaw9b4jkc5jrwn1klpw1xk8";
+  };
+
+  prePatch = ''
+    cp ${./go.mod} go.mod
+  '';
+  overrideModAttrs = (_: {
+    inherit prePatch;
+  });
+
+  vendorSha256 = "0hjifc3kbwmx7kjn858vi05cwwra6q19cqjfd94k726pwhk37qkw";
+
+  buildInputs = [
+    pam
+  ];
+
+  buildPhase = ''
+    runHook preBuild
+
+    if [ -z "$enableParallelBuilding" ]; then
+      export NIX_BUILD_CORES=1
+    fi
+    go build -buildmode=c-shared -o pam_ussh.so -v -p $NIX_BUILD_CORES .
+
+    runHook postBuild
+  '';
+  checkPhase = ''
+    runHook preCheck
+
+    go test -v -p $NIX_BUILD_CORES .
+
+    runHook postCheck
+  '';
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/lib/security
+    cp pam_ussh.so $out/lib/security
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/uber/pam-ussh";
+    description = "PAM module to authenticate using SSH certificates";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ lukegb ];
+  };
+}
diff --git a/pkgs/os-specific/linux/pam_ussh/go.mod b/pkgs/os-specific/linux/pam_ussh/go.mod
new file mode 100644
index 00000000000..9adc453560a
--- /dev/null
+++ b/pkgs/os-specific/linux/pam_ussh/go.mod
@@ -0,0 +1,15 @@
+module github.com/uber/pam-ussh
+
+go 1.17
+
+require (
+	github.com/stretchr/testify v1.7.0
+	golang.org/x/crypto v0.0.0-20220313003712-b769efc7c000
+)
+
+require (
+	github.com/davecgh/go-spew v1.1.0 // indirect
+	github.com/pmezard/go-difflib v1.0.0 // indirect
+	golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 // indirect
+	gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c // indirect
+)