GNU bug report logs -
#62859
[PATCH core-updates] gnu: openldap: core-updates build fixes
Previous Next
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
[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)]
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)]
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.