gnu: openldap: Update to 2.6.3.

* gnu/packages/openldap.scm (openldap): Update to 2.6.3.
[arguments]: Integrate updated phases from openldap-2.6 package.  Strip
trailing #t.
This commit is contained in:
Maxim Cournoyer 2023-04-14 21:24:43 -04:00
parent e244ea2445
commit 7d3bb28a6f
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -7,7 +7,7 @@
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
;;;
;;; This file is part of GNU Guix.
@ -65,69 +65,7 @@ (define-module (gnu packages openldap)
(define-public openldap
(package
(name "openldap")
(version "2.4.57")
(source (origin
(method url-fetch)
;; See <http://www.openldap.org/software/download/> for a list of
;; mirrors.
(uri (list (string-append
"ftp://mirror.switch.ch/mirror/OpenLDAP/"
"openldap-release/openldap-" version ".tgz")
(string-append
"https://www.openldap.org/software/download/OpenLDAP/"
"openldap-release/openldap-" version ".tgz")
(string-append
"ftp://ftp.dti.ad.jp/pub/net/OpenLDAP/"
"openldap-release/openldap-" version ".tgz")))
(sha256
(base32
"0nmlyqhc52v24b4awh914sczmvxbazgq2cnlycvb9dgcwvhlgfn7"))))
(build-system gnu-build-system)
(inputs (list bdb-5.3 cyrus-sasl gnutls libgcrypt zlib))
(native-inputs (list libtool groff bdb-5.3))
(arguments
`(#: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"))
#t)))
'())
(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
;; 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)))
#t))))))
(synopsis "Implementation of the Lightweight Directory Access Protocol")
(description
"OpenLDAP is a free implementation of the Lightweight Directory Access Protocol.")
(license openldap2.8)
(home-page "https://www.openldap.org/")))
;; TODO: Update the main package in the next rebuild cycle.
(define-public openldap-2.6
(package
(inherit openldap)
(name "openldap")
(version "2.6.3")
(source (origin
(method url-fetch)
@ -145,32 +83,48 @@ (define-public openldap-2.6
(sha256
(base32
"0ihddk8c6hg9lkjv0wk0w13g8kb75r8dfsn1n6b77mzk3pbs38nj"))))
(build-system gnu-build-system)
(inputs (list bdb-5.3 cyrus-sasl gnutls libgcrypt zlib))
(native-inputs (list libtool groff bdb-5.3))
(arguments
(list
#:tests? #f
#:configure-flags
#~'("--disable-static"
#$@(if (%current-target-system)
'("--with-yielding_select=yes"
"ac_cv_func_memcmp_working=yes")
'()))
#: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 '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 )~%"))))))))
`(#: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
;; 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 )~%"))))))))
(synopsis "Implementation of the Lightweight Directory Access Protocol")
(description
"OpenLDAP is a free implementation of the Lightweight Directory Access Protocol.")
@ -179,7 +133,7 @@ (define-public openldap-2.6
(define-public openldap-for-linphone
(package
(inherit openldap-2.6)
(inherit openldap)
(name "openldap")
(version "2.6.4")
(source (origin