diff options
Diffstat (limited to 'gnu/packages/openldap.scm')
-rw-r--r-- | gnu/packages/openldap.scm | 54 |
1 files changed, 53 insertions, 1 deletions
diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index 627319bda8..987719492f 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> +;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,8 +27,11 @@ #:use-module (gnu packages gnupg) #:use-module (gnu packages groff) #:use-module (gnu packages icu4c) + #:use-module (gnu packages kerberos) + #:use-module (gnu packages linux) + #:use-module (gnu packages python) #:use-module (gnu packages tls) - #:use-module ((guix licenses) #:select (openldap2.8)) + #:use-module ((guix licenses) #:select (openldap2.8 lgpl2.1+)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu)) @@ -74,3 +78,51 @@ "OpenLDAP is a free implementation of the Lightweight Directory Access Protocol.") (license openldap2.8) (home-page "http://www.openldap.org/"))) + +(define-public nss-pam-ldapd + (package + (name "nss-pam-ldapd") + (version "0.9.7") + (source (origin + (method url-fetch) + (uri (string-append "https://arthurdejong.org/nss-pam-ldapd/" + "nss-pam-ldapd-" version ".tar.gz")) + (sha256 + (base32 + "1sw36w6zkzvabvjckqick032j5p5xi0qi3sgnh0znzxz31jqvf0d")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list (string-append "--with-pam-seclib-dir=" + (assoc-ref %outputs "out") "/lib/security/") + ;; nslcd cannot be convinced to look at run-time for its + ;; configuration file at a location that differs from the + ;; configured location. + "--with-ldap-conf-file=/etc/nslcd.conf") + #:phases + (modify-phases %standard-phases + ;; This is necessary because we tell nslcd with configure flags that + ;; it should look for its configuration file at /etc/nslcd.conf. The + ;; build system tries to install a default configuration to that very + ;; location. + (add-after 'unpack 'override-nslcd.conf-install-path + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile.in" + (("\\$\\(DESTDIR\\)\\$\\(NSLCD_CONF_PATH\\)") + (string-append (assoc-ref outputs "out") + "/etc/nslcd.conf.example"))) + #t))))) + (inputs + `(("linux-pam" ,linux-pam) + ("openldap" ,openldap) + ("mit-krb5" ,mit-krb5) + ("python" ,python-2))) + (home-page "https://arthurdejong.org/nss-pam-ldapd") + (synopsis "NSS and PAM modules for LDAP") + (description "nss-pam-ldapd provides a @dfn{Name Service Switch} (NSS) +module that allows your LDAP server to provide user account, group, host name, +alias, netgroup, and basically any other information that you would normally +get from @file{/etc} flat files or NIS. It also provides a @dfn{Pluggable +Authentication Module} (PAM) to do identity and authentication management with +an LDAP server.") + (license lgpl2.1+))) |