Subject: Re: bug#27220: [PATCH 3/3] gnu: openldap: Provide path to cyrus-sasl for libtool.

From: Marius Bakke <[email-masked]>
Date: Sun, 04 Jun 2017 15:38:29 +0200

Leo Famulari <[email-masked]> writes:

> * gnu/packages/openldap.scm (openldap)[arguments]: Add 'patch-sasl-path' phase..
> ---
>  gnu/packages/openldap.scm | 12 +++++++++++-
>  1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm
> index 3fd19632b..9a68d553b 100644
> --- a/gnu/packages/openldap.scm
> +++ b/gnu/packages/openldap.scm
> @@ -72,7 +72,17 @@
>        #:phases
>        (modify-phases %standard-phases
>          (add-after 'configure 'provide-libtool
> -          (lambda _ (copy-file (which "libtool") "libtool"))))))
> +          (lambda _ (copy-file (which "libtool") "libtool")))
> +        (add-after 'install 'patch-sasl-path
> +          ;; Give -L arguments for cyrus-sasl to avoid propagation.
> +          (lambda* (#:key inputs outputs #:allow-other-keys)
> +            (let ((out (assoc-ref outputs "out"))
> +                  (sasl (assoc-ref inputs "cyrus-sasl")))
> +              (substitute* (map (lambda (f) (string-append out "/" f))
> +                                '("lib/libldap.la" "lib/libldap_r.la"))
> +                (("-lsasl2" lib)
> +                 (string-append "-L" sasl "/lib " lib)))
> +              #t))))))

Good find. LGTM, but I wonder if it would be better to remove the static
library (and associated .la files) and instead provide an explicit
static-package. This mostly for grafting purposes.

However, I think that's a journey for another core-updates.