(define-module (glicid packages openldap) #:use-module (guix build-system gnu) #:use-module (guix download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils) #:use-module (gnu packages autotools) #:use-module (gnu packages compression) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages databases) #:use-module (gnu packages dbm) #:use-module (gnu packages gnupg) #:use-module (gnu packages groff) #:use-module (gnu packages kerberos) #:use-module (gnu packages libevent) #:use-module (gnu packages linux) #:use-module ((gnu packages openldap) #:prefix gnu:) #:use-module (gnu packages password-utils) #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages pkg-config) #:use-module (gnu packages tls) ) (define-public openldap (package (name "openldap") (version "2.6.3") (source (origin (method url-fetch) (uri (list (string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz") )) (sha256 (base32 "0ihddk8c6hg9lkjv0wk0w13g8kb75r8dfsn1n6b77mzk3pbs38nj")) ) ) (build-system gnu-build-system) (inputs (list argon2 cyrus-sasl libevent libgcrypt libltdl lz4 openssl perl snappy unixodbc wiredtiger zlib)) (native-inputs (list bdb groff libtool pkg-config)) (arguments '( ; this is needed because the make check does not work inside guix #:tests? #f #:configure-flags '( "--enable-debug" "--enable-dynamic" "--enable-syslog" "--enable-ipv6" "--enable-local" "--enable-slapd" "--enable-dynacl" "--enable-aci" "--enable-cleartext" "--enable-crypt" "--enable-spasswd" "--enable-modules" "--enable-rlookups" "--enable-slapi" "--enable-backends=mod" "--enable-overlays=mod" "--enable-argon2" "--enable-balancer" "--disable-static" "--enable-shared" "--with-tls=openssl" ) #:make-flags '("STRIP=") #:phases (modify-phases %standard-phases (add-before 'build 'make-depend (lambda* (#:key input #:allow-other-keys) (invoke "make" "depend") ) ) ) )) (synopsis "Implementation of the Lightweight Directory Access Protocol") (description "OpenLDAP is a free implementation of the Lightweight Directory Access Protocol.") (license license:openldap2.8) (home-page "https://www.openldap.org/") ) ) (define-public openldap-2.4.59 (package (inherit openldap) (name "openldap") (version "2.4.59") (source (origin (method url-fetch) (uri (list (string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz") )) (sha256 (base32 "0d1gw898gbkv46mw0gll3q0w2j2y9midlzh6f320d0nq8xkpvwwr")) ) ) ) ) (define-public openldap-2.5.13 (package (inherit openldap) (name "openldap") (version "2.5.13") (source (origin (method url-fetch) (uri (list (string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz") )) (sha256 (base32 "13007pv1vpp31dvnf9xzzcknqv9p75rqq412nrbprf7p9q646g7f")) ) ) ) ) (define-public nss-pam-ldapd (package (name "nss-pam-ldapd") (version "0.9.12") (source (origin (method url-fetch) (uri (string-append "https://arthurdejong.org/nss-pam-ldapd/nss-pam-ldapd-" version ".tar.gz")) (sha256 (base32 "050fzcmxmf6y15dlcffc4gxr3wkk7fliqqwhlwqzbjwk8vkn3mn6")) )) (build-system gnu-build-system) (arguments `( #:configure-flags (list (string-append "--with-pam-seclib-dir=" (assoc-ref %outputs "out") "/lib/security/") "--with-ldap-conf-file=/etc/nslcd.conf" ) #:phases (modify-phases %standard-phases (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") ) ) ) ) ) ) ) (inputs `( ("linux-pam", linux-pam) ("mit-krb5", mit-krb5) ("openldap", openldap) ("python", python) )) (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 license:lgpl2.1+) ) )