diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index 6a59f0c852..7409848795 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2020 Lars-Dominik Braun ;;; Copyright © 2020 Efraim Flashner -;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021, 2023 Maxim Cournoyer ;;; Copyright © 2022 Marius Bakke ;;; ;;; 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 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