summaryrefslogtreecommitdiff
path: root/gnu/packages/openldap.scm
diff options
context:
space:
mode:
authorMathieu Othacehe <m.othacehe@gmail.com>2019-07-31 16:54:28 +0200
committerMathieu Othacehe <m.othacehe@gmail.com>2019-11-15 17:32:26 +0100
commit1c8b1870a60de12f6c19d809522f5d8362215131 (patch)
tree0a9a060f62630497ce9916a73e46f398187abc80 /gnu/packages/openldap.scm
parent63539587bc63e1be0a838ba2230c73774dd18ffe (diff)
downloadguix-patches-1c8b1870a60de12f6c19d809522f5d8362215131.tar
guix-patches-1c8b1870a60de12f6c19d809522f5d8362215131.tar.gz
gnu: openldap: Fix cross-compilation.
* gnu/packages/openldap.scm (openldap)[inputs]: Move groff from here to ... [native-inputs]: ... here. Also add bdb and automake. [arguments]: Add cross-compilation specific configure-flags. Do not strip when cross-compiling. Add a new fix-configure phase to update outdated config.sub and config.guess. Add a fix-cross-gcc phase to set CC variable to cross-compiler name when cross-compiling.
Diffstat (limited to 'gnu/packages/openldap.scm')
-rw-r--r--gnu/packages/openldap.scm38
1 files changed, 35 insertions, 3 deletions
diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm
index 7abe9ab6f0..8316a593e6 100644
--- a/gnu/packages/openldap.scm
+++ b/gnu/packages/openldap.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -50,6 +51,7 @@
#:use-module (gnu packages)
#:use-module ((guix licenses) #:select (openldap2.8 lgpl2.1+ gpl3+ psfl))
#:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python))
@@ -79,16 +81,46 @@
(inputs `(("bdb" ,bdb-5.3)
("cyrus-sasl" ,cyrus-sasl)
("gnutls" ,gnutls)
- ("groff" ,groff)
("icu4c" ,icu4c)
("libgcrypt" ,libgcrypt)
("zlib" ,zlib)))
- (native-inputs `(("libtool" ,libtool)))
+ (native-inputs `(("libtool" ,libtool)
+ ("groff" ,groff)
+ ("bdb" ,bdb-5.3)
+ ;; For up to date 'config.guess' and 'config.sub'.
+ ("automake" ,automake)))
(arguments
`(#:tests? #f
- #:configure-flags '("--disable-static")
+ #: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
+ (add-after 'unpack 'fix-configure
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ ;; Replace outdated config.sub and config.guess:
+ (with-directory-excursion "build"
+ (for-each (lambda (file)
+ (install-file (string-append
+ (assoc-ref
+ (or native-inputs inputs) "automake")
+ "/share/automake-"
+ ,(version-major+minor
+ (package-version automake))
+ "/" file) "."))
+ '("config.sub" "config.guess")))
+ #t))
+ ,@(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)