GNU bug report logs - #62859
[PATCH core-updates] gnu: openldap: core-updates build fixes

Previous Next

Package: guix-patches;

Reported by: Brian Cully <bjc <at> spork.org>

Date: Sat, 15 Apr 2023 13:54:02 UTC

Severity: normal

Tags: patch

Merged with 62863

Done: Andreas Enge <andreas <at> enge.fr>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Brian Cully <bjc <at> spork.org>
Subject: bug#62859: closed (Openldap in core-updates)
Date: Sun, 16 Apr 2023 12:01:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#62859: [PATCH core-updates] gnu: openldap: core-updates build fixes

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 62859 <at> debbugs.gnu.org.

-- 
62859: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62859
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Andreas Enge <andreas <at> enge.fr>
To: guix-devel <at> gnu.org
Cc: 62859-done <at> debbugs.gnu.org, 62863-done <at> debbugs.gnu.org
Subject: Openldap in core-updates
Date: Sun, 16 Apr 2023 13:59:55 +0200
Am Sun, Apr 16, 2023 at 01:09:02PM +0200 schrieb Andreas Enge:
> A single package holds up a lot (gtk+ and so on): openldap.

It was pointed out to me on IRC that there are already two fixes available
on our issue tracker! I applied one of them and also removed the additional
phase as suggested there.

In a separate commit, I also updated to 2.6.4 and removed the non-hidden
openldap-for-linphone variable, which had the confusing effect that the
command line would refer to this package (so "guix refresh -l openldap"
showed almost no dependents, for instance).

If any of these pose problems, we should selectively revert part of the
commits; but I am rather optimistic, as both versions create a library
with the same soname.

Thanks to all involved!

Andreas


[Message part 3 (message/rfc822, inline)]
From: Brian Cully <bjc <at> spork.org>
To: guix-patches <at> gnu.org
Cc: Brian Cully <bjc <at> spork.org>
Subject: [PATCH core-updates] gnu: openldap: core-updates build fixes
Date: Sat, 15 Apr 2023 09:52:27 -0400
Change quoting to use gexps, so that ungexping in the build phases doesn't
fail with a syntax error.

Remove references to libldap_r.so and .la, since they're no longer being
built, and manually patching in a .so library when there's no corresponding
.la seems like something that should be removed, with dependent packages
updated, if necessary.

 * gnu/packages/openldap.scm (openldap): update quoting to use gexps, remove
 reference to libldap_r.la, which no longer exists, and remove custom install
 of libldap_r.so.
---
 gnu/packages/openldap.scm | 67 ++++++++++++++++++---------------------
 1 file changed, 30 insertions(+), 37 deletions(-)

diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm
index 7409848795..4d3810ecfb 100644
--- a/gnu/packages/openldap.scm
+++ b/gnu/packages/openldap.scm
@@ -87,44 +87,37 @@ (define-public openldap
     (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"))
-                     (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
+     (list
+      #:tests? #f
+      #:configure-flags
+      #~(list "--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
+      #~(list "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 ((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 )~%"))))))))
+                ;; 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 #$output "/" f))
+                                  '("lib/libldap.la"))
+                  (("-lkrb5" lib)
+                   (string-append "-L" krb5 "/lib " lib)))))))))
     (synopsis "Implementation of the Lightweight Directory Access Protocol")
     (description
      "OpenLDAP is a free implementation of the Lightweight Directory Access Protocol.")

base-commit: 7ccf9943029747d4ba97160214f895b365511278
prerequisite-patch-id: 3a0a1be9df9a40370ebadd64ad6163c1a4f2bc4d
prerequisite-patch-id: 04bc0329678ccd5fe51be207d86dc8a4ce969c8b
prerequisite-patch-id: 7edab399c6512d85ed849f0877ccc9602888f1c8
-- 
2.39.2




This bug report was last modified 2 years and 39 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.