rewrite openldap.scm

This commit is contained in:
Jean-François GUILLAUME 2022-12-13 15:25:47 +01:00
parent 9ea3560a5e
commit 16ae2d732c
GPG key ID: 38751DAE145EFB5A

View file

@ -1,162 +1,127 @@
(define-module (glicid packages openldap) (define-module (glicid packages openldap)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix download) #:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages dbm) #:use-module (gnu packages dbm)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages groff) #:use-module (gnu packages groff)
#:use-module (gnu packages kerberos) #:use-module (gnu packages kerberos)
#:use-module (gnu packages libevent) #:use-module (gnu packages libevent)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module ((gnu packages openldap) #:prefix gnu:) #:use-module ((gnu packages openldap) #:prefix gnu:)
#:use-module (gnu packages password-utils) #:use-module (gnu packages password-utils)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages tls) #:use-module (gnu packages tls))
)
(define-public openldap (define-public openldap
(package (package
(name "openldap") (name "openldap")
(version "2.6.3") (version "2.6.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (uri (list (string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz")))
(string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz") (sha256 (base32 "0ihddk8c6hg9lkjv0wk0w13g8kb75r8dfsn1n6b77mzk3pbs38nj"))))
)) (build-system gnu-build-system)
(sha256 (base32 "0ihddk8c6hg9lkjv0wk0w13g8kb75r8dfsn1n6b77mzk3pbs38nj")) (inputs (list argon2 cyrus-sasl libevent libgcrypt libltdl lz4 openssl perl snappy unixodbc wiredtiger zlib))
) (native-inputs (list bdb groff libtool pkg-config))
) (arguments '(
(build-system gnu-build-system) ; this is needed because the make check does not work inside guix
(inputs (list argon2 cyrus-sasl libevent libgcrypt libltdl lz4 openssl perl snappy unixodbc wiredtiger zlib)) #:tests? #f
(native-inputs (list bdb groff libtool pkg-config)) #:configure-flags '(
(arguments '( "--enable-debug"
; this is needed because the make check does not work inside guix "--enable-dynamic"
#:tests? #f "--enable-syslog"
#:configure-flags '( "--enable-ipv6"
"--enable-debug" "--enable-local"
"--enable-dynamic" "--enable-slapd"
"--enable-syslog" "--enable-dynacl"
"--enable-ipv6" "--enable-aci"
"--enable-local" "--enable-cleartext"
"--enable-slapd" "--enable-crypt"
"--enable-dynacl" "--enable-spasswd"
"--enable-aci" "--enable-modules"
"--enable-cleartext" "--enable-rlookups"
"--enable-crypt" "--enable-slapi"
"--enable-spasswd" "--enable-backends=mod"
"--enable-modules" "--enable-overlays=mod"
"--enable-rlookups" "--enable-argon2"
"--enable-slapi" "--enable-balancer"
"--enable-backends=mod" "--disable-static"
"--enable-overlays=mod" "--enable-shared"
"--enable-argon2" "--with-tls=openssl"
"--enable-balancer" )
"--disable-static" #:make-flags '("STRIP=")
"--enable-shared" #:phases (modify-phases %standard-phases
"--with-tls=openssl" (add-before 'build 'make-depend
) (lambda* (#:key input #:allow-other-keys)
#:make-flags '("STRIP=") (invoke "make" "depend"))))))
#:phases (modify-phases %standard-phases (synopsis "Implementation of the Lightweight Directory Access Protocol")
(add-before 'build 'make-depend (description "OpenLDAP is a free implementation of the Lightweight Directory Access Protocol.")
(lambda* (#:key input #:allow-other-keys) (license license:openldap2.8)
(invoke "make" "depend") (home-page "https://www.openldap.org/")))
)
)
)
))
(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 (define-public openldap-2.4.59
(package (package
(inherit openldap) (inherit openldap)
(name "openldap") (name "openldap")
(version "2.4.59") (version "2.4.59")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (uri (list (string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz")))
(string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz") (sha256 (base32 "0d1gw898gbkv46mw0gll3q0w2j2y9midlzh6f320d0nq8xkpvwwr"))))))
))
(sha256 (base32 "0d1gw898gbkv46mw0gll3q0w2j2y9midlzh6f320d0nq8xkpvwwr"))
)
)
)
)
(define-public openldap-2.5.13 (define-public openldap-2.5.13
(package (package
(inherit openldap) (inherit openldap)
(name "openldap") (name "openldap")
(version "2.5.13") (version "2.5.13")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (uri (list (string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz")))
(string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz") (sha256 (base32 "13007pv1vpp31dvnf9xzzcknqv9p75rqq412nrbprf7p9q646g7f"))))))
))
(sha256 (base32 "13007pv1vpp31dvnf9xzzcknqv9p75rqq412nrbprf7p9q646g7f"))
)
)
)
)
(define-public nss-pam-ldapd (define-public nss-pam-ldapd
(package (package
(name "nss-pam-ldapd") (name "nss-pam-ldapd")
(version "0.9.12") (version "0.9.12")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://arthurdejong.org/nss-pam-ldapd/nss-pam-ldapd-" version ".tar.gz")) (uri (string-append "https://arthurdejong.org/nss-pam-ldapd/nss-pam-ldapd-" version ".tar.gz"))
(sha256 (base32 "050fzcmxmf6y15dlcffc4gxr3wkk7fliqqwhlwqzbjwk8vkn3mn6")) (sha256 (base32 "050fzcmxmf6y15dlcffc4gxr3wkk7fliqqwhlwqzbjwk8vkn3mn6"))))
)) (build-system gnu-build-system)
(build-system gnu-build-system) (arguments
(arguments `(
`( #:configure-flags
#:configure-flags (list (string-append
(list (string-append "--with-pam-seclib-dir=" (assoc-ref %outputs "out") "/lib/security/")
"--with-pam-seclib-dir=" (assoc-ref %outputs "out") "/lib/security/") "--with-ldap-conf-file=/etc/nslcd.conf" )
"--with-ldap-conf-file=/etc/nslcd.conf" #:phases
) (modify-phases %standard-phases
#:phases (add-after 'unpack 'override-nslcd.conf-install-path
(modify-phases %standard-phases (lambda* (#:key outputs #:allow-other-keys)
(add-after 'unpack 'override-nslcd.conf-install-path (substitute* "Makefile.in"
(lambda* (#:key outputs #:allow-other-keys) (
(substitute* "Makefile.in" ("\\$\\(DESTDIR\\)\\$\\(NSLCD_CONF_PATH\\)")
( (string-append (assoc-ref outputs "out") "/etc/nslcd.conf.example"))))))))
("\\$\\(DESTDIR\\)\\$\\(NSLCD_CONF_PATH\\)") (inputs `(
(string-append (assoc-ref outputs "out") "/etc/nslcd.conf.example") ("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,
(inputs `( alias, netgroup, and basically any other information that you would normally
("linux-pam", linux-pam) get from @file{/etc} flat files or NIS. It also provides a @dfn{Pluggable
("mit-krb5", mit-krb5) Authentication Module} (PAM) to do identity and authentication management with
("openldap", openldap) an LDAP server.")
("python", python) (license license:lgpl2.1+)))
))
(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+)
)
)