~ruther/guix-local

7d3bb28a6fb552676f3ee373515739de205c3b52 — Maxim Cournoyer 3 years ago e244ea2
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.
1 files changed, 44 insertions(+), 90 deletions(-)

M gnu/packages/openldap.scm
M gnu/packages/openldap.scm => gnu/packages/openldap.scm +44 -90
@@ 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-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 @@
              (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-for-linphone
  (package
    (inherit openldap-2.6)
    (inherit openldap)
    (name "openldap")
    (version "2.6.4")
    (source (origin