guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

37/64: gnu: openldap: Fix cross-compilation.


From: guix-commits
Subject: 37/64: gnu: openldap: Fix cross-compilation.
Date: Fri, 23 Aug 2019 04:10:21 -0400 (EDT)

mothacehe pushed a commit to branch wip-cross-system
in repository guix.

commit b4eccb4574797ea8726746a1c1630123356fec0d
Author: Mathieu Othacehe <address@hidden>
Date:   Wed Jul 31 16:54:28 2019 +0200

    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.
---
 gnu/packages/openldap.scm | 38 +++++++++++++++++++++++++++++++++++---
 1 file changed, 35 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm
index 2f80920..2c9b0d4 100644
--- a/gnu/packages/openldap.scm
+++ b/gnu/packages/openldap.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2016 Leo Famulari <address@hidden>
 ;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <address@hidden>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <address@hidden>
+;;; Copyright © 2019 Mathieu Othacehe <address@hidden>
 ;;;
 ;;; 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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]