Subject: gnu: Add pam-hooks.

From: [email-masked]
Date: Sat, 14 Dec 2024 18:00:09 +0100

From 93fd0cfaab9a0da1c414cc58d19d050c555556bd Mon Sep 17 00:00:00 2001
From: Nicolas Graves <[email-masked]>
Date: Sat, 14 Dec 2024 17:56:44 +0100
Subject: [PATCH] gnu: Add pam-hooks.

* gnu/packages/admin.scm (pam-hooks): Add variable.
---
 gnu/packages/admin.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index b1889ceea0..e187e54e5f 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -3776,6 +3776,35 @@ (define-public interrobang
       (home-page "https://github.com/TrilbyWhite/interrobang")
       (license license:gpl3+))))
 
+(define-public pam-hooks
+  (package
+    (name "pam-hooks")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://upsilon.cc/~zack/hacking/software/"
+                           name "/" name "_" version ".tar.gz"))
+       (sha256
+        (base32 "102azxhvs53akkhgg2dkqg8m0jd6804fx8v7gq7pp03qm3m7bhqi"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:make-flags #~`("CC=gcc"
+                            ,(string-append "DESTDIR=" #$output))
+           #:phases #~(modify-phases %standard-phases
+                        (delete 'configure))
+           ;; There is a test directory, but it's unclear how to run them.
+           #:tests? #f))
+    (inputs (list linux-pam))
+    (home-page "https://upsilon.cc/~zack/hacking/software/pam-hooks/")
+    (synopsis "Linux-PAM module for login/logout hooks")
+    (description "@code{pam-hooks} is a tiny PAM module enabling the
+execution of hook scripts when a PAM session is opened or closed.  The
+typical use case is the need of doing some per-user set-up when a user
+logs via a PAM-aware login mechanism and/or the need of doing some
+per-user clean-up when the user logs out.")
+    (license license:gpl3+)))
+
 (define-public pam-krb5
   (package
     (name "pam-krb5")
-- 
2.46.0