Ricardo Wurmus writes: > * gnu/packages/openldap.scm (nss-pam-ldapd)[arguments]: Set > "--with-ldap-conf-file" to look for global configuration file; add build phase > to install example configuration file in the package output directory. > --- > gnu/packages/openldap.scm | 19 +++++++++++++++++-- > 1 file changed, 17 insertions(+), 2 deletions(-) > > diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm > index b67510647..61f7a9469 100644 > --- a/gnu/packages/openldap.scm > +++ b/gnu/packages/openldap.scm > @@ -94,8 +94,23 @@ > `(#:configure-flags > (list (string-append "--with-pam-seclib-dir=" > (assoc-ref %outputs "out") "/lib/security/") > - (string-append "--with-ldap-conf-file=" > - (assoc-ref %outputs "out") "/etc/nslcd.conf")))) > + ;; 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) LGTM.