@@ -84,47 +84,46 @@ (define-public openldap
(base32
"0ihddk8c6hg9lkjv0wk0w13g8kb75r8dfsn1n6b77mzk3pbs38nj"))))
(build-system gnu-build-system)
- (inputs (list bdb-5.3 cyrus-sasl gnutls libgcrypt zlib))
+ (inputs (list bdb-5.3 cyrus-sasl gnutls libgcrypt mit-krb5 zlib))
(native-inputs (list libtool groff bdb-5.3))
(arguments
- `(#:tests? #f
- #:configure-flags
- '("--disable-static"
+ (list
+ #:tests? #f
+ #:configure-flags
+ `'("--disable-static"
,@(if (%current-target-system)
'("--with-yielding_select=yes"
"ac_cv_func_memcmp_working=yes")
'()))
- ;; Disable install stripping as it breaks cross-compiling.
- #:make-flags '("STRIP=")
- #:phases
- (modify-phases %standard-phases
- ,@(if (%current-target-system)
- '((add-before 'configure 'fix-cross-gcc
- (lambda* (#:key target #:allow-other-keys)
- (setenv "CC" (string-append target "-gcc"))
- (setenv "STRIP" (string-append target "-strip")))))
- '())
- (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"))
- (krb5 (assoc-ref inputs "mit-krb5"))) ;propagated from cyrus-sasl
+ ;; Disable install stripping as it breaks cross-compiling.
+ #:make-flags ''("STRIP=")
+ #:phases
+ #~(modify-phases %standard-phases
+ #$@(if (%current-target-system)
+ #~((add-before 'configure 'fix-cross-gcc
+ (lambda _
+ (setenv "CC" #$(cc-for-target))
+ (setenv "STRIP" #$(string-append (%current-target-system) "-strip")))))
+ #~())
+ (add-after 'install 'patch-sasl-path
+ ;; Give -L arguments for cyrus-sasl to avoid propagation.
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((krb5-lib (basename (search-input-file inputs "lib/libkrb5.so"))))
- ;; The ancient Libtool bundled with OpenLDAP copies the linker flags
- ;; from Cyrus-SASL and embeds them into its own .la files. Add an
- ;; absolute reference to Kerberos so it does not have to be propagated.
- (substitute* (map (lambda (f) (string-append out "/" f))
- '("lib/libldap.la" "lib/libldap_r.la"))
- (("-lkrb5" lib)
- (string-append "-L" krb5 "/lib " lib))))))
- (add-after 'install 'provide-libldap_r
- (lambda _
- ;; The re-entrant libldap_r no longer exists since 2.6
- ;; as it has become the default: provide a linker alias
- ;; for now.
- (call-with-output-file (string-append #$output "/lib/libldap_r.so")
- (lambda (port)
- (format port "INPUT ( libldap.so )~%"))))))))
+ ;; The ancient Libtool bundled with OpenLDAP copies the linker flags
+ ;; from Cyrus-SASL and embeds them into its own .la files. Add an
+ ;; absolute reference to Kerberos so it does not have to be propagated.
+ (substitute* (list (string-append #$output "/lib/libldap.la"))
+ (("-lkrb5" lib)
+ (string-append "-L" krb5-lib " " lib))))))
+ (add-after 'install 'provide-libldap_r
+ (lambda _
+ ;; The re-entrant libldap_r no longer exists since 2.6
+ ;; as it has become the default: provide a linker alias
+ ;; for now.
+ (call-with-output-file (string-append #$output "/lib/libldap_r.so")
+ (lambda (port)
+ (format port "INPUT ( libldap.so )~%"))))))))
(synopsis "Implementation of the Lightweight Directory Access Protocol")
(description
"OpenLDAP is a free implementation of the Lightweight Directory Access Protocol.")