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

From: Leo Famulari <[email-masked]>
Date: Sat, 3 Jun 2017 17:30:22 -0400

* 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))))))
    (synopsis "Implementation of the Lightweight Directory Access Protocol")
    (description
     "OpenLDAP is a free implementation of the Lightweight Directory Access Protocol.")
-- 
2.13.0