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.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 62859 in the body.
You can then email your comments to 62859 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#62859; Package guix-patches. (Sat, 15 Apr 2023 13:54:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Brian Cully <bjc <at> spork.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sat, 15 Apr 2023 13:54:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

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





Information forwarded to guix-patches <at> gnu.org:
bug#62859; Package guix-patches. (Sun, 16 Apr 2023 05:03:01 GMT) Full text and rfc822 format available.

Message #8 received at 62859 <at> debbugs.gnu.org (full text, mbox):

From: John Kehayias <john.kehayias <at> protonmail.com>
To: Brian Cully <bjc <at> spork.org>
Cc: 62859 <at> debbugs.gnu.org, Marius Bakke <marius <at> gnu.org>
Subject: Re: bug#62859: [PATCH core-updates] gnu: openldap: core-updates build
 fixes
Date: Sun, 16 Apr 2023 05:01:53 +0000
Hi,

(sending to both related patches, not sure which will be applied and I'm
not familiar with openldap enough to finalize the fixes; also CC'ing
Marius as author of the related commit)

I think the patch-sasl-path phase was meant to be removed, as it was in
https://git.savannah.gnu.org/cgit/guix.git/commit/?h=core-updates&id=0de5e6d6536a7bc94dd71047cf9573d71fa8d4b0
and I believe restored (erroneously I'm guessing) in the master merge in
January. So I think that can be dropped completely.

Hope this helps!
John





Merged 62859 62863. Request was from Brian Cully <bjc <at> spork.org> to control <at> debbugs.gnu.org. (Sun, 16 Apr 2023 11:39:01 GMT) Full text and rfc822 format available.

Reply sent to Andreas Enge <andreas <at> enge.fr>:
You have taken responsibility. (Sun, 16 Apr 2023 12:01:02 GMT) Full text and rfc822 format available.

Notification sent to Brian Cully <bjc <at> spork.org>:
bug acknowledged by developer. (Sun, 16 Apr 2023 12:01:02 GMT) Full text and rfc822 format available.

Message #15 received at 62859-done <at> debbugs.gnu.org (full text, mbox):

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





Reply sent to Andreas Enge <andreas <at> enge.fr>:
You have taken responsibility. (Sun, 16 Apr 2023 12:01:02 GMT) Full text and rfc822 format available.

Notification sent to Josselin Poiret <dev <at> jpoiret.xyz>:
bug acknowledged by developer. (Sun, 16 Apr 2023 12:01:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 15 May 2023 11:24:07 GMT) Full text and rfc822 format available.

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.